rockbox/apps/tagnavi.config
Aidan MacDonald f4fbc1bceb tagtree: Support user override config file
Allow users to create an alternative tagnavi config file named
"tagnavi_user.config" in the .rockbox directory. If present, it
will be used instead of the default tagnavi.config, allowing the
default menu to be completely redefined.

This makes it much easier to maintain customizations which remove
or modify parts of the default config -- since the default config
is shipped in the Rockbox zips, a customized tagnavi.config would
have to be saved with manual intervention on each & every update.

Change-Id: I509177fab0e01fc0db0bc4407a3a92bbff5fa481
2021-12-24 10:41:27 -05:00

190 lines
9.9 KiB
Text

#! rockbox/tagbrowser/2.0
# ^ Version header must be the first line of every file
# Tag Browser configuration file, do not edit as changes will be lost!
# Instead, copy this file to "/.rockbox/tagnavi_user.config" and edit
# that, so your changes will not be overwritten automatically.
#
# If you only want to add menus and don't need to modify the default
# ones, you can edit "/.rockbox/tagnavi_custom.config" instead, which
# is included by this file and will not be overwritten automatically.
# Basic format declarations
%format "fmt_title" "%s - %02d:%02d (%s)" basename Lm Ls filename ? title == "<Untagged>"
%format "fmt_title" "%d.%02d. %s - %02d:%02d" discnum tracknum title Lm Ls ? discnum > "0"
%format "fmt_title" "%02d. %s - %02d:%02d" tracknum title Lm Ls ? tracknum > "0"
%format "fmt_title" "%s - %02d:%02d" title Lm Ls
%format "fmt_alphanum_title" "%s - %02d:%02d (%s)" basename Lm Ls filename ? title == "<Untagged>"
%format "fmt_alphanum_title" "%s - %02d:%02d" title Lm Ls
%format "fmt_mostplayed" "%2d|%3d %s (%s)" playcount autoscore title canonicalartist %sort = "inverse" %limit = "100"
%format "fmt_lastplayed" "%06d%s - %s" lastplayed canonicalartist title %sort = "inverse" %limit = "99" %strip = "6"
%format "fmt_forgotten" "%06d%s - %s" lastplayed canonicalartist title %limit = "99" %strip = "6"
%format "fmt_best_tracks" "%02d. %s (%3d)" tracknum title autoscore
%format "fmt_score" "(%3d) %s-%s" autoscore title canonicalartist
%format "fmt_rating" "(%2d) %s-%s" rating title canonicalartist %sort = "inverse"
# Include our custom menu
%include "/.rockbox/tagnavi_custom.config"
#
# === Begin of "A to Z" sub menus
#
# Define the A to Z Artist sub menu
%menu_start "custom_artist" "Artist A to Z"
"Numeric" -> canonicalartist ? canonicalartist < "A" -> album -> title = "fmt_title"
"A" -> canonicalartist ? canonicalartist ^ "A" -> album -> title = "fmt_title"
"B" -> canonicalartist ? canonicalartist ^ "B" -> album -> title = "fmt_title"
"C" -> canonicalartist ? canonicalartist ^ "C" -> album -> title = "fmt_title"
"D" -> canonicalartist ? canonicalartist ^ "D" -> album -> title = "fmt_title"
"E" -> canonicalartist ? canonicalartist ^ "E" -> album -> title = "fmt_title"
"F" -> canonicalartist ? canonicalartist ^ "F" -> album -> title = "fmt_title"
"G" -> canonicalartist ? canonicalartist ^ "G" -> album -> title = "fmt_title"
"H" -> canonicalartist ? canonicalartist ^ "H" -> album -> title = "fmt_title"
"I" -> canonicalartist ? canonicalartist ^ "I" -> album -> title = "fmt_title"
"J" -> canonicalartist ? canonicalartist ^ "J" -> album -> title = "fmt_title"
"K" -> canonicalartist ? canonicalartist ^ "K" -> album -> title = "fmt_title"
"L" -> canonicalartist ? canonicalartist ^ "L" -> album -> title = "fmt_title"
"M" -> canonicalartist ? canonicalartist ^ "M" -> album -> title = "fmt_title"
"N" -> canonicalartist ? canonicalartist ^ "N" -> album -> title = "fmt_title"
"O" -> canonicalartist ? canonicalartist ^ "O" -> album -> title = "fmt_title"
"P" -> canonicalartist ? canonicalartist ^ "P" -> album -> title = "fmt_title"
"Q" -> canonicalartist ? canonicalartist ^ "Q" -> album -> title = "fmt_title"
"R" -> canonicalartist ? canonicalartist ^ "R" -> album -> title = "fmt_title"
"S" -> canonicalartist ? canonicalartist ^ "S" -> album -> title = "fmt_title"
"T" -> canonicalartist ? canonicalartist ^ "T" -> album -> title = "fmt_title"
"U" -> canonicalartist ? canonicalartist ^ "U" -> album -> title = "fmt_title"
"V" -> canonicalartist ? canonicalartist ^ "V" -> album -> title = "fmt_title"
"W" -> canonicalartist ? canonicalartist ^ "W" -> album -> title = "fmt_title"
"X" -> canonicalartist ? canonicalartist ^ "X" -> album -> title = "fmt_title"
"Y" -> canonicalartist ? canonicalartist ^ "Y" -> album -> title = "fmt_title"
"Z" -> canonicalartist ? canonicalartist ^ "Z" -> album -> title = "fmt_title"
# ^ An empy line ends the menu
# Define the A to Z album sub menu
%menu_start "custom_album" "Album A to Z"
"Numeric" -> album ? album < "A" -> title = "fmt_title"
"A" -> album ? album ^ "A" -> title = "fmt_title"
"B" -> album ? album ^ "B" -> title = "fmt_title"
"C" -> album ? album ^ "C" -> title = "fmt_title"
"D" -> album ? album ^ "D" -> title = "fmt_title"
"E" -> album ? album ^ "E" -> title = "fmt_title"
"F" -> album ? album ^ "F" -> title = "fmt_title"
"G" -> album ? album ^ "G" -> title = "fmt_title"
"H" -> album ? album ^ "H" -> title = "fmt_title"
"I" -> album ? album ^ "I" -> title = "fmt_title"
"J" -> album ? album ^ "J" -> title = "fmt_title"
"K" -> album ? album ^ "K" -> title = "fmt_title"
"L" -> album ? album ^ "L" -> title = "fmt_title"
"M" -> album ? album ^ "M" -> title = "fmt_title"
"N" -> album ? album ^ "N" -> title = "fmt_title"
"O" -> album ? album ^ "O" -> title = "fmt_title"
"P" -> album ? album ^ "P" -> title = "fmt_title"
"Q" -> album ? album ^ "Q" -> title = "fmt_title"
"R" -> album ? album ^ "R" -> title = "fmt_title"
"S" -> album ? album ^ "S" -> title = "fmt_title"
"T" -> album ? album ^ "T" -> title = "fmt_title"
"U" -> album ? album ^ "U" -> title = "fmt_title"
"V" -> album ? album ^ "V" -> title = "fmt_title"
"W" -> album ? album ^ "W" -> title = "fmt_title"
"X" -> album ? album ^ "X" -> title = "fmt_title"
"Y" -> album ? album ^ "Y" -> title = "fmt_title"
"Z" -> album ? album ^ "Z" -> title = "fmt_title"
# Define the A to Z track sub menu
%menu_start "custom_track" "Track A to Z"
"Numeric" -> title ? title < "A" -> title = "fmt_title"
"A" -> title ? title ^ "A" -> title = "fmt_title"
"B" -> title ? title ^ "B" -> title = "fmt_title"
"C" -> title ? title ^ "C" -> title = "fmt_title"
"D" -> title ? title ^ "D" -> title = "fmt_title"
"E" -> title ? title ^ "E" -> title = "fmt_title"
"F" -> title ? title ^ "F" -> title = "fmt_title"
"G" -> title ? title ^ "G" -> title = "fmt_title"
"H" -> title ? title ^ "H" -> title = "fmt_title"
"I" -> title ? title ^ "I" -> title = "fmt_title"
"J" -> title ? title ^ "J" -> title = "fmt_title"
"K" -> title ? title ^ "K" -> title = "fmt_title"
"L" -> title ? title ^ "L" -> title = "fmt_title"
"M" -> title ? title ^ "M" -> title = "fmt_title"
"N" -> title ? title ^ "N" -> title = "fmt_title"
"O" -> title ? title ^ "O" -> title = "fmt_title"
"P" -> title ? title ^ "P" -> title = "fmt_title"
"Q" -> title ? title ^ "Q" -> title = "fmt_title"
"R" -> title ? title ^ "R" -> title = "fmt_title"
"S" -> title ? title ^ "S" -> title = "fmt_title"
"T" -> title ? title ^ "T" -> title = "fmt_title"
"U" -> title ? title ^ "U" -> title = "fmt_title"
"V" -> title ? title ^ "V" -> title = "fmt_title"
"W" -> title ? title ^ "W" -> title = "fmt_title"
"X" -> title ? title ^ "X" -> title = "fmt_title"
"Y" -> title ? title ^ "Y" -> title = "fmt_title"
"Z" -> title ? title ^ "Z" -> title = "fmt_title"
# Define the A to Z sub menu
%menu_start "a2z" "A to Z..."
"Artists" ==> "custom_artist"
"Albums" ==> "custom_album"
"Tracks" ==> "custom_track"
#
# === Begin of "Search by..." sub menu
#
# Define the search sub menu
%menu_start "search" "Search by..."
"Artist" -> canonicalartist ? canonicalartist ~ "" -> album -> title = "fmt_title"
"Album Artist" -> albumartist ? albumartist ~ "" -> album -> title = "fmt_title"
"Album" -> album ? album ~ "" -> title = "fmt_title"
"Title" -> title = "fmt_title" ? title ~ ""
"Album by year" -> album ? year = "" -> title = "fmt_title"
"Artist between years" -> canonicalartist ? year >= "" & year <= "" -> album -> title = "fmt_title"
"Album between years" -> album ? year >= "" & year <= "" -> title = "fmt_title"
"Filename" -> filename ? filename ~ ""
"Score" -> title = "fmt_score" ? autoscore > ""
"User Rating" -> title = "fmt_rating" ? rating > ""
"Comment" -> album ? comment ~ "" -> title = "fmt_title"
# Define the "same as current" sub menu
%menu_start "same" "Same as current"
"Directory" -> title ? filename ^ "#directory#"
"Title" -> title = "fmt_title" ? title = "#title#"
"Artist" -> album ? artist = "#artist#" | artist = "#albumartist#" | albumartist = "#artist#" | albumartist = "#albumartist#" -> title = "fmt_title"
"Album" -> title = "fmt_title" ? album = "#album#"
"Composer" -> title = "fmt_title" ? composer = "#composer#"
# Define the runtime sub menu
%menu_start "runtime" "Play history"
"Most played (Plays|Score)" -> title = "fmt_mostplayed" ? playcount > "0"
"Recently played tracks" -> title = "fmt_lastplayed" ? playcount > "0"
"Never played tracks" -> canonicalartist ? playcount == "0" -> album -> title = "fmt_title"
"Favourite artists" -> canonicalartist ? playcount > "3" & autoscore > "85" -> album -> title = "fmt_best_tracks"
"Favourite albums" -> album ? playcount > "3" & autoscore > "85" -> title = "fmt_best_tracks"
"Recent favourites" -> title = "fmt_lastplayed" ? playcount > "3" & autoscore > "85"
"New favourites" -> canonicalartist ? playcount <= "3" & autoscore > "85" -> album -> title = "fmt_best_tracks"
"Forgotten favourites" -> title = "fmt_forgotten" ? playcount > "3" & autoscore > "85"
#
# === Begin of main menu
#
# Define the title of the main menu
%menu_start "main" "Database"
"Artist" -> canonicalartist -> album -> title = "fmt_title"
"Album Artist" -> albumartist -> album -> title = "fmt_title"
"Album" -> album -> title = "fmt_title"
"Genre" -> genre -> canonicalartist -> album -> title = "fmt_title"
"Composer" -> composer -> album -> title = "fmt_title"
"Track" -> title = "fmt_alphanum_title"
"Year" -> year ? year > "0" -> canonicalartist -> album -> title = "fmt_title"
"User Rating" -> rating -> title = "fmt_title"
"Recently Added" -> album ? entryage < "4" & commitid > "0" -> title = "fmt_title"
"A to Z..." ==> "a2z"
"History..." ==> "runtime"
"Same as current..." ==> "same"
"Search..." ==> "search"
"Custom view..." ==> "custom"
# And finally set main menu as our root menu
%root_menu "main"