Skip to content

Commit 6b02de6

Browse files
Effects now have clone functions
1 parent 66a6dee commit 6b02de6

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

src/effects/BiquadFilter.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ export default class BiquadFilter extends Effect {
6969
this.effectBus.connect(this.filterNode);
7070
this.filterNode.connect(this.wetGainNode);
7171
}
72+
73+
clone(){
74+
return new BiquadFilter(this.type, this.frequency, this.Q, this.gain, this.detune);
75+
}
7276
}
7377

7478
BiquadFilter._initialize();

src/effects/Effect.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,9 @@ export default class Effect {
8787
this.inputNode.connect(this.dryGainNode);
8888
this._enabled = true;
8989
}
90+
91+
clone(){
92+
console.warn("Warning: attempted to clone an effect without an implemented clone function.");
93+
return null;
94+
}
9095
}

src/effects/HighPassFilter.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,9 @@ export default class HighPassFilter extends Effect {
3232
this.filterNode.connect(this.wetGainNode);
3333
}
3434

35+
clone(){
36+
return new HighPassFilter(this.frequency, this.Q);
37+
}
38+
3539

3640
}

src/effects/LowPassFilter.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,9 @@ export default class LowPassFilter extends Effect {
3232
this.filterNode.connect(this.wetGainNode);
3333
}
3434

35+
clone(){
36+
return new LowPassFilter(this.frequency, this.Q);
37+
}
38+
3539

3640
}

0 commit comments

Comments
 (0)