Softwaremixer and pulseaudio


on the mopidy-softwaremixer documentation page there is written:
“If you use PulseAudio, the software mixer will control the per-application volume for Mopidy in PulseAudio, and any changes to the per-application volume done from outside Mopidy will be reflected by the software mixer.”

but that doesn’t seem to work, this is my audio section configuration:
mixer = software
mixer_volume =
output = pulsesink client-name=mopidy

and changes made to the volume from mopidy are not reflected in pulseaudio sink-inputs or sinks (and vice versa). restarting mopidy also resets the volume level. So how do I setup mopidy to actually control pulseaudio volume ?

Nobody ? Is that nobody uses pulseaudio with software mixer or nobody have this problem ?

v1.0.1 (2015-04-23)

Bug fix release.

Audio: As a side effect of the previous bug fix, software volume is no longer tied to the PulseAudio application volume when using pulsesink. This behavior was confusing for many users and doesn’t work well with the plans for multiple outputs.

well, confusing is to put into the documentation that softwaremixer is controlling pulseaudio volume and forget to remove it when it’s no longer true …

If you have found an error in the documentation please do submit a pull request so we can fix it.

I don’t know if this is error because no one confirmed that actually what is written in the documentation is not true. Maybe I misunderstood the documentation ? Is it true that there is no way of controlling pulseaudio volume with mopidy ? It would be very wierd because pulseaudio is probably the most common setup, at least for PCs. I could use alsamixer plugin but unfortunetly i’m using mopidy on nanopi neo board with pcm5102a dac and have to use softvol which seems to not work properly with pulseaudio (it generates loud clicks and pops). So if there is no alsamixer like plugin for pulseaudio I will try to write one, because it seems rather easy task to do.

Hey! I figured out a simple patch to make volume slider use native volume control (eg. in case of pulsesink), you may want to give it a try:

Keep in mind you may have to explicitly set audio/output = pulsesink in your mopidy.conf (and audio/output_volume = true as well, of course)

ok, it works almost OK. The volume bar is not reacting on external volume changes (have to hit F5 in the browser to see changes) and it shows different volume scale than pulseaudio - eg. if mopidy volume is 50% pulseaudio shows about 80%. But this is for sure an improvement :slight_smile:

I have just fixed that in another commit, you may want to update :wink:

That is caused by different (log/lin) volume scale, if I understand it correctly, and not caused by my changes.

exernal volume changes are working now :slight_smile: regarding volume scale, You propably have right.
Two questions:

  1. is this change going to be merged into main mopidy branch ?
  2. can this log/lin volume scale differences be removed ? I mean by some settings in mopidy.config ?

I’ll clean it up a little bit and create a pull request some time later this month.

1 Like