mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-10 04:30:25 +02:00
add ignored presets for butterchurn
This commit is contained in:
@@ -1104,6 +1104,7 @@
|
|||||||
"cyclePresets": "Cycle Presets",
|
"cyclePresets": "Cycle Presets",
|
||||||
"cycleTime": "Cycle Time (seconds)",
|
"cycleTime": "Cycle Time (seconds)",
|
||||||
"includeAllPresets": "Include All Presets",
|
"includeAllPresets": "Include All Presets",
|
||||||
|
"ignoredPresets": "Ignored Presets",
|
||||||
"selectedPresets": "Selected Presets",
|
"selectedPresets": "Selected Presets",
|
||||||
"randomizeNextPreset": "Randomize Next Preset",
|
"randomizeNextPreset": "Randomize Next Preset",
|
||||||
"blendTime": "Blend Time",
|
"blendTime": "Blend Time",
|
||||||
|
|||||||
+7
@@ -2022,6 +2022,13 @@ const ButterChurnCycleSettings = () => {
|
|||||||
onChange={(values) => updateProperty('selectedPresets', values)}
|
onChange={(values) => updateProperty('selectedPresets', values)}
|
||||||
value={visualizer.butterchurn.selectedPresets}
|
value={visualizer.butterchurn.selectedPresets}
|
||||||
/>
|
/>
|
||||||
|
<MultiSelect
|
||||||
|
data={presetOptions}
|
||||||
|
disabled={!visualizer.butterchurn.cyclePresets}
|
||||||
|
label={t('visualizer.ignoredPresets')}
|
||||||
|
onChange={(values) => updateProperty('ignoredPresets', values)}
|
||||||
|
value={visualizer.butterchurn.ignoredPresets}
|
||||||
|
/>
|
||||||
|
|
||||||
<Group grow>
|
<Group grow>
|
||||||
<VisualizerSlider
|
<VisualizerSlider
|
||||||
|
|||||||
@@ -179,12 +179,19 @@ const VisualizerInner = () => {
|
|||||||
const allPresetNames = Object.keys(presets);
|
const allPresetNames = Object.keys(presets);
|
||||||
|
|
||||||
// Get the list of presets to cycle through
|
// Get the list of presets to cycle through
|
||||||
const presetList = butterchurnSettings.includeAllPresets
|
let presetList = butterchurnSettings.includeAllPresets
|
||||||
? allPresetNames
|
? allPresetNames
|
||||||
: butterchurnSettings.selectedPresets.length > 0
|
: butterchurnSettings.selectedPresets.length > 0
|
||||||
? butterchurnSettings.selectedPresets.filter((name) => presets[name])
|
? butterchurnSettings.selectedPresets.filter((name) => presets[name])
|
||||||
: allPresetNames;
|
: allPresetNames;
|
||||||
|
|
||||||
|
// Filter out ignored presets
|
||||||
|
if (butterchurnSettings.ignoredPresets && butterchurnSettings.ignoredPresets.length > 0) {
|
||||||
|
presetList = presetList.filter(
|
||||||
|
(name) => !butterchurnSettings.ignoredPresets.includes(name),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (presetList.length === 0) return;
|
if (presetList.length === 0) return;
|
||||||
|
|
||||||
// Reset cycle timer when settings change
|
// Reset cycle timer when settings change
|
||||||
|
|||||||
@@ -320,6 +320,7 @@ const ButterchurnSettingsSchema = z.object({
|
|||||||
currentPreset: z.string().optional(),
|
currentPreset: z.string().optional(),
|
||||||
cyclePresets: z.boolean(),
|
cyclePresets: z.boolean(),
|
||||||
cycleTime: z.number().min(1).max(300),
|
cycleTime: z.number().min(1).max(300),
|
||||||
|
ignoredPresets: z.array(z.string()),
|
||||||
includeAllPresets: z.boolean(),
|
includeAllPresets: z.boolean(),
|
||||||
maxFPS: z.number().min(0),
|
maxFPS: z.number().min(0),
|
||||||
randomizeNextPreset: z.boolean(),
|
randomizeNextPreset: z.boolean(),
|
||||||
@@ -1480,6 +1481,7 @@ const initialState: SettingsState = {
|
|||||||
currentPreset: undefined,
|
currentPreset: undefined,
|
||||||
cyclePresets: true,
|
cyclePresets: true,
|
||||||
cycleTime: 30,
|
cycleTime: 30,
|
||||||
|
ignoredPresets: [],
|
||||||
includeAllPresets: true,
|
includeAllPresets: true,
|
||||||
maxFPS: 0,
|
maxFPS: 0,
|
||||||
randomizeNextPreset: true,
|
randomizeNextPreset: true,
|
||||||
|
|||||||
Reference in New Issue
Block a user