X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/5b053666c0488ce2b0f0acc4304ac1a1d92a7035..b50cfb8a0d4fc71877ae0bfcd7b28879886a2ac1:/disobedience/disobedience.c diff --git a/disobedience/disobedience.c b/disobedience/disobedience.c index ab51bb3..e0fa295 100644 --- a/disobedience/disobedience.c +++ b/disobedience/disobedience.c @@ -20,7 +20,6 @@ */ #include "disobedience.h" -#include "mixer.h" #include "version.h" #include @@ -68,6 +67,9 @@ int volume_l; /** @brief Right channel volume */ int volume_r; +/** @brief Audio backend */ +const struct uaudio *backend; + double goesupto = 10; /* volume upper bound */ /** @brief True if a NOP is in flight */ @@ -263,10 +265,10 @@ static gboolean periodic_fast(gpointer attribute((unused)) data) { } last = now; #endif - if(rtp_supported && mixer_supported(DEFAULT_BACKEND)) { + if(rtp_supported && backend && backend->get_volume) { int nl, nr; - if(!mixer_control(DEFAULT_BACKEND, &nl, &nr, 0) - && (nl != volume_l || nr != volume_r)) { + backend->get_volume(&nl, &nr); + if(nl != volume_l || nr != volume_r) { volume_l = nl; volume_r = nr; event_raise("volume-changed", 0); @@ -453,6 +455,10 @@ int main(int argc, char **argv) { D(("create main loop")); mainloop = g_main_loop_new(0, 0); if(config_read(0)) fatal(0, "cannot read configuration"); + /* we'll need mixer support */ + backend = uaudio_apis[0]; + if(backend->open_mixer) + backend->open_mixer(); /* create the clients */ if(!(client = gtkclient()) || !(logclient = gtkclient()))