Stereo

Input: CD

Output: "B" Speakers

DAC

Model: Schiit Modi 3e

Input Selector (front panel): Top position = micro USB

Input port: (back panel): micro USB port (with the USB icon, next to the other micro USB port with the power icon)

ALSA

speaker-test -c 2 -t wav "-c 2" tells it you have two speakers. "-t wav" is the test that is a human voice. Keeps going until you kill it.

aplay -l show sound devices

/etc/asound.conf defines default device. This changed for no reason from the USB DAC to the internal chip. The timestamp wasn't even updated.

BASS

======================================================================

The first two are for vol levels of ind channels: same function, but pass diff volume attribs
---------------------------------------------------------------
BASS_ChannelSetAttribute  <====  This should work w/ Schitt, see excerpt from thread below
    DWORD handle,
    BASS_ATTRIB_VOL,
    float volume	
	"This attribute is applied during playback of the channel 
		and is not present in the sample data returned by BASS_ChannelGetData, 
		so it has no direct effect on decoding channels."
	is not in current muya, but is in commented-out scry line

	0 = silent, 1.0 = normal, > 1.0 = amplified

BASS_ChannelSetAttribute
    DWORD handle,
    BASS_ATTRIB_VOLDSP,
    float volume
	"This attribute does have direct effect on decoding/recording channels
		and is present in the sample data returned by BASS_ChannelGetData, 
		because it is applied in the channel's DSP chain"
-----------------------------------------------------------------

BASS_SetVolume(uservolume + (float)cv * volstep);
	commented out in muya, in prod in July 2022, 
	so probably the original which I had to scrap cuz of Schitt DAC

BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, uservolume)
	in muya prod

==================================================================
HOWEVER, as with many low-cost DAC solutions, alsamixer shows that there is *no* volume control for the output device.
So, how can I vary the playback volume?

Obviously BASS_SetVolume() won't do anything.
Should I be looking at BASS_ChannelSetAttribute for this?

The documentation says 0.0 means silent, 1.0 means normal, and above 1.0 means amplification.
What about if I use, say 0.5f? Would that give me 50% volume?
I have experimented a little with this, but unless I use 1.0, it seems like it's muted the sound.

[Later]... Yes, it was. Having re-read the code, and tried a different example program, I discovered that the code determining what the volume should be was returning 0.0 around 95% of the time. Once I'd fixed that, all was as it should be. Apologies for the noise

================================================================
FOR MUYA (global, not per stream)
Another possibility is the BASS_CONFIG_GVOL_STREAM option (with BASS_SetConfig), which apples to all streams rather than a single one, so more similar to the effect of BASS_SetVolume.
BASS documentation

un4seen developments