From 3d8b8d46630a36e4bdd4f25d98ec355c844008c9 Mon Sep 17 00:00:00 2001 From: The Wobbler Date: Wed, 9 Apr 2025 21:37:27 +0200 Subject: [PATCH] Added WOBUZZM3U parameter documentation. --- Wobuzz/WOBUZZM3U.md | 56 +++++++++++++- metadata.json | 180 ++++++++++++++++++++++---------------------- 2 files changed, 145 insertions(+), 91 deletions(-) diff --git a/Wobuzz/WOBUZZM3U.md b/Wobuzz/WOBUZZM3U.md index 4b7f27b..2f14c06 100644 --- a/Wobuzz/WOBUZZM3U.md +++ b/Wobuzz/WOBUZZM3U.md @@ -1 +1,55 @@ -WOBUZZM3U is a playlist file format made for the [[Wobuzz |Wobuzz audio player]]. It is an extension to the M3U file format and is compatible with players that use the M3U format. WOBUZZM3U differs from M3U by using M3U comments for adding additional data, similar to EXTM3U. \ No newline at end of file +WOBUZZM3U is a playlist file format made for the [[Wobuzz |Wobuzz audio player]]. It is an extension to the M3U file format and is compatible with players that use the M3U format. WOBUZZM3U differs from M3U by using M3U comments for adding additional data, similar to EXTM3U. + +## Parameters + +| Parameter | Description | Example | +| ----------------------------------------------------------------------- | ---------------------------------------------------- | ----------------------------- | +| `#WOBUZZM3U` | Header | `#WOBUZZM3U` | +| `#TRACK_TITLE: ` | Sets the title for the following track. | `#TRACK_TITLE: Time Lapse` | +| `#TRACK_ARTIST: <artist>` | Sets the artist for the following track. | `#TRACK_ARTIST: TheFatRat` | +| `#TRACK_ALBUM: <album>` | Sets the album for the following Track. | `#TRACK_ALBUM: Time Lapse` | +| `#TRACK_GENRE: <genre>` | Sets the genre for the following Track. | `#TRACK_GENRE: Electro House` | +| `#SORT: <Title\|Artist\|Album\|Genre\|Custom>, <Ascending\|Descending>` | Sorts the playlist according to the field and order. | `#SORT: Title, Ascending` | + +Please note that every parameter name has to consist of only uppercase letters and after a separator like a semicolon (`;`) or a comma (`,`) always has to follow a space. + +### Header (`#WOBUZZM3U`) + +The format's header looks like this: + +`#WOBUZZM3U` + +Currently, (v0.1a3) Wobuzz has no problem with having a playlist in its library which has no WOBUZZM3U-header, but using a header is recommended to be able to identify a WOBUZZM3U faster. + +### Sort Order Specifiers + +Sort order specifiers get interpreted like function calls in a programming language. Each specifier sorts the playlist one time. Sort order specifiers are located directly after the [[#Header (` WOBUZZM3U`)|Header]], usually there are 5 of them. + +Example beginning of a WOBUZZM3U file: + +``` +#WOBUZZM3U +#SORT: Title, Ascending +#SORT: Artist, Ascending +#SORT: Album, Ascending +#SORT: Genre, Ascending +#SORT: Custom, Ascending +``` + +### Track Metadata Specifiers + +Track metadata specifiers can specify track metadata like title, artist and album for the track defined in the next following line that is not a WOBUZZM3U-parameter. Metadata specifiers make a playlist load way faster. If not all metadata is set for a track, Wobuzz will try to get it from the audio file. If a track doesn't have a specific tag, for example, the track has no album, just specify a blank text because reading metadata from the audio file takes more time. An empty specifier would look like this: + +`#TRACK_ALBUM:` [^space] + +Example of a completely specified track: + +``` +#TRACK_TITLE: Time Lapse +#TRACK_ARTIST: TheFatRat +#TRACK_ALBUM: +#TRACK_GENRE: Electro House +/home/user/Music/TheFatRat - Time Lapse.mp3 +``` + +[^space]: Dont forget the space at the end! diff --git a/metadata.json b/metadata.json index 77d6847..89d26fd 100644 --- a/metadata.json +++ b/metadata.json @@ -1,4 +1,74 @@ [ + { + "fileName": "Wobuzz", + "relativePath": "Wobuzz/Wobuzz.md", + "tags": [ + "python", + "qt", + "pyqt", + "audio", + "media", + "pygame" + ], + "frontmatter": {}, + "headings": [ + { + "heading": "UI", + "level": 1 + }, + { + "heading": "Library", + "level": 1 + }, + { + "heading": "Loading & Importing", + "level": 2 + } + ], + "links": [ + { + "link": "The Wobbler", + "relativePath": "The Wobbler.md" + }, + { + "link": "WOBUZZM3U", + "displayText": "WOBUZZM3U playlist file format", + "relativePath": "Wobuzz/WOBUZZM3U.md" + } + ], + "backlinks": [ + { + "fileName": "WOBUZZM3U", + "link": "Wobuzz", + "relativePath": "Wobuzz/WOBUZZM3U.md", + "displayText": "Wobuzz audio player" + }, + { + "fileName": "The Wobbler", + "link": "Wobuzz", + "relativePath": "The Wobbler.md" + } + ] + }, + { + "fileName": "WOBUZZM3U", + "relativePath": "Wobuzz/WOBUZZM3U.md", + "links": [ + { + "link": "Wobuzz", + "displayText": "Wobuzz audio player", + "relativePath": "Wobuzz/Wobuzz.md" + } + ], + "backlinks": [ + { + "fileName": "Wobuzz", + "link": "WOBUZZM3U", + "relativePath": "Wobuzz/Wobuzz.md", + "displayText": "WOBUZZM3U playlist file format" + } + ] + }, { "fileName": "oneline", "relativePath": "Tipps Und Tricks/python/oneline.md", @@ -212,96 +282,6 @@ } ] }, - { - "fileName": "Wobuzz", - "relativePath": "Wobuzz/Wobuzz.md", - "tags": [ - "python", - "qt", - "pyqt", - "audio", - "media", - "pygame" - ], - "frontmatter": {}, - "headings": [ - { - "heading": "UI", - "level": 1 - }, - { - "heading": "Library", - "level": 1 - }, - { - "heading": "Loading & Importing", - "level": 2 - } - ], - "links": [ - { - "link": "The Wobbler", - "relativePath": "The Wobbler.md" - }, - { - "link": "WOBUZZM3U", - "displayText": "WOBUZZM3U playlist file format", - "relativePath": "Wobuzz/WOBUZZM3U.md" - } - ], - "backlinks": [ - { - "fileName": "WOBUZZM3U", - "link": "Wobuzz", - "relativePath": "Wobuzz/WOBUZZM3U.md", - "displayText": "Wobuzz audio player" - }, - { - "fileName": "The Wobbler", - "link": "Wobuzz", - "relativePath": "The Wobbler.md" - } - ] - }, - { - "fileName": "WOBUZZM3U", - "relativePath": "Wobuzz/WOBUZZM3U.md", - "links": [ - { - "link": "Wobuzz", - "displayText": "Wobuzz audio player", - "relativePath": "Wobuzz/Wobuzz.md" - } - ], - "backlinks": [ - { - "fileName": "Wobuzz", - "link": "WOBUZZM3U", - "relativePath": "Wobuzz/Wobuzz.md", - "displayText": "WOBUZZM3U playlist file format" - } - ] - }, - { - "fileName": "403", - "relativePath": "E/403.md", - "headings": [ - { - "heading": "E_403: Forbidden", - "level": 1 - } - ] - }, - { - "fileName": "404", - "relativePath": "E/404.md", - "headings": [ - { - "heading": "E_404: Not found.", - "level": 1 - } - ] - }, { "fileName": "The Wobbler", "relativePath": "The Wobbler.md", @@ -359,5 +339,25 @@ "relativePath": "The Wobbler.md" } ] + }, + { + "fileName": "404", + "relativePath": "E/404.md", + "headings": [ + { + "heading": "E_404: Not found.", + "level": 1 + } + ] + }, + { + "fileName": "403", + "relativePath": "E/403.md", + "headings": [ + { + "heading": "E_403: Forbidden", + "level": 1 + } + ] } ] \ No newline at end of file