diff --git a/Cargo.lock b/Cargo.lock index 9a26616a..ef59d884 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 4 [[package]] name = "PMOMusic" -version = "0.3.42" +version = "0.3.44" dependencies = [ "axum 0.8.7", "console-subscriber", diff --git a/PMOMusic/Cargo.toml b/PMOMusic/Cargo.toml index 2e016542..693f6f52 100644 --- a/PMOMusic/Cargo.toml +++ b/PMOMusic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "PMOMusic" -version = "0.3.42" +version = "0.3.45" edition = "2024" [dependencies] diff --git a/pmoapp/webapp/src/components/pmocontrol/CurrentTrack.vue b/pmoapp/webapp/src/components/pmocontrol/CurrentTrack.vue index b74dd280..54ee6a2b 100644 --- a/pmoapp/webapp/src/components/pmocontrol/CurrentTrack.vue +++ b/pmoapp/webapp/src/components/pmocontrol/CurrentTrack.vue @@ -13,6 +13,7 @@ const props = defineProps<{ const { state } = useRenderer(toRef(props, "rendererId")); const uiStore = useUIStore(); const metadata = computed(() => state.value?.current_track); +const rendererName = computed(() => state.value?.friendly_name ?? props.rendererId); const isSeeking = ref(false); const isDragging = ref(false); const dragProgress = ref(0); @@ -149,7 +150,7 @@ function handleProgressBarMouseDown(event: MouseEvent) { await api.seekTo(props.rendererId, newPositionSeconds); } catch (error) { uiStore.notifyError( - `Impossible de seek: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible de changer la position: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); // En cas d'erreur, réinitialiser seekTargetMs.value = null; @@ -188,7 +189,7 @@ async function handleProgressBarClick(event: MouseEvent) { await api.seekTo(props.rendererId, newPositionSeconds); } catch (error) { uiStore.notifyError( - `Impossible de seek: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible de changer la position: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); // En cas d'erreur, réinitialiser seekTargetMs.value = null; @@ -251,7 +252,7 @@ function handleOverlayProgressBarTouchStart(event: TouchEvent) { await api.seekTo(props.rendererId, newPositionSeconds); } catch (error) { uiStore.notifyError( - `Impossible de seek: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible de changer la position: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); seekTargetMs.value = null; dragProgress.value = 0; diff --git a/pmoapp/webapp/src/components/pmocontrol/TransportControls.vue b/pmoapp/webapp/src/components/pmocontrol/TransportControls.vue index 5fbc29a7..4963a295 100644 --- a/pmoapp/webapp/src/components/pmocontrol/TransportControls.vue +++ b/pmoapp/webapp/src/components/pmocontrol/TransportControls.vue @@ -20,12 +20,14 @@ const isStopped = computed( state.value?.transport_state === "NO_MEDIA", ); +const rendererName = computed(() => state.value?.friendly_name ?? props.rendererId); + async function handlePlay() { try { await resumeOrPlayFromQueue(props.rendererId); } catch (error) { uiStore.notifyError( - `Impossible de démarrer la lecture: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible de démarrer la lecture: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); } } @@ -35,7 +37,7 @@ async function handlePause() { await pause(props.rendererId); } catch (error) { uiStore.notifyError( - `Impossible de mettre en pause: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible de mettre en pause: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); } } @@ -45,7 +47,7 @@ async function handleStop() { await stop(props.rendererId); } catch (error) { uiStore.notifyError( - `Impossible d'arrêter la lecture: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible d'arrêter la lecture: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); } } @@ -55,7 +57,7 @@ async function handleNext() { await next(props.rendererId); } catch (error) { uiStore.notifyError( - `Impossible de passer au morceau suivant: ${error instanceof Error ? error.message : "Erreur inconnue"}`, + `« ${rendererName.value} » — impossible de passer au morceau suivant: ${error instanceof Error ? error.message : "Erreur inconnue"}`, ); } } diff --git a/pmoapp/webapp/src/components/pmocontrol/VolumeControl.vue b/pmoapp/webapp/src/components/pmocontrol/VolumeControl.vue index 2a5a24b8..8205ecbf 100644 --- a/pmoapp/webapp/src/components/pmocontrol/VolumeControl.vue +++ b/pmoapp/webapp/src/components/pmocontrol/VolumeControl.vue @@ -1,5 +1,5 @@