From: <pst...@us...> - 2008-04-06 05:10:28
|
Revision: 417 http://jazzplusplus.svn.sourceforge.net/jazzplusplus/?rev=417&view=rev Author: pstieber Date: 2008-04-05 22:10:26 -0700 (Sat, 05 Apr 2008) Log Message: ----------- Started using the events generated by the knob control. Modified Paths: -------------- trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp trunk/jazz/src/Dialogs/MetronomeSettingsDialog.h Modified: trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp =================================================================== --- trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp 2008-04-06 05:09:36 UTC (rev 416) +++ trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp 2008-04-06 05:10:26 UTC (rev 417) @@ -26,8 +26,10 @@ #include "../Configuration.h" #include "../Globals.h" #include "../Knob.h" +#include "../Resources.h" #include <vector> +#include <sstream> using namespace std; @@ -35,18 +37,33 @@ //***************************************************************************** //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- +BEGIN_EVENT_TABLE(JZMetronomeSettingsDialog, wxDialog) + + EVT_KNOB_CHANGED(IDC_KB_VOLUME, JZMetronomeSettingsDialog::OnVolumeChange) + +END_EVENT_TABLE() + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- JZMetronomeSettingsDialog::JZMetronomeSettingsDialog( wxWindow* pParent, JZMetronomeInfo& MetronomeInfo) : wxDialog(pParent, wxID_ANY, wxString("Metronome Settings")), mMetronomeInfo(MetronomeInfo), - mpSynthesizerListbox(0), - mpStartListbox(0) + mpVelocityKnob(0), + mpVelocityValue(0), + mpAccentedCheckBox(0), + mpNormalListbox(0), + mpAccentedListbox(0) { - JZKnob* pKnob = new JZKnob(this, wxID_ANY, 100, 0, 128); + mpVelocityKnob = new JZKnob(this, IDC_KB_VOLUME, 100, 0, 127); - mpSynthesizerListbox = new wxListBox(this, wxID_ANY); + mpVelocityValue = new wxStaticText(this, wxID_ANY, "127"); + mpAccentedCheckBox = new wxCheckBox(this, wxID_ANY, "Use Accented Click"); + + mpNormalListbox = new wxListBox(this, wxID_ANY); + int Selection = 0; int Index = 0; for ( @@ -54,21 +71,21 @@ iPair != gSynthesizerTypes.end(); ++iPair, ++Index) { - mpSynthesizerListbox->Append(iPair->first.c_str()); + mpNormalListbox->Append(iPair->first.c_str()); if (strcmp(iPair->first.c_str(), gpConfig->StrValue(C_SynthType)) == 0) { Selection = Index; } } - mpSynthesizerListbox->SetSelection(Selection); + mpNormalListbox->SetSelection(Selection); - mpStartListbox = new wxListBox(this, wxID_ANY); + mpAccentedListbox = new wxListBox(this, wxID_ANY); - mpStartListbox->Append("Never"); - mpStartListbox->Append("Song Start"); - mpStartListbox->Append("Start Play"); + mpAccentedListbox->Append("Never"); + mpAccentedListbox->Append("Song Start"); + mpAccentedListbox->Append("Start Play"); - mpStartListbox->SetSelection(gpConfig->GetValue(C_SendSynthReset)); + mpAccentedListbox->SetSelection(gpConfig->GetValue(C_SendSynthReset)); wxButton* pOkButton = new wxButton(this, wxID_OK, "&OK"); wxButton* pCancelButton = new wxButton(this, wxID_CANCEL, "Cancel"); @@ -79,24 +96,34 @@ wxBoxSizer* pListControlSizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* pButtonSizer = new wxBoxSizer(wxHORIZONTAL); + pTopSizer->Add( + new wxStaticText(this, wxID_ANY, "Velocity"), + 0, + wxCENTER | wxALL, + 2); + + pTopSizer->Add(mpVelocityKnob, 0, wxCENTER | wxALL, 2); + + pTopSizer->Add(mpVelocityValue, 0, wxCENTER | wxALL, 2); + + pTopSizer->Add(mpAccentedCheckBox, 0, wxCENTER | wxALL, 2); + wxBoxSizer* pLeftSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer* pRightSizer = new wxBoxSizer(wxVERTICAL); - pLeftSizer->Add(pKnob, 0, wxALL, 2); - pLeftSizer->Add( - new wxStaticText(this, wxID_ANY, "Synthesizer Type"), + new wxStaticText(this, wxID_ANY, "Normal Click"), 0, wxALL, 2); - pLeftSizer->Add(mpSynthesizerListbox, 0, wxGROW | wxALL, 2); + pLeftSizer->Add(mpNormalListbox, 0, wxGROW | wxALL, 2); pRightSizer->Add( - new wxStaticText(this, wxID_ANY, "Send MIDI Reset"), + new wxStaticText(this, wxID_ANY, "Accented Click:"), 0, wxALL, 2); - pRightSizer->Add(mpStartListbox, 0, wxALL, 2); + pRightSizer->Add(mpAccentedListbox, 0, wxALL, 2); pListControlSizer->Add(pLeftSizer, 0, wxALL, 3); pListControlSizer->Add(pRightSizer, 0, wxALL, 3); @@ -115,3 +142,13 @@ pTopSizer->SetSizeHints(this); pTopSizer->Fit(this); } + +//----------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +void JZMetronomeSettingsDialog::OnVolumeChange(JZKnobEvent& Event) +{ + int Value = Event.GetValue(); + ostringstream Oss; + Oss << Value; + mpVelocityValue->SetLabel(Oss.str().c_str()); +} \ No newline at end of file Modified: trunk/jazz/src/Dialogs/MetronomeSettingsDialog.h =================================================================== --- trunk/jazz/src/Dialogs/MetronomeSettingsDialog.h 2008-04-06 05:09:36 UTC (rev 416) +++ trunk/jazz/src/Dialogs/MetronomeSettingsDialog.h 2008-04-06 05:10:26 UTC (rev 417) @@ -22,6 +22,8 @@ #define JZ_METRONOMESETTINGDIALOG_H class JZMetronomeInfo; +class JZKnob; +class JZKnobEvent; //***************************************************************************** //***************************************************************************** @@ -35,11 +37,23 @@ private: + void OnVolumeChange(JZKnobEvent& Event); + + private: + JZMetronomeInfo& mMetronomeInfo; - wxListBox* mpSynthesizerListbox; + JZKnob* mpVelocityKnob; - wxListBox* mpStartListbox; + wxStaticText* mpVelocityValue; + + wxCheckBox* mpAccentedCheckBox; + + wxListBox* mpNormalListbox; + + wxListBox* mpAccentedListbox; + + DECLARE_EVENT_TABLE(); }; #endif // !defined(JZ_METRONOMESETTINGDIALOG_H) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |