2025-11-25 00:14:51 -06:00
|
|
|
#![enable(implicit_some)]
|
|
|
|
|
#![enable(unwrap_newtypes)]
|
|
|
|
|
#![enable(unwrap_variant_newtypes)]
|
|
|
|
|
(
|
|
|
|
|
address: "127.0.0.1:6600",
|
|
|
|
|
password: None,
|
|
|
|
|
theme: Some("catppuccin-macchiato"),
|
|
|
|
|
cache_dir: None,
|
|
|
|
|
on_song_change: None,
|
|
|
|
|
volume_step: 5,
|
|
|
|
|
max_fps: 30,
|
|
|
|
|
scrolloff: 0,
|
|
|
|
|
wrap_navigation: false,
|
|
|
|
|
enable_mouse: true,
|
|
|
|
|
enable_config_hot_reload: true,
|
|
|
|
|
status_update_interval_ms: 1000,
|
|
|
|
|
rewind_to_start_sec: None,
|
|
|
|
|
reflect_changes_to_playlist: false,
|
|
|
|
|
select_current_song_on_change: false,
|
|
|
|
|
browser_song_sort: [Disc, Track, Artist, Title],
|
|
|
|
|
directories_sort: SortFormat(group_by_type: true, reverse: false),
|
|
|
|
|
album_art: (
|
|
|
|
|
method: Auto,
|
|
|
|
|
max_size_px: (width: 1200, height: 1200),
|
|
|
|
|
disabled_protocols: ["http://", "https://"],
|
|
|
|
|
vertical_align: Center,
|
|
|
|
|
horizontal_align: Center,
|
|
|
|
|
),
|
|
|
|
|
keybinds: (
|
|
|
|
|
global: {
|
|
|
|
|
":": CommandMode,
|
|
|
|
|
",": VolumeDown,
|
|
|
|
|
"s": Stop,
|
|
|
|
|
".": VolumeUp,
|
|
|
|
|
"<Tab>": NextTab,
|
|
|
|
|
"<S-Tab>": PreviousTab,
|
|
|
|
|
"1": SwitchToTab("Queue"),
|
|
|
|
|
"2": SwitchToTab("Directories"),
|
|
|
|
|
"3": SwitchToTab("Artists"),
|
|
|
|
|
"4": SwitchToTab("Album Artists"),
|
|
|
|
|
"5": SwitchToTab("Albums"),
|
|
|
|
|
"6": SwitchToTab("Playlists"),
|
|
|
|
|
"7": SwitchToTab("Search"),
|
|
|
|
|
"q": Quit,
|
|
|
|
|
">": NextTrack,
|
|
|
|
|
"p": TogglePause,
|
|
|
|
|
"<": PreviousTrack,
|
|
|
|
|
"f": SeekForward,
|
|
|
|
|
"z": ToggleRepeat,
|
|
|
|
|
"x": ToggleRandom,
|
|
|
|
|
"c": ToggleConsume,
|
|
|
|
|
"v": ToggleSingle,
|
|
|
|
|
"b": SeekBack,
|
|
|
|
|
"~": ShowHelp,
|
|
|
|
|
"u": Update,
|
|
|
|
|
"U": Rescan,
|
|
|
|
|
"I": ShowCurrentSongInfo,
|
|
|
|
|
"O": ShowOutputs,
|
|
|
|
|
"P": ShowDecoders,
|
|
|
|
|
"R": AddRandom,
|
|
|
|
|
},
|
|
|
|
|
navigation: {
|
|
|
|
|
"k": Up,
|
|
|
|
|
"j": Down,
|
|
|
|
|
"h": Left,
|
|
|
|
|
"l": Right,
|
|
|
|
|
"<Up>": Up,
|
|
|
|
|
"<Down>": Down,
|
|
|
|
|
"<Left>": Left,
|
|
|
|
|
"<Right>": Right,
|
|
|
|
|
"<C-k>": PaneUp,
|
|
|
|
|
"<C-j>": PaneDown,
|
|
|
|
|
"<C-h>": PaneLeft,
|
|
|
|
|
"<C-l>": PaneRight,
|
|
|
|
|
"<C-u>": UpHalf,
|
|
|
|
|
"N": PreviousResult,
|
|
|
|
|
"a": Add,
|
|
|
|
|
"A": AddAll,
|
|
|
|
|
"r": Rename,
|
|
|
|
|
"n": NextResult,
|
|
|
|
|
"g": Top,
|
|
|
|
|
"<Space>": Select,
|
|
|
|
|
"<C-Space>": InvertSelection,
|
|
|
|
|
"G": Bottom,
|
|
|
|
|
"<CR>": Confirm,
|
|
|
|
|
"i": FocusInput,
|
|
|
|
|
"J": MoveDown,
|
|
|
|
|
"<C-d>": DownHalf,
|
|
|
|
|
"/": EnterSearch,
|
|
|
|
|
"<C-c>": Close,
|
|
|
|
|
"<Esc>": Close,
|
|
|
|
|
"K": MoveUp,
|
|
|
|
|
"D": Delete,
|
|
|
|
|
"B": ShowInfo,
|
|
|
|
|
},
|
|
|
|
|
queue: {
|
|
|
|
|
"D": DeleteAll,
|
|
|
|
|
"<CR>": Play,
|
|
|
|
|
"<C-s>": Save,
|
|
|
|
|
"a": AddToPlaylist,
|
|
|
|
|
"d": Delete,
|
|
|
|
|
"C": JumpToCurrent,
|
|
|
|
|
"X": Shuffle,
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
search: (
|
|
|
|
|
case_sensitive: false,
|
|
|
|
|
mode: Contains,
|
|
|
|
|
tags: [
|
|
|
|
|
(value: "any", label: "Any Tag"),
|
|
|
|
|
(value: "artist", label: "Artist"),
|
|
|
|
|
(value: "album", label: "Album"),
|
|
|
|
|
(value: "albumartist", label: "Album Artist"),
|
|
|
|
|
(value: "title", label: "Title"),
|
|
|
|
|
(value: "filename", label: "Filename"),
|
|
|
|
|
(value: "genre", label: "Genre"),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
artists: (
|
|
|
|
|
album_display_mode: SplitByDate,
|
|
|
|
|
album_sort_by: Date,
|
|
|
|
|
),
|
|
|
|
|
tabs: [
|
|
|
|
|
(name: "Home", pane: Split(direction: Horizontal, panes: [
|
|
|
|
|
(size: "70%", borders: "NONE", pane: Split(direction: Vertical,panes: [
|
|
|
|
|
(size: "3", borders: "ALL", pane: Component("custom_song_table_header")),
|
|
|
|
|
(size: "100%", borders: "ALL", pane: Pane(Queue)),
|
|
|
|
|
])
|
|
|
|
|
),
|
|
|
|
|
(size: "30%", borders: "NONE", pane: Split(direction: Vertical, panes: [
|
|
|
|
|
(size: "0.45r", borders: "ALL", pane: Pane(AlbumArt)),
|
2025-11-25 03:10:38 -06:00
|
|
|
(size: "100%", borders: "ALL", pane: Pane(Cava)),
|
2025-11-25 00:14:51 -06:00
|
|
|
])
|
|
|
|
|
),
|
|
|
|
|
])
|
|
|
|
|
),
|
2025-11-25 03:10:38 -06:00
|
|
|
(name: "Collection", pane: Split(direction: Horizontal,panes: [
|
2025-11-25 00:14:51 -06:00
|
|
|
(size: "100%", borders: "ALL", pane: Pane(Directories)),
|
|
|
|
|
])
|
|
|
|
|
),
|
|
|
|
|
(name: "Playlists", pane: Split(direction: Horizontal, panes: [
|
|
|
|
|
(size: "100%", borders: "ALL", pane: Pane(Playlists)),
|
|
|
|
|
])
|
|
|
|
|
),
|
|
|
|
|
(name: "Search", pane: Split(direction: Horizontal, panes: [
|
|
|
|
|
(size: "100%", borders: "ALL", pane: Pane(Search)),
|
|
|
|
|
])
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
cava: (
|
2025-11-25 03:10:38 -06:00
|
|
|
framerate: 200, autosens: true, sensitivity: 100,
|
|
|
|
|
lower_cutoff_freq: 50, higher_cutoff_freq: 15000,
|
2025-11-25 00:14:51 -06:00
|
|
|
input: (
|
|
|
|
|
method: Fifo,
|
|
|
|
|
source: "/tmp/mpd.fifo",
|
|
|
|
|
sample_rate: 44100,
|
|
|
|
|
channels: 2,
|
|
|
|
|
samble_bits: 16,
|
|
|
|
|
),
|
|
|
|
|
smoothing: (
|
|
|
|
|
noise_reduction: 35,
|
|
|
|
|
),
|
|
|
|
|
eq: []
|
|
|
|
|
),
|
|
|
|
|
)
|
|
|
|
|
|