#include #include "synthframe.h" #include "synthapp.h" wxDECLARE_APP(SynthApp); SynthFrame::SynthFrame() : wxFrame(NULL, wxID_ANY, "Hello World") { wxMenu *menuFile = new wxMenu; menuFile->Append(wxID_EXIT); wxMenu *menuHelp = new wxMenu; menuHelp->Append(wxID_ABOUT); wxMenuBar *menuBar = new wxMenuBar; menuBar->Append(menuFile, "&File"); menuBar->Append(menuHelp, "&Help"); SetMenuBar(menuBar); CreateStatusBar(); SetStatusText("Welcome to wxWidgets!"); wxPanel* panel = new wxPanel(this); wxBoxSizer* sizer = new wxBoxSizer(wxHORIZONTAL); panel->SetSizer(sizer); 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->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)); sizer->Add(new wxSlider(panel, FLT_RELEASE_SLIDER, 63, 0, 127, wxDefaultPosition, wxDefaultSize, wxSL_VERTICAL | wxSL_INVERSE)); Bind(wxEVT_MENU, &SynthFrame::OnAbout, this, wxID_ABOUT); Bind(wxEVT_MENU, &SynthFrame::OnExit, this, wxID_EXIT); } void SynthFrame::OnExit(wxCommandEvent& event) { Close(true); } void SynthFrame::OnAbout(wxCommandEvent& event) { wxMessageBox("This is a wxWidgets Hello World example", "About Hello World", wxOK | wxICON_INFORMATION); } void SynthFrame::OnAmpAttackScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); // event.GetPosition() } void SynthFrame::OnAmpDecayScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } void SynthFrame::OnAmpSustainScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } void SynthFrame::OnAmpReleaseScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } void SynthFrame::OnFltAttackScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } void SynthFrame::OnFltDecayScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } void SynthFrame::OnFltSustainScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } void SynthFrame::OnFltReleaseScroll(wxScrollEvent& event) { SynthApp& app = wxGetApp(); } wxBEGIN_EVENT_TABLE(SynthFrame, wxFrame) 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) EVT_COMMAND_SCROLL(SynthFrame::AMP_RELEASE_SLIDER, SynthFrame::OnAmpReleaseScroll) EVT_COMMAND_SCROLL(SynthFrame::FLT_ATTACK_SLIDER, SynthFrame::OnFltAttackScroll) EVT_COMMAND_SCROLL(SynthFrame::FLT_DECAY_SLIDER, SynthFrame::OnFltDecayScroll) EVT_COMMAND_SCROLL(SynthFrame::FLT_SUSTAIN_SLIDER, SynthFrame::OnFltSustainScroll) EVT_COMMAND_SCROLL(SynthFrame::FLT_RELEASE_SLIDER, SynthFrame::OnFltReleaseScroll) wxEND_EVENT_TABLE()