Skip to content

Commit

Permalink
add slew limiter
Browse files Browse the repository at this point in the history
  • Loading branch information
felixroos committed Jun 28, 2024
1 parent fd74958 commit a88545b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
21 changes: 21 additions & 0 deletions packages/core/src/audiograph.js
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,26 @@ class Lag {
}
}

class Slew {
constructor() {
this.last = 0;
}

update(input, up, dn) {
const upStep = up * ISR;
const downStep = dn * ISR;

let delta = input - this.last;
if (delta > upStep) {
delta = upStep;
} else if (delta < -downStep) {
delta = -downStep;
}
this.last += delta;
return this.last;
}
}

/**
* Slide/portamento node
*/
Expand Down Expand Up @@ -838,6 +858,7 @@ export let NODE_CLASSES = {
Tri: TriOsc,
// Scope: Scope,
Slide: Slide,
Slew: Slew,
Lag: Lag,
Filter: Filter,
Fold: Fold,
Expand Down
8 changes: 8 additions & 0 deletions packages/core/src/graph.js
Original file line number Diff line number Diff line change
Expand Up @@ -292,6 +292,7 @@ export let saw = makeNode("Saw");
export let sine = makeNode("Sine");
export let tri = makeNode("Tri");
export let slide = makeNode("Slide");
export let slew = makeNode("Slew");
export let lag = makeNode("Lag");
export let filter = makeNode("Filter");
export let fold = makeNode("Fold");
Expand Down Expand Up @@ -523,6 +524,13 @@ export const NODE_SCHEMA = {
{ name: "rate", default: 1 },
],
},
Slew: {
ins: [
{ name: "in", default: 0 },
{ name: "up", default: 1 },
{ name: "dn", default: 1 },
],
},
Tri: {
ins: [{ name: "freq", default: 0 }],
},
Expand Down

0 comments on commit a88545b

Please sign in to comment.