mirror of
https://github.com/unshackle-dl/unshackle.git
synced 2026-11-12 03:55:05 +00:00
feat(music): embed plain lyrics and save timed lyrics from Song.synced_lyrics
This commit is contained in:
@@ -197,9 +197,11 @@ Each subclass adds its own required fields on top of `id_` and `service`:
|
||||
|
||||
A `Song` also takes optional metadata keywords that the tagger and the naming templates
|
||||
read: `album_artist`, `release_type`, `total_tracks`, `total_discs`, `genre`,
|
||||
`explicit`, `isrc`, `upc`, `copyright`, `label`, `lyrics`, `lyrics_suffix`, and
|
||||
`artwork_url`. Read the class for the current list. With `lyrics_suffix` (`".lrc"`,
|
||||
`".ttml"`), unshackle also saves `lyrics` beside the final audio file under that suffix.
|
||||
`explicit`, `isrc`, `upc`, `copyright`, `label`, `lyrics`, `synced_lyrics`,
|
||||
`lyrics_suffix`, and `artwork_url`. Read the class for the current list. Give `lyrics` as
|
||||
plain text: the tagger embeds it as is. With `synced_lyrics` (timed LRC or TTML) and
|
||||
`lyrics_suffix` (`".lrc"`, `".ttml"`), unshackle also saves the timed lyrics beside the
|
||||
final audio file under that suffix.
|
||||
You can set these fields in `get_tracks()` too, and a remote client gets them back.
|
||||
|
||||
The tagger also falls back to `Song.data` for fields the constructor did not get, such
|
||||
|
||||
@@ -269,9 +269,9 @@ unshackle writes lyrics when the service supplies them: a `LYRICS` Vorbis commen
|
||||
`USLT` frame for MP3, and a `©lyr` atom for M4A. Ogg uses the same `LYRICS` field as
|
||||
FLAC. unshackle does not write synchronized lyrics (`SYLT`).
|
||||
|
||||
A service can also ask for a lyrics file beside the audio, for example
|
||||
`08.Get.Lucky.lrc` next to `08.Get.Lucky.m4a`. A music player reads the timed lines from
|
||||
it. The file also comes back to the client from a remote server.
|
||||
The embedded lyrics are plain text. A service can also save timed lyrics in a file beside
|
||||
the audio, for example `08.Get.Lucky.lrc` next to `08.Get.Lucky.m4a`. A music player reads
|
||||
the timed lines from that file. The file also comes back to the client from a remote server.
|
||||
|
||||
A metadata fault does not stop the run. The file is already in place, so unshackle writes a
|
||||
warning and continues.
|
||||
|
||||
Reference in New Issue
Block a user