[alsa-devel] [PATCH 1/1] aplay: print vu-meter to stderr, not stdout
Takashi Iwai
tiwai at suse.de
Sun May 6 12:41:33 CEST 2012
At Sat, 5 May 2012 23:10:01 -0400,
Jerome Carretero wrote:
>
> It allows showing the vu-meter while recording to stdout, eg:
>
> aplay -C -V stereo | oggenc - > out.ogg
>
> Signed-off-by: Jerome Carretero <cJ at zougloub.eu>
I like this change, but wait for a while just to see whether anyone
has objection to change this. This will change the behavior, so in
some cases this may break some scripting.
thanks,
Takashi
> diff --git a/aplay/aplay.c b/aplay/aplay.c
> index 1ce34c4..8462484 100644
> --- a/aplay/aplay.c
> +++ b/aplay/aplay.c
> @@ -1453,9 +1453,9 @@ static void print_vu_meter_mono(int perc, int maxperc)
> sprintf(line + val, "| MAX");
> else
> sprintf(line + val, "| %02i%%", maxperc);
> - fputs(line, stdout);
> + fputs(line, stderr);
> if (perc > 100)
> - printf(_(" !clip "));
> + fprintf(stderr, _(" !clip "));
> }
>
> static void print_vu_meter_stereo(int *perc, int *maxperc)
> @@ -1493,7 +1493,7 @@ static void print_vu_meter_stereo(int *perc, int *maxperc)
> memcpy(line + bar_length, tmp, 3);
> }
> line[bar_length * 2 + 6 + 2] = 0;
> - fputs(line, stdout);
> + fputs(line, stderr);
> }
>
> static void print_vu_meter(signed int *perc, signed int *maxperc)
> @@ -1631,9 +1631,9 @@ static void compute_max_peak(u_char *data, size_t count)
> if (perc[c] > maxperc[c])
> maxperc[c] = perc[c];
>
> - putchar('\r');
> + putc('\r', stderr);
> print_vu_meter(perc, maxperc);
> - fflush(stdout);
> + fflush(stderr);
> }
> else if(verbose==3) {
> printf(_("Max peak (%li samples): 0x%08x "), (long)ocount, max_peak[0]);
> @@ -1642,8 +1642,8 @@ static void compute_max_peak(u_char *data, size_t count)
> putchar('#');
> else
> putchar(' ');
> - printf(" %i%%\n", perc[0]);
> - fflush(stdout);
> + fprintf(stderr, " %i%%\n", perc[0]);
> + fflush(stderr);
> }
> }
>
> --
> 1.7.10
>
More information about the Alsa-devel
mailing list