mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-29 17:35:33 +00:00
Converted droplets to use state checks
This commit is contained in:
parent
8b989b071b
commit
03207e0b92
@ -110,7 +110,7 @@ ADDroplet::ADDroplet(DaisyPatch* m_patch,
|
||||
ad[0].Init(Patch(),
|
||||
sample_rate,
|
||||
State());
|
||||
if (m_state == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
ad[1].Init(Patch(),
|
||||
sample_rate,
|
||||
State());
|
||||
@ -131,7 +131,7 @@ void ADDroplet::Control() {
|
||||
if (Patch()->encoder.Pressed()) {
|
||||
if (Patch()->encoder.TimeHeldMs() < 10) {
|
||||
ad[0].ToggleCurve();
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
ad[1].ToggleCurve();
|
||||
}
|
||||
}
|
||||
@ -141,17 +141,17 @@ void ADDroplet::Control() {
|
||||
void ADDroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer out, size_t size) {
|
||||
Patch()->ProcessAnalogControls();
|
||||
for(size_t i = 0; i < size; i++) {
|
||||
if (GetState() == DropletState::kRight) {
|
||||
if (IsRight()) {
|
||||
ad[0].Process(DacHandle::Channel::TWO, DaisyPatch::GATE_IN_2);
|
||||
} else {
|
||||
ad[0].Process(DacHandle::Channel::ONE, DaisyPatch::GATE_IN_1);
|
||||
}
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
ad[1].Process(DacHandle::Channel::TWO, DaisyPatch::GATE_IN_2);
|
||||
}
|
||||
int env_sel = 0;
|
||||
for (size_t chn = GetChannelMin(); chn < GetChannelMax(); chn++) {
|
||||
if(GetState() == DropletState::kFull && chn > 1) {
|
||||
if(IsFull() && chn > 1) {
|
||||
env_sel = 1;
|
||||
}
|
||||
out[chn][i] = in[chn][i] * ad[env_sel].GetSignal() *
|
||||
@ -188,7 +188,7 @@ void ADDroplet::Draw() {
|
||||
"Amp: " +
|
||||
FloatToString(ad[0].GetAmp(), 2));
|
||||
|
||||
if (GetState() != DropletState::kFull) {
|
||||
if (!IsFull()) {
|
||||
if (ad[0].GetMenu()) {
|
||||
DrawSolidRect(Patch(), GetScreenMin(), 30, GetScreenMin()+1, 49, true);
|
||||
} else {
|
||||
@ -211,7 +211,7 @@ void ADDroplet::UpdateStateCallback() {
|
||||
ad[0].Init(Patch(),
|
||||
sample_rate,
|
||||
State());
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
ad[1].Init(Patch(),
|
||||
sample_rate,
|
||||
State());
|
||||
|
@ -74,7 +74,7 @@ void LadderFilterDroplet::UpdateStateCallback() {}
|
||||
|
||||
void LadderFilterDroplet::SetControls() {
|
||||
AnalogControl filter_knob, res_knob;
|
||||
if (GetState() == DropletState::kRight) {
|
||||
if (IsRight()) {
|
||||
filter_knob = Patch()->controls[Patch()->CTRL_3];
|
||||
res_knob = Patch()->controls[Patch()->CTRL_4];
|
||||
} else {
|
||||
|
@ -56,7 +56,7 @@ void LFODroplet::Control() {
|
||||
Patch()->ProcessAnalogControls();
|
||||
Patch()->encoder.Debounce();
|
||||
lfo[0].UpdateWave(Patch()->encoder.Increment());
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
lfo[1].UpdateWave(Patch()->encoder.Increment());
|
||||
}
|
||||
}
|
||||
@ -67,19 +67,19 @@ void LFODroplet::Process(AudioHandle::InputBuffer in,
|
||||
Patch()->ProcessAnalogControls();
|
||||
|
||||
for(size_t i = 0; i < size; i++) {
|
||||
if (GetState() == DropletState::kRight) {
|
||||
if (IsRight()) {
|
||||
lfo[0].Process(DacHandle::Channel::TWO);
|
||||
} else {
|
||||
lfo[0].Process(DacHandle::Channel::ONE);
|
||||
}
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
lfo[1].Process(DacHandle::Channel::TWO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LFODroplet::Draw() {
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
WriteCenteredString(Patch(),
|
||||
(GetScreenMax()-GetScreenMin())/2,
|
||||
54,
|
||||
|
@ -20,7 +20,7 @@ void MixerDroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffe
|
||||
for (size_t chn = GetChannelMin(); chn < GetChannelMax(); chn++) {
|
||||
output += in[chn][i] * mix[chn].Process();
|
||||
}
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
output *= .25f;
|
||||
} else {
|
||||
output *= .5f;
|
||||
|
@ -31,7 +31,7 @@ void VCODroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer
|
||||
for (size_t i = 0; i < size; i++) {
|
||||
// Read Knobs
|
||||
freq = mtof(freqctrl.Process() + finectrl.Process());
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
if((size_t) wavectrl.Process() != last_wave_ctrl) {
|
||||
AdjustWaveShape((size_t)wavectrl.Process()-last_wave_ctrl);
|
||||
last_wave_ctrl = wavectrl.Process();
|
||||
@ -53,7 +53,7 @@ void VCODroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer
|
||||
|
||||
void VCODroplet::Draw() {
|
||||
SetWaveState(wave);
|
||||
if (GetState() == DropletState::kFull) {
|
||||
if (IsFull()) {
|
||||
WriteCenteredString(Patch(),
|
||||
(GetScreenMax()-GetScreenMin())/2,
|
||||
54,
|
||||
@ -127,28 +127,28 @@ void VCODroplet::UpdateStateCallback() {
|
||||
void VCODroplet::SetControls() {
|
||||
DaisyPatch::Ctrl freq, fine;
|
||||
switch (GetState()){
|
||||
default:
|
||||
case DropletState::kFull:
|
||||
wavectrl.Init(Patch()->controls[Patch()->CTRL_3],
|
||||
0.0,
|
||||
Oscillator::WAVE_LAST,
|
||||
Parameter::LINEAR);
|
||||
ampctrl.Init(Patch()->controls[Patch()->CTRL_4],
|
||||
0.0,
|
||||
0.5f,
|
||||
Parameter::LINEAR);
|
||||
freq = Patch()->CTRL_1;
|
||||
fine = Patch()->CTRL_2;
|
||||
SetWaveShape(wavectrl.Process());
|
||||
break;
|
||||
case DropletState::kLeft:
|
||||
freq = Patch()->CTRL_1;
|
||||
fine = Patch()->CTRL_2;
|
||||
break;
|
||||
case DropletState::kRight:
|
||||
freq = Patch()->CTRL_3;
|
||||
fine = Patch()->CTRL_4;
|
||||
break;
|
||||
default:
|
||||
case DropletState::kFull:
|
||||
wavectrl.Init(Patch()->controls[Patch()->CTRL_3],
|
||||
0.0,
|
||||
Oscillator::WAVE_LAST,
|
||||
Parameter::LINEAR);
|
||||
ampctrl.Init(Patch()->controls[Patch()->CTRL_4],
|
||||
0.0,
|
||||
0.5f,
|
||||
Parameter::LINEAR);
|
||||
freq = Patch()->CTRL_1;
|
||||
fine = Patch()->CTRL_2;
|
||||
SetWaveShape(wavectrl.Process());
|
||||
break;
|
||||
case DropletState::kLeft:
|
||||
freq = Patch()->CTRL_1;
|
||||
fine = Patch()->CTRL_2;
|
||||
break;
|
||||
case DropletState::kRight:
|
||||
freq = Patch()->CTRL_3;
|
||||
fine = Patch()->CTRL_4;
|
||||
break;
|
||||
}
|
||||
freqctrl.Init(Patch()->controls[freq], 10.0,
|
||||
110.0f, Parameter::LINEAR);
|
||||
|
Loading…
x
Reference in New Issue
Block a user