Changeset 1633:223a8417056b in roaraudio
- Timestamp:
- 04/28/09 17:15:45 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roarclients/roarvumeter.c
r1103 r1633 31 31 #define BUFSIZE 1024 32 32 33 #define MODE_PC 1 34 #define MODE_DB 2 35 33 36 void usage (void) { 34 37 printf("roarvumeter [OPTIONS]...\n"); … … 46 49 } 47 50 48 int vumeter16bit2ch (int fh, int samples, int16_t * buf ) {51 int vumeter16bit2ch (int fh, int samples, int16_t * buf, int mode) { 49 52 int i; 50 53 int samples_half = samples/2; … … 62 65 } 63 66 64 suml = sqrt(suml/samples_half) /327.68;65 sumr = sqrt(sumr/samples_half) /327.68;67 suml = sqrt(suml/samples_half); 68 sumr = sqrt(sumr/samples_half); 66 69 67 printf("L: %3i%% R: %3i%% \e[u", (int)suml, (int)sumr); 70 switch (mode) { 71 case MODE_PC: 72 printf("L: %3i%% R: %3i%% \e[u", (int)(suml/327.68), (int)(sumr/327.68)); 73 break; 74 case MODE_DB: 75 printf("L: %6.2fdB R: %6.2fdB \e[u", 20*log10(suml/32768), 20*log10(sumr/32768)); 76 break; 77 } 78 68 79 fflush(stdout); 69 80 } … … 71 82 } 72 83 73 int vumeter (int fh, int samples, int bits, int channels ) {84 int vumeter (int fh, int samples, int bits, int channels, int mode) { 74 85 void * buf = malloc(samples*bits*2); 75 86 … … 79 90 if ( bits == 16 ) { 80 91 if ( channels == 2 ) { 81 vumeter16bit2ch(fh, samples, (int16_t *) buf );92 vumeter16bit2ch(fh, samples, (int16_t *) buf, mode); 82 93 free(buf); 83 94 return 0; … … 100 111 int fh; 101 112 int i; 113 int mode = MODE_PC; 102 114 103 115 for (i = 1; i < argc; i++) { … … 114 126 } else if ( strcmp(k, "--samples") == 0 ) { 115 127 samples = atoi(argv[++i]); 128 } else if ( strcmp(k, "--db") == 0 ) { 129 mode = MODE_DB; 116 130 } else if ( strcmp(k, "--help") == 0 ) { 117 131 usage(); … … 129 143 } 130 144 131 vumeter(fh, samples*channels, bits, channels );145 vumeter(fh, samples*channels, bits, channels, mode); 132 146 133 147 printf("\n"); // if the reach this then roard has quited and we should print a newline
Note: See TracChangeset
for help on using the changeset viewer.