diff --git a/CHANGELOG.md b/CHANGELOG.md index b0b2df9d..34cabcac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -131,6 +131,17 @@ A new chevron next to the queue title **collapses the Now Playing section and qu The currently playing row in the queue list is now indicated by **animated equalizer bars** to the left of the track title; the bars freeze in place when playback is paused. The previous small play icon next to the title is removed since the EQ bars carry the same signal more clearly. +### Shortcuts — Action Registry, Dynamic CLI Help, New Input Targets + +**By [@cucadmuh](https://github.com/cucadmuh), PR [#435](https://github.com/Psychotoxical/psysonic/pull/435)** + +Shortcut, keyboard, global-hotkey, mini-window and CLI inputs are now all routed through one TypeScript action registry — a single source of truth for what an action does, how it's labelled, and which input transports can fire it. CLI `--player help` is generated dynamically from the registry, so command coverage stays in sync with the action set automatically. + +Nine new input actions were added (requested by @zunoz on Discord): start search, start advanced search, toggle sidebar, mute, open / toggle equalizer, toggle repeat, open Now Playing, show lyrics, favorite current track. Help is bound to **F1** by default and hidden from the Settings input list; existing users get the F1 binding back-filled into their persisted keybindings on next launch. + +Translations for the new action labels follow in a separate i18n nachhol-PR (de, fr, nl, zh, nb, ru, es). + + ## Fixed - **Settings → Audio no longer blanks the app on macOS** *(Issue [#382](https://github.com/Psychotoxical/psysonic/issues/382), PR [#384](https://github.com/Psychotoxical/psysonic/pull/384), by [@Psychotoxical](https://github.com/Psychotoxical))*: Fixed a macOS-only crash where opening Settings → Audio could turn the whole app into a blank window. The Equalizer canvas now waits until it has valid layout dimensions before drawing, and redraws automatically once the section is visible. diff --git a/src/locales/de.ts b/src/locales/de.ts index b69a5aca..f1e3ea86 100644 --- a/src/locales/de.ts +++ b/src/locales/de.ts @@ -808,6 +808,16 @@ export const deTranslation = { shortcutFullscreenPlayer: 'Vollbild-Player', shortcutNativeFullscreen: 'Nativer Vollbildmodus', shortcutOpenMiniPlayer: 'Mini-Player öffnen', + shortcutStartSearch: 'Suche starten', + shortcutStartAdvancedSearch: 'Erweiterte Suche starten', + shortcutToggleSidebar: 'Seitenleiste umschalten', + shortcutMuteSound: 'Stumm schalten', + shortcutToggleEqualizer: 'Equalizer öffnen / umschalten', + shortcutToggleRepeat: 'Wiederholen umschalten', + shortcutOpenNowPlaying: '„Now Playing" öffnen', + shortcutShowLyrics: 'Songtexte anzeigen', + shortcutFavoriteCurrentTrack: 'Aktuellen Titel zu Favoriten hinzufügen', + shortcutOpenHelp: 'Hilfe', tabSystem: 'System', loggingTitle: 'Protokollierung', loggingModeDesc: 'Steuert die Ausführlichkeit der Backend-Protokolle im Terminal.', diff --git a/src/locales/es.ts b/src/locales/es.ts index 3d338986..7f16c9fe 100644 --- a/src/locales/es.ts +++ b/src/locales/es.ts @@ -831,6 +831,16 @@ export const esTranslation = { shortcutFullscreenPlayer: 'Reproductor pantalla completa', shortcutNativeFullscreen: 'Pantalla completa nativa', shortcutOpenMiniPlayer: 'Abrir mini reproductor', + shortcutStartSearch: 'Iniciar una búsqueda', + shortcutStartAdvancedSearch: 'Iniciar una búsqueda avanzada', + shortcutToggleSidebar: 'Alternar barra lateral', + shortcutMuteSound: 'Silenciar', + shortcutToggleEqualizer: 'Abrir / alternar ecualizador', + shortcutToggleRepeat: 'Alternar repetición', + shortcutOpenNowPlaying: 'Abrir "Reproduciendo ahora"', + shortcutShowLyrics: 'Mostrar letra', + shortcutFavoriteCurrentTrack: 'Añadir pista actual a favoritos', + shortcutOpenHelp: 'Ayuda', playbackTitle: 'Reproducción', replayGain: 'Replay Gain', replayGainDesc: 'Normalizar volumen de pistas usando metadatos ReplayGain', diff --git a/src/locales/fr.ts b/src/locales/fr.ts index 432715c8..2d5e3501 100644 --- a/src/locales/fr.ts +++ b/src/locales/fr.ts @@ -796,6 +796,16 @@ export const frTranslation = { shortcutFullscreenPlayer: 'Lecteur plein écran', shortcutNativeFullscreen: 'Plein écran natif', shortcutOpenMiniPlayer: 'Ouvrir le mini-lecteur', + shortcutStartSearch: 'Lancer une recherche', + shortcutStartAdvancedSearch: 'Lancer une recherche avancée', + shortcutToggleSidebar: 'Afficher / masquer la barre latérale', + shortcutMuteSound: 'Couper le son', + shortcutToggleEqualizer: 'Ouvrir / basculer l\'égaliseur', + shortcutToggleRepeat: 'Basculer la répétition', + shortcutOpenNowPlaying: 'Ouvrir « En cours »', + shortcutShowLyrics: 'Afficher les paroles', + shortcutFavoriteCurrentTrack: 'Ajouter la piste actuelle aux favoris', + shortcutOpenHelp: 'Aide', tabSystem: 'Système', loggingTitle: 'Journalisation', loggingModeDesc: 'Contrôle le niveau de verbosité des journaux backend dans le terminal.', diff --git a/src/locales/nb.ts b/src/locales/nb.ts index cc40080d..dc922265 100644 --- a/src/locales/nb.ts +++ b/src/locales/nb.ts @@ -825,6 +825,16 @@ export const nbTranslation = { shortcutFullscreenPlayer: 'Fullskjermsspiller', shortcutNativeFullscreen: 'Naturlig fullskjerm', shortcutOpenMiniPlayer: 'Åpne minispiller', + shortcutStartSearch: 'Start et søk', + shortcutStartAdvancedSearch: 'Start et avansert søk', + shortcutToggleSidebar: 'Veksle sidefelt', + shortcutMuteSound: 'Demp lyd', + shortcutToggleEqualizer: 'Åpne / veksle Equalizer', + shortcutToggleRepeat: 'Veksle gjenta', + shortcutOpenNowPlaying: 'Åpne "Spilles nå"', + shortcutShowLyrics: 'Vis sangtekst', + shortcutFavoriteCurrentTrack: 'Legg gjeldende spor til favoritter', + shortcutOpenHelp: 'Hjelp', playbackTitle: 'Avspilling', replayGain: 'Replay Gain', replayGainDesc: 'Normaliser sporvolumet ved hjelp av ReplayGain-metadata', diff --git a/src/locales/nl.ts b/src/locales/nl.ts index f205473c..54f82be7 100644 --- a/src/locales/nl.ts +++ b/src/locales/nl.ts @@ -795,6 +795,16 @@ export const nlTranslation = { shortcutFullscreenPlayer: 'Volledigschermspeler', shortcutNativeFullscreen: 'Systeemvolledig scherm', shortcutOpenMiniPlayer: 'Mini-speler openen', + shortcutStartSearch: 'Zoekopdracht starten', + shortcutStartAdvancedSearch: 'Geavanceerde zoekopdracht starten', + shortcutToggleSidebar: 'Zijbalk in-/uitschakelen', + shortcutMuteSound: 'Geluid dempen', + shortcutToggleEqualizer: 'Equalizer openen / schakelen', + shortcutToggleRepeat: 'Herhaling schakelen', + shortcutOpenNowPlaying: '"Nu speelt" openen', + shortcutShowLyrics: 'Songtekst tonen', + shortcutFavoriteCurrentTrack: 'Huidig nummer aan favorieten toevoegen', + shortcutOpenHelp: 'Help', tabSystem: 'Systeem', loggingTitle: 'Logboek', loggingModeDesc: 'Bepaalt de uitgebreidheid van backendlogs in de terminal.', diff --git a/src/locales/ru.ts b/src/locales/ru.ts index 23413b26..13f03449 100644 --- a/src/locales/ru.ts +++ b/src/locales/ru.ts @@ -877,6 +877,16 @@ export const ruTranslation = { shortcutFullscreenPlayer: 'Полноэкранный плеер', shortcutNativeFullscreen: 'Системный полный экран', shortcutOpenMiniPlayer: 'Открыть мини-плеер', + shortcutStartSearch: 'Начать поиск', + shortcutStartAdvancedSearch: 'Начать расширенный поиск', + shortcutToggleSidebar: 'Переключить боковую панель', + shortcutMuteSound: 'Без звука', + shortcutToggleEqualizer: 'Открыть / переключить эквалайзер', + shortcutToggleRepeat: 'Переключить повтор', + shortcutOpenNowPlaying: 'Открыть «Сейчас играет»', + shortcutShowLyrics: 'Показать текст песни', + shortcutFavoriteCurrentTrack: 'Добавить текущий трек в избранное', + shortcutOpenHelp: 'Справка', playbackTitle: 'Воспроизведение', replayGain: 'Replay Gain', replayGainDesc: 'Выравнивание громкости по метаданным ReplayGain', diff --git a/src/locales/zh.ts b/src/locales/zh.ts index b18a2de3..577602dd 100644 --- a/src/locales/zh.ts +++ b/src/locales/zh.ts @@ -820,6 +820,16 @@ export const zhTranslation = { shortcutFullscreenPlayer: '全屏播放器', shortcutNativeFullscreen: '原生全屏', shortcutOpenMiniPlayer: '打开迷你播放器', + shortcutStartSearch: '开始搜索', + shortcutStartAdvancedSearch: '开始高级搜索', + shortcutToggleSidebar: '切换侧边栏', + shortcutMuteSound: '静音', + shortcutToggleEqualizer: '打开 / 切换均衡器', + shortcutToggleRepeat: '切换循环', + shortcutOpenNowPlaying: '打开"正在播放"', + shortcutShowLyrics: '显示歌词', + shortcutFavoriteCurrentTrack: '将当前曲目添加到收藏', + shortcutOpenHelp: '帮助', playbackTitle: '播放', replayGain: '回放增益', replayGainDesc: '使用 ReplayGain 元数据标准化曲目音量', diff --git a/src/pages/Settings.tsx b/src/pages/Settings.tsx index 06233c18..d53089c4 100644 --- a/src/pages/Settings.tsx +++ b/src/pages/Settings.tsx @@ -205,6 +205,7 @@ const CONTRIBUTORS = [ 'UI refinements — sidebar discovery indicators, adaptive header, interaction polish (PR #397)', 'Queue: drag rows outside to remove with trash ghost (PR #420)', 'Tauri: modularize audio and lib command layers (PR #422)', + 'Shortcuts: action registry, dynamic CLI help, 9 new input targets + F1 help binding (PR #435)', ], }, {