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
383 int snd_mixer_selem_ask_playback_dB_vol(snd_mixer_elem_t *elem, long dBvalue, int dir, long *value)
385 CHECK_BASIC(elem);
386 CHECK_DIR(elem, SM_CAP_PVOLUME);
387 return sm_selem_ops(elem)->ask_dB_vol(elem, SM_PLAY, dBvalue, value, dir);
392 * \param elem Mixer simple element handle
397 int snd_mixer_selem_get_playback_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
399 CHECK_BASIC(elem);
400 CHECK_DIR_CHN(elem, SM_CAP_PVOLUME, SM_CAP_PVOLUME_JOIN, channel);
401 return sm_selem_ops(elem)->get_volume(elem, SM_PLAY, channel, value);
406 * \param elem Mixer simple element handle
411 int snd_mixer_selem_get_playback_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
415 CHECK_BASIC(elem);
416 caps = ((sm_selem_t *)elem->private_data)->caps;
421 return sm_selem_ops(elem)->get_dB(elem, SM_PLAY, channel, value);
426 * \param elem Mixer simple element handle
431 int snd_mixer_selem_get_playback_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value)
433 CHECK_BASIC(elem);
434 CHECK_DIR_CHN(elem, SM_CAP_PSWITCH, SM_CAP_PSWITCH_JOIN, channel);
435 return sm_selem_ops(elem)->get_switch(elem, SM_PLAY, channel, value);
440 * \param elem Mixer simple element handle
445 int snd_mixer_selem_set_playback_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value)
447 CHECK_BASIC(elem);
448 CHECK_DIR_CHN(elem, SM_CAP_PVOLUME, SM_CAP_PVOLUME_JOIN, channel);
449 return sm_selem_ops(elem)->set_volume(elem, SM_PLAY, channel, value);
454 * \param elem Mixer simple element handle
461 int snd_mixer_selem_set_playback_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir)
463 CHECK_BASIC(elem);
464 CHECK_DIR_CHN(elem, SM_CAP_PVOLUME, SM_CAP_PVOLUME_JOIN, channel);
465 return sm_selem_ops(elem)->set_dB(elem, SM_PLAY, channel, value, dir);
470 * \param elem Mixer simple element handle
474 int snd_mixer_selem_set_playback_volume_all(snd_mixer_elem_t *elem, long value)
480 if (!snd_mixer_selem_has_playback_channel(elem, chn))
482 err = snd_mixer_selem_set_playback_volume(elem, chn, value);
485 if (chn == 0 && snd_mixer_selem_has_playback_volume_joined(elem))
493 * \param elem Mixer simple element handle
499 int snd_mixer_selem_set_playback_dB_all(snd_mixer_elem_t *elem, long value, int dir)
505 if (!snd_mixer_selem_has_playback_channel(elem, chn))
507 err = snd_mixer_selem_set_playback_dB(elem, chn, value, dir);
510 if (chn == 0 && snd_mixer_selem_has_playback_volume_joined(elem))
518 * \param elem Mixer simple element handle
523 int snd_mixer_selem_set_playback_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value)
525 CHECK_BASIC(elem);
526 CHECK_DIR_CHN(elem, SM_CAP_PSWITCH, SM_CAP_PSWITCH_JOIN, channel);
527 return sm_selem_ops(elem)->set_switch(elem, SM_PLAY, channel, value);
532 * \param elem Mixer simple element handle
536 int snd_mixer_selem_set_playback_switch_all(snd_mixer_elem_t *elem, int value)
541 CHECK_BASIC(elem);
543 if (!snd_mixer_selem_has_playback_channel(elem, chn))
545 err = snd_mixer_selem_set_playback_switch(elem, chn, value);
548 if (chn == 0 && snd_mixer_selem_has_playback_switch_joined(elem))
556 * \param elem Mixer simple element handle
559 int snd_mixer_selem_is_capture_mono(snd_mixer_elem_t *elem)
561 CHECK_BASIC(elem);
562 CHECK_DIR(elem, SM_CAP_CVOLUME|SM_CAP_CSWITCH);
563 return sm_selem_ops(elem)->is(elem, SM_CAPT, SM_OPS_IS_MONO, 0);
568 * \param elem Mixer simple element handle
572 int snd_mixer_selem_has_capture_channel(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel)
574 CHECK_BASIC(elem);
575 CHECK_DIR(elem, SM_CAP_CVOLUME|SM_CAP_CSWITCH);
576 return sm_selem_ops(elem)->is(elem, SM_CAPT, SM_OPS_IS_CHANNEL, channel);
581 * \param elem Mixer simple element handle
585 int snd_mixer_selem_get_capture_volume_range(snd_mixer_elem_t *elem,
588 CHECK_BASIC(elem);
589 CHECK_DIR(elem, SM_CAP_CVOLUME);
590 return sm_selem_ops(elem)->get_range(elem, SM_CAPT, min, max);
595 * \param elem Mixer simple element handle
599 int snd_mixer_selem_get_capture_dB_range(snd_mixer_elem_t *elem,
602 CHECK_BASIC(elem);
603 CHECK_DIR(elem, SM_CAP_CVOLUME);
604 return sm_selem_ops(elem)->get_dB_range(elem, SM_CAPT, min, max);
609 * \param elem Mixer simple element handle
613 int snd_mixer_selem_set_capture_volume_range(snd_mixer_elem_t *elem,
616 CHECK_BASIC(elem);
618 CHECK_DIR(elem, SM_CAP_CVOLUME);
619 return sm_selem_ops(elem)->set_range(elem, SM_CAPT, min, max);
624 * \param elem Mixer simple element handle
627 int snd_mixer_selem_has_capture_volume(snd_mixer_elem_t *elem)
629 CHECK_BASIC(elem);
630 return COND_CAPS(elem, SM_CAP_CVOLUME);
635 * \param elem Mixer simple element handle
638 int snd_mixer_selem_has_capture_volume_joined(snd_mixer_elem_t *elem)
640 CHECK_BASIC(elem);
641 return COND_CAPS(elem, SM_CAP_CVOLUME_JOIN);
646 * \param elem Mixer simple element handle
649 int snd_mixer_selem_has_capture_switch(snd_mixer_elem_t *elem)
651 CHECK_BASIC(elem);
652 return COND_CAPS(elem, SM_CAP_CSWITCH);
657 * \param elem Mixer simple element handle
660 int snd_mixer_selem_has_capture_switch_joined(snd_mixer_elem_t *elem)
662 CHECK_BASIC(elem);
663 return COND_CAPS(elem, SM_CAP_CSWITCH_JOIN);
668 * \param elem Mixer simple element handle
671 int snd_mixer_selem_has_capture_switch_exclusive(snd_mixer_elem_t *elem)
673 CHECK_BASIC(elem);
674 return COND_CAPS(elem, SM_CAP_CSWITCH_EXCL);
679 * \param elem Mixer simple element handle
682 int snd_mixer_selem_get_capture_group(snd_mixer_elem_t *elem)
685 CHECK_BASIC(elem);
686 s = elem->private_data;
694 * \param elem Mixer simple element handle
699 int snd_mixer_selem_ask_capture_vol_dB(snd_mixer_elem_t *elem, long value, long *dBvalue)
701 CHECK_BASIC(elem);
702 CHECK_DIR(elem, SM_CAP_CVOLUME);
703 return sm_selem_ops(elem)->ask_vol_dB(elem, SM_CAPT, value, dBvalue);
708 * \param elem Mixer simple element handle
715 int snd_mixer_selem_ask_capture_dB_vol(snd_mixer_elem_t *elem, long dBvalue, int dir, long *value)
717 CHECK_BASIC(elem);
718 CHECK_DIR(elem, SM_CAP_CVOLUME);
719 return sm_selem_ops(elem)->ask_dB_vol(elem, SM_CAPT, dBvalue, value, dir);
724 * \param elem Mixer simple element handle
729 int snd_mixer_selem_get_capture_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
731 CHECK_BASIC(elem);
732 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
733 return sm_selem_ops(elem)->get_volume(elem, SM_CAPT, channel, value);
738 * \param elem Mixer simple element handle
743 int snd_mixer_selem_get_capture_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long *value)
745 CHECK_BASIC(elem);
746 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
747 return sm_selem_ops(elem)->get_dB(elem, SM_CAPT, channel, value);
752 * \param elem Mixer simple element handle
757 int snd_mixer_selem_get_capture_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int *value)
759 CHECK_BASIC(elem);
760 CHECK_DIR_CHN(elem, SM_CAP_CSWITCH, SM_CAP_CSWITCH_JOIN, channel);
761 return sm_selem_ops(elem)->get_switch(elem, SM_CAPT, channel, value);
766 * \param elem Mixer simple element handle
771 int snd_mixer_selem_set_capture_volume(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value)
773 CHECK_BASIC(elem);
774 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
775 return sm_selem_ops(elem)->set_volume(elem, SM_CAPT, channel, value);
780 * \param elem Mixer simple element handle
787 int snd_mixer_selem_set_capture_dB(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, long value, int dir)
789 CHECK_BASIC(elem);
790 CHECK_DIR_CHN(elem, SM_CAP_CVOLUME, SM_CAP_CVOLUME_JOIN, channel);
791 return sm_selem_ops(elem)->set_dB(elem, SM_CAPT, channel, value, dir);
796 * \param elem Mixer simple element handle
800 int snd_mixer_selem_set_capture_volume_all(snd_mixer_elem_t *elem, long value)
806 if (!snd_mixer_selem_has_capture_channel(elem, chn))
808 err = snd_mixer_selem_set_capture_volume(elem, chn, value);
811 if (chn == 0 && snd_mixer_selem_has_capture_volume_joined(elem))
819 * \param elem Mixer simple element handle
825 int snd_mixer_selem_set_capture_dB_all(snd_mixer_elem_t *elem, long value, int dir)
831 if (!snd_mixer_selem_has_capture_channel(elem, chn))
833 err = snd_mixer_selem_set_capture_dB(elem, chn, value, dir);
836 if (chn == 0 && snd_mixer_selem_has_capture_volume_joined(elem))
844 * \param elem Mixer simple element handle
849 int snd_mixer_selem_set_capture_switch(snd_mixer_elem_t *elem, snd_mixer_selem_channel_id_t channel, int value)
851 CHECK_BASIC(elem);
852 CHECK_DIR_CHN(elem, SM_CAP_CSWITCH, SM_CAP_CSWITCH_JOIN, channel);
853 return sm_selem_ops(elem)->set_switch(elem, SM_CAPT, channel, value);
858 * \param elem Mixer simple element handle
862 int snd_mixer_selem_set_capture_switch_all(snd_mixer_elem_t *elem, int value)
868 if (!snd_mixer_selem_has_capture_channel(elem, chn))
870 err = snd_mixer_selem_set_capture_switch(elem, chn, value);
873 if (chn == 0 && snd_mixer_selem_has_capture_switch_joined(elem))
881 * \param elem Mixer simple element handle
884 int snd_mixer_selem_is_enumerated(snd_mixer_elem_t *elem)
886 CHECK_BASIC(elem);
887 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ENUMERATED, 0);
892 * \param elem Mixer simple element handle
895 int snd_mixer_selem_is_enum_playback(snd_mixer_elem_t *elem)
897 CHECK_BASIC(elem);
898 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ENUMERATED, 1);
903 * \param elem Mixer simple element handle
906 int snd_mixer_selem_is_enum_capture(snd_mixer_elem_t *elem)
908 CHECK_BASIC(elem);
909 return sm_selem_ops(elem)->is(elem, SM_CAPT, SM_OPS_IS_ENUMERATED, 1);
914 * \param elem Mixer simple element handle
917 int snd_mixer_selem_get_enum_items(snd_mixer_elem_t *elem)
919 CHECK_BASIC(elem);
920 CHECK_ENUM(elem);
921 return sm_selem_ops(elem)->is(elem, SM_PLAY, SM_OPS_IS_ENUMCNT, 0);
926 * \param elem Mixer simple element handle
932 int snd_mixer_selem_get_enum_item_name(snd_mixer_elem_t *elem,
936 CHECK_BASIC(elem);
937 CHECK_ENUM(elem);
938 return sm_selem_ops(elem)->enum_item_name(elem, item, maxlen, buf);
943 * \param elem Mixer simple element handle
948 int snd_mixer_selem_get_enum_item(snd_mixer_elem_t *elem,
952 CHECK_BASIC(elem);
953 CHECK_ENUM(elem);
954 return sm_selem_ops(elem)->get_enum_item(elem, channel, itemp);
959 * \param elem Mixer simple element handle
964 int snd_mixer_selem_set_enum_item(snd_mixer_elem_t *elem,
968 CHECK_BASIC(elem);
969 CHECK_ENUM(elem);
970 return sm_selem_ops(elem)->set_enum_item(elem, channel, item);