diff --git a/src/music_visualizer.c b/src/music_visualizer.c index 3da4cb0..3d45c9f 100644 --- a/src/music_visualizer.c +++ b/src/music_visualizer.c @@ -23,7 +23,7 @@ static _Atomic bool getstatus = true; #endif -#define BEATC 27 // experiment with it +#define BEATC 25 // experiment with it static int maxR = 0; static int maxC = 0; @@ -45,6 +45,7 @@ } #endif +// TODO improve and use int test_beat(unsigned int* fftEHist, int sEnergyLen, unsigned int* sEnergy) { @@ -54,16 +55,14 @@ for(j=sEnergyLen-1; j>=0; j--) { fftEHist[j] = fftEHist[j-1]; } + // insert element fftEHist[0] = sEnergy[i]; - + + // check sound energy for beat for(j=0; j fftEHist[j]+BEATC && sEnergy[i] < 200) { // 200 avg would be false read - /*fprintf(stderr, "beat: %d - %d\n", sEnergy[i], fftEHist[j]);*/ return 1; - /*} else {*/ - /*fprintf(stderr, "no beat!");*/ } } } @@ -81,7 +80,7 @@ average_signal(fftBuf, nsamples, maxC, fftAvg); // compute the energy of each subband - /*energy_sub_signal(fftBuf, nsamples, nsamples/sEnergyLen, sEnergy);*/ + energy_sub_signal(fftBuf, nsamples, nsamples/sEnergyLen, sEnergy); } void @@ -223,8 +222,7 @@ // print mpd status even if no new data is avaiable if (toggleStatus) { if (status && status->song && status->song->duration_sec) { - print_rate_info(sampleRate, nsamples, maxC, status->song->duration_sec, \ - 0, 5*test_beat(fftEHist, sEnergyLen, sEnergy)); + print_rate_info(sampleRate, nsamples, maxC, status->song->duration_sec); } print_mpd_status(status, maxC, statusHeight+maxR/2+maxR/6, statusCol); } diff --git a/src/utils_curses.c b/src/utils_curses.c index 829d94b..be16add 100644 --- a/src/utils_curses.c +++ b/src/utils_curses.c @@ -20,7 +20,7 @@ init_pair(4, COLOR_BLUE, -1); init_pair(5, COLOR_CYAN, -1); init_pair(6, COLOR_MAGENTA, -1); - init_pair(8, COLOR_WHITE, -1); + init_pair(8, COLOR_WHITE, -1); } } @@ -135,7 +135,7 @@ #ifdef STATUS_CHECK void -print_rate_info(const int rate, const int nsamples, const int maxC, int seed, int amplitude,int beat) +print_rate_info(const int rate, const int nsamples, const int maxC, int seed) { int center = (int) maxC/2-18; // adjust to screen center int i; @@ -148,24 +148,16 @@ mvprintw(2, center, " -------------[mvc]--------------- ", rate, nsamples); } else if (rate == 0) { mvprintw(0, center, " ----------------------------- ", rate, nsamples); - mvprintw(2+beat, center, " -----------[mvc]------------- ", rate, nsamples); + mvprintw(2, center, " -----------[mvc]------------- ", rate, nsamples); } else { mvprintw(0, center, " -------------------------------- ", rate, nsamples); - mvprintw(2+beat, center, " ------------[mvc]--------------- ", rate, nsamples); - } - for(i=0; i