Each room has another size, furniture and wall materials and each speaker model has another structure. So each room has it's own specific volume level with lowest resonances and distortions which means a lower volume often leads to better audibility than turning up the volume.
Hardware mixers are usually electrically optimized for their DACs which means better sound quality than software mixers.
There is also no API to integrate hardware volume controls (e.g. rotary encoders, IR/radio remote controls, ...) in the software mixer of snapclient.
The ALSA API uses the hardware volume control by default with a fall back to software volume control if no hardware based volume control is available. That way the hardware mixer with better quality is used. Synchronizing the current ALSA volume with the snapcast controllers will not only allow remote control of the volume by snapcast-controllers but also with hardware controllers directy accessing the ALSA volume controls. If e.g. a rotary encoder changes the master volume of an ALSA mixer all snapcast controllers would be updated automatically.
So I suggest to use the ALSA mixer controls in snapclient instead.
I'd love this feature too. It would ensure that I could keep a hardware rotary volume control in sync with the remote JSON-RPC control through snapserver.
would greatly appreciate that as well 馃憤
This is slightly related to #302
Patches are always welcome.
The develop branch introduces the new option --mixer (currently just for Linux/alsa), which can be
software [default]hardware [:script the script will be executed with the parameters --volume <volume> --mute <true|false>noneTesters are welcome :)
Most helpful comment
The develop branch introduces the new option
--mixer(currently just for Linux/alsa), which can besoftware[default]hardware[:scriptthe script will be executed with the parameters--volume <volume> --mute <true|false>noneTesters are welcome :)