JohnSwenson wrote: 
> Another thing  to think about is volume control. Currently we are
> looking at 5 possible outputs, USB, S/PDIF coax, S/PDIF optical, line
> level analog and headphone. There are going to be three dirvers
> involved, USB, S/PDIF and analog. I'm not sure whether we are planning
> on having these running at the same time or not, but at least
> theoretically it's possible to have  different volume on different
> streams. In addition the DAC has a digitalvolume control and the
> headphone amp has an analog volume  control (digitally controled), so we
> have a number of possible ways the "squeezebox volume" can be routed. 
> 
> For example a full volume stream can be sent to S/PDIF and analog and
> the SB volume sent to the DAC chip, in which case both the line out and
> headphone will track the volume and the S/PDIF stays at full  level. Or
> the full level stream can be sent to the DAC, which has no attenuation
> and the SB volume gets sent to the headphone out.  
> 
> Triode is going to have to let us know whether Squeezelite can handle
> output to more than one driver, and  if so can they have different
> volumes. In the Touch there was one stream sent to ALSA, an ALSA config
> was used to clone the stream to two devices, this could certainly be
> used in our  system  as well. 
> 
> With the hardware volume control in both the DAC chip and headphone amp
> there is a fair amount of flexibility here. 
> 
> We have to determine whether we want different outputs at the same time,
> and if so do we want different volumes for them, and to what level we
> want  to be  able to  address that.
> 
> 
> Just some food for thought.
> 
> John S.

I tend to think we should take the approach taken by touch.  The
hardware drivers should make the devices appear as standard alsa ports
and then the playback application can act as a standard playback client
which does the volume scaling/replaygain.  I think we should use the
alsa plug layer to do duplicating of the stream to multiple devices as
this is already well known and well tested.  Though as we found with
EDO, I think there is a case for making this optional and actually
preferring to select a single output from the application to be used at
once, this allows use of direct alsa hw: devices with minimal buffer
sizes possible (if you like that).  I believe we should be able to have
a GUI to allow output selection (possibly even reusing EDO applet!) if
we have an HDMI output and perhaps can have a remote desktop virtual
version of this as well (not sure yet).

I'd prefer initially to use the volume control which is built into
squeezelite, this scales using the squeezeplay logic and so should do
the same thing a Touch does.  I've not looked at whether alsa would give
us access to any hardware volume as well, but it would need more device
driver work to make use of it.  I'd say this should be a second phase if
we go there.


------------------------------------------------------------------------
Triode's Profile: http://forums.slimdevices.com/member.php?userid=17
View this thread: http://forums.slimdevices.com/showthread.php?t=97881

_______________________________________________
discuss mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/discuss

Reply via email to