feat: audio - add concurrent mixing, output switching, and device-aware UI
This commit is contained in:
@@ -401,6 +401,8 @@ void gui::desktop_init(DesktopState* ds) {
|
||||
ds->vol_dragging = false;
|
||||
ds->vol_last_poll = montauk::get_milliseconds();
|
||||
ds->vol_serial = montauk::audio_wait(0, 0);
|
||||
ds->vol_output = montauk::audio_get_output(-1);
|
||||
ds->vol_bt_status = montauk::audio_bt_status(-1);
|
||||
|
||||
ds->closing_ext_count = 0;
|
||||
|
||||
@@ -491,6 +493,8 @@ static bool desktop_refresh_panel_state(DesktopState* ds, uint64_t now) {
|
||||
ds->vol_serial = serial;
|
||||
int v = montauk::audio_get_master_volume();
|
||||
bool muted = montauk::audio_get_master_mute() == 1;
|
||||
int output = montauk::audio_get_output(-1);
|
||||
int btStatus = montauk::audio_bt_status(-1);
|
||||
if (v >= 0 && v != ds->vol_level) {
|
||||
ds->vol_level = v;
|
||||
changed = true;
|
||||
@@ -499,6 +503,14 @@ static bool desktop_refresh_panel_state(DesktopState* ds, uint64_t now) {
|
||||
ds->vol_muted = muted;
|
||||
changed = true;
|
||||
}
|
||||
if (output >= 0 && output != ds->vol_output) {
|
||||
ds->vol_output = output;
|
||||
changed = true;
|
||||
}
|
||||
if (btStatus != ds->vol_bt_status) {
|
||||
ds->vol_bt_status = btStatus;
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
ds->vol_last_poll = now;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user