[alsa-devel] [PATCH 1/1] aplay: print vu-meter to stderr, not stdout

Takashi Iwai tiwai at suse.de
Fri May 11 17:10:51 CEST 2012


At Sun, 06 May 2012 12:41:33 +0200,
Takashi Iwai wrote:
> 
> 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.

As no one has objections, I applied the patch now.
Thanks!


Takashi

> 
> 
> 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