Rhythmic gate effect with programmable step sequencing.
More...
#include <gin_gateeffect.h>
Rhythmic gate effect with programmable step sequencing.
GateEffect creates rhythmic gating patterns by turning audio on/off in a programmable sequence. Each step can be independently set for left and right channels, allowing for complex rhythmic patterns and stereo effects.
Key Features:
- Programmable step sequencer (configurable length)
- Independent left/right channel patterns
- Configurable gate frequency (tempo)
- Attack and release envelope for smooth gating
- Wet/dry mix control
- Synced to note on/off events
Usage:
gate.
process(audioBuffer, noteOnSamplePos, noteOffSamplePos);
void setStep(int step, bool l, bool r)
Definition gin_gateeffect.h:144
GateEffect()
Definition gin_gateeffect.h:59
void setFrequency(float f)
Definition gin_gateeffect.h:139
void process(juce::AudioSampleBuffer &buffer, int noteOnSample, int noteOffSample)
Definition gin_gateeffect.h:85
void setMix(float m)
Definition gin_gateeffect.h:162
void setRelease(float seconds)
Definition gin_gateeffect.h:156
void setAttack(float seconds)
Definition gin_gateeffect.h:150
void setSampleRate(double sr)
Definition gin_gateeffect.h:67
void setLength(int n)
Definition gin_gateeffect.h:133
- See also
- AnalogADSR
◆ GateEffect()
| GateEffect::GateEffect |
( |
| ) |
|
◆ setSampleRate()
| void GateEffect::setSampleRate |
( |
double | sr | ) |
|
◆ reset()
| void GateEffect::reset |
( |
| ) |
|
◆ process()
| void GateEffect::process |
( |
juce::AudioSampleBuffer & | buffer, |
|
|
int | noteOnSample, |
|
|
int | noteOffSample ) |
References adsrL, adsrR, frequency, lastLOn, lastROn, mix, phase, sampleRate, stepsL, stepsR, and triggered.
◆ setLength()
| void GateEffect::setLength |
( |
int | n | ) |
|
◆ setFrequency()
| void GateEffect::setFrequency |
( |
float | f | ) |
|
◆ setStep()
| void GateEffect::setStep |
( |
int | step, |
|
|
bool | l, |
|
|
bool | r ) |
◆ setAttack()
| void GateEffect::setAttack |
( |
float | seconds | ) |
|
◆ setRelease()
| void GateEffect::setRelease |
( |
float | seconds | ) |
|
◆ setMix()
| void GateEffect::setMix |
( |
float | m | ) |
|
◆ sampleRate
| double GateEffect::sampleRate = 44100.0 |
|
protected |
◆ adsrL
◆ adsrR
◆ stepsL
| juce::Array<bool> GateEffect::stepsL |
|
protected |
◆ stepsR
| juce::Array<bool> GateEffect::stepsR |
|
protected |
◆ frequency
| float GateEffect::frequency = 0.0f |
|
protected |
◆ phase
| float GateEffect::phase = 0.0f |
|
protected |
◆ mix
| float GateEffect::mix = 1.0f |
|
protected |
◆ triggered
| bool GateEffect::triggered = false |
|
protected |
◆ lastLOn
| bool GateEffect::lastLOn = false |
|
protected |
◆ lastROn
| bool GateEffect::lastROn = false |
|
protected |
The documentation for this class was generated from the following file: