Commit 69f741e8 authored by Max Kellermann's avatar Max Kellermann

mixer/Memento: move IDLE_MIXER out of SetVolume()

Make this idle event per-partition.
parent 4b4f4700
......@@ -338,6 +338,7 @@ handle_setvol(Client &client, Request args, Response &)
auto &partition = client.GetPartition();
partition.mixer_memento.SetVolume(partition.outputs, level);
partition.EmitIdle(IDLE_MIXER);
return CommandResult::OK;
}
......@@ -362,8 +363,10 @@ handle_volume(Client &client, Request args, Response &r)
else if (new_volume > 100)
new_volume = 100;
if (new_volume != old_volume)
if (new_volume != old_volume) {
mixer_memento.SetVolume(outputs, new_volume);
partition.EmitIdle(IDLE_MIXER);
}
return CommandResult::OK;
}
......
......@@ -68,8 +68,6 @@ MixerMemento::SetVolume(MultipleOutputs &outputs, unsigned volume)
volume_software_set = volume;
idle_add(IDLE_MIXER);
SetHardwareVolume(outputs, volume);
}
......
......@@ -49,6 +49,8 @@ public:
/**
* Throws on error.
*
* Note: the caller is responsible for emitting #IDLE_MIXER.
*/
void SetVolume(MultipleOutputs &outputs, unsigned volume);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment