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