diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2014-10-01 09:01:01 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2014-10-01 09:01:01 +0200 |
commit | 54281f481fe0549ff80829476674aa994bfff8bd (patch) | |
tree | 915eeeed14690be31ef3f613884adc8b39273419 /src/audioio.cc | |
parent | f420cd2c114500e711184327d2f8ec071a22b2cd (diff) |
Add enum swicth functions. Bump version to 1.0.1
Diffstat (limited to 'src/audioio.cc')
-rw-r--r-- | src/audioio.cc | 36 |
1 files changed, 36 insertions, 0 deletions
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); |