03-29-2009 02:38 PM
Dear NI Zone
Long time reader, first time poster.
I'm in development of a sound level meter application. Program is working flawlessly, everybody is happy:-) The application acquires data thru a designated "non NI" USB soundcard. The main advantage of this soundcard is the fact that there is no posibility of altering the input gain, as it has no volume buttons, and the input gain slider in the windows control panel is not available. This is a key aspect as this ensures that the calibration, and thus accuracy of the measurement system, can not be altered by the end user..
This is all dandy, however, the new longhorn driver and the new "audio endpoint" topology implemented in VISTA SP1 and apparently in WIN7, suddenly has revealed the input gain slider in the VISTA control panel, and it is thus no longer possible to ensure the calibration of the system. This is very unfortunate.. So far I'm getting by with only supporting XP and including the old XP control panel in the install so the enduser, can overwrite the new VISTA control panel to remove the gain slider..
This is off course not a viable solution since the problem seems to continue into Win7..
Therefore:
Is there any bright mind in this forum who can help me in ensuring that the input gain, as found in the windows control panel, when running my LV application is locked? This could be either thru a reg_edit string locking the input slider, it could be thru a call to the win API or similar... As I'm clueless towards how this may be obtained I would appreciate any ideas or solution..
I'm fairly skilled in LV programming, but not so much in calling DLL's or external code, so any suggestions in that direction including sample VI's would be much appreciated..
I thank you all in advance for helping out on this.
Best Regards
Jacob Navne
CEO SGAudio
using LabVIEW 8.6.1 on XP / Vista - and a lot of time 🙂
03-30-2009 04:48 AM
Hi
Take a look at this thread. http://forums.ni.com/ni/board/message?board.id=170&message.id=22282&query.id=227547#M22282.
I have not tested thorough but it works on the master volume control in XP. I do not know if it is compatible with Vista either but take a look on it
good luck
03-30-2009 01:26 PM
Hello again
Thank you for this link.. It does indeed work very well on XP, but there appears to be no link to the mikser in VISTA. The program will run, but it doesn't alter anything in the mixer...
So apparently uncle bill changed the way you address the sound card in VISTA... from what I got it is now no longer a "device" but an "endpoint" meaning that Vista will display what is at the end of the device - be it a microphone, a modem or whatever..For my hardware this means that in XP it was a USB audio Codec, in VISTA it is now a Microphone Array..
question still remains.. How do you lock the input slider of a "endpoint device" in VISTA such as a "microphone array" to ensure the same input gain at each program run... Any other ideas?
09-15-2009 11:21 PM - edited 09-15-2009 11:27 PM
Hi Navne,
I've run into the same problem - have you found a solution yet? Can we acess the EndpointVolume API from LabVIEW?
Many thanks,
Greg O'Beirne
09-16-2009 03:29 AM
I do not know if this is any help. But on the link provided it is some example code. If you have or know someone with Visual C knowledge, you can write a DLL and call it from Labview. Keep things simple. Just call the DLL with some numbers as argument.
Here is link on how to make a dll in visual studio and call from Labview http://decibel.ni.com/content/docs/DOC-1690