Home | History | Annotate | Download | only in alsamixer

Lines Matching refs:elem

495 mixer_calc_volume(snd_mixer_elem_t *elem,
503 snd_mixer_selem_get_playback_volume_range(elem, &min, &max);
505 snd_mixer_selem_get_capture_volume_range(elem, &min, &max);
521 snd_mixer_selem_get_playback_volume(elem, chn, &v);
523 snd_mixer_selem_get_capture_volume(elem, chn, &v);
529 mixer_convert_volume(snd_mixer_elem_t *elem,
534 snd_mixer_selem_get_playback_volume_range(elem, &min, &max);
536 snd_mixer_selem_get_capture_volume_range(elem, &min, &max);
541 static void update_enum_list(snd_mixer_elem_t *elem, int chn, int delta)
544 if (snd_mixer_selem_get_enum_item(elem, chn, &eidx) < 0)
551 int items = snd_mixer_selem_get_enum_items(elem);
558 snd_mixer_selem_set_enum_item(elem, chn, eidx);
566 snd_mixer_elem_t *elem;
577 elem = snd_mixer_find_selem(mixer_handle, sid);
578 if (elem == NULL)
585 if (!snd_mixer_selem_has_playback_channel(elem, chn_right))
588 if (!snd_mixer_selem_has_capture_channel(elem
604 joined = snd_mixer_selem_has_playback_volume_joined(elem);
606 joined = snd_mixer_selem_has_capture_volume_joined(elem);
609 vbalance = vright = vleft = mixer_convert_volume(elem, mixer_volume_absolute, type);
613 vleft = mixer_calc_volume(elem, mixer_volume_delta[MIXER_CHN_LEFT], type, chn_left);
616 vright = mixer_calc_volume(elem, mixer_volume_delta[MIXER_CHN_RIGHT], type, chn_right);
627 if (snd_mixer_selem_has_playback_channel(elem, chn))
628 snd_mixer_selem_set_playback_volume(elem, chn, vleft);
630 if (snd_mixer_selem_has_capture_channel(elem, chn))
631 snd_mixer_selem_set_capture_volume(elem, chn, vleft);
637 if (snd_mixer_selem_has_playback_volume(elem) &&
638 snd_mixer_selem_has_playback_channel(elem, chn_left))
639 snd_mixer_selem_set_playback_volume(elem, chn_left, vleft);
641 if (snd_mixer_selem_has_capture_volume(elem) &&
642 snd_mixer_selem_has_capture_channel(elem, chn_left))
643 snd_mixer_selem_set_capture_volume(elem, chn_left, vleft);
647 if (snd_mixer_selem_has_playback_volume(elem) &&
648 snd_mixer_selem_has_playback_channel(elem, chn_right))
649 snd_mixer_selem_set_playback_volume(elem, chn_right, vright);
651 if (snd_mixer_selem_has_capture_volume(elem) &&
652 snd_mixer_selem_has_capture_channel(elem, chn_right))
653 snd_mixer_selem_set_capture_volume(elem, chn_right, vright);
663 if (snd_mixer_selem_has_playback_switch_joined(elem)) {
664 snd_mixer_selem_get_playback_switch(elem, chn_left, &sw);
665 snd_mixer_selem_set_playback_switch_all(elem, !sw);
668 snd_mixer_selem_get_playback_switch(elem, chn_left, &sw);
669 snd_mixer_selem_set_playback_switch(elem, chn_left, !sw);
673 snd_mixer_selem_get_playback_switch(elem, chn_right, &sw);
674 snd_mixer_selem_set_playback_switch(elem, chn_right, !sw);
684 if (mixer_toggle_capture && snd_mixer_selem_has_capture_switch(elem)) {
685 if (snd_mixer_selem_has_capture_switch_joined(elem)) {
686 snd_mixer_selem_get_capture_switch(elem, chn_left, &sw);
687 snd_mixer_selem_set_capture_switch_all(elem, !sw);
690 snd_mixer_selem_has_capture_channel(elem, chn_left)) {
691 snd_mixer_selem_get_capture_switch(elem, chn_left, &sw);
692 snd_mixer_selem_set_capture_switch(elem, chn_left, !sw);
695 snd_mixer_selem_has_capture_channel(elem, chn_right) &&
697 snd_mixer_selem_get_capture_switch(elem, chn_right, &sw);
698 snd_mixer_selem_set_capture_switch(elem, chn_right, !sw);
709 update_enum_list(elem, MIXER_CHN_LEFT, mixer_volume_delta[MIXER_CHN_LEFT]);
711 update_enum_list(elem, MIXER_CHN_RIGHT, mixer_volume_delta[MIXER_CHN_RIGHT]);
797 static void display_enum_list(snd_mixer_elem_t *elem, int y, int x)
807 err = snd_mixer_selem_get_enum_item(elem, ch, &eidx);
810 if (snd_mixer_selem_get_enum_item_name(elem, eidx, sizeof(tmp) - 1, tmp) < 0)
915 snd_mixer_elem_t *elem;
930 elem = snd_mixer_find_selem(mixer_handle, sid);
931 if (elem == NULL)
939 if (!snd_mixer_selem_has_playback_channel(elem, chn_right))
942 if (!snd_mixer_selem_has_capture_channel(elem, chn_right))
948 if (type != MIXER_ELEM_CAPTURE && snd_mixer_selem_has_playback_volume(elem)) {
950 snd_mixer_selem_get_playback_volume_range(elem, &vmin, &vmax);
951 snd_mixer_selem_get_playback_volume(elem, chn_left, &vleft);
954 snd_mixer_selem_get_playback_volume(elem, chn_right, &vright);
961 if (type == MIXER_ELEM_CAPTURE && snd_mixer_selem_has_capture_volume(elem)) {
963 snd_mixer_selem_get_capture_volume_range(elem, &vmin, &vmax);
964 snd_mixer_selem_get_capture_volume(elem, chn_left, &vleft);
967 snd_mixer_selem_get_capture_volume(elem, chn_right, &vright);
982 snd_mixer_selem_get_playback_switch(elem, chn_left, &swl);
985 snd_mixer_selem_get_playback_switch(elem, chn_right, &swr);
993 if (! snd_mixer_selem_get_enum_item(elem, 0, &eidx) &&
994 ! snd_mixer_selem_get_enum_item_name(elem, eidx, sizeof(tmp) - 3, tmp+2)) {
1002 if (type != MIXER_ELEM_CAPTURE && snd_mixer_selem_has_playback_volume(elem)) {
1005 if (!snd_mixer_selem_get_playback_dB(elem, chn_left, &vdbleft)) {
1009 (!snd_mixer_selem_get_playback_dB(elem, chn_right, &vdbright))) {
1021 if (type == MIXER_ELEM_CAPTURE && snd_mixer_selem_has_capture_volume(elem)) {
1024 if (!snd_mixer_selem_get_capture_dB(elem, chn_left, &vdbleft)) {
1028 (!snd_mixer_selem_get_capture_dB(elem, chn_right, &vdbright))) {
1055 display_enum_list(elem, y, x);
1088 snd_mixer_selem_has_capture_switch(elem)) {
1090 snd_mixer_selem_has_capture_channel(elem, chn_right);
1091 snd_mixer_selem_get_capture_switch(elem, chn_left, &swl);
1093 snd_mixer_selem_get_capture_switch(elem, chn_right, &swr);
1105 snd_mixer_selem_get_playback_switch(elem, chn_left, &swl);
1107 snd_mixer_selem_get_playback_switch(elem, chn_right, &swr);
1608 mixer_event (snd_mixer_t *mixer, unsigned int mask, snd_mixer_elem_t *elem)
1677 snd_mixer_elem_t *elem;
1700 for (elem = snd_mixer_first_elem(mixer_handle); elem; elem = snd_mixer_elem_next(elem)) {
1704 if (!snd_mixer_selem_is_active(elem))
1706 snd_mixer_selem_get_id(elem, sid);
1716 elem = snd_mixer_find_selem(mixer_handle, sid);
1717 if (elem == NULL)
1724 if (snd_mixer_selem_has_playback_channel(elem, mixer_elem_chn[i][j]))
1732 if (snd_mixer_selem_has_capture_volume(elem) ||
1733 (nelems_added == 0 && snd_mixer_selem_has_capture_switch(elem)))
1753 elem = snd_mixer_find_selem(mixer_handle, sid);
1754 if (elem == NULL)
1762 if (snd_mixer_selem_has_playback_channel(elem, mixer_elem_chn[i][j]))
1768 if (snd_mixer_selem_is_enumerated(elem)) {
1770 snd_mixer_selem_is_enum_capture(elem))
1775 if (i == 0 && snd_mixer_selem_has_playback_switch(elem))
1777 if (snd_mixer_selem_has_playback_volume(elem))
1782 ! snd_mixer_selem_has_capture_volume(elem) &&
1783 snd_mixer_selem_has_capture_switch(elem))
1796 if (snd_mixer_selem_has_capture_volume(elem) &&
1797 (mixer_view == VIEW_CAPTURE || !snd_mixer_selem_has_common_volume(elem)))
1800 (nelems_added == 0 && snd_mixer_selem_has_capture_switch(elem)) &&
1801 (mixer_view == VIEW_CAPTURE || !snd_mixer_selem_has_common_switch(elem)))
1804 mixer_view == VIEW_CAPTURE && snd_mixer_selem_is_enum_capture(elem))
1809 if (snd_mixer_selem_is_enum_capture(elem))
1813 if (nelems_added == 0 && snd_mixer_selem_has_capture_switch(elem))
1817 if (snd_mixer_selem_has_capture_volume(elem))