summaryrefslogtreecommitdiff
path: root/src/audioio.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2014-10-01 15:32:02 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2014-10-01 15:32:02 +0200
commit3922f1c36f8d8e60f8537bcaead0422129ec58dd (patch)
tree03bcb9b8007bd4035d34df1c871ada35e81aede5 /src/audioio.cc
parent797be2357ee7062ec6939cd4406fadfd27e1af2e (diff)
Add mute/unmute functions. REflect new functionality in aiomixer.
Diffstat (limited to 'src/audioio.cc')
-rw-r--r--src/audioio.cc34
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);