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).
This commit is contained in:
Jaroslav Kysela 2003-02-24 13:51:15 +00:00
parent 1bfb694bf0
commit 53fb81e39b
3 changed files with 52 additions and 41 deletions

View file

@ -1029,7 +1029,7 @@ mixer_draw_frame (void)
/* 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)
{
@ -1567,6 +1567,7 @@ mixer_init_window (void)
/* initialize ncurses
*/
mixer_window = initscr ();
curs_set (0); /* hide the cursor */
mixer_no_lrcorner = tigetflag ("xenl") != 1 && tigetflag ("am") != 1;

View file

@ -561,17 +561,17 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
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 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
}
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 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
}
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 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
#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 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
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 @@ static int show_selem(snd_mixer_t *handle, snd_mixer_selem_id_t *id, const char
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");
}
}
}

View file

@ -320,6 +320,7 @@ int main(int argc, char *argv[])
};
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);
@ -354,11 +355,11 @@ int main(int argc, char *argv[])
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;
@ -464,6 +465,15 @@ int main(int argc, char *argv[])
}
}
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));