|
|
|
@ -1,5 +1,7 @@ |
|
|
|
|
#include <iostream> |
|
|
|
|
|
|
|
|
|
#include "synth/cc.h" |
|
|
|
|
|
|
|
|
|
#include "synthframe.h" |
|
|
|
|
#include "synthapp.h" |
|
|
|
|
|
|
|
|
@ -26,11 +28,14 @@ SynthFrame::SynthFrame() : wxFrame(NULL, wxID_ANY, "Hello World") { |
|
|
|
|
wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); |
|
|
|
|
panel->SetSizer(sizer); |
|
|
|
|
|
|
|
|
|
sizer->Add(new wxSlider(panel, FLT_FREQ_SLIDER, 127, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->Add(new wxSlider(panel, FLT_Q_SLIDER, 64, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->AddSpacer(20); |
|
|
|
|
sizer->Add(new wxSlider(panel, AMP_ATTACK_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->Add(new wxSlider(panel, AMP_DECAY_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->Add(new wxSlider(panel, AMP_SUSTAIN_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->Add(new wxSlider(panel, AMP_RELEASE_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
|
|
|
|
|
sizer->AddSpacer(20); |
|
|
|
|
sizer->Add(new wxSlider(panel, FLT_ATTACK_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->Add(new wxSlider(panel, FLT_DECAY_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
|
sizer->Add(new wxSlider(panel, FLT_SUSTAIN_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); |
|
|
|
@ -49,41 +54,61 @@ void SynthFrame::OnAbout(wxCommandEvent& event) { |
|
|
|
|
"About Hello World", wxOK | wxICON_INFORMATION); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void SynthFrame::OnFltFreqScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_FLT_FRQ, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnFltQScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_FLT_Q, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnAmpAttackScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
// event.GetPosition()
|
|
|
|
|
app.synth.control(0, CC_AMP_ATK, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnAmpDecayScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_AMP_DEC, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnAmpSustainScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_AMP_SUS, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnAmpReleaseScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_AMP_REL, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnFltAttackScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_FLT_ATK, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnFltDecayScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_FLT_DEC, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnFltSustainScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_FLT_SUS, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SynthFrame::OnFltReleaseScroll(wxScrollEvent& event) { |
|
|
|
|
SynthApp& app = wxGetApp(); |
|
|
|
|
app.synth.control(0, CC_FLT_REL, event.GetPosition()); |
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
wxBEGIN_EVENT_TABLE(SynthFrame, wxFrame) |
|
|
|
|
|
|
|
|
|
EVT_COMMAND_SCROLL(SynthFrame::FLT_FREQ_SLIDER, SynthFrame::OnFltFreqScroll) |
|
|
|
|
EVT_COMMAND_SCROLL(SynthFrame::FLT_Q_SLIDER, SynthFrame::OnFltQScroll) |
|
|
|
|
|
|
|
|
|
EVT_COMMAND_SCROLL(SynthFrame::AMP_ATTACK_SLIDER, SynthFrame::OnAmpAttackScroll) |
|
|
|
|
EVT_COMMAND_SCROLL(SynthFrame::AMP_DECAY_SLIDER, SynthFrame::OnAmpDecayScroll) |
|
|
|
|
EVT_COMMAND_SCROLL(SynthFrame::AMP_SUSTAIN_SLIDER, SynthFrame::OnAmpSustainScroll) |
|
|
|
|