This has been the subject of many debates over the years (I went back only to 2019), but only now it became relevant to me. I wasnt paying much attention to the datails at the time, but since all the people involved in those conversations seemed happy with the arrived at solution, I assumed that it was a good one. But now, after a couple of exchanges with Sam F. in the Denon AVP Control Plugin thread, I realized that:
a) My settings for the players I have were not optimally correct, and b) The way Material Skin (MS) treats the correct for such players settings needs to be (still) changed. The bottom line is that MS, as a controlling interface, should not be concerned which down-stream device responds to a command, or how, it should just send that command, which, BTW, is what the Classic skin does. Craig had it right in 'this' (https://forums.slimdevices.com/showthread.php?109624-Announce-Material-Skin&p=1003564&viewfull=1#post1003564) post. The setting in question is Volume Control (in Player-settings->Advanced->Audio), and the type of player that is not being served well with current approach in MS is software player, like squeezelite, running on, as its common, RPi hardware, or any device that has its own built-in pre-amplifier. Lets consider. The RPi can be, at minimum, represented functionally as a pre-amp, and when plugged into a standalone amplifier through its RCA (analog) out, the resulting audio path would look like this: [Squeezelite]->[(RPi)pre-amp]->[amplifier]->[speakers] In such a case, the proper setting for the player Volume Control would be, Volume controls adjust outputs, i.e., the signal level sent to the [amplifier] would be controlled by the [(RPi)pre-amp] part of the audio path. There's one more thing to understand; the volume is (in this case) controlled in analog domain, i.e., the DAC (digital to analog converter) in the RPi converts the signal from digital domain to analog, and then passes the analog output to the pre-amp for control. Another variant of the above to consider is when the RPi is plugged into a receiver type of device, i.e., an integrated device that combines both, a pre-amp, and an amplifier. In this case the audio path would look like this: Squeezelite->[(RPi)pre-amp]->[(receiver)pre-amp->(receiver)amp]->speakers In such a case, the proper setting for the player Volume Control would be, Output Level is fixed at 100%, i.e., the signal level sent to the [(receiver)amplifier] would be controlled by the [(receiver)pre-amp], and not by the [(RPi)pre-amp]. The Output Level is fixed at 100% setting really means *bypass* the [(RPi)pre-amp] part of the audio path, and what that ultimately means, is that the signal from the DAC is passed directly to the [(receiver)pre-amp], which then regulates the signal level that is then passed to the [(receiver)amplifier]. The audio path in the above examples is all in the analog domain after the initial conversion from digital in the RPis DAC, but even there, having two low-level devices (pre-amps) affecting the signal is not desirable because of the accumulation of noise. Things get really bad fast should the RPis in the above examples be connected through a digital interface to a receiver AND the setting for the Volume Control be set to Volume controls adjust outputs. Since controlling volume happens in the analog domain, the signal would be first converted into analog in the RPis DAC, then volume is adjusted in the [(RPi)pre-amp], THEN re-digitized for transport to the [receiver], which then converts that digital signal into analog again before the final amplification stage. Now in addition to two pre-amps in the signal path, there would be accumulation of digital conversion artifacts, and that's very undesireundesirable. So, suggestions: 1 To clarify the functional meaning of the player Volume Control setting, rename the options for its dropdown; a) from Volume controls adjust outputs to is by Player b) from Output Level is fixed at 100% to is by Receiver, or something to that effect, and 2 MS should not second guess how, and which of the down-stream devices choose to respond to volume commands. Its simply not for it to know, or be concerned about. ------------------------------------------------------------------------ MarSOnEarth's Profile: http://forums.slimdevices.com/member.php?userid=69826 View this thread: http://forums.slimdevices.com/showthread.php?t=109624
_______________________________________________ plugins mailing list plugins@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/plugins