feat(player): set right ctrl vol max to mpv's vol max if player==local (#2198)

This commit is contained in:
Simon Slamka
2026-07-16 08:43:43 +03:00
committed by GitHub
parent 5e79e385d9
commit ddd45ad5ba
9 changed files with 106 additions and 21 deletions
+4 -1
View File
@@ -7,6 +7,7 @@ import { useShallow } from 'zustand/react/shallow';
import { createWithEqualityFn } from 'zustand/traditional';
import { eventEmitter } from '/@/renderer/events/event-emitter';
import { resolveVolumeMax } from '/@/renderer/features/player/audio-player/utils/volume';
import { useRadioStore as useRadioPlayerStore } from '/@/renderer/features/radio/hooks/use-radio-player';
import { createSelectors } from '/@/renderer/lib/zustand';
import { useSettingsStore } from '/@/renderer/store/settings.store';
@@ -907,8 +908,10 @@ export const usePlayerStoreBase = createWithEqualityFn<PlayerState>()(
};
},
increaseVolume: (value: number) => {
const { mpvExtraParameters, type } = useSettingsStore.getState().playback;
const volumeMax = resolveVolumeMax(type, mpvExtraParameters);
set((state) => {
state.player.volume = Math.min(100, state.player.volume + value);
state.player.volume = Math.min(volumeMax, state.player.volume + value);
});
},
isFirstTrackInQueue: () => {
+7
View File
@@ -21,6 +21,7 @@ import {
PLAYLIST_TABLE_COLUMNS,
SONG_TABLE_COLUMNS,
} from '/@/renderer/components/item-list/item-table-list/default-columns';
import { resolveVolumeMax } from '/@/renderer/features/player/audio-player/utils/volume';
import { audiomotionanalyzerPresets } from '/@/renderer/features/visualizer/components/audiomotionanalyzer/presets';
import { AppRoute } from '/@/renderer/router/routes';
import { getEnvSettingsOverrides } from '/@/renderer/store/env-settings-overrides';
@@ -2638,6 +2639,12 @@ export const useGeneralSettings = () => useSettingsStore((state) => state.genera
export const usePlaybackType = () => useSettingsStore((state) => state.playback.type, shallow);
export const useVolumeMax = () =>
useSettingsStore(
(state) => resolveVolumeMax(state.playback.type, state.playback.mpvExtraParameters),
shallow,
);
export const usePlayButtonBehavior = () =>
useSettingsStore((state) => state.general.playButtonBehavior, shallow);