summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2014-10-03 11:52:47 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2014-10-03 11:52:47 +0200
commite2ea61d2c1985fc5e3bbbb4869211f6791130b46 (patch)
tree6e3331eebf9cf35f92ebafe6b543afe7a8af91d9
parent42e1426c0e9fc5bd3f3aadb81e26c09485902b46 (diff)
New aiorecord/aioplay stub programs.
-rw-r--r--src/aiorecord.cc23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/aiorecord.cc b/src/aiorecord.cc
index a032fe7..acab7fe 100644
--- a/src/aiorecord.cc
+++ b/src/aiorecord.cc
@@ -55,8 +55,8 @@ static const char usage_str[] =
" -c, --channels n Set number of channels to n (default 2).\n"
" -s, --samplerate n Set samplerate to n (default 48000).\n"
" -f, --file s Set output file to s (default '/dev/stdout').\n"
-" -V, --verbose Print info while working\n"
-" -v, --version Print version information and exit.\n"
+" -v, --verbose Print info while working\n"
+" -V, --version Print version information and exit.\n"
" -h, --help Print this message and exit.\n"
;
@@ -81,15 +81,22 @@ void vu(const char *pcm, size_t size)
for(int i = 0; i < (int)sz; i++) {
if(abs(p[i]) > max) max = abs(p[i]);
}
- char bar[33];
- char spc[33];
+
avg = avg * 0.95 + (double)max * 0.05;
+
size_t pos = (int)avg / 1000;
+ if(pos > 32) pos = 32;
+ if(pos < 0) pos = 0;
+
+ char bar[33];
+ char spc[33];
memset(bar, '#', sizeof(bar));
memset(spc, ' ', sizeof(spc));
bar[pos] = '\0';
spc[sizeof(spc) - pos] = '\0';
+
printf("\rVU [% 6d]: |%s>%s|", (int)avg, bar, spc);
+
fflush(stdout);
}
@@ -122,8 +129,8 @@ int main(int argc, char *argv[])
{"channels", required_argument, 0, 'c'},
{"samplerate", required_argument, 0, 's'},
{"file", required_argument, 0, 'f'},
- {"verbose", no_argument, 0, 'V'},
- {"version", no_argument, 0, 'v'},
+ {"verbose", no_argument, 0, 'v'},
+ {"version", no_argument, 0, 'V'},
{"help", no_argument, 0, 'h'},
{0, 0, 0, 0}
};
@@ -155,7 +162,7 @@ int main(int argc, char *argv[])
file = optarg;
break;
- case 'V':
+ case 'v':
verbose = true;
break;
@@ -165,7 +172,7 @@ int main(int argc, char *argv[])
printf(usage_str, argv[0]);
return 0;
- case 'v':
+ case 'V':
printf("%s", version_str);
printf("%s", copyright_str);
return 0;