mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-21 22:15:40 +00:00
feat(playback): global speed with three strategies (#852)
* feat(playback): global speed with three strategies Add Settings → Audio and player-bar controls for global playback speed (speed with auto pitch correction as default, varispeed, manual pitch shift). Time-stretch runs on a background worker; Orbit sessions force 1.0× passthrough. * fix(playback): align seekbar, seek, and progress on content timeline Unify UI timebase across varispeed and preserve strategies: full-track duration, speed-scaled progress for DSP paths, and content-timeline seeks without varispeed scaling. Reset the sample counter after seek so clicks land correctly; restart playback on strategy/enable changes instead of fragile hot-switching. * fix(ui): anchor playback speed popover like volume controls Replace the centered EQ-style modal with a player-bar popover (outside click, Escape, reposition on scroll). Show compact controls in the bar and overflow menu; keep strategy hints and labels in Settings only. * docs(release): CHANGELOG and credits for playback speed (PR #852) * docs(changelog): add playback speed entry for PR #852 * fix(clippy): simplify raw_counter_samples branch for CI Collapse duplicate if branches flagged by clippy::if-same-then-else. * fix(ui): wheel on pitch slider adjusts pitch in speed popover In compact player-bar controls, scroll over the pitch row changes pitch; elsewhere in the panel changes speed. Stop propagation so overflow menu wheel does not tweak volume. * fix(playback): address PR #852 review and drop ineffective dynamic imports Translate playback-rate strings for de/fr/es/zh/nb/nl/ro; restamp sample counter on live preserve-path speed changes; use neutral rate atomics for radio progress; static-import playerStore in playListenSession (move preview volume sync to previewPlayerVolumeSync side-effect module). * fix(i18n): translate playback-rate strategy labels in all locales Replace leftover English Varispeed/Pitch strings in ru and other non-en settings blocks so popover strategy buttons and hints read natively. * fix(i18n): refine German varispeed label to "Tonhöhe folgt dem Tempo" --------- Co-authored-by: Psychotoxical <171614930+Psychotoxical@users.noreply.github.com>
This commit is contained in:
@@ -323,8 +323,24 @@ export const settings = {
|
||||
playerBarStarRating: 'Sterbeoordeling',
|
||||
playerBarFavorite: 'Favoriet (hart)',
|
||||
playerBarLastfmLove: 'Last.fm love',
|
||||
playerBarPlaybackRate: 'Afspeelsnelheid',
|
||||
playerBarEqualizer: 'Equalizer',
|
||||
playerBarMiniPlayer: 'Mini-speler',
|
||||
playbackRateTitle: 'Afspeelsnelheid',
|
||||
playbackRateEnabled: 'Afspeelsnelheid inschakelen',
|
||||
playbackRateEnabledDesc: 'Globale snelheid voor alle nummers. Niet van toepassing op radio en previews.',
|
||||
playbackRateStrategy: 'Strategie',
|
||||
playbackRateStrategySpeed: 'Snelheid',
|
||||
playbackRateStrategyVarispeed: 'Met toon',
|
||||
playbackRateStrategyPreserve: 'Toonhoogte',
|
||||
playbackRateSpeed: 'Snelheid',
|
||||
playbackRatePitch: 'Toonhoogte',
|
||||
playbackRateDerivedPitch: 'Toonhoogteverschuiving door snelheid: {{value}}',
|
||||
playbackRateAutoPitch: 'De toonhoogte wordt automatisch gecorrigeerd.',
|
||||
playbackRateHint: '« Snelheid » behoudt de natuurlijke toonhoogte. « Met toon » verandert de toonhoogte met de snelheid. « Toonhoogte » voegt een handmatige verschuiving toe. Meer CPU dan « Met toon ». Niet voor radio, previews of Orbit.',
|
||||
playbackRateNeutral: 'Bij 1,0× en zonder toonverschuiving is afspelen normaal.',
|
||||
playbackRateOrbitPaused: 'Niet actief tijdens Orbit-sessies — afspelen blijft 1,0× voor sync.',
|
||||
playbackRateOrbitPausedShort: 'Orbit: 1,0× voor sync.',
|
||||
advancedMode: 'Geavanceerd',
|
||||
advancedModeTooltip: 'Toon geavanceerde opties in alle instellingstabbladen. Bijdragen van de community die niet noodzakelijk de ontwerpfilosofie van de Psysonic-onderhouders weerspiegelen.',
|
||||
advancedBadge: 'Geavanceerd',
|
||||
|
||||
Reference in New Issue
Block a user