Hello!

Here's a new batch of Debian patches, all from David B. Harris.

- add a "Press Escape to quit" string to alsamixer's title, some uses
  couldn't figure out how to exit the program (Debian Bug#178393).
- hide the cursor, which was missplaced and wasn't goodlooking anyway
  (Debian Bug#81169).
- remove trailing spaces from amixer's output (Debian Bug#177518).
- don't ignore second -l/-L flags in aplay (Debian Bug#177521).

As always, details for each bug is in http://bugs.debian.org/xxxxxx,
where xxxxxx is the bug number.

--- alsa-utils-0.9.0rc7.orig/alsamixer/alsamixer.c
+++ alsa-utils-0.9.0rc7/alsamixer/alsamixer.c
@@ -1029,7 +1029,7 @@
 
   /* program title
    */
-  sprintf (string, "%s %s", PRGNAME_UPPER, VERSION);
+  sprintf (string, "%s %s (Press Escape to quit)", PRGNAME_UPPER, VERSION);
   max_len = strlen (string);
   if (mixer_max_x >= max_len + 4)
     {
@@ -1566,6 +1566,7 @@
   /* initialize ncurses
    */
   mixer_window = initscr ();
+  curs_set (0); /* hide the cursor */
 
   mixer_no_lrcorner = tigetflag ("xenl") != 1 && tigetflag ("am") != 1;
 
--- alsa-utils-0.9.0rc7.orig/amixer/amixer.c
+++ alsa-utils-0.9.0rc7/amixer/amixer.c
@@ -561,17 +561,17 @@
                               snd_mixer_selem_get_capture_group(elem));
                if (snd_mixer_selem_has_playback_volume(elem) ||
                    snd_mixer_selem_has_playback_switch(elem)) {
-                       printf("%sPlayback channels: ", space);
+                       printf("%sPlayback channels:", space);
                        if (snd_mixer_selem_is_playback_mono(elem)) {
-                               printf("Mono");
+                               printf(" Mono");
                        } else {
                                int first = 1;
                                for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++){
                                        if 
(!snd_mixer_selem_has_playback_channel(elem, chn))
                                                continue;
                                        if (!first)
-                                               printf("- ");
-                                       printf("%s ", 
snd_mixer_selem_channel_name(chn));
+                                               printf(" -");
+                                       printf(" %s", 
snd_mixer_selem_channel_name(chn));
                                        first = 0;
                                }
                        }
@@ -579,17 +579,17 @@
                }
                if (snd_mixer_selem_has_capture_volume(elem) ||
                    snd_mixer_selem_has_capture_switch(elem)) {
-                       printf("%sCapture channels: ", space);
+                       printf("%sCapture channels:", space);
                        if (snd_mixer_selem_is_capture_mono(elem)) {
-                               printf("Mono");
+                               printf(" Mono");
                        } else {
                                int first = 1;
                                for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++){
                                        if (!snd_mixer_selem_has_capture_channel(elem, 
chn))
                                                continue;
                                        if (!first)
-                                               printf("- ");
-                                       printf("%s ", 
snd_mixer_selem_channel_name(chn));
+                                               printf(" -");
+                                       printf(" %s", 
snd_mixer_selem_channel_name(chn));
                                        first = 0;
                                }
                        }
@@ -597,19 +597,19 @@
                }
                if (snd_mixer_selem_has_playback_volume(elem) ||
                    snd_mixer_selem_has_capture_volume(elem)) {
-                       printf("%sLimits: ", space);
+                       printf("%sLimits:", space);
                        if (snd_mixer_selem_has_common_volume(elem)) {
                                snd_mixer_selem_get_playback_volume_range(elem, &pmin, 
&pmax);
                                snd_mixer_selem_get_capture_volume_range(elem, &cmin, 
&cmax);
-                               printf("%li - %li", pmin, pmax);
+                               printf(" %li - %li", pmin, pmax);
                        } else {
                                if (snd_mixer_selem_has_playback_volume(elem)) {
                                        
snd_mixer_selem_get_playback_volume_range(elem, &pmin, &pmax);
-                                       printf("Playback %li - %li ", pmin, pmax);
+                                       printf(" Playback %li - %li", pmin, pmax);
                                }
                                if (snd_mixer_selem_has_capture_volume(elem)) {
                                        snd_mixer_selem_get_capture_volume_range(elem, 
&cmin, &cmax);
-                                       printf("Capture %li - %li", cmin, cmax);
+                                       printf(" Capture %li - %li", cmin, cmax);
                                }
                        }
                        printf("\n");
@@ -631,61 +631,61 @@
 #endif
                if (pmono || cmono) {
                        if (!mono_ok) {
-                               printf("%s%s: ", space, "Mono");
+                               printf("%s%s:", space, "Mono");
                                mono_ok = 1;
                        }
                        if (snd_mixer_selem_has_common_volume(elem)) {
                                snd_mixer_selem_get_playback_volume(elem, 
SND_MIXER_SCHN_MONO, &pvol);
-                               printf("%s ", get_percent(pvol, pmin, pmax));
+                               printf(" %s", get_percent(pvol, pmin, pmax));
                        }
                        if (snd_mixer_selem_has_common_switch(elem)) {
                                snd_mixer_selem_get_playback_switch(elem, 
SND_MIXER_SCHN_MONO, &psw);
-                               printf("[%s] ", psw ? "on" : "off");
+                               printf(" [%s]", psw ? "on" : "off");
                        }
                }
                if (pmono && snd_mixer_selem_has_playback_channel(elem, 
SND_MIXER_SCHN_MONO)) {
                        int title = 0;
                        if (!mono_ok) {
-                               printf("%s%s: ", space, "Mono");
+                               printf("%s%s:", space, "Mono");
                                mono_ok = 1;
                        }
                        if (!snd_mixer_selem_has_common_volume(elem)) {
                                if (snd_mixer_selem_has_playback_volume(elem)) {
-                                       printf("Playback ");
+                                       printf(" Playback");
                                        title = 1;
                                        snd_mixer_selem_get_playback_volume(elem, 
SND_MIXER_SCHN_MONO, &pvol);
-                                       printf("%s ", get_percent(pvol, pmin, pmax));
+                                       printf(" %s", get_percent(pvol, pmin, pmax));
                                }
                        }
                        if (!snd_mixer_selem_has_common_switch(elem)) {
                                if (snd_mixer_selem_has_playback_switch(elem)) {
                                        if (!title)
-                                               printf("Playback ");
+                                               printf(" Playback");
                                        snd_mixer_selem_get_playback_switch(elem, 
SND_MIXER_SCHN_MONO, &psw);
-                                       printf("[%s] ", psw ? "on" : "off");
+                                       printf(" [%s]", psw ? "on" : "off");
                                }
                        }
                }
                if (cmono && snd_mixer_selem_has_capture_channel(elem, 
SND_MIXER_SCHN_MONO)) {
                        int title = 0;
                        if (!mono_ok) {
-                               printf("%s%s: ", space, "Mono");
+                               printf("%s%s:", space, "Mono");
                                mono_ok = 1;
                        }
                        if (!snd_mixer_selem_has_common_volume(elem)) {
                                if (snd_mixer_selem_has_capture_volume(elem)) {
-                                       printf("Capture ");
+                                       printf(" Capture");
                                        title = 1;
                                        snd_mixer_selem_get_capture_volume(elem, 
SND_MIXER_SCHN_MONO, &cvol);
-                                       printf("%s ", get_percent(cvol, cmin, cmax));
+                                       printf(" %s", get_percent(cvol, cmin, cmax));
                                }
                        }
                        if (!snd_mixer_selem_has_common_switch(elem)) {
                                if (snd_mixer_selem_has_capture_switch(elem)) {
                                        if (!title)
-                                               printf("Capture ");
+                                               printf(" Capture");
                                        snd_mixer_selem_get_capture_switch(elem, 
SND_MIXER_SCHN_MONO, &csw);
-                                       printf("[%s] ", csw ? "on" : "off");
+                                       printf(" [%s]", csw ? "on" : "off");
                                }
                        }
                }
@@ -696,31 +696,31 @@
                                if ((pmono || 
!snd_mixer_selem_has_playback_channel(elem, chn)) &&
                                    (cmono || 
!snd_mixer_selem_has_capture_channel(elem, chn)))
                                        continue;
-                               printf("%s%s: ", space, 
snd_mixer_selem_channel_name(chn));
+                               printf("%s%s:", space, 
snd_mixer_selem_channel_name(chn));
                                if (!pmono && !cmono && 
snd_mixer_selem_has_common_volume(elem)) {
                                        snd_mixer_selem_get_playback_volume(elem, chn, 
&pvol);
-                                       printf("%s ", get_percent(pvol, pmin, pmax));
+                                       printf(" %s", get_percent(pvol, pmin, pmax));
                                }
                                if (!pmono && !cmono && 
snd_mixer_selem_has_common_switch(elem)) {
                                        snd_mixer_selem_get_playback_switch(elem, chn, 
&psw);
-                                       printf("[%s] ", psw ? "on" : "off");
+                                       printf(" [%s]", psw ? "on" : "off");
                                }
                                if (!pmono && 
snd_mixer_selem_has_playback_channel(elem, chn)) {
                                        int title = 0;
                                        if (!snd_mixer_selem_has_common_volume(elem)) {
                                                if 
(snd_mixer_selem_has_playback_volume(elem)) {
-                                                       printf("Playback ");
+                                                       printf(" Playback");
                                                        title = 1;
                                                        
snd_mixer_selem_get_playback_volume(elem, chn, &pvol);
-                                                       printf("%s ", 
get_percent(pvol, pmin, pmax));
+                                                       printf(" %s", 
get_percent(pvol, pmin, pmax));
                                                }
                                        }
                                        if (!snd_mixer_selem_has_common_switch(elem)) {
                                                if 
(snd_mixer_selem_has_playback_switch(elem)) {
                                                        if (!title)
-                                                               printf("Playback ");
+                                                               printf(" Playback");
                                                        
snd_mixer_selem_get_playback_switch(elem, chn, &psw);
-                                                       printf("[%s] ", psw ? "on" : 
"off");
+                                                       printf(" [%s]", psw ? "on" : 
"off");
                                                }
                                        }
                                }
@@ -728,18 +728,18 @@
                                        int title = 0;
                                        if (!snd_mixer_selem_has_common_volume(elem)) {
                                                if 
(snd_mixer_selem_has_capture_volume(elem)) {
-                                                       printf("Capture ");
+                                                       printf(" Capture");
                                                        title = 1;
                                                        
snd_mixer_selem_get_capture_volume(elem, chn, &cvol);
-                                                       printf("%s ", 
get_percent(cvol, cmin, cmax));
+                                                       printf(" %s", 
get_percent(cvol, cmin, cmax));
                                                }
                                        }
                                        if (!snd_mixer_selem_has_common_switch(elem)) {
                                                if 
(snd_mixer_selem_has_capture_switch(elem)) {
                                                        if (!title)
-                                                               printf("Capture ");
+                                                               printf(" Capture");
                                                        
snd_mixer_selem_get_capture_switch(elem, chn, &csw);
-                                                       printf("[%s] ", csw ? "on" : 
"off");
+                                                       printf(" [%s]", csw ? "on" : 
"off");
                                                }
                                        }
                                }
--- alsa-utils-0.9.0rc7.orig/aplay/aplay.c
+++ alsa-utils-0.9.0rc7/aplay/aplay.c
@@ -313,6 +313,7 @@
        };
        char *pcm_name = "default";
        int tmp, err, c;
+       int do_device_list = 0, do_pcm_list = 0;
        snd_pcm_info_t *info;
 
        err = snd_output_stdio_attach(&log, stderr, 0);
@@ -347,11 +348,11 @@
                        version();
                        return 0;
                case 'l':
-                       device_list();
-                       return 0;
+                       do_device_list = 1;
+                       break;
                case 'L':
-                       pcm_list();
-                       return 0;
+                       do_pcm_list = 1;
+                       break;
                case 'D':
                        pcm_name = optarg;
                        break;
@@ -457,6 +458,15 @@
                }
        }
 
+       if (do_device_list) {
+               if (do_pcm_list) pcm_list();
+               device_list();
+               return 0;
+       } else if (do_pcm_list) {
+               pcm_list();
+               return 0;
+       }
+
        err = snd_pcm_open(&handle, pcm_name, stream, open_mode);
        if (err < 0) {
                error("audio open error: %s", snd_strerror(err));

-- 
Jordi Mallach Pérez  --  Debian developer     http://www.debian.org/
[EMAIL PROTECTED]     [EMAIL PROTECTED]     http://www.sindominio.net/
GnuPG public key information available at http://oskuro.net/~jordi/

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to