xmos / lib_xua

XMOS USB Audio
Other
17 stars 13 forks source link

multipliers for volume controls are initialised to 0 rather than 1.0 #145

Closed ed-xmos closed 4 years ago

ed-xmos commented 4 years ago

The volumes (dB) and mults (scaling) are both globals. Globals get initialised to zero. The issue seems to be that the host reads the volumes and if it reads 0dB and wants to set to 0dB, then it does nothing. For some strange reason on Linux (Ubuntu and Raspian) the mic channel 0 is set to 99% then 100% so it gets set to zero dB OK. Channel 1 gets left as 100% (0dB) but really the multiplier is 0. The mac is pretty thorough in reading/writing all of the volume controls so the issue is not seen as everything gets initialsed by the host.

ed-xmos commented 4 years ago

Oops, they are in fact initialised just fine. It was just XUA lite that didn't, probably because volume controls were not part of the original spec https://github.com/xmos/lib_xua/blob/develop/lib_xua/src/core/buffer/decouple/decouple.xc#L668 Closing..