I was going on the assumption that the OS did not support volume controls for the record volume. You have a good point distinguishing the difference between mixer api and control panel. If the control panel supports it, he only needs to correctly implement his firmware. If the control panel doesn't but the mixer api does support the record volume control, he could write his own control panel to handle this control. You are certainly correct that this would be much easier than the filter driver option I laid out. The filter driver is the last option if the built in facilities don't support it. Have you implemented a feature unit on an input? Does the mixer API support it under all OS? -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Paul V Wysocki Sent: Tuesday, September 24, 2002 10:24 AM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Audio control for recording not possible??? Jerry, I think you are making this more complicated than it needs to be. If Ajai's Audio Control Descriptor specifies a Function Unit with a volume control between his Mic Terminal Unit and his Wave audio Terminal Unit, then the Windows Mixer API will show him a volume control slider that will send the usb audio class commands on control endpoint zero to set the volume for recording. One note on this, you need to implement the GET_MIN, GET_MAX, GET_CUR, and SET_CUR commands for the audio class driver to actually implement the mixer. If your firmware sends a stall for these commands, then windows will assume that the feature unit doesn't exist, and won't show the slider in volume manager. However, if the intent is to control the volume from within the device itself, this is even easier as long as you don't need to notify windows that the volume changed. If windows needs to know, then you probably do want a HID device, but if windows doesn't need to know, then you can react to the button presses on the cypress board and change your volume level before you send the digitized audio to the isochronous endpoint fifo. Am I missing something? This seems much simpler than a filter driver to build custom volume controls to replace the standard volume controls. I can see where a filter driver would be useful for implementing volume (or other) controls that the standard usbaudio.sys doesn't handle correctly, but wave recording volume shouldn't be a problem. -Paul -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Jerry J. Trantow Sent: Tuesday, September 24, 2002 9:11 AM To: wdmaudiodev@xxxxxxxxxxxxx Cc: ed.stroup@xxxxxxxxxxxxxxxxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Audio control for recording not possible??? My understanding of your problem is that the Windows multimedia control panel doesn't have a control for sending record volume information to your device. Your device firmware implements the audio control, but there isn't a built in way to get information to it. Filter drivers are a method of adding functionality to the existing drivers. My suggestion is to write and install a filter driver (probably on top of usbaudio.sys) that would translate IOCTLs from DeviceIOControl into the appropriate usb messages for the audio control. You would also need to write a simple control panel that would call DeviceIOControl to send the messages. The control panel is very simple code. You need to monitor the PlugNPlay of appropriate devices and send a few IOCTL messages. Ideally, you write this as an automation server so people can use VB or Java scripts to control it. The filter driver simply translates the IOCTLs into the appropriate usb commands for your device. The DDK has a bunch of UsbBuild macros which make it easy to put the usb command together. My experience has been that the biggest problem is supporting all the peculiarities between different OS especially when it comes to installing drivers. I have done several contract jobs similar to this. If you are interested in contracting out this work we should take this discussion out of wdmaudiodev. jtrantow@xxxxxxxxxxxxxxxxxxxxxxxxxxx -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Ajai James Sent: Monday, September 23, 2002 7:34 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Re: Audio control for recording not possible??? Hi Jerry, Thanks a lot for your suggestion and help. Can you explain a little bit more? So do I need to use a custom made application(like control pannel) to change the volume of the recorded file? This control communicates directly with the filter driver which in turn communicates with the USB audio control firmware which should change the DAC out put amplification, is it that way? Also, is there any way posible to be in the firmware framework alone, and change the volume, without modifying or adding the host driver part? Thanks to you a lot again.. Ajai ajaijames@xxxxxxxxx "Jerry J. Trantow" wrote: You can always write and install a filter driver which communicates to the audio control. Then use DeviceIOControl from some type of control panel to send messages to the driver which converts it to the appropriate USB command. -----Original Message----- From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Ajai James Sent: Monday, September 23, 2002 1:54 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Audio control for recording not possible??? Hi friends, I am using an Ez USB board to prepare a demo audio project.I have a requirement to increase the volume of my recorded wav file depending on the buttons on my kit, ie vol up and down. The enumeration is ok now, and the firmware keeps on pumping the hard coded sine tone values to the host.So, after selecting th enumerated board as a recording device, I can record the sine tone. Now, i want to change the volume of the sine tone using my boards f1, f2 push buttons. I thought I could use the control end point with Vol up, vol down for that. But it does not seem to work. On going through microsoft documentation ,http://www.microsoft.com/hwdev/tech/input/audctrl.asp it seems that audio controls are supported for play back only, not recording.. Am i correct in this assumption? any way to implement this without using the audio controls Thanks a lot, for your kind suggestions and comments ... Ajai James --------------------------------- Do you Yahoo!? New DSL Internet Access from SBC & Yahoo! ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/ --------------------------------- Do you Yahoo!? New DSL Internet Access from SBC & Yahoo! ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/ ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/