reorganization

This commit is contained in:
2025-09-30 16:56:14 +02:00
parent 304627b248
commit d867f12fcd
14 changed files with 413 additions and 80 deletions

View File

@ -56,47 +56,34 @@ export const ENGINE_CONTROLS: EffectConfig[] = [
export const EFFECTS: EffectConfig[] = [
{
id: 'reverb',
name: 'Reverb',
id: 'wavefolder',
name: 'Wavefolder',
bypassable: true,
parameters: [
{
id: 'reverbWetDry',
label: 'Reverb',
id: 'clipMode',
label: 'Mode',
min: 0,
max: 100,
max: 2,
default: 0,
step: 1,
unit: '%'
}
]
},
{
id: 'delay',
name: 'Ping Pong Delay',
parameters: [
{
id: 'delayTime',
label: 'Time',
min: 0,
max: 1000,
default: 250,
step: 10,
unit: 'ms'
unit: ''
},
{
id: 'delayFeedback',
label: 'Feedback',
min: 0,
max: 100,
default: 50,
step: 1,
unit: '%'
id: 'wavefolderDrive',
label: 'Drive',
min: 1,
max: 10,
default: 1,
step: 0.1,
unit: 'x'
}
]
},
{
id: 'bitcrush',
name: 'Bitcrush',
bypassable: true,
parameters: [
{
id: 'bitcrushDepth',
@ -119,28 +106,57 @@ export const EFFECTS: EffectConfig[] = [
]
},
{
id: 'clipmode',
name: 'Clip Mode',
id: 'delay',
name: 'Delay',
bypassable: true,
parameters: [
{
id: 'clipMode',
label: 'Mode',
id: 'delayTime',
label: 'Time',
min: 0,
max: 2,
max: 1000,
default: 250,
step: 10,
unit: 'ms'
},
{
id: 'delayFeedback',
label: 'Feedback',
min: 0,
max: 100,
default: 50,
step: 1,
unit: '%'
}
]
},
{
id: 'reverb',
name: 'Reverb',
bypassable: true,
parameters: [
{
id: 'reverbWetDry',
label: 'Amount',
min: 0,
max: 100,
default: 0,
step: 1,
unit: ''
unit: '%'
}
]
}
]
export function getDefaultEffectValues(): Record<string, number> {
const defaults: Record<string, number> = {}
export function getDefaultEffectValues(): Record<string, number | boolean> {
const defaults: Record<string, number | boolean> = {}
EFFECTS.forEach(effect => {
effect.parameters.forEach(param => {
defaults[param.id] = param.default
})
if (effect.bypassable) {
defaults[`${effect.id}Bypass`] = true
}
})
return defaults
}
@ -155,7 +171,7 @@ export function getDefaultEngineValues(): Record<string, number> {
return defaults
}
export const SAMPLE_RATES = [4000, 8000, 16000, 22050]
export const SAMPLE_RATES = [8000, 11025, 22050, 44100]
export function getSampleRateFromIndex(index: number): number {
return SAMPLE_RATES[index] || 8000