diff options
Diffstat (limited to 'src/audioio.cc')
-rw-r--r-- | src/audioio.cc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/audioio.cc b/src/audioio.cc index f85ec11..eec9836 100644 --- a/src/audioio.cc +++ b/src/audioio.cc @@ -261,6 +261,40 @@ int aio_set_enum_value(struct aio_t *h, const char *name, const char *value) return 0; } +int aio_set_mute(struct aio_t *h, const char *name, int muted) +{ + CHECK_HANDLE(h); + + Mixer *m = h->device->getMixer(name); + if(!m) return NO_SUCH_CHANNEL; + + if(!m->isPlayback()) { + delete m; + return NO_SUCH_CHANNEL; + } + + m->setMuted(muted); + + return 0; +} + +int aio_get_mute(struct aio_t *h, const char *name, int *muted) +{ + CHECK_HANDLE(h); + + Mixer *m = h->device->getMixer(name); + if(!m) return NO_SUCH_CHANNEL; + + if(!m->isPlayback()) { + delete m; + return NO_SUCH_CHANNEL; + } + + m->setMuted(muted); + + return 0; +} + int aio_get_samplerate(struct aio_t *h) { CHECK_HANDLE(h); |