Changeset 2917:3adf5948e9cd in roaraudio
- Timestamp:
- 10/16/09 16:58:25 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roarclients/roarvumeter.c
r2292 r2917 52 52 int i; 53 53 int samples_half = samples/2; 54 double suml, sumr; 54 int64_t suml, sumr; 55 double rmsl, rmsr; 55 56 56 57 printf("\e[s"); … … 61 62 62 63 for (i = 0; i < samples; i += 2) { 63 suml += ( double) buf[i ] * (double) buf[i ];64 sumr += ( double) buf[i+1] * (double) buf[i+1];64 suml += (int64_t) buf[i ] * (int64_t) buf[i ]; 65 sumr += (int64_t) buf[i+1] * (int64_t) buf[i+1]; 65 66 } 66 67 67 suml = sqrt(suml/samples_half);68 sumr = sqrt(sumr/samples_half);68 rmsl = sqrt((double)suml/(double)samples_half); 69 rmsr = sqrt((double)sumr/(double)samples_half); 69 70 70 71 switch (mode) { 71 72 case MODE_PC: 72 printf("L: %3i%% R: %3i%% \e[u", (int)( suml/327.68), (int)(sumr/327.68));73 printf("L: %3i%% R: %3i%% \e[u", (int)(rmsl/327.68), (int)(rmsr/327.68)); 73 74 break; 74 75 case MODE_DB: 75 printf("L: %6.2fdB R: %6.2fdB \e[u", 20*log10( suml/32768), 20*log10(sumr/32768));76 printf("L: %6.2fdB R: %6.2fdB \e[u", 20*log10(rmsl/32768.), 20*log10(rmsr/32768.)); 76 77 break; 77 78 }
Note: See TracChangeset
for help on using the changeset viewer.