mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-30 09:45:35 +00:00
AD display text
This commit is contained in:
parent
2e824d26b8
commit
1509e8a327
@ -11,6 +11,7 @@ void AD::Init(DaisyPatch* m_patch,
|
||||
env.SetCurve(0.0f);
|
||||
attack_param.Init(attack_knob, .01f, 3.0f, Parameter::EXPONENTIAL);
|
||||
decay_param.Init(decay_knob, .01f, 3.0f, Parameter::EXPONENTIAL);
|
||||
curve_param.Init(attack_knob, -10.f, 10.0f, Parameter::LINEAR);
|
||||
}
|
||||
|
||||
void AD::Process(DacHandle::Channel chn,
|
||||
@ -19,8 +20,10 @@ void AD::Process(DacHandle::Channel chn,
|
||||
env.Trigger();
|
||||
}
|
||||
|
||||
env.SetTime(ADENV_SEG_ATTACK, attack_param.Process());
|
||||
env.SetTime(ADENV_SEG_DECAY, decay_param.Process());
|
||||
attack = attack_param.Process();
|
||||
decay = decay_param.Process();
|
||||
env.SetTime(ADENV_SEG_ATTACK, attack);
|
||||
env.SetTime(ADENV_SEG_DECAY, decay);
|
||||
|
||||
sig = env.Process();
|
||||
patch->seed.dac.WriteValue(chn,
|
||||
@ -31,6 +34,18 @@ float AD::GetSignal() {
|
||||
return sig;
|
||||
}
|
||||
|
||||
float AD::GetAttack() {
|
||||
return attack;
|
||||
}
|
||||
|
||||
float AD::GetDecay() {
|
||||
return decay;
|
||||
}
|
||||
|
||||
float AD::GetCurve() {
|
||||
return curve;
|
||||
}
|
||||
|
||||
ADDroplet::ADDroplet(DaisyPatch* m_patch,
|
||||
DropletState m_state,
|
||||
float sample_rate) :
|
||||
@ -90,5 +105,48 @@ void ADDroplet::Process(AudioHandle::InputBuffer in, AudioHandle::OutputBuffer o
|
||||
}
|
||||
|
||||
void ADDroplet::Draw() {
|
||||
WriteString(Patch(),
|
||||
GetScreenMin(),
|
||||
10,
|
||||
Font_6x8,
|
||||
"A: " +
|
||||
std::to_string(static_cast<uint32_t>(1000*ad[0].GetAttack())) +
|
||||
"ms");
|
||||
WriteString(Patch(),
|
||||
GetScreenMin(),
|
||||
20,
|
||||
Font_6x8,
|
||||
"D: " +
|
||||
std::to_string(static_cast<uint32_t>(1000*ad[0].GetDecay())) +
|
||||
"ms");
|
||||
WriteString(Patch(),
|
||||
GetScreenMin(),
|
||||
30,
|
||||
Font_6x8,
|
||||
"C: " +
|
||||
std::to_string(static_cast<uint32_t>(1000*ad[0].GetCurve())));
|
||||
if(GetState() == DropletState::kFull) {
|
||||
int mid = (GetScreenMax() - GetScreenMin())/2;
|
||||
WriteString(Patch(),
|
||||
mid,
|
||||
10,
|
||||
Font_6x8,
|
||||
"A: " +
|
||||
std::to_string(static_cast<uint32_t>(1000*ad[1].GetAttack())) +
|
||||
"ms");
|
||||
WriteString(Patch(),
|
||||
mid,
|
||||
20,
|
||||
Font_6x8,
|
||||
"D: " +
|
||||
std::to_string(static_cast<uint32_t>(1000*ad[1].GetDecay())) +
|
||||
"ms");
|
||||
WriteString(Patch(),
|
||||
mid,
|
||||
30,
|
||||
Font_6x8,
|
||||
"C: " +
|
||||
std::to_string(static_cast<uint32_t>(1000*ad[1].GetCurve())));
|
||||
}
|
||||
DrawName("AD");
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ using namespace daisysp;
|
||||
class AD {
|
||||
private:
|
||||
AdEnv env;
|
||||
float attack, decay, curve = 0;
|
||||
Parameter attack_param;
|
||||
Parameter decay_param;
|
||||
Parameter curve_param;
|
||||
@ -22,13 +23,16 @@ private:
|
||||
DaisyPatch* patch;
|
||||
public:
|
||||
void Init(DaisyPatch* m_patch,
|
||||
float samplerate,
|
||||
AnalogControl attackKnob,
|
||||
AnalogControl decaynob);
|
||||
float sample_rate,
|
||||
AnalogControl attack_knob,
|
||||
AnalogControl decay_knob);
|
||||
|
||||
void Process(DacHandle::Channel chn, DaisyPatch::GateInput gate);
|
||||
|
||||
float GetSignal();
|
||||
float GetAttack();
|
||||
float GetDecay();
|
||||
float GetCurve();
|
||||
};
|
||||
|
||||
class ADDroplet: public Droplet {
|
||||
|
Loading…
x
Reference in New Issue
Block a user