Repository navigation
Local Music Folder
Audio files on the server play straight from disk. Nothing is fetched, so nothing can be rate limited, signed out or refused. If you only ever use this folder, CDisc needs no setup at all.
Drop files into plugins/CDisc/local/, then, holding a disc:
/cdisc create local:rain.mp3
/cdisc create local:ambient/deep rain.ogg
/cdisc create local:rain
- Press Tab after
local:and the server lists what is actually in the folder. - The extension may be left off, case doesn't matter, and subfolders work.
- A name that matches several files shows them as a list to pick from.
local:on its own lists the folder. - File names in any language work.
- A file without tags is named after the file, not "Unknown title".
The folder is re-read on /cdisc admin reload, and by itself every 30 seconds, so a file dropped in while the server runs turns up on its own.
# sources.yml
local:
folder: 'local' # relative to the plugin folder; absolute paths work too
extensions: [mp3, ogg, flac, wav, m4a, aac, opus, webm]
max-files: 5000 # a guard against pointing folder at a whole media drivePlayers choose only from what is in the folder: a path that climbs out of it is refused. enabled.local: false in sources.yml turns the folder off.
A file can carry its own settings in a .jsonc file beside it, rain.mp3.jsonc for rain.mp3:
| Key | Meaning |
|---|---|
name |
The name shown in local: completion |
default-volume |
0 to 100; without it, volume in config.yml applies |
permissions |
One permission, or several in a list, read the same way as permissions.yml: any one is enough, and ! in front lets in everyone who hasn't got it. cdisc.admin always may |
metadata.title, author
|
Shown instead of the file's own tags |
metadata.text, one-line
|
One line shown instead of title and author, when one-line is true |
lyrics.lines |
Either an object of "mm:ss": "line", or a list of "[01:23] line" strings |
lyrics.sync-with-time |
false ignores the timecodes and spreads the lines evenly over the track |
lyrics.enabled |
false hides lyrics for this file |
Comments, trailing commas and single quotes are allowed.
You don't have to write it by hand:
/cdisc admin local-files-config <file>
opens a window that edits all of it, lyrics line by line. It needs cdisc.admin.local-files, operators by default.
/cdisc admin download <link or search> [name]
takes whatever /cdisc create takes and saves the result into the folder:
- a direct link is fetched as it is;
- a YouTube link is read the way playback reads it, including through the backend;
- a Spotify link is matched on its ISRC to the recording the label uploaded;
- a VK track is saved as mp3;
- a search shows the same clickable list, and the one you pick is saved.
The file then behaves exactly like one you copied there yourself, and keeps playing whatever happens to the original.
# sources.yml
local:
download:
enabled: true
max-size-mb: 100 # counted as the bytes arrive, not from the declared size
timeout-seconds: 120Operators only by default (cdisc.disc.download): it writes to the disk and spends bandwidth. Links into the server's own network, such as localhost or the LAN, are refused.
{ // the name /cdisc create local: offers for it "name": "rain", "default-volume": 60, // who may use it; "!some.group" means everyone without that permission "permissions": "some.group", "metadata": { "one-line": false, "title": "Rain on the roof", "author": "Field recording" }, "lyrics": { "enabled": true, "sync-with-time": true, "lines": { "00:12": "first line", "00:18": "second line" } } }