#script 1 /* CONFIGURATION */ /* variables */ v_len_col_one = 32; v_len_col_two = 80; v_lowercase = 1; /* turn names/titles to all lowercase */ v_strip_ost = 1; /* strip " (OST)" from album names */ /* text */ t_isplaying = repeat(char(187), 3) # " "; t_title_sep = " :: "; t_rgain_pre = "["; t_rgain_a = "a"; t_rgain_mid = ":"; t_rgain_t = "t"; t_rgain_post = "] "; /* colors */ t_col = char(3); c_text = t_col # "000000|000000" # t_col; /* titles */ c_box = t_col # "FF0000|FF0000" # t_col; /* boxes */ c_info = t_col # "0000FF|0000FF" # t_col; /* tracknums, rgain */ c_sep = c_box; /* separators */ c_reset = t_col # t_col; /* reset to default */ /* box-drawing chars (shouldn't be changed, really) */ box_h = char(9472); /* horizontal line */ box_v = char(9474); /* vertical line */ box_dr = char(9484); /* down and right */ box_dl = char(9488); /* down and left */ box_ur = char(9492); /* up and right */ box_ul = char(9496); /* up and left */ box_vr = char(9500); /* vertical and right */ box_vl = char(9508); /* vertical and left */ box_dh = char(9516); /* down and horizontal */ box_uh = char(9524); /* up and horizontal */ box_vh = char(9532); /* vertical and horizontal */ /* END CONFIGURATION */ /* PROCESSING */ /* track artist */ if (meta_test("artist")) t_artist = meta("artist"); else t_artist = "Unknown Artist"; /* determine if it's a VA album */ v_various = (meta_test("album artist")); if (v_various) t_album_artist = meta("album artist"); else t_album_artist = t_artist; /* album */ if (meta_test("album")) t_album = meta("album"); else t_album = "Unknown Album"; /* tracknumber: results in 00 if no track meta exists */ t_tracknumber = left(meta("tracknumber"), 2); t_tracknumber = pad_left(t_tracknumber, 2, "0"); /* title */ if (meta_test("title")) t_title = meta("title"); else t_title = "Unknown Title"; /* replaygain: results in empty string if not present */ t_again = field("__replaygain_album_gain"); t_tgain = field("__replaygain_track_gain"); /* END PROCESSING */ /* PREPARE DISPLAY */ if (v_strip_ost) if (strcmp(right(t_album, 6), " (OST)") == 0) t_album = left(t_album, strlen(t_album) - 6); v_maxlen = v_len_col_one - 2; if (strlen(t_album_artist) >= v_len_col_one) t_album_artist = left(t_album_artist, v_maxlen) # ".."; if (strlen(t_album) >= v_len_col_one) t_album = left(t_album, v_maxlen) # ".."; /* calculate lengths */ v_len_album_artist = strlen(t_album_artist); v_len_album = strlen(t_album); v_maxlen = v_len_col_two - 2; if (strlen(t_artist) >= v_len_col_two) t_artist = left(t_artist, v_maxlen) # ".."; if (strlen(t_title) >= v_len_col_two) t_title = left(t_title, v_maxlen) # ".."; /* lowercase */ if (v_lowercase) { t_album_artist = lower(t_album_artist); t_album = lower(t_album); t_artist = lower(t_artist); t_title = lower(t_title); } if (v_len_album_artist >= v_len_album) v_maxlen = v_len_album_artist; else v_maxlen = v_len_album; t_pre = t_mid = t_post = ""; switch (t_tracknumber) { case 1: t_pre #= box_dr; t_pre #= box_h; t_pre #= box_dh; t_pre #= box_h; t_pre #= " "; t_mid #= " "; t_mid #= box_h; t_mid #= repeat(box_h, v_maxlen - v_len_album_artist); t_mid #= box_dh; t_mid #= repeat(box_h, v_len_col_one - v_maxlen); t_mid #= box_h; t_mid #= box_dh; t_post #= box_dl; t_post #= " "; break; case 2: t_pre #= box_v; t_pre #= " "; t_pre #= box_ur; t_pre #= box_h; t_pre #= " "; t_mid #= " "; t_mid #= box_h; t_mid #= repeat(box_h, v_maxlen - v_len_album); t_mid #= box_ul; t_mid #= repeat(" ", v_len_col_one - v_maxlen); t_mid #= " "; t_mid #= box_v; t_post #= box_v; t_post #= " "; break; default: t_pre #= box_v; t_mid #= repeat(" ", v_len_col_one + 8); t_mid #= box_v; t_post #= box_v; t_post #= " "; } if (field("_playlist_number") == field("_playlist_total")) { t_pre = t_mid = t_post = ""; t_pre #= box_ur; t_mid #= repeat(box_h, v_len_col_one + 8); t_mid #= box_uh; t_post #= box_ul; t_post #= " "; } /* extra info */ t_extra = extra("length"); /* END PREPARE DISPLAY */ /* PRINT DISPLAY */ print(c_box); print(t_pre); print(c_text); switch(t_tracknumber) { case 1: print(t_album_artist); break; case 2: print(t_album); break; } print(c_box); print(t_mid); print(c_info); print(t_tracknumber); print(c_box); print(t_post); if (v_various) { print(c_text); print(t_artist); print(c_sep); print(t_title_sep); } print(c_text); print(t_title); print(char(9)); print(c_text); if (field("isplaying")) print(t_isplaying); /* replaygain display */ if (t_again || t_tgain) { print(c_box); print(t_rgain_pre); } if (t_again) { print(c_info); print(t_rgain_a); } if (t_again && t_tgain) { print(c_sep); print(t_rgain_mid); } if (t_tgain) { print(c_info); print(t_rgain_t); } if (t_tgain || t_again) { print(c_box); print(t_rgain_post); } /* end replaygain display */ print(c_text); print(t_extra);