]> git.alsa-project.org Git - alsa-utils.git/commitdiff
alsa-info.sh: Simplify iteration over cards when calling amixer
authorDavid Ward <david.ward@ll.mit.edu>
Sat, 21 Dec 2019 05:32:03 +0000 (00:32 -0500)
committerTakashi Iwai <tiwai@suse.de>
Tue, 7 Jan 2020 13:04:40 +0000 (14:04 +0100)
Read card names directly from individual procfs files, and pass them
to amixer using the '-c' option.

Signed-off-by: David Ward <david.ward@ll.mit.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
alsa-info/alsa-info.sh

index ed1d9e2484058914124a9189b130a8aa8d370f0d..e1067d42f9f8001ba2a0bc6ff4e945a465511293 100755 (executable)
@@ -144,12 +144,12 @@ withamixer() {
         echo "!!Amixer output" >> $FILE
         echo "!!-------------" >> $FILE
         echo "" >> $FILE
-       for i in $(grep "]: " /proc/asound/cards | awk -F ' ' '{ print $1 }') ; do
-               CARD_NAME=$(grep "^ *$i " $TEMPDIR/alsacards.tmp | awk '{ print $2 }')
-               echo "!!-------Mixer controls for card $i $CARD_NAME]" >> $FILE
+       for f in /proc/asound/card*/id; do
+               [ -f "$f" ] && read -r CARD_NAME < "$f" || continue
+               echo "!!-------Mixer controls for card $CARD_NAME" >> $FILE
                echo "" >>$FILE
-               amixer -c$i info >> $FILE 2>&1
-               amixer -c$i >> $FILE 2>&1
+               amixer -c "$CARD_NAME" info >> $FILE 2>&1
+               amixer -c "$CARD_NAME" >> $FILE 2>&1
                echo "" >> $FILE
        done
        echo "" >> $FILE