Home | History | Annotate | Download | only in mixer

Lines Matching refs:elem

91 	unsigned int xcaps = ((sm_selem_t *)(elem)->private_data)->caps; \
98 unsigned int xcaps = ((sm_selem_t *)(elem)->private_data)->caps; \
106 if (!((sm_selem_t *)(elem)->private_data)->caps & (SM_CAP_PENUM|SM_CAP_CENUM)) \
110 !!(((sm_selem_t *)(elem)->private_data)->caps & (what))
152 * \param elem Mixer simple element handle
155 void snd_mixer_selem_get_id(snd_mixer_elem_t *elem,
160 CHECK_BASIC(elem);
161 s = elem->private_data;
167 * \param elem Mixer simple element handle
170 const char *snd_mixer_selem_get_name(snd_mixer_elem_t *elem)
173 CHECK_BASIC(elem);
174 s = elem->private_data;
180 * \param elem Mixer simple element handle
183 unsigned int snd_mixer_selem_get_index(snd_mixer_elem_t *elem)
186 CHECK_BASIC(elem);
187 s = elem->private_data;
193 * \param elem Mixer simple element handle
196 int snd_mixer_selem_has_common_volume(snd_mixer_elem_t *elem)
198 CHECK_BASIC(elem);
199 return COND_CAPS(elem, SM_CAP_GVOLUME);
204 * \param elem Mixer simple element handle
207 int snd_mixer_selem_has_common_switch(snd_mixer_elem_t *elem)
209 CHECK_BASIC(elem);
210 return COND_CAPS(elem, SM_CAP_GSWITCH);
241 * \param elem Mixer simple element handle
244 int snd_mixer_selem_is_active(snd_mixer_elem_t *elem)
246 CHECK_BASIC(elem);
247 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ACTIVE, 0);
252 * \param elem Mixer simple element handle
255 int snd_mixer_selem_is_playback_mono(snd_mixer_elem_t *elem)
257 CHECK_BASIC(elem);
258 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_MONO, 0);
263 * \param elem Mixer simple element handle
267 int snd_mixer_selem_has_playback_channel(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel)
269 CHECK_BASIC(elem);
270 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_CHANNEL, (int)channel);
275 * \param elem Mixer simple element handle
279 int snd_mixer_selem_get_playback_volume_range(snd_mixer_elem_t *elem,
282 CHECK_BASIC(elem);
283 CHECK_DIR(elem, SM_CAP_PVOLUME);
284 return sm_selem_ops(elem)->get_range(elem, SM_PLAY, min, max);
289 * \param elem Mixer simple element handle
293 int snd_mixer_selem_get_playback_dB_range(snd_mixer_elem_t *elem,
296 CHECK_BASIC(elem);
297 CHECK_DIR(elem, SM_CAP_PVOLUME);
298 return sm_selem_ops(elem)->get_dB_range(elem, SM_PLAY, min, max);
303 * \param elem Mixer simple element handle
307 int snd_mixer_selem_set_playback_volume_range(snd_mixer_elem_t *elem,
310 CHECK_BASIC(elem);
312 CHECK_DIR(elem, SM_CAP_PVOLUME);
313 return sm_selem_ops(elem)->set_range(elem, SM_PLAY, min, max);
318 * \param elem Mixer simple element handle
321 int snd_mixer_selem_has_playback_volume(snd_mixer_elem_t *elem)
323 CHECK_BASIC(elem);
324 return COND_CAPS(elem, SM_CAP_PVOLUME);
329 * \param elem Mixer simple element handle
332 int snd_mixer_selem_has_playback_volume_joined(snd_mixer_elem_t *elem)
334 CHECK_BASIC(elem);
335 return COND_CAPS(elem, SM_CAP_PVOLUME_JOIN);
340 * \param elem Mixer simple element handle
343 int snd_mixer_selem_has_playback_switch(snd_mixer_elem_t *elem)
345 CHECK_BASIC(elem);
346 return COND_CAPS(elem, SM_CAP_PSWITCH);
351 * \param elem Mixer simple element handle
354 int snd_mixer_selem_has_playback_switch_joined(snd_mixer_elem_t *elem)
356 CHECK_BASIC(elem);
357 return COND_CAPS(elem, SM_CAP_PSWITCH_JOIN);
362 * \param elem Mixer simple element handle
367 int snd_mixer_selem_ask_playback_vol_dB(snd_mixer_elem_t *elem, long value, long *dBvalue)
369 CHECK_BASIC(elem);
370 CHECK_DIR(elem, SM_CAP_PVOLUME);
371 return sm_selem_ops(elem)->ask_vol_dB(elem, SM_PLAY, value, dBvalue);
376 * \param elem Mixer simple element handle
382 int snd_mixer_selem_ask_playback_dB_vol(snd_mixer_elem_t *elem, long dBvalue, int dir, long *value)
384 CHECK_BASIC(elem);
385 CHECK_DIR(elem, SM_CAP_PVOLUME);
386 return sm_selem_ops(elem)->ask_dB_vol(elem, SM_PLAY, dBvalue, value, dir);
391 * \param elem Mixer simple element handle
396 int snd_mixer_selem_get_playback_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
398 CHECK_BASIC(elem);
399 CHECK_DIR_CHN(elem, SM_CAP_PVOLUME, SM_CAP_PVOLUME_JOIN, channel);
400 return sm_selem_ops(elem)->get_volume(elem, SM_PLAY, channel, value);
405 * \param elem Mixer simple element handle
410 int snd_mixer_selem_get_playback_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
414 CHECK_BASIC(elem);
415 caps = ((sm_selem_t *)elem->private_data)->caps;
420 return sm_selem_ops(elem)->get_dB(elem, SM_PLAY, channel, value);
425 * \param elem Mixer simple element handle
430 int snd_mixer_selem_get_playback_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value)
432 CHECK_BASIC(elem);
433 CHECK_DIR_CHN(elem, SM_CAP_PSWITCH, SM_CAP_PSWITCH_JOIN, channel);
434 return sm_selem_ops(elem)->get_switch(elem, SM_PLAY, channel, value);
439 * \param elem Mixer simple element handle
444 int snd_mixer_selem_set_playback_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value)
446 CHECK_BASIC(elem);
447 CHECK_DIR_CHN(elem, SM_CAP_PVOLUME, SM_CAP_PVOLUME_JOIN, channel);
448 return sm_selem_ops(elem)->set_volume(elem, SM_PLAY, channel, value);
453 * \param elem Mixer simple element handle
459 int snd_mixer_selem_set_playback_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir)
461 CHECK_BASIC(elem);
462 CHECK_DIR_CHN(elem, SM_CAP_PVOLUME, SM_CAP_PVOLUME_JOIN, channel);
463 return sm_selem_ops(elem)->set_dB(elem, SM_PLAY, channel, value, dir);
468 * \param elem Mixer simple element handle
472 int snd_mixer_selem_set_playback_volume_all(snd_mixer_elem_t *elem, long value)
478 if (!snd_mixer_selem_has_playback_channel(elem, chn))
480 err = snd_mixer_selem_set_playback_volume(elem, chn, value);
483 if (chn == 0 && snd_mixer_selem_has_playback_volume_joined(elem))
491 * \param elem Mixer simple element handle
496 int snd_mixer_selem_set_playback_dB_all(snd_mixer_elem_t *elem, long value, int dir)
502 if (!snd_mixer_selem_has_playback_channel(elem, chn))
504 err = snd_mixer_selem_set_playback_dB(elem, chn, value, dir);
507 if (chn == 0 && snd_mixer_selem_has_playback_volume_joined(elem))
515 * \param elem Mixer simple element handle
520 int snd_mixer_selem_set_playback_switch(snd_mixer_elem_t *elem
522 CHECK_BASIC(elem);
523 CHECK_DIR_CHN(elem, SM_CAP_PSWITCH, SM_CAP_PSWITCH_JOIN, channel);
524 return sm_selem_ops(elem)->set_switch(elem, SM_PLAY, channel, value);
529 * \param elem Mixer simple element handle
533 int snd_mixer_selem_set_playback_switch_all(snd_mixer_elem_t *elem, int value)
538 CHECK_BASIC(elem);
540 if (!snd_mixer_selem_has_playback_channel(elem, chn))
542 err = snd_mixer_selem_set_playback_switch(elem, chn, value);
545 if (chn == 0 && snd_mixer_selem_has_playback_switch_joined(elem))
553 * \param elem Mixer simple element handle
556 int snd_mixer_selem_is_capture_mono(snd_mixer_elem_t *elem)
558 CHECK_BASIC(elem);
559 CHECK_DIR(elem, SM_CAP_CVOLUME|SM_CAP_CSWITCH);
560 return sm_selem_ops(elem)->is(elem, SM_CAPT, SM_OPS_IS_MONO, 0);
565 * \param elem Mixer simple element handle
569 int snd_mixer_selem_has_capture_channel(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel)
571 CHECK_BASIC(elem);
572 CHECK_DIR(elem, SM_CAP_CVOLUME|SM_CAP_CSWITCH);
573 return sm_selem_ops(elem)->is(elem, SM_CAPT, SM_OPS_IS_CHANNEL, channel);
578 * \param elem Mixer simple element handle
582 int snd_mixer_selem_get_capture_volume_range(snd_mixer_elem_t *elem,
585 CHECK_BASIC(elem);
586 CHECK_DIR(elem, SM_CAP_CVOLUME);
587 return sm_selem_ops(elem)->get_range(elem, SM_CAPT, min, max);
592 * \param elem Mixer simple element handle
596 int snd_mixer_selem_get_capture_dB_range(snd_mixer_elem_t *elem,
599 CHECK_BASIC(elem);
600 CHECK_DIR(elem, SM_CAP_CVOLUME);
601 return sm_selem_ops(elem)->get_dB_range(elem, SM_CAPT, min, max);
606 * \param elem Mixer simple element handle
610 int snd_mixer_selem_set_capture_volume_range(snd_mixer_elem_t *elem,
613 CHECK_BASIC(elem);
615 CHECK_DIR(elem, SM_CAP_CVOLUME);
616 return sm_selem_ops(elem)->set_range(elem, SM_CAPT, min, max);
621 * \param elem Mixer simple element handle
624 int snd_mixer_selem_has_capture_volume(snd_mixer_elem_t *elem)
626 CHECK_BASIC(elem);
627 return COND_CAPS(elem, SM_CAP_CVOLUME);
632 * \param elem Mixer simple element handle
635 int snd_mixer_selem_has_capture_volume_joined(snd_mixer_elem_t *elem)
637 CHECK_BASIC(elem);
638 return COND_CAPS(elem, SM_CAP_CVOLUME_JOIN);
643 * \param elem Mixer simple element handle
646 int snd_mixer_selem_has_capture_switch(snd_mixer_elem_t *elem)
648 CHECK_BASIC(elem);
649 return COND_CAPS(elem, SM_CAP_CSWITCH);
654 * \param elem Mixer simple element handle
657 int snd_mixer_selem_has_capture_switch_joined(snd_mixer_elem_t *elem)
659 CHECK_BASIC(elem);
660 return COND_CAPS(elem, SM_CAP_CSWITCH_JOIN);
665 * \param elem Mixer simple element handle
668 int snd_mixer_selem_has_capture_switch_exclusive(snd_mixer_elem_t *elem)
670 CHECK_BASIC(elem);
671 return COND_CAPS(elem, SM_CAP_CSWITCH_EXCL);
676 * \param elem Mixer simple element handle
679 int snd_mixer_selem_get_capture_group(snd_mixer_elem_t *elem)
682 CHECK_BASIC(elem);
683 s = elem->private_data;
691 * \param elem Mixer simple element handle
696 int snd_mixer_selem_ask_capture_vol_dB(snd_mixer_elem_t *elem, long value, long *dBvalue)
698 CHECK_BASIC(elem);
699 CHECK_DIR(elem, SM_CAP_CVOLUME);
700 return sm_selem_ops(elem)->ask_vol_dB(elem, SM_CAPT, value, dBvalue);
705 * \param elem Mixer simple element handle
711 int snd_mixer_selem_ask_capture_dB_vol(snd_mixer_elem_t *elem, long dBvalue, int dir, long *value)
713 CHECK_BASIC(elem);
714 CHECK_DIR(elem, SM_CAP_CVOLUME);
715 return sm_selem_ops(elem)->ask_dB_vol(elem, SM_CAPT, dBvalue, value, dir);
720 * \param elem Mixer simple element handle
725 int snd_mixer_selem_get_capture_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
727 CHECK_BASIC(elem);
728 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
729 return sm_selem_ops(elem)->get_volume(elem, SM_CAPT, channel, value);
734 * \param elem Mixer simple element handle
739 int snd_mixer_selem_get_capture_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
741 CHECK_BASIC(elem);
742 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
743 return sm_selem_ops(elem)->get_dB(elem, SM_CAPT, channel, value);
748 * \param elem Mixer simple element handle
753 int snd_mixer_selem_get_capture_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value)
755 CHECK_BASIC(elem);
756 CHECK_DIR_CHN(elem, SM_CAP_CSWITCH, SM_CAP_CSWITCH_JOIN, channel);
757 return sm_selem_ops(elem)->get_switch(elem, SM_CAPT, channel, value);
762 * \param elem Mixer simple element handle
767 int snd_mixer_selem_set_capture_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value)
769 CHECK_BASIC(elem);
770 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
771 return sm_selem_ops(elem)->set_volume(elem, SM_CAPT, channel, value);
776 * \param elem Mixer simple element handle
782 int snd_mixer_selem_set_capture_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir)
784 CHECK_BASIC(elem);
785 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
786 return sm_selem_ops(elem)->set_dB(elem, SM_CAPT, channel, value, dir);
791 * \param elem Mixer simple element handle
795 int snd_mixer_selem_set_capture_volume_all(snd_mixer_elem_t *elem, long value)
801 if (!snd_mixer_selem_has_capture_channel(elem, chn))
803 err = snd_mixer_selem_set_capture_volume(elem, chn, value);
806 if (chn == 0 && snd_mixer_selem_has_capture_volume_joined(elem))
814 * \param elem Mixer simple element handle
819 int snd_mixer_selem_set_capture_dB_all(snd_mixer_elem_t *elem, long value, int dir)
825 if (!snd_mixer_selem_has_capture_channel(elem, chn))
827 err = snd_mixer_selem_set_capture_dB(elem, chn, value, dir);
830 if (chn == 0 && snd_mixer_selem_has_capture_volume_joined(elem))
838 * \param elem Mixer simple element handle
843 int snd_mixer_selem_set_capture_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value)
845 CHECK_BASIC(elem);
846 CHECK_DIR_CHN(elem, SM_CAP_CSWITCH, SM_CAP_CSWITCH_JOIN, channel);
847 return sm_selem_ops(elem)->set_switch(elem, SM_CAPT, channel, value);
852 * \param elem Mixer simple element handle
856 int snd_mixer_selem_set_capture_switch_all(snd_mixer_elem_t *elem, int value)
862 if (!snd_mixer_selem_has_capture_channel(elem, chn))
864 err = snd_mixer_selem_set_capture_switch(elem, chn, value);
867 if (chn == 0 && snd_mixer_selem_has_capture_switch_joined(elem))
875 * \param elem Mixer simple element handle
878 int snd_mixer_selem_is_enumerated(snd_mixer_elem_t *elem)
880 CHECK_BASIC(elem);
881 CHECK_ENUM(elem);
882 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ENUMERATED, 0);
887 * \param elem Mixer simple element handle
890 int snd_mixer_selem_is_enum_playback(snd_mixer_elem_t *elem)
892 CHECK_BASIC(elem);
893 CHECK_ENUM(elem);
894 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ENUMERATED, 1);
899 * \param elem Mixer simple element handle
902 int snd_mixer_selem_is_enum_capture(snd_mixer_elem_t *elem)
904 CHECK_BASIC(elem);
905 CHECK_ENUM(elem);
906 return sm_selem_ops(elem)->is(elem, SM_CAPT, SM_OPS_IS_ENUMERATED, 1);
911 * \param elem Mixer simple element handle
914 int snd_mixer_selem_get_enum_items(snd_mixer_elem_t *elem)
916 CHECK_BASIC(elem);
917 CHECK_ENUM(elem);
918 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ENUMCNT, 0);
923 * \param elem Mixer simple element handle
929 int snd_mixer_selem_get_enum_item_name(snd_mixer_elem_t *elem,
933 CHECK_BASIC(elem);
934 CHECK_ENUM(elem);
935 return sm_selem_ops(elem)->enum_item_name(elem, item, maxlen, buf);
940 * \param elem Mixer simple element handle
945 int snd_mixer_selem_get_enum_item(snd_mixer_elem_t *elem,
949 CHECK_BASIC(elem);
950 CHECK_ENUM(elem);
951 return sm_selem_ops(elem)->get_enum_item(elem, channel, itemp);
956 * \param elem Mixer simple element handle
961 int snd_mixer_selem_set_enum_item(snd_mixer_elem_t *elem,
965 CHECK_BASIC(elem);
966 CHECK_ENUM(elem);
967 return sm_selem_ops(elem)->set_enum_item(elem, channel, item);