feat(train): smaller copies of lossless tracks, transcoded by Jellyfin to Opus (ADR 0030, D52)

Smaller copies, on by default on the music screen, has the music job
fetch a file above 256 kbps as Opus at 128 kbps in WebM, but for the
lossy codecs (MP3, AAC, Vorbis, Opus) at any rate. Each track keeps
which copy its file is; switching fetches the other copy without
working out the tempo again, the file kept until the new one is whole.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-29 19:09:06 +01:00
commit 2a7cd927c4
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
5 changed files with 379 additions and 39 deletions

View file

@ -508,6 +508,8 @@
"musicKeptDelete": "Löschen",
"musicKeptDeleteTitle": "Die Musik auf diesem Telefon löschen?",
"musicKeptDeleteText": "Alle Playlists werden abgewählt und ihre Titel von diesem Telefon gelöscht. Auf deinem Jellyfin-Server bleiben sie.",
"musicSmaller": "Kleinere Kopien",
"musicSmallerHint": "Verlustfreie Dateien wie FLAC als Opus mit 128 kbit/s, die dein Server erstellt. MP3 und AAC bleiben, wie sie sind.",
"recordMusic": "Musik",
"recordMusicOn": "Musik",
"recordMetronome": "Metronom",

View file

@ -641,6 +641,8 @@
"musicKeptDelete": "Delete",
"musicKeptDeleteTitle": "Delete the music on this phone?",
"musicKeptDeleteText": "Every playlist is unmarked, and its tracks deleted from this phone. They stay on your Jellyfin server.",
"musicSmaller": "Smaller copies",
"musicSmallerHint": "Lossless files such as FLAC kept as Opus at 128 kbps, which your server makes. MP3 and AAC stay as they are.",
"recordMusic": "Music",
"recordMusicOn": "Music",
"@recordMusicOn": {"description": "The segment playing the kept tracks by cadence."},

View file

@ -3070,6 +3070,18 @@ abstract class AppLocalizations {
/// **'Every playlist is unmarked, and its tracks deleted from this phone. They stay on your Jellyfin server.'**
String get musicKeptDeleteText;
/// No description provided for @musicSmaller.
///
/// In en, this message translates to:
/// **'Smaller copies'**
String get musicSmaller;
/// No description provided for @musicSmallerHint.
///
/// In en, this message translates to:
/// **'Lossless files such as FLAC kept as Opus at 128 kbps, which your server makes. MP3 and AAC stay as they are.'**
String get musicSmallerHint;
/// No description provided for @recordMusic.
///
/// In en, this message translates to:

View file

@ -1831,6 +1831,13 @@ class AppLocalizationsDe extends AppLocalizations {
String get musicKeptDeleteText =>
'Alle Playlists werden abgewählt und ihre Titel von diesem Telefon gelöscht. Auf deinem Jellyfin-Server bleiben sie.';
@override
String get musicSmaller => 'Kleinere Kopien';
@override
String get musicSmallerHint =>
'Verlustfreie Dateien wie FLAC als Opus mit 128 kbit/s, die dein Server erstellt. MP3 und AAC bleiben, wie sie sind.';
@override
String get recordMusic => 'Musik';

View file

@ -1819,6 +1819,13 @@ class AppLocalizationsEn extends AppLocalizations {
String get musicKeptDeleteText =>
'Every playlist is unmarked, and its tracks deleted from this phone. They stay on your Jellyfin server.';
@override
String get musicSmaller => 'Smaller copies';
@override
String get musicSmallerHint =>
'Lossless files such as FLAC kept as Opus at 128 kbps, which your server makes. MP3 and AAC stay as they are.';
@override
String get recordMusic => 'Music';