Skip to content

Commit

Permalink
fix filters
Browse files Browse the repository at this point in the history
  • Loading branch information
iljarotar committed Jan 20, 2025
1 parent b2494b8 commit cfad703
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
17 changes: 6 additions & 11 deletions examples/noise.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,16 @@ vol: 1
out: [n1]
filters:
- name: f1
low-cutoff:
val: 100
mod: [lfo1]
mod-amp: 99
high-cutoff:
val: 199
low-cutoff: { val: 100, mod: [lfo1], mod-amp: 99 }
high-cutoff: { val: 199 }

oscillators:
- name: lfo1
type: Sine
freq: {val: 0.2}
amp: {val: 1}
freq: { val: 0.2 }
amp: { val: 1 }

noises:
- name: n1
amp: {val: 0.1}
filters:
- f1
amp: { val: 0.1 }
filters: [f1]
11 changes: 8 additions & 3 deletions module/filter.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,15 @@ func (c *filterConfig) applyFilters(x float64) (float64, []filterInputs) {
}

func (f *Filter) limitParams() {
f.LowCutoff.Val = utils.Limit(f.LowCutoff.Val, cutoffLimits.min, cutoffLimits.max)
f.LowCutoff.ModAmp = utils.Limit(f.LowCutoff.ModAmp, cutoffLimits.min, cutoffLimits.max)
f.HighCutoff.Val = utils.Limit(f.HighCutoff.Val, f.LowCutoff.Val, cutoffLimits.max)
f.HighCutoff.Val = utils.Limit(f.HighCutoff.Val, cutoffLimits.min, cutoffLimits.max)
f.HighCutoff.ModAmp = utils.Limit(f.HighCutoff.ModAmp, cutoffLimits.min, cutoffLimits.max)

maxLowCutoff := cutoffLimits.max
if !isUnset(f.HighCutoff, cutoffLimits) {
maxLowCutoff = f.HighCutoff.Val
}
f.LowCutoff.Val = utils.Limit(f.LowCutoff.Val, cutoffLimits.min, maxLowCutoff)
f.LowCutoff.ModAmp = utils.Limit(f.LowCutoff.ModAmp, cutoffLimits.min, cutoffLimits.max)
}

func isUnset(p Input, lim limits) bool {
Expand Down

0 comments on commit cfad703

Please sign in to comment.