mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:27:43 +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
|
@ -54,11 +54,16 @@ public:
|
|||
|
||||
NonnullRefPtr<ASBufferQueue> create_queue(ASClientConnection&);
|
||||
|
||||
int main_volume() const { return m_main_volume; }
|
||||
void set_main_volume(int volume) { m_main_volume = volume; }
|
||||
|
||||
private:
|
||||
Vector<NonnullRefPtr<ASBufferQueue>> m_pending_mixing;
|
||||
|
||||
CFile m_device;
|
||||
CLock m_lock;
|
||||
|
||||
int m_main_volume { 100 };
|
||||
|
||||
void mix();
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue