aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-08-24 21:08:34 +0200
committerChristophe Besson <cbesson@gmail.com>2026-08-24 21:08:34 +0200
commitf4ed927fa873133c5fed73fb7dd60e7747fc3dc2 (patch)
treed126c5e505c342ee6b02aadc1e46b1a026c2a027 /packages/meshbay-hub/src/meshbay_hub/static/locales
parent75d1f8b93dfa0bffda3a59a6d143b06dcc3ca67f (diff)
downloadmeshbay-f4ed927fa873133c5fed73fb7dd60e7747fc3dc2.tar.gz
feat(music): transcode WMA/Musepack to AAC so they actually play
Tagging and covers for these two formats landed already, but neither one decodes in any mainstream browser's <audio> element at all — a real library scan turned up 273 such files that would show up correctly in the Music app and then simply fail on click. This closes that gap: the node transcodes to AAC/M4A on request (a one-shot whole-file conversion, not live-piped like video's fMP4 segments — an audio file is small enough that streaming it buys nothing), caches the result under its own content hash the same way a TMDB poster or a MusicBrainz cover is cached, and serves it back through the ordinary file_req/chunk path. That path used to assume anything in the media cache was thumbnail-sized (single chunk, always); generalized it to slice a cached blob the same way a real file on disk gets sliced, since a transcoded track can be several MB. New MNP pair (`audio_transcode_req`/`_resp`, version bump to 0.9), shares its concurrency cap with video's transcode pool rather than getting its own — both are real ffmpeg processes on the same node. Every other audio format is untouched: this only fires for .wma/.mpc, the two extensions that need it.
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/locales')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js1
10 files changed, 10 insertions, 0 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
index 6df5a77..b05c8b1 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -190,6 +190,7 @@ export default {
},
'music.err_transport': 'Transport nicht verbunden',
'music.err_playback': 'Wiedergabefehler',
+ 'music.err_transcode': 'Formatumwandlung fehlgeschlagen',
'music.player_play': 'Abspielen',
'music.player_pause': 'Pause',
'music.player_prev': 'Vorheriger',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
index 4c0db39..db7d048 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -188,6 +188,7 @@ export default {
},
'music.err_transport': 'Transport not connected',
'music.err_playback': 'Playback error',
+ 'music.err_transcode': 'Format conversion failed',
'music.player_play': 'Play',
'music.player_pause': 'Pause',
'music.player_prev': 'Previous',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
index 2d795fc..8f29908 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -188,6 +188,7 @@ export default {
},
'music.err_transport': 'Transporte no conectado',
'music.err_playback': 'Error de reproducción',
+ 'music.err_transcode': 'Error al convertir el formato',
'music.player_play': 'Reproducir',
'music.player_pause': 'Pausa',
'music.player_prev': 'Anterior',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
index 0ce4c53..5d83517 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -189,6 +189,7 @@ export default {
},
'music.err_transport': 'Transport non connecté',
'music.err_playback': 'Erreur de lecture',
+ 'music.err_transcode': 'Échec de la conversion du format',
'music.player_play': 'Lecture',
'music.player_pause': 'Pause',
'music.player_prev': 'Précédent',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
index 2ddea64..fb88cbe 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -189,6 +189,7 @@ export default {
},
'music.err_transport': 'Trasporto non connesso',
'music.err_playback': 'Errore di riproduzione',
+ 'music.err_transcode': 'Conversione del formato non riuscita',
'music.player_play': 'Riproduci',
'music.player_pause': 'Pausa',
'music.player_prev': 'Precedente',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
index 82a8fc2..84e9eb5 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -186,6 +186,7 @@ export default {
},
'music.err_transport': 'トランスポートが接続されていません',
'music.err_playback': '再生エラー',
+ 'music.err_transcode': 'フォーマット変換に失敗しました',
'music.player_play': '再生',
'music.player_pause': '一時停止',
'music.player_prev': '前へ',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
index be0184a..06097e6 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -190,6 +190,7 @@ export default {
},
'music.err_transport': 'Transport niet verbonden',
'music.err_playback': 'Afspeelfout',
+ 'music.err_transcode': 'Formaatconversie mislukt',
'music.player_play': 'Afspelen',
'music.player_pause': 'Pauzeren',
'music.player_prev': 'Vorige',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
index 0738cf5..e24fd1e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -199,6 +199,7 @@ export default {
},
'music.err_transport': 'Transport niepołączony',
'music.err_playback': 'Błąd odtwarzania',
+ 'music.err_transcode': 'Konwersja formatu nie powiodła się',
'music.player_play': 'Odtwórz',
'music.player_pause': 'Pauza',
'music.player_prev': 'Poprzedni',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index 1874a5b..1a3069a 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -190,6 +190,7 @@ export default {
},
'music.err_transport': 'Transporte não conectado',
'music.err_playback': 'Erro de reprodução',
+ 'music.err_transcode': 'Falha na conversão de formato',
'music.player_play': 'Reproduzir',
'music.player_pause': 'Pausar',
'music.player_prev': 'Anterior',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index 08fd940..236747e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -183,6 +183,7 @@ export default {
},
'music.err_transport': '传输未连接',
'music.err_playback': '播放错误',
+ 'music.err_transcode': '格式转换失败',
'music.player_play': '播放',
'music.player_pause': '暂停',
'music.player_prev': '上一首',