Skip to content

Commit 4d5bc07

Browse files
committed
README.md: Add "Tags and metadata format rules" section
1 parent a2bcef1 commit 4d5bc07

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

README.md

+15
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ Both standalone Liquidsoap operation and integrated playout systems like AzuraCa
4141
- [Tags and metadata reference](#tags-and-metadata-reference)
4242
- [Categories](#categories)
4343
- [Tags and metadata used by Autocue](#tags-and-metadata-used-by-autocue)
44+
- [Tags and metadata format rules](#tags-and-metadata-format-rules)
4445
- [Examples](#examples)
4546
- [Hidden track](#hidden-track)
4647
- [Long tail handling](#long-tail-handling)
@@ -346,6 +347,20 @@ For easier lookup, this table will be kept in _alphabetical order_. If in doubt,
346347
|replaygain_track_range|R,I|float|string|LU|7.90 LU|
347348
|songtype[^4]|C|char|string||S|
348349

350+
### <a name="tags-and-metadata-format-rules"></a>Tags and metadata format rules <a href="#toc" class="goToc">⇧</a>
351+
352+
If pre-tagging files manually, or modifying values in Liquidsoap, you _must_ adhere to some rules:
353+
354+
- _Float_ values typcially have a 2 decimals precision, peak values have 6 decimals.
355+
- Do _not_ use _only a trailing period_ to indicate a _float_ (like `0.`, as is often done in Liquidsoap).
356+
- The _decimal point_ is always a _period_, _never_ a _decimal comma_ as in some languages like German.
357+
- _Integer_ values like `R128_TRACK_GAIN` must not be specified with a dot or any decimals.
358+
- _Boolean_ values _must_ be either `true` or `false`, in all lowercase. We have no concept of "truthy" or "falsy" like some programming languages, so `True`, `TRUE`, `yes`, `1` or `1.00` for example _will not work_ as `true`.
359+
- _Units_ should be written exactly as shown in above reference table, in the "Example" column. So _do_ use a blank between value and unit, and use the exact name and casing shown, like `dB`, not `db` or `DB`. This is not so much a requirement for Autocue and `cue_file`, but more for other software, especially for the ReplayGain metadata.
360+
- _Do not_ save `R128_TRACK_GAIN` to non-Opus files, and _do not_ save `replaygain_*` tags to Opus files. `cue_file` will take care of the necessary conversions, but you could have accidentally provided these in a tagging program, JSON or Liquidsoap.
361+
- _Never_ save `duration` as a tag. The file duration is determined by other means (calculated or taken from the header info in various file types). Again _cue_file_ takes care of it for its own calculations, but you could have set it elsewhere (tagging software, JSON).
362+
363+
349364
## <a name="examples"></a>Examples <a href="#toc" class="goToc">⇧</a>
350365

351366
### <a name="hidden-track"></a>Hidden track <a href="#toc" class="goToc">⇧</a>

0 commit comments

Comments
 (0)