Mercurial > audlegacy-plugins
comparison src/alsa-ng/alsa-core.c @ 3178:4634dab72608
alsa-ng: Add get_volume() implementation.
author | William Pitcock <nenolod@atheme.org> |
---|---|
date | Wed, 10 Jun 2009 00:06:15 -0500 |
parents | 1117166277f7 |
children | 2e7a64bb33cd |
comparison
equal
deleted
inserted
replaced
3177:1117166277f7 | 3178:4634dab72608 |
---|---|
155 } | 155 } |
156 | 156 |
157 snd_mixer_handle_events(amixer); | 157 snd_mixer_handle_events(amixer); |
158 } | 158 } |
159 | 159 |
160 static void | |
161 alsaplug_get_volume(gint *l, gint *r) | |
162 { | |
163 snd_mixer_elem_t *elem = alsaplug_guess_mixer_elem(amixer); | |
164 | |
165 if (elem == NULL) | |
166 return; | |
167 | |
168 snd_mixer_handle_events(amixer); | |
169 | |
170 *l = 0; | |
171 *r = 0; | |
172 | |
173 if (snd_mixer_selem_is_playback_mono(elem)) | |
174 { | |
175 snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_MONO, (glong *) l); | |
176 snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_MONO, (glong *) r); | |
177 } | |
178 else | |
179 { | |
180 snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_FRONT_LEFT, (glong *) l); | |
181 snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_FRONT_RIGHT, (glong *) r); | |
182 } | |
183 } | |
184 | |
160 /******************************************************************************** | 185 /******************************************************************************** |
161 * ALSA PCM I/O functions. * | 186 * ALSA PCM I/O functions. * |
162 ********************************************************************************/ | 187 ********************************************************************************/ |
163 | 188 |
164 static void | 189 static void |
454 .buffer_free = alsaplug_buffer_free, | 479 .buffer_free = alsaplug_buffer_free, |
455 .buffer_playing = alsaplug_buffer_playing, | 480 .buffer_playing = alsaplug_buffer_playing, |
456 .flush = alsaplug_flush, | 481 .flush = alsaplug_flush, |
457 .pause = alsaplug_pause, | 482 .pause = alsaplug_pause, |
458 .set_volume = alsaplug_set_volume, | 483 .set_volume = alsaplug_set_volume, |
484 .get_volume = alsaplug_get_volume, | |
459 }; | 485 }; |
460 | 486 |
461 OutputPlugin *alsa_oplist[] = { &alsa_op, NULL }; | 487 OutputPlugin *alsa_oplist[] = { &alsa_op, NULL }; |
462 SIMPLE_OUTPUT_PLUGIN(alsa, alsa_oplist); | 488 SIMPLE_OUTPUT_PLUGIN(alsa, alsa_oplist); |