UNPKG

u-he-preset-randomizer

Version:

Create random u-he synth presets through randomization and merging of your existing presets.

35 lines (34 loc) 1.46 kB
/** * @file Synth configuration types and global rules. */ import type { SynthNames } from '../utils/detector.js'; export interface SpecialParameterHandling { /** Parameter ID pattern to match (uses string.includes() for matching) */ id: string; /** 'always' = never randomize, 'stable-mode' = only keep stable when stable mode is enabled */ keepStable: 'always' | 'stable-mode'; } export interface SynthConfig { /** Synth name this config applies to */ synthName: SynthNames; /** Special parameter handling rules for this synth */ specialParameters: SpecialParameterHandling[]; /** Default configuration values for this synth */ defaults?: { binary?: boolean; binaryTemplate?: boolean; }; } /** * Global special parameter handling that applies to all synths * * keepStable options: * - 'always': Parameter is NEVER randomized. Used for critical parameters like * binary pointers or internal flags that would break the preset if changed. * - 'stable-mode': Parameter is kept stable ONLY when 'Stable' randomization mode is selected. * In 'Balanced' or 'Creative' modes, these will be randomized. * Used for tuning, volume, or other sensitive but creative parameters. * * Note: Global rules are safely ignored for synths that don't have the matching parameters. */ export declare const globalSpecialParameters: SpecialParameterHandling[];