OSDN Git Service

aplay: print vu-meter to stderr, not stdout
authorJerome Carretero <cJ@zougloub.eu>
Sun, 6 May 2012 03:10:01 +0000 (23:10 -0400)
committerTakashi Iwai <tiwai@suse.de>
Fri, 11 May 2012 15:09:50 +0000 (17:09 +0200)
It allows showing the vu-meter while recording to stdout, eg:

   aplay -C -V stereo | oggenc - > out.ogg

Signed-off-by: Jerome Carretero <cJ@zougloub.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
aplay/aplay.c

index 1ce34c4..8462484 100644 (file)
@@ -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);
        }
 }