mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 09:48:11 +00:00
AudioServer: Add a "main mix volume" and a simple program to get/set it
Give the mixer a main volume value (percent) that we scale all the outgoing samples by (before clipping.) Also add a simple "avol" program for querying and setting the volume: - "avol" prints the current volume. - "avol 200" sets the main mix volume to 200%
This commit is contained in:
parent
2feddc58bb
commit
15afc88ffe
8 changed files with 72 additions and 0 deletions
|
@ -60,6 +60,20 @@ bool ASClientConnection::handle_message(const ASAPI_ClientMessage& message, cons
|
|||
post_message(reply);
|
||||
break;
|
||||
}
|
||||
case ASAPI_ClientMessage::Type::GetMainMixVolume: {
|
||||
ASAPI_ServerMessage reply;
|
||||
reply.type = ASAPI_ServerMessage::Type::DidGetMainMixVolume;
|
||||
reply.value = m_mixer.main_volume();
|
||||
post_message(reply);
|
||||
break;
|
||||
}
|
||||
case ASAPI_ClientMessage::Type::SetMainMixVolume: {
|
||||
ASAPI_ServerMessage reply;
|
||||
reply.type = ASAPI_ServerMessage::Type::DidSetMainMixVolume;
|
||||
m_mixer.set_main_volume(message.value);
|
||||
post_message(reply);
|
||||
break;
|
||||
}
|
||||
case ASAPI_ClientMessage::Type::Invalid:
|
||||
default:
|
||||
dbgprintf("ASClientConnection: Unexpected message ID %d\n", int(message.type));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue