I have an application that I want to port to using the JUCE audio API. Today I use portaudio + portmixer, the latter for controlling volume of the audio device. This because the front end of the application is a virtual audio device, which exposes its volume control to the OS, so I just want to propagate this volume to the target audio device.
I propose an extension to the AudioIODevice class:
bool setInputVolume(float volume); // volume is 0.0f to 1.0f
float getInputVolume() const; // returns volume, or -1.0f if not supported
bool setOutputVolume(float volume); // volume is 0.0f to 1.0f
float getOutputVolume() const; // returns volume, or -1.0f if not supported
which would not be implemented on ASIO of course. However I do have the implementation for CoreAudio, WASAPI, DS, MME and ALSA, and I think it would be next to trivial to add this functionality to JUCE.
What do you think ? :)