summaryrefslogtreecommitdiff
path: root/src/aiorecord.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/aiorecord.cc')
-rw-r--r--src/aiorecord.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/aiorecord.cc b/src/aiorecord.cc
index 64ca88f..b159252 100644
--- a/src/aiorecord.cc
+++ b/src/aiorecord.cc
@@ -177,6 +177,7 @@ int main(int argc, char *argv[])
return 1;
}
+ short avg = 0;
while(running) {
char pcm[1024];
size_t size = src->readSamples(pcm, sizeof(pcm));
@@ -187,10 +188,15 @@ int main(int argc, char *argv[])
for(int i = 0; i < (int)sz; i++) {
if(abs(p[i]) > max) max = abs(p[i]);
}
- char bar[65];
+ char bar[33];
+ char spc[33];
+ avg = avg * 0.9 + max * 0.1;
+ size_t pos = avg / 1000;
memset(bar, '#', sizeof(bar));
- bar[max / 1000] = '\0';
- printf("\rVU [% 6d]: %s ", max, bar);
+ memset(spc, ' ', sizeof(spc));
+ bar[pos] = '\0';
+ spc[sizeof(spc) - pos] = '\0';
+ printf("\rVU [% 6d]: %s%s", avg, spc, bar);
fflush(stdout);
}
}