14
« on: April 11, 2014, 05:11:58 PM »
Maybe put something in the documentation along the lines of
VC.SetSpeechInput will look for the name you specify in both the 'friendly' name of the sound device and the internal device name. In the sound panel these are shown with the Friendly name above the internal device name for each device. For example if you have an Amulet device this will by default have a friendly name of Microphone and an internal name of Amulet Devices Remote Control and will show as:
Microphone
Amulet Devices Remote Control
VC.SetSpeechInput will switch to the first device in the list that matches the parameter.
In this example doing a VC.SetSpeechInput with a parameter of Amulet will find this device. Equally if the parameter was Microphone, and as long as the amulet was the first device in the list with Microphone in the friendly or device name, then the Amulet device will be switched to. Unfortunately most devices are by default name Microphone so it is probably unwise to rely on this and instead rename your devices to something unique -you cann to this within the properties of the device in the sound control panel.
One thing to note is that renaming a device can sometimes leave internal traces of the original device leading to unexpected results. In the above case it is possible if the device was renamed from Microphone to Amulet then unexpected results might occur. Doing a VC.SetSpeechInput to Amulet might not switch to the device instead the old traces of the Microphone-Amulet Devices Remote Control might be found first instead.
To avoid this we advise only renaming devices to a unique name different to any internal device name. For example changing the name to Amulet1 and doing a VC.SetSpeechInput Amulet1 would work.