Just for the record, I've been using this for a while and it works well. The only issue have is that if you have the GPS window open and a voice prompt occurs, it switches back to the last screen open, so to do anything in the GPS, this is a bit annoying.
I think the code shoul look something more like this psuedo-code:
Code:If GPS_voice_is_activatedIf Current_Screen <> GPS_ScreenEndIfSelect Last_ScreenEndIf
One option for Garmin MobilePC (if text-to-speech is not used) would be to monitor the NTFS access time of the voice files. Whenever the access time is updated, you know the GPS software is speaking. The downside is that you have to enable the NTFS last file access mode, which is not so good if running EWF with flash disks.
This approach is taken by the EniCar front end software, and I use it successfully with Garmin MobilePC.
If text-to-speech is used, Garmin MobilePC is just making windows API calls to the MS Speech API, so would need to figure out how to intercept those to detect guidance commands. BTW, if anyone knows how to do this, I'd appreciate some pointers!
Monitoring the file access time would be very easy as there are API's to monitor a folder and notify of updates to the folder. Google "Folder Watcher". Here is a starter for you.
From the first post:
At a guess I'd say you need to install .net which is a free download from Microsoft.You will need to have .net framework installed and place the executable into the your roadrunner folder (Guino's exec.exe must also be present as this is used to tell winamp to lower its volume)