diff --git a/README.md b/README.md index c2fc2fe..4b6e66d 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,8 @@ * **Change drawing mode (style)**: Space bar * **Move status panel** (if built with libmpdclient): up / down / left / right keys * **Reset status panel position**: r +* **Toggle status display**: t +* **Print help**: h ## Configuration diff --git a/src/music_visualizer.c b/src/music_visualizer.c index 24f5c19..3c54560 100644 --- a/src/music_visualizer.c +++ b/src/music_visualizer.c @@ -123,6 +123,7 @@ PATTERN pattern = CURVE; int statusHeight = 0; int statusCol = 0; + bool toggleStatus = true; // open mpd fifo while((fifo = open(MPD_FIFO, O_RDONLY)) == -1); @@ -166,6 +167,8 @@ statusHeight = 0; } else if (c == 'h') { print_help(maxR,maxC); + } else if (c == 't') { + toggleStatus = (toggleStatus == true) ? false : true; } // select on fifo socket @@ -210,11 +213,13 @@ } #ifdef STATUS_CHECK // print mpd status even if no new data is avaiable - 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_mpd_status(status, maxC, statusHeight+maxR/2+maxR/6, statusCol); + 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_mpd_status(status, maxC, statusHeight+maxR/2+maxR/6, statusCol); + } #endif // refresh screen refresh(); diff --git a/src/utils_curses.c b/src/utils_curses.c index bcc3524..ea4f0fc 100644 --- a/src/utils_curses.c +++ b/src/utils_curses.c @@ -106,12 +106,13 @@ mvprintw(2, 0, "Configuration: see src/settings.h"); mvprintw(4, 0, "Keybindings:"); color_set(3, NULL); - mvprintw(5, 0, "* Quitting: q"); + mvprintw(5, 0, "* Quit: q"); mvprintw(6, 0, "* Change drawing mode (style): Space bar"); mvprintw(7, 0, "* Move status panel (if built with libmpdclient): up / down / left / right keys"); mvprintw(8, 0, "* Reset status panel position: r"); + mvprintw(9, 0, "* Toggle status display: t"); color_set(1, NULL); - mvprintw(10, 0, "--> Press any key to continue."); + mvprintw(11, 0, "--> Press any key to continue."); timeout(-1); getch(); timeout(0);