summaryrefslogtreecommitdiff
path: root/Userland
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-07-29 19:06:58 +0200
committerAndreas Kling <awesomekling@gmail.com>2019-07-29 19:06:58 +0200
commit15afc88ffefa5b9641107834c87b8674c7fa3fa9 (patch)
tree776ccd065e303ed831231568ccca4df4556a6b42 /Userland
parent2feddc58bbecd8da5cfb175082cc3dd1b72ef455 (diff)
downloadserenity-15afc88ffefa5b9641107834c87b8674c7fa3fa9.zip
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%
Diffstat (limited to 'Userland')
-rw-r--r--Userland/avol.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/Userland/avol.cpp b/Userland/avol.cpp
new file mode 100644
index 0000000000..7c10fea6eb
--- /dev/null
+++ b/Userland/avol.cpp
@@ -0,0 +1,19 @@
+#include <LibAudio/ABuffer.h>
+#include <LibAudio/AClientConnection.h>
+#include <stdio.h>
+
+int main(int argc, char** argv)
+{
+ CEventLoop loop;
+ AClientConnection a_conn;
+ a_conn.handshake();
+
+ if (argc > 1) {
+ int new_volume = atoi(argv[1]);
+ a_conn.set_main_mix_volume(new_volume);
+ }
+
+ int volume = a_conn.get_main_mix_volume();
+ printf("Volume: %d\n", volume);
+ return 0;
+}