Repository navigation
Expand file tree
/
Copy pathconfig.toml.example
More file actions
269 lines (239 loc) · 10.2 KB
/
Copy pathconfig.toml.example
File metadata and controls
269 lines (239 loc) · 10.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
# CLIAMP configuration
# Copy to ~/.config/cliamp/config.toml
# Default volume in dB (range: volume_min to +6)
volume = 0
# Minimum volume floor in dB (range: -90 to 0, default: -50)
# volume_min = -50
# Whether the visualizer bar height follows the current volume (default: true).
# Set to false to keep bars visible at low volumes.
# vis_volume_linked = true
# Repeat mode: "off", "all", or "one"
repeat = "off"
# Start with shuffle enabled
shuffle = false
# Start with mono output (L+R downmix)
mono = false
# Initial directory for the file browser ('o' key).
# Supports environment variables ($HOME) and tilde expansion (~/Music).
# initial_directory = "~/Music"
# Shift+Left/Right seek jump in seconds (6-600)
seek_large_step_sec = 30
# Advanced audio settings (most users don't need to change these)
# sample_rate = 0 # 0=auto-detect, or 22050/44100/48000/96000/192000
# buffer_ms = 250 # speaker buffer in ms (50-5000; try 2000 for unstable radio streams)
# resample_quality = 4 # 1-4, where 4 is best
# bit_depth = 16 # 16 or 32 (for FFmpeg-decoded formats)
# EQ preset: "Flat", "Rock", "Pop", "Jazz", "Classical",
# "Bass Boost", "Treble Boost", "Vocal", "Electronic", "Acoustic"
# Leave empty or "Custom" to use manual eq values below
eq_preset = "Flat"
# 10-band EQ gains in dB (range: -12 to 12)
# Bands: 70Hz, 180Hz, 320Hz, 600Hz, 1kHz, 3kHz, 6kHz, 12kHz, 14kHz, 16kHz
# Saved Custom curve; applied when eq_preset is "Custom" or empty
eq = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
# Default provider on startup: "radio", "navidrome", "lyrion", "spotify", "qobuz", "tidal", "plex", "jellyfin", "emby", "soundcloud", "mixcloud", "netease", "audiobookshelf", or a YouTube provider
# provider = "radio"
# Simplified mode: artist/title and time strip without a visualizer or playlist.
# No visualizer or playback controls are shown.
# simplified = true
# UI theme name (check ~/.config/cliamp/themes/ for available themes)
# theme = "Tokyo Night"
# Visualizer mode: Bars, BarsDot, Rain, BarsOutline, Bricks, Columns, ClassicPeak, Wave, Scatter, Flame, Retro, Pulse, Matrix, Binary, Sakura, Firework, Bubbles, Logo, Terrain, Scope, Heartbeat, Butterfly, Ascii, Firefly, Mosaic, Sand, Geyser, ClassicLED, Stereo, Mirror, or None
# Mirror draws tapered Braille bars around a persistent horizontal center axis.
# visualizer = "Bars"
# Reduce CPU usage by lowering UI cadence and disabling visualization.
# low_power = false
# Log level: "debug", "info", "warn", or "error" (default "info")
# Logs are written to ~/.config/cliamp/cliamp.log
# log_level = "info"
# ---
# Spotify (optional)
# Requires a Spotify Premium account.
#
# Recommended: register your own Spotify Developer app at
# developer.spotify.com/dashboard with redirect URI
# http://127.0.0.1:19872/login, then uncomment the section below with
# your client_id. You get a private Web API rate-limit quota for library,
# playlist, and search requests. Playback is authorized separately with
# Spotify's built-in identity, so first sign-in completes two steps in one tab.
# [spotify]
# client_id = "your-spotify-app-client-id"
# bitrate = 320
#
# Development Mode limits /v1/search to 10 results per request. cliamp pages
# automatically with offset, so search works with your own client_id.
#
# Alternative: drop client_id to use cliamp's built-in fallback (the
# librespot keymaster client_id). Its rate-limit quota is shared with every
# librespot-based client, so you may see occasional 429s.
# ---
# Qobuz (optional)
# Requires an active Qobuz subscription.
#
# Enable the provider, then run cliamp, select Qobuz, and press Enter to
# sign in. A browser window opens for Qobuz's OAuth login; credentials are
# cached at ~/.config/cliamp/qobuz_credentials.json and refreshed silently
# on later launches. Run "cliamp qobuz reset" to clear them.
# [qobuz]
# enabled = true
#
# Stream quality (format_id). Default 6.
# 5 = MP3 320kbps
# 6 = FLAC 16-bit/44.1kHz (CD)
# 7 = FLAC 24-bit up to 96kHz
# 27 = FLAC 24-bit up to 192kHz (Hi-Res)
# quality = 6
# ---
# Tidal (optional)
# Requires a paid Tidal subscription (all paid plans include lossless FLAC).
#
# Enable the provider, then run cliamp, select Tidal, and press Enter to
# sign in. A link.tidal.com URL with a short code is shown (and opened in a
# browser); approve the device there. Credentials are cached at
# ~/.config/cliamp/tidal_credentials.json and refreshed silently on later
# launches. Run "cliamp tidal reset" to clear them.
# [tidal]
# enabled = true
#
# Stream quality. Default "lossless".
# "low" = 96 kbps AAC
# "high" = 320 kbps AAC
# "lossless" = FLAC up to 24-bit/192kHz where available (see note)
# "hires" = same delivery as "lossless"
# Note: Tidal serves FLAC to this client type only for tracks with a hi-res
# ("Max") master; other tracks are downgraded to AAC 320 server-side. cliamp
# shows a footer notice when that happens. See docs/tidal.md.
# quality = "lossless"
#
# cliamp uses built-in fallback OAuth client credentials. Tidal revokes leaked
# client IDs from time to time; if sign-in fails with a client error, set a
# fresh pair here without waiting for a cliamp release.
# client_id = ""
# client_secret = ""
# ---
# Navidrome / Subsonic server (optional)
# When configured, cliamp opens the playlist browser on startup and streams
# tracks directly from your server.
# These values take precedence over the NAVIDROME_URL / NAVIDROME_USER /
# NAVIDROME_PASS environment variables when both are present.
# [navidrome]
# url = "https://music.example.com"
# user = "alice"
# password = "secret"
#
# Album browse sort order for the Navidrome browser (press N to open).
# Valid values: alphabeticalByName, alphabeticalByArtist, newest, recent,
# frequent, starred, byYear, byGenre
# This is updated automatically when you press [s] inside the browser.
# browse_sort = alphabeticalByName
# ---
# Lyrion Music Server / LMS (optional)
# Only `url` is required; add credentials if the server has password
# protection enabled. Port 9000 is the LMS default — the same port as its web
# interface, not the 9090 CLI port.
# These values take precedence over the LYRION_URL / LYRION_USER /
# LYRION_PASS environment variables when both are present.
# [lyrion]
# url = "http://nas.local:9000"
# user = "alice"
# password = "secret"
#
# Tracks and playlists contributed by LMS plugins (Spotty and similar) are not
# file-backed, so cliamp cannot stream them and hides them by default. Set this
# to show them anyway, flagged as unplayable and skipped during playback.
# See docs/lyrion.md.
# show_unplayable = true
# ---
# SoundCloud (optional, opt-in)
# Off by default. Set `enabled = true` to register the provider; then search,
# URL playback, and a curated browse list work via yt-dlp. Set `user` to
# expose your profile's Tracks, Likes, and Reposts. Set `cookies_from` to use
# your browser's signed-in session for Go+ / subscriber-gated tracks.
# [soundcloud]
# enabled = true
# user = "yourname"
# cookies_from = "firefox" # chrome, brave, edge, opera, safari, vivaldi…
# ---
# Mixcloud (optional, opt-in)
# Public discovery, show search, the live genre catalogue, genre/tag search,
# creator jumps, and Latest/Popular charts work with enabled=true. Set username
# for your following stream, profile activity, uploads, read-only show favorites,
# listening history, collections, and followed-creator browsing. A developer
# OAuth access_token makes /me the account identity and adds Listen Later.
# cookies_from is used by yt-dlp for signed-in playback only. styles is the
# local genre-favorites list; toggle it with [f] in Mixcloud's Genres browser.
# [mixcloud]
# enabled = true
# username = "yourname"
# access_token = "${MIXCLOUD_ACCESS_TOKEN}"
# cookies_from = "firefox" # chrome, brave, edge, chromium, opera, safari, vivaldi, whale…
# styles = ["ambient", "deep-house", "house", "jazz", "techno"]
# max_items = 100
# stream_creators = 20
# ---
# NetEase Cloud Music (optional, opt-in)
# Sign in to music.163.com in your browser, then run `cliamp setup` or set
# cookies_from manually. The provider lists your account playlists, saved
# playlists, liked songs, and public charts. Playback uses yt-dlp.
# [netease]
# enabled = true
# cookies_from = "chrome"
# user_id = "optional-account-user-id"
# ---
# Plex Media Server (optional)
# [plex]
# url = "http://192.168.1.10:32400"
# token = "xxxxxxxxxxxxxxxxxxxx"
#
# Restrict to specific music libraries (comma-separated, case-insensitive).
# When omitted or empty, all music libraries are loaded.
# libraries = ["Music", "Jazz"]
# ---
# Jellyfin server (optional)
# Authenticate either with a long-lived API token or with your username/password.
# user_id is optional and is discovered automatically when omitted.
# [jellyfin]
# url = "https://jellyfin.example.com"
# user = "alice"
# password = "secret"
# token = "optional-api-token"
# user_id = "optional-user-id"
# ---
# YouTube & YouTube Music (optional)
# Zero OAuth setup: set `cookies_from` to browse your Liked Music, Liked Videos,
# and account playlists using your browser session without Google Cloud setup.
# Alternatively, supply your own Google Cloud OAuth client credentials.
#
# [ytmusic]
# cookies_from = "chrome" # chrome, firefox, brave, edge, safari, opera…
#
# Custom OAuth client (optional, overrides cookie-only mode):
# client_id = "your-google-oauth-client-id"
# client_secret = "your-google-oauth-client-secret"
#
# Resolve full playlists from list= URLs (default true).
# When false, only the single video is resolved and playlist links are stripped.
# expand_playlist = true
# ---
# Emby server (optional)
# Authenticate either with an API key or with your username/password.
# user_id is optional and is discovered automatically when omitted.
# [emby]
# url = "https://emby.example.com"
# user = "alice"
# password = "secret"
# token = "optional-api-key"
# user_id = "optional-user-id"
# ---
# Audiobookshelf server (optional)
# Audiobooks and podcasts from your own Audiobookshelf server. Authenticate
# either with an API key (Settings -> Users -> API Keys) or with your
# username/password.
# [audiobookshelf]
# url = "https://abs.example.com"
# token = "your-api-key"
# user = "listener"
# password = "secret"
#
# Restrict to specific libraries (default: all).
# libraries = ["Audiobooks", "Podcasts"]