diff --git a/makefile b/makefile index c01b414..9b1b32a 100644 --- a/makefile +++ b/makefile @@ -21,7 +21,7 @@ gcc $(ALL) -o $(LOCPATH)/$(NAME) -O2 $(LFLAGS) debug: mkdir -p $(LOCPATH)/debug - gcc $(ALL) -o $(LOCPATH)/debug/$(NAME)_debug $(CFLAGS) $(LFLAGS) $(DEBFLAGS) + gcc $(ALL) -o $(LOCPATH)/debug/$(NAME)_debug $(CFLAGS) $(LFLAGS) $(DEBFLAGS) $(LFLAGS_STATUS) asan: gcc $(ALL) -o $(LOCPATH)/debug/$(NAME)_debug_asan $(CFLAGS) $(LFLAGS) $(DEBFLAGS) -fsanitize=address clean: diff --git a/src/utils_curses.c b/src/utils_curses.c index 0b628cd..9ea1f50 100644 --- a/src/utils_curses.c +++ b/src/utils_curses.c @@ -76,19 +76,24 @@ song = status->song; int maxlen; int center; + int first_len = strlen(song->artist) + strlen(song->title) + 5; // artist + title + int second_len = strlen(status->state)+18; // state + elapsed + int third_len = strlen(song->album) + 3; // album + if (song == NULL) { return; } + if (song->artist == NULL) { maxlen = strlen(song->uri) + 3; center = maxC/2 - maxlen/2; } else { - maxlen = strlen(song->artist) + strlen(song->title) + 5; - if (strlen(status->state)+18 > maxlen){ - maxlen=strlen(status->state)+18; + maxlen = first_len; + if (second_len > maxlen){ + maxlen=second_len; } - if (strlen(song->album + 3) > maxlen) { - maxlen=strlen(song->album) + 3; + if (third_len > maxlen) { + maxlen=third_len; } center = maxC/2 - (maxlen)/2; } @@ -114,12 +119,12 @@ if (nullFlag == false) { // title, artist, album fields are missing, will print filesystem name mvprintw (row+1, center+1, "%s", song->uri); - mvprintw (row+2, center+6, "---- No metadata avaiable ----"); + mvprintw (row+2, center+1, "[No metadata]"); } if(status->state != NULL){ mvprintw(row+3, center+1, "(%s)", status->state); } - mvprintw(row+3, center+maxlen-10, "%d:%.2d/%d:%.2d ", status->elapsedTime_min, status->elapsedTime_sec, song->duration_min, song->duration_sec); + mvprintw(row+3, center+maxlen-11, "%d:%.2d/%d:%.2d ", status->elapsedTime_min, status->elapsedTime_sec, song->duration_min, song->duration_sec); } for (i=0; i