From 54281f481fe0549ff80829476674aa994bfff8bd Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Wed, 1 Oct 2014 09:01:01 +0200 Subject: Add enum swicth functions. Bump version to 1.0.1 --- src/audioio.cc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/audioio.cc') diff --git a/src/audioio.cc b/src/audioio.cc index f3dd449..5da202a 100644 --- a/src/audioio.cc +++ b/src/audioio.cc @@ -219,6 +219,42 @@ int aio_get_capture_mixer_level_range(struct aio_t *h, float *min, float *max) return get_mixer_level_range(h->source_mixer, min, max); } +int aio_get_enum_value(struct aio_t *h, const char *name, char *value, + size_t maxsize) +{ + CHECK_HANDLE(h); + + Mixer *m = h->device->getMixer(name); + if(!m) return NO_SUCH_ENUM; + + if(!m->isEnum()) { + delete m; + return NO_SUCH_ENUM; + } + + std::string e = m->enumValue(); + snprintf(value, maxsize, "%s", e.c_str()); + + return 0; +} + +int aio_set_enum_value(struct aio_t *h, const char *name, const char *value) +{ + CHECK_HANDLE(h); + + Mixer *m = h->device->getMixer(name); + if(!m) return NO_SUCH_ENUM; + + if(!m->isEnum()) { + delete m; + return NO_SUCH_ENUM; + } + + m->setEnumValue(value); + + return 0; +} + int aio_get_samplerate(struct aio_t *h) { CHECK_HANDLE(h); -- cgit v1.2.3