- if(m) {
- if(set)
- return m->set(left, right);
- else
- return m->get(left, right);
- } else {
- static int reported;
-
- if(!reported) {
- error(0, "don't know how to get/set volume with this api");
- reported = 1;
- }
- return -1;
- }
-}
-
-const char *mixer_default_device(int api) {
- const struct mixer *const m = find_mixer(api);
-
- return m ? m->device : "";
-}
-
-const char *mixer_default_channel(int api) {
- const struct mixer *const m = find_mixer(api);
-
- return m ? m->channel : "";
+ /* We impose defaults bizarrely late, but this has the advantage of
+ * not making everything depend on sound libraries */
+ if(!config->mixer)
+ config->mixer = xstrdup(m->device);
+ if(!config->channel)
+ config->channel = xstrdup(m->channel);
+ if(set)
+ return m->set(left, right);
+ else
+ return m->get(left, right);