Mocp application-only volume control?


I've been using mocp for a while now (running under Fedora 23) and I find it to be a nice music player.

When I adjust the volume in mocp it affect the system volume, for example if I would turn down the volume to 0% in mocp, all other audio is also affected and entirely silent.

Is it possible to have a "application-only" volume control in mocp? This would be similar to for example VLC, audacious et.c and how those applications function. If I turn down the volume to 50% in VLC, it is only VLC that is affected.

Moc volume settings corresponds to ALSA hardware mixer settings. You can use "Softmixer" in Moc to have independent volume control ('w' to enable, 'x' to switch mixer channel).

All right, I enabled/switch to softmixer and it worked well.

Is there any way to make mocp be in this state by default when the program is started? On startup it seems to reset to hardware mixer settings and I have to manually toggle the desired mode.

Have look at Softmixer_SaveState and Equalizer_SaveState in your $HOME/.moc/config.

Ok, I think I gave a bad description of the issue I was thinking of.

Softmixer settings are saved in between instances of mocp, if I do a full quit (Q) and restart mocp settings (like volume) will be retained. I guess this is what you tought I was talking about?

The actual issue I had in mind is that when I do a full quit and restart mocp, volume control will start in 'hardware mixer'-mode. So I have to press x a few times to return to Softmixer when I start mocp.

I don't think there is a way short of modifying MOC source - you would only need to change the line:
static int current_mixer = 0;
in audio.c to
static int current_mixer = 2;
(but I didn't test it)

Just posting to confirm this does indeed work - tested on a Nokia N810 internet tablet build of MOC.