alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Dirk Jagdmann <doj@cubic.org>
To: alsa-devel@alsa-project.org
Subject: [patch] alternative peak meter for aplay
Date: Sat, 03 Dec 2005 11:58:44 +0100	[thread overview]
Message-ID: <43917A64.20707@cubic.org> (raw)

[-- Attachment #1: Type: text/plain, Size: 339 bytes --]

This patch adds an alternative peak meter for aplay/arecord which is 
enabled via three "-v" command line arguments. This new mode differs 
from the old in a larger meter, no linefeeds for every meter update and 
a static maximum peak (for 1s).

-- 
---> Dirk Jagdmann ^ doj / cubic
----> http://cubic.org/~doj
-----> http://llg.cubic.org

[-- Attachment #2: aplay-verbose3.patch --]
[-- Type: text/plain, Size: 2473 bytes --]

Index: alsa-utils-1.0.10/aplay/aplay.c
===================================================================
--- alsa-utils-1.0.10.orig/aplay/aplay.c	2005-11-08 17:43:36.000000000 +0100
+++ alsa-utils-1.0.10/aplay/aplay.c	2005-12-03 01:05:34.000000000 +0100
@@ -1183,17 +1183,47 @@
 	max = 1 << (bits_per_sample-1);
 	if (max <= 0)
 		max = 0x7fffffff;
-	printf(_("Max peak (%li samples): 0x%08x "), (long)ocount, max_peak);
+
 	if (bits_per_sample > 16)
 		perc = max_peak / (max / 100);
 	else
 		perc = max_peak * 100 / max;
-	for (val = 0; val < 20; val++)
-		if (val <= perc / 5)
-			putc('#', stdout);
-		else
-			putc(' ', stdout);
-	printf(" %i%%\n", perc);
+
+	if(verbose<=2) {
+		printf(_("Max peak (%li samples): 0x%08x "), (long)ocount, max_peak);
+		for (val = 0; val < 20; val++)
+			if (val <= perc / 5)
+				putchar('#');
+			else
+				putchar(' ');
+		printf(" %i%%\n", perc);
+	}
+	else if(verbose==3) {
+		static int maxperc=0;
+		static time_t t=0;
+		const time_t tt=time(NULL);
+		if(tt>t) {
+			t=tt;
+			maxperc=0;
+		}
+		if(perc>maxperc)
+			maxperc=perc;
+
+		putchar('\r');
+		for (val = 0; val <= perc / 2 && val < 50; val++)
+			putchar('#');
+		for (; val < maxperc / 2 && val < 50; val++)
+			putchar(' ');
+		putchar('+');
+		for (++val; val < 50; val++)
+			putchar(' ');
+
+		printf("| %02i%%", maxperc);
+		if (perc>99)
+			printf(_(" !clip  "));
+
+		fflush(stdout);
+	}
 }
 
 /*
Index: alsa-utils-1.0.10/aplay/aplay.1
===================================================================
--- alsa-utils-1.0.10.orig/aplay/aplay.1	2005-11-14 11:11:50.000000000 +0100
+++ alsa-utils-1.0.10/aplay/aplay.1	2005-12-03 01:06:01.000000000 +0100
@@ -111,7 +111,7 @@
 \fI\-v, \-\-verbose\fP           
 Show PCM structure and setup.
 This option is accumulative.  The VU meter is displayed when this
-is given twice.
+is given twice or three times.
 .TP
 \fI\-I, \-\-separate\-channels\fP 
 One file for each channel
Index: alsa-utils-1.0.10/aplay/arecord.1
===================================================================
--- alsa-utils-1.0.10.orig/aplay/arecord.1	2005-11-14 11:11:50.000000000 +0100
+++ alsa-utils-1.0.10/aplay/arecord.1	2005-12-03 01:06:19.000000000 +0100
@@ -111,7 +111,7 @@
 \fI\-v, \-\-verbose\fP           
 Show PCM structure and setup.
 This option is accumulative.  The VU meter is displayed when this
-is given twice.
+is given twice or three times.
 .TP
 \fI\-I, \-\-separate\-channels\fP 
 One file for each channel

             reply	other threads:[~2005-12-03 10:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-03 10:58 Dirk Jagdmann [this message]
2005-12-05 19:00 ` [patch] alternative peak meter for aplay Takashi Iwai
2005-12-05 23:26   ` Dirk Jagdmann
2005-12-06 11:27     ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43917A64.20707@cubic.org \
    --to=doj@cubic.org \
    --cc=alsa-devel@alsa-project.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).