mirror of
https://github.com/Psychotoxical/psysonic.git
synced 2026-07-21 23:05:46 +00:00
chore(playback): remove Preload Next Track setting (#1007)
* chore(playback): remove Preload Next Track setting The configurable next-track RAM preload duplicated hot cache and is obsolete now that ranged streaming starts playback sooner. Gapless and crossfade still use the internal audio_preload backup when hot cache is off. * docs: add CHANGELOG entry for Preload Next Track removal (PR #1007)
This commit is contained in:
@@ -490,15 +490,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'In Favoriten',
|
||||
trackPreviewLocation_artist: 'In Künstler-Top-Tracks',
|
||||
trackPreviewLocation_randomMix: 'In Random Mix',
|
||||
preloadMode: 'Nächsten Track vorpuffern',
|
||||
preloadModeDesc: 'Wann mit dem Puffern des nächsten Tracks begonnen werden soll',
|
||||
nextTrackBufferingTitle: 'Pufferung',
|
||||
preloadHotCacheMutualExclusive: 'Preload und Hot Cache erfüllen denselben Zweck – nur eine Methode kann gleichzeitig aktiv sein. Das Aktivieren einer deaktiviert die andere automatisch.',
|
||||
preloadOff: 'Aus',
|
||||
preloadBalanced: 'Ausgewogen (30 s vor Ende)',
|
||||
preloadEarly: 'Früh (nach 5 s Wiedergabe)',
|
||||
preloadCustom: 'Benutzerdefiniert',
|
||||
preloadCustomSeconds: 'Sekunden vor Ende: {{n}}',
|
||||
infiniteQueue: 'Endlose Warteschlange',
|
||||
infiniteQueueDesc: 'Automatisch Zufallstitel anhängen wenn die Warteschlange leer wird',
|
||||
experimental: 'Experimentell',
|
||||
@@ -551,7 +543,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'Aggressiver Hintergrundscan. Nach Abschluss erhältst du BPM für alle Tracks sowie sofort verfügbare Loudness- und Waveform-Daten.',
|
||||
analyticsStrategyPriorityTitle: 'Analyse-Priorität (immer aktiv)',
|
||||
analyticsStrategyPriorityHigh: '1 — Aktuell laufender Track: zuerst herunterladen und analysieren (Playback-Bytes, Loudness-Backfill oder HTTP falls nötig).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Als Nächstes: die nächsten ~5 Queue-Tracks, Preload-next und Hot-Cache-Nachbarn — Analyse bevorzugt aus Cache/Downloads; HTTP-Backfill nur bei Miss.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Als Nächstes: die nächsten ~5 Queue-Tracks und Hot-Cache-Nachbarn — Analyse bevorzugt aus Cache/Downloads; HTTP-Backfill nur bei Miss.',
|
||||
analyticsStrategyPriorityLow: '3 — Bibliotheks-Batch (nur Aggressiv): automatische Hintergrund-Queue am Ende; wird per Watermark (~3× Worker) nachgefüllt, ohne auf eine leere Queue zu warten.',
|
||||
analyticsStrategyServerLabel: 'Server',
|
||||
analyticsStrategyProgressLabel: 'Analysefortschritt:',
|
||||
|
||||
@@ -334,7 +334,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'More aggressive background scan. Once finished, you get BPM for every track plus instant loudness + waveform loads.',
|
||||
analyticsStrategyPriorityTitle: 'Analysis priority (always enforced)',
|
||||
analyticsStrategyPriorityHigh: '1 — Currently playing: download + analyze first (playback bytes, loudness backfill, or HTTP when needed).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Up next: the next ~5 queue tracks, preload next, and hot-cache neighbours — analyze from cached/downloaded bytes when possible; HTTP backfill only on miss.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Up next: the next ~5 queue tracks and hot-cache neighbours — analyze from cached/downloaded bytes when possible; HTTP backfill only on miss.',
|
||||
analyticsStrategyPriorityLow: '3 — Library batch (Aggressive only): automatic background queue at the tail; refilled by watermark (~3× workers) without waiting for an empty queue.',
|
||||
analyticsStrategyServerLabel: 'Server',
|
||||
analyticsStrategyProgressLabel: 'Analysis progress:',
|
||||
@@ -577,15 +577,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'In favorites',
|
||||
trackPreviewLocation_artist: 'In artist top tracks',
|
||||
trackPreviewLocation_randomMix: 'In Random Mix',
|
||||
preloadMode: 'Preload Next Track',
|
||||
preloadModeDesc: 'When to start buffering the next track in the queue',
|
||||
nextTrackBufferingTitle: 'Buffering',
|
||||
preloadHotCacheMutualExclusive: 'Preload and Hot Cache serve the same purpose — only one can be active at a time. Enabling one will automatically disable the other.',
|
||||
preloadOff: 'Off',
|
||||
preloadBalanced: 'Balanced (30 s before end)',
|
||||
preloadEarly: 'Early (after 5 s of playback)',
|
||||
preloadCustom: 'Custom',
|
||||
preloadCustomSeconds: 'Seconds before end: {{n}}',
|
||||
infiniteQueue: 'Infinite Queue',
|
||||
infiniteQueueDesc: 'Automatically append random tracks when the queue runs out',
|
||||
experimental: 'Experimental',
|
||||
|
||||
@@ -489,15 +489,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'En favoritos',
|
||||
trackPreviewLocation_artist: 'En las mejores pistas del artista',
|
||||
trackPreviewLocation_randomMix: 'En Random Mix',
|
||||
preloadMode: 'Precargar Siguiente Pista',
|
||||
preloadModeDesc: 'Cuándo comenzar a cargar la siguiente pista en cola',
|
||||
nextTrackBufferingTitle: 'Buffer',
|
||||
preloadHotCacheMutualExclusive: 'Precarga y Caché Activa sirven para lo mismo — solo uno puede estar activo a la vez. Habilitar uno desactivará automáticamente el otro.',
|
||||
preloadOff: 'Apagado',
|
||||
preloadBalanced: 'Balanceado (30 s antes del final)',
|
||||
preloadEarly: 'Temprano (después de 5 s de reproducción)',
|
||||
preloadCustom: 'Personalizado',
|
||||
preloadCustomSeconds: 'Segundos antes del final: {{n}}',
|
||||
infiniteQueue: 'Cola Infinita',
|
||||
infiniteQueueDesc: 'Agregar automáticamente pistas aleatorias cuando la cola termina',
|
||||
experimental: 'Experimental',
|
||||
@@ -551,7 +543,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'Escaneo en segundo plano más agresivo. Al terminar, obtienes BPM para todas las pistas y carga inmediata de loudness y forma de onda.',
|
||||
analyticsStrategyPriorityTitle: 'Prioridad de análisis (siempre activa)',
|
||||
analyticsStrategyPriorityHigh: '1 — Reproducción actual: descargar y analizar primero (bytes de reproducción, backfill de loudness o HTTP cuando haga falta).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Siguientes: ~5 pistas de cola, precarga de la siguiente y vecinas de caché caliente; analiza desde caché/descarga cuando sea posible, con backfill HTTP solo en fallo.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Siguientes: ~5 pistas de cola y vecinas de caché caliente; analiza desde caché/descarga cuando sea posible, con backfill HTTP solo en fallo.',
|
||||
analyticsStrategyPriorityLow: '3 — Lote de biblioteca (solo Agresiva): cola automática en segundo plano al final; se rellena por watermark (~3× workers) sin esperar a que quede vacía.',
|
||||
analyticsStrategyServerLabel: 'Servidor',
|
||||
analyticsStrategyProgressLabel: 'Progreso del análisis:',
|
||||
|
||||
@@ -487,15 +487,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'Dans les favoris',
|
||||
trackPreviewLocation_artist: 'Dans les meilleurs morceaux de l\'artiste',
|
||||
trackPreviewLocation_randomMix: 'Dans Random Mix',
|
||||
preloadMode: 'Précharger la piste suivante',
|
||||
preloadModeDesc: 'Quand commencer à mettre en mémoire tampon la piste suivante',
|
||||
nextTrackBufferingTitle: 'Mise en mémoire tampon',
|
||||
preloadHotCacheMutualExclusive: "Preload et Hot Cache remplissent le même rôle — un seul peut être actif à la fois. Activer l'un désactive automatiquement l'autre.",
|
||||
preloadOff: 'Désactivé',
|
||||
preloadBalanced: 'Équilibré (30 s avant la fin)',
|
||||
preloadEarly: 'Tôt (après 5 s de lecture)',
|
||||
preloadCustom: 'Personnalisé',
|
||||
preloadCustomSeconds: 'Secondes avant la fin : {{n}}',
|
||||
infiniteQueue: 'File infinie',
|
||||
infiniteQueueDesc: 'Ajouter automatiquement des morceaux aléatoires quand la file est épuisée',
|
||||
experimental: 'Expérimental',
|
||||
@@ -551,7 +543,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'Analyse de fond plus agressive. Une fois terminée, vous obtenez le BPM pour toutes les pistes et un chargement immédiat de loudness et de formes d’onde.',
|
||||
analyticsStrategyPriorityTitle: 'Priorité d’analyse (toujours appliquée)',
|
||||
analyticsStrategyPriorityHigh: '1 — En cours de lecture : télécharger et analyser en premier (octets de lecture, backfill loudness ou HTTP si nécessaire).',
|
||||
analyticsStrategyPriorityMiddle: '2 — À suivre : les ~5 pistes suivantes de la file, préchargement de la suivante et voisines du hot-cache — analyse depuis cache/téléchargements si possible, backfill HTTP seulement en cas d’absence.',
|
||||
analyticsStrategyPriorityMiddle: '2 — À suivre : les ~5 pistes suivantes de la file et voisines du hot-cache — analyse depuis cache/téléchargements si possible, backfill HTTP seulement en cas d’absence.',
|
||||
analyticsStrategyPriorityLow: '3 — Lot bibliothèque (Agressive uniquement) : file d’arrière-plan automatique en fin de file ; réalimentée par watermark (~3× workers) sans attendre une file vide.',
|
||||
analyticsStrategyServerLabel: 'Server',
|
||||
analyticsStrategyProgressLabel: 'Progression de l’analyse :',
|
||||
|
||||
@@ -489,15 +489,7 @@ export const settings = {
|
||||
infiniteQueue: 'Uendelig kø',
|
||||
infiniteQueueDesc: 'Legg automatisk til tilfeldige spor når køen går tom',
|
||||
experimental: 'Eksperimentell',
|
||||
preloadMode: 'Forhåndslast neste spor',
|
||||
preloadModeDesc: 'Når buffering av neste spor i køen skal starte',
|
||||
nextTrackBufferingTitle: 'Bufring',
|
||||
preloadHotCacheMutualExclusive: 'Forhåndslasting og Hot Cache tjener samme formål – bare én kan være aktiv om gangen. Å aktivere den ene deaktiverer automatisk den andre.',
|
||||
preloadOff: 'Av',
|
||||
preloadBalanced: 'Balansert (30 s før slutt)',
|
||||
preloadEarly: 'Tidlig (etter 5 s avspilling)',
|
||||
preloadCustom: 'Egendefinert',
|
||||
preloadCustomSeconds: 'Sekunder før slutt: {{n}}',
|
||||
sidebarLyricsStyle: 'Rullestil for tekst',
|
||||
sidebarLyricsStyleClassic: 'Klassisk',
|
||||
sidebarLyricsStyleClassicDesc: 'Aktiv linje sentreres.',
|
||||
@@ -552,7 +544,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'Mer aggressiv bakgrunnsskanning. Når den er ferdig får du BPM for alle spor samt umiddelbar lasting av loudness og waveform.',
|
||||
analyticsStrategyPriorityTitle: 'Analyseprioritet (alltid aktiv)',
|
||||
analyticsStrategyPriorityHigh: '1 — Spiller nå: last ned og analyser først (avspillingsbytes, loudness-backfill eller HTTP ved behov).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Neste opp: de neste ~5 køsporene, preload av neste og hot-cache-naboer — analyser fra cache/nedlastede bytes når mulig; HTTP-backfill kun ved bom.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Neste opp: de neste ~5 køsporene og hot-cache-naboer — analyser fra cache/nedlastede bytes når mulig; HTTP-backfill kun ved bom.',
|
||||
analyticsStrategyPriorityLow: '3 — Bibliotekbatch (kun Aggressiv): automatisk bakgrunnskø bakerst; fylles på ved watermark (~3× workers) uten å vente på tom kø.',
|
||||
analyticsStrategyServerLabel: 'Server',
|
||||
analyticsStrategyProgressLabel: 'Analysefremdrift:',
|
||||
|
||||
@@ -487,15 +487,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'In favorieten',
|
||||
trackPreviewLocation_artist: 'In top-tracks van artiest',
|
||||
trackPreviewLocation_randomMix: 'In Random Mix',
|
||||
preloadMode: 'Volgend nummer vooraf laden',
|
||||
preloadModeDesc: 'Wanneer met het bufferen van het volgende nummer wordt begonnen',
|
||||
nextTrackBufferingTitle: 'Buffering',
|
||||
preloadHotCacheMutualExclusive: 'Preload en Hot Cache dienen hetzelfde doel — slechts één kan tegelijk actief zijn. Het inschakelen van de ene schakelt de andere automatisch uit.',
|
||||
preloadOff: 'Uit',
|
||||
preloadBalanced: 'Gebalanceerd (30 s voor einde)',
|
||||
preloadEarly: 'Vroeg (na 5 s afspelen)',
|
||||
preloadCustom: 'Aangepast',
|
||||
preloadCustomSeconds: 'Seconden voor einde: {{n}}',
|
||||
infiniteQueue: 'Oneindige wachtrij',
|
||||
infiniteQueueDesc: 'Automatisch willekeurige nummers toevoegen als de wachtrij leeg raakt',
|
||||
experimental: 'Experimenteel',
|
||||
@@ -551,7 +543,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'Agressievere achtergrondscan. Na voltooiing krijg je BPM voor alle tracks plus directe loudness- en waveform-lading.',
|
||||
analyticsStrategyPriorityTitle: 'Analyseprioriteit (altijd actief)',
|
||||
analyticsStrategyPriorityHigh: '1 — Nu afspelen: eerst downloaden en analyseren (playback-bytes, loudness-backfill of HTTP indien nodig).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Hierna: de volgende ~5 wachtrijtracks, preload-next en hot-cache-buren — analyse vanuit cache/downloads waar mogelijk; HTTP-backfill alleen bij miss.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Hierna: de volgende ~5 wachtrijtracks en hot-cache-buren — analyse vanuit cache/downloads waar mogelijk; HTTP-backfill alleen bij miss.',
|
||||
analyticsStrategyPriorityLow: '3 — Bibliotheekbatch (alleen Agressief): automatische achtergrondwachtrij achteraan; wordt bijgevuld via watermark (~3× workers) zonder op een lege wachtrij te wachten.',
|
||||
analyticsStrategyServerLabel: 'Server',
|
||||
analyticsStrategyProgressLabel: 'Analysevoortgang:',
|
||||
|
||||
@@ -492,15 +492,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'În favorite',
|
||||
trackPreviewLocation_artist: 'În top piese ale artistului',
|
||||
trackPreviewLocation_randomMix: 'În Mixul Aleatoriu',
|
||||
preloadMode: 'Preîncarcă Următoarea Piesă',
|
||||
preloadModeDesc: 'Când să înceapă preîncărcarea următoarei piese din coadă',
|
||||
nextTrackBufferingTitle: 'Preîncarcă',
|
||||
preloadHotCacheMutualExclusive: 'Preîncarcarea și Hot Cache au același scop — doar una poate fi activată deodată. Pornirea unei opțiuni o dezactivează pe cealaltă.',
|
||||
preloadOff: 'Oprit',
|
||||
preloadBalanced: 'Balansat (30 s înainte de sfârșit)',
|
||||
preloadEarly: 'Devreme (după 5 s de redare)',
|
||||
preloadCustom: 'Personalizat',
|
||||
preloadCustomSeconds: 'Secunde înainte de sfârșit: {{n}}',
|
||||
infiniteQueue: 'Coadă Infinită',
|
||||
infiniteQueueDesc: 'Adaugă automat piese aleatorii când coada se golește',
|
||||
experimental: 'Experimental',
|
||||
@@ -551,7 +543,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: 'Scanare de fundal mai agresivă. După finalizare, primești BPM pentru toate piesele și încărcare instantă pentru loudness și waveform.',
|
||||
analyticsStrategyPriorityTitle: 'Prioritate analiză (mereu activă)',
|
||||
analyticsStrategyPriorityHigh: '1 — Redare curentă: descarcă și analizează mai întâi (bytes de playback, loudness backfill sau HTTP când e nevoie).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Urmează: următoarele ~5 piese din coadă, preload pentru următoarea și vecinii din hot-cache — analiză din cache/descărcări când se poate; backfill HTTP doar la miss.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Urmează: următoarele ~5 piese din coadă și vecinii din hot-cache — analiză din cache/descărcări când se poate; backfill HTTP doar la miss.',
|
||||
analyticsStrategyPriorityLow: '3 — Lot bibliotecă (doar Agresivă): coadă automată în fundal la final; reumplere pe watermark (~3× workers) fără a aștepta golirea cozii.',
|
||||
analyticsStrategyServerLabel: 'Server',
|
||||
analyticsStrategyProgressLabel: 'Progres analiză:',
|
||||
|
||||
@@ -342,7 +342,7 @@ export const settings = {
|
||||
'Запускает фоновый анализ всей библиотеки и скачивает треки для анализа.',
|
||||
analyticsStrategyPriorityTitle: 'Приоритет анализа (всегда)',
|
||||
analyticsStrategyPriorityHigh: '1 — Сейчас играет: скачивание и анализ в первую очередь (байты воспроизведения, loudness backfill или HTTP при необходимости).',
|
||||
analyticsStrategyPriorityMiddle: '2 — Следующие: ~5 треков в очереди, preload next и соседи hot cache — анализ из уже скачанных байтов, HTTP backfill только при промахе.',
|
||||
analyticsStrategyPriorityMiddle: '2 — Следующие: ~5 треков в очереди и соседи hot cache — анализ из уже скачанных байтов, HTTP backfill только при промахе.',
|
||||
analyticsStrategyPriorityLow: '3 — Библиотечный batch (только Агрессивный): автоматическая фоновая очередь в хвосте; пополняется по watermark (~3× потоков), не дожидаясь полного опустошения.',
|
||||
analyticsStrategyServerLabel: 'Сервер',
|
||||
analyticsStrategyProgressLabel: 'Прогресс анализа:',
|
||||
@@ -598,15 +598,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: 'В избранном',
|
||||
trackPreviewLocation_artist: 'В топ-треках исполнителя',
|
||||
trackPreviewLocation_randomMix: 'В Random Mix',
|
||||
preloadMode: 'Предзагрузка следующего трека',
|
||||
preloadModeDesc: 'Когда начинать буферизацию следующего в очереди',
|
||||
nextTrackBufferingTitle: 'Буферизация',
|
||||
preloadHotCacheMutualExclusive: 'Предзагрузка и Hot Cache выполняют одну функцию — одновременно может быть активна только одна. Включение одной автоматически отключает другую.',
|
||||
preloadOff: 'Выкл.',
|
||||
preloadBalanced: 'Умеренно (за 30 с до конца)',
|
||||
preloadEarly: 'Рано (через 5 с после старта)',
|
||||
preloadCustom: 'Свой интервал',
|
||||
preloadCustomSeconds: 'Секунд до конца: {{n}}',
|
||||
infiniteQueue: 'Бесконечная очередь',
|
||||
infiniteQueueDesc: 'Подмешивать случайные треки, когда очередь закончится',
|
||||
experimental: 'Экспериментально',
|
||||
|
||||
@@ -486,15 +486,7 @@ export const settings = {
|
||||
trackPreviewLocation_favorites: '收藏中',
|
||||
trackPreviewLocation_artist: '艺人热门曲目中',
|
||||
trackPreviewLocation_randomMix: 'Random Mix 中',
|
||||
preloadMode: '预加载下一曲目',
|
||||
preloadModeDesc: '何时开始缓冲队列中的下一曲目',
|
||||
nextTrackBufferingTitle: '缓冲',
|
||||
preloadHotCacheMutualExclusive: '预加载与热缓存用途相同——两者不能同时启用。启用其中一个会自动禁用另一个。',
|
||||
preloadOff: '关闭',
|
||||
preloadBalanced: '均衡(结束前30秒)',
|
||||
preloadEarly: '提前(播放5秒后)',
|
||||
preloadCustom: '自定义',
|
||||
preloadCustomSeconds: '结束前秒数:{{n}}',
|
||||
infiniteQueue: '无限队列',
|
||||
infiniteQueueDesc: '队列播完时自动追加随机曲目',
|
||||
experimental: '实验性',
|
||||
@@ -550,7 +542,7 @@ export const settings = {
|
||||
analyticsStrategyAdvancedDesc: '更激进的后台扫描。完成后可获得所有歌曲 BPM,并可即时加载响度与波形。',
|
||||
analyticsStrategyPriorityTitle: '分析优先级(始终生效)',
|
||||
analyticsStrategyPriorityHigh: '1 — 当前播放:优先下载并分析(播放字节、响度回填,或在需要时走 HTTP)。',
|
||||
analyticsStrategyPriorityMiddle: '2 — 即将播放:队列中接下来的约 5 首、预加载下一首以及热缓存邻近曲目——优先从缓存/已下载字节分析,未命中时才做 HTTP 回填。',
|
||||
analyticsStrategyPriorityMiddle: '2 — 即将播放:队列中接下来的约 5 首及热缓存邻近曲目——优先从缓存/已下载字节分析,未命中时才做 HTTP 回填。',
|
||||
analyticsStrategyPriorityLow: '3 — 库批处理(仅“激进”):自动后台队列排在末尾;按水位线(约 3× workers)补充,无需等待队列清空。',
|
||||
analyticsStrategyServerLabel: '服务器',
|
||||
analyticsStrategyProgressLabel: '分析进度:',
|
||||
|
||||
Reference in New Issue
Block a user