Skip to content

Commit

Permalink
small tool to debug .peak files
Browse files Browse the repository at this point in the history
  • Loading branch information
x42 committed Jan 12, 2015
1 parent b8bec75 commit bb75553
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions tools/peakdump.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// gcc -o peakdump peakdump.c -Wall -O3 -lm
// inspect ardour .peak files

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define _FPP 256

int main (int argc, char **argv) {
int c = 0, d = 0;
float thresh = -1.f;

if (argc < 2 || argc > 3) {
fprintf(stderr, "usage: %s [threshold] <peakfile>\n", argv[0]);
return -1;
}

if (argc == 3) {
thresh = atof(argv[1]);
}

FILE *F = fopen(argv[argc-1], "r");

if (!F) {
fprintf(stderr, "Cannot open file '%s'\n", argv[argc-1]);
return -1;
}

printf(" # ) audio sample range : MIN MAX\n");
while (!feof(F)) {
struct PeakData {
float min;
float max;
} buf;

if (fread(&buf, sizeof(struct PeakData), 1, F) <= 0) {
break;
}
if (fabsf(buf.min) > thresh || fabsf(buf.max) > thresh) {
printf("%8d) %10d - %10d: %+.3f %+.3f\n", ++d,
_FPP * c, _FPP * (c + 1) - 1,
buf.min, buf.max);
}
++c;
}
fclose(F);
return 0;
}

0 comments on commit bb75553

Please sign in to comment.