|
From: <pst...@us...> - 2008-04-08 04:35:06
|
Revision: 441
http://jazzplusplus.svn.sourceforge.net/jazzplusplus/?rev=441&view=rev
Author: pstieber
Date: 2008-04-07 21:34:59 -0700 (Mon, 07 Apr 2008)
Log Message:
-----------
1. Changed tScaleType to TEScaleType.
2. Added some menu entry update handlers.
Modified Paths:
--------------
trunk/jazz/src/Harmony.cpp
trunk/jazz/src/Harmony.h
trunk/jazz/src/HarmonyP.cpp
trunk/jazz/src/HarmonyP.h
Modified: trunk/jazz/src/Harmony.cpp
===================================================================
--- trunk/jazz/src/Harmony.cpp 2008-04-07 14:01:49 UTC (rev 440)
+++ trunk/jazz/src/Harmony.cpp 2008-04-08 04:34:59 UTC (rev 441)
@@ -481,6 +481,8 @@
public:
+ static TEScaleType GetScaleType();
+
HBCanvas(wxFrame* pParent, int x, int y, int w, int h);
virtual ~HBCanvas();
@@ -508,6 +510,8 @@
void ToggleHaunschildLayout();
+ bool IsUsingHaunschildLayout() const;
+
void FileLoad();
void FileSaveAs();
@@ -543,11 +547,11 @@
void SetMarker(int MenuId, wxToolBar* pToolBar);
- void SetScaleType(int MenuId, tScaleType ScaleType, wxToolBar* pToolBar);
+ void SetScaleType(int MenuId, TEScaleType ScaleType, wxToolBar* pToolBar);
private:
- static tScaleType mScaleType;
+ static TEScaleType mScaleType;
static int transpose_res;
@@ -594,6 +598,12 @@
DECLARE_EVENT_TABLE()
};
+inline
+bool HBCanvas::IsUsingHaunschildLayout() const
+{
+ return mHaunschildLayout;
+}
+
//*****************************************************************************
// Description:
// This is the harmony browser match markers class definition.
@@ -712,13 +722,20 @@
//*****************************************************************************
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
-tScaleType HBCanvas::mScaleType = Major;
+TEScaleType HBCanvas::mScaleType = Major;
const int HBCanvas::ScFa = 50;
int HBCanvas::transpose_res = 8;
int HBCanvas::analyze_res = 8;
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
+TEScaleType HBCanvas::GetScaleType()
+{
+ return mScaleType;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(HBCanvas, wxScrolledWindow)
EVT_MOUSE_EVENTS(HBCanvas::OnMouseEvent)
@@ -1291,7 +1308,7 @@
//-----------------------------------------------------------------------------
void HBCanvas::SetScaleType(
int MenuId,
- tScaleType ScaleType,
+ TEScaleType ScaleType,
wxToolBar* pToolBar)
{
mScaleType = ScaleType;
@@ -1836,10 +1853,19 @@
//-----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(HBFrame, wxFrame)
+
+ EVT_UPDATE_UI(MEN_MAJSCALE, HBFrame::OnUpdateMajorScale)
EVT_MENU(MEN_MAJSCALE, HBFrame::OnToolBarSelect)
+
+ EVT_UPDATE_UI(MEN_HARSCALE, HBFrame::OnUpdateHarmonicMinorScale)
EVT_MENU(MEN_HARSCALE, HBFrame::OnToolBarSelect)
+
+ EVT_UPDATE_UI(MEN_MELSCALE, HBFrame::OnUpdateMelodicMinorScale)
EVT_MENU(MEN_MELSCALE, HBFrame::OnToolBarSelect)
+
+ EVT_UPDATE_UI(MEN_IONSCALE, HBFrame::OnUpdateIonicScale)
EVT_MENU(MEN_IONSCALE, HBFrame::OnToolBarSelect)
+
EVT_MENU(MEN_EQ4, HBFrame::OnToolBarSelect)
EVT_MENU(MEN_EQ3, HBFrame::OnToolBarSelect)
EVT_MENU(MEN_EQ2, HBFrame::OnToolBarSelect)
@@ -1859,6 +1885,7 @@
EVT_MENU(MEN_MIDI, HBFrame::OnSettingsMidi)
+ EVT_UPDATE_UI(MEN_MAJSCALE, HBFrame::OnUpdateHaunschildLayout)
EVT_MENU(MEN_HAUNSCH, HBFrame::OnSettingsHaunschild)
EVT_MENU(MEN_CLEARSEQ, HBFrame::OnActionClearSequence)
@@ -1899,13 +1926,17 @@
pSettingsMenu->Append(MEN_EDIT, "&Chord");
pSettingsMenu->Append(MEN_SETTINGS, "&Global");
pSettingsMenu->Append(MEN_MIDI, "&Midi");
- pSettingsMenu->Append(MEN_HAUNSCH, "&Haunschild Layout");
+ pSettingsMenu->Append(
+ MEN_HAUNSCH,
+ "&Haunschild Layout",
+ "Display using Haunschild Layout",
+ true);
wxMenu* pScaleMenu = new wxMenu;
- pScaleMenu->Append(MEN_MAJSCALE, "&Major");
- pScaleMenu->Append(MEN_HARSCALE, "&Harmonic Minor");
- pScaleMenu->Append(MEN_MELSCALE, "&Melodic Minor");
- pScaleMenu->Append(MEN_IONSCALE, "&Ionic");
+ pScaleMenu->Append(MEN_MAJSCALE, "&Major", "Use Major Scales", true);
+ pScaleMenu->Append(MEN_HARSCALE, "&Harmonic Minor", "Use Harmonic Minor Scales", true);
+ pScaleMenu->Append(MEN_MELSCALE, "&Melodic Minor", "Use Melodic Minor Scales", true);
+ pScaleMenu->Append(MEN_IONSCALE, "&Ionic", "Use Ionic Scales", true);
wxMenu* pShowMenu = new wxMenu;
pShowMenu->Append(MEN_EQ4, "&4 equal notes");
@@ -2018,6 +2049,34 @@
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
+void HBFrame::OnUpdateMajorScale(wxUpdateUIEvent& Event)
+{
+ Event.Check(HBCanvas::GetScaleType() == Major);
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void HBFrame::OnUpdateHarmonicMinorScale(wxUpdateUIEvent& Event)
+{
+ Event.Check(HBCanvas::GetScaleType() == Harmon);
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void HBFrame::OnUpdateMelodicMinorScale(wxUpdateUIEvent& Event)
+{
+ Event.Check(HBCanvas::GetScaleType() == Melod);
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void HBFrame::OnUpdateIonicScale(wxUpdateUIEvent& Event)
+{
+ Event.Check(HBCanvas::GetScaleType() == Ionb13);
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void HBFrame::OnToolBarSelect(wxCommandEvent& Event)
{
mpHbWindow->MenuCommand(
@@ -2048,6 +2107,13 @@
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
+void HBFrame::OnUpdateHaunschildLayout(wxUpdateUIEvent& Event)
+{
+ Event.Check(mpHbWindow->IsUsingHaunschildLayout());
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void HBFrame::OnSettingsHaunschild(wxCommandEvent& Event)
{
mpHbWindow->ToggleHaunschildLayout();
Modified: trunk/jazz/src/Harmony.h
===================================================================
--- trunk/jazz/src/Harmony.h 2008-04-07 14:01:49 UTC (rev 440)
+++ trunk/jazz/src/Harmony.h 2008-04-08 04:34:59 UTC (rev 441)
@@ -86,6 +86,11 @@
protected:
+ void OnUpdateMajorScale(wxUpdateUIEvent& Event);
+ void OnUpdateHarmonicMinorScale(wxUpdateUIEvent& Event);
+ void OnUpdateMelodicMinorScale(wxUpdateUIEvent& Event);
+ void OnUpdateIonicScale(wxUpdateUIEvent& Event);
+
void OnToolBarSelect(wxCommandEvent& Event);
void OnFileLoad(wxCommandEvent& Event);
@@ -96,6 +101,7 @@
void OnSettingsMidi(wxCommandEvent& Event);
+ void OnUpdateHaunschildLayout(wxUpdateUIEvent& Event);
void OnSettingsHaunschild(wxCommandEvent& Event);
void OnActionClearSequence(wxCommandEvent& Event);
Modified: trunk/jazz/src/HarmonyP.cpp
===================================================================
--- trunk/jazz/src/HarmonyP.cpp 2008-04-07 14:01:49 UTC (rev 440)
+++ trunk/jazz/src/HarmonyP.cpp 2008-04-08 04:34:59 UTC (rev 441)
@@ -147,7 +147,9 @@
buf[i++] = '-';
}
if (c.Contains(2))
+ {
buf[i++] = '9';
+ }
if (sharp9)
{
@@ -312,7 +314,7 @@
};
-HBContext::HBContext(int sn, int cn, tScaleType st)
+HBContext::HBContext(int sn, int cn, TEScaleType st)
{
scale_type = st;
scale_nr = sn % 12;
@@ -454,7 +456,7 @@
int sc;
is >> sc >> a.scale_nr >> a.chord_nr >> a.seq_nr >> a.chord_key;
is >> a.chord >> a.scale;
- a.scale_type = (tScaleType)sc;
+ a.scale_type = (TEScaleType)sc;
return is;
}
@@ -470,7 +472,7 @@
HBContextIterator::HBContextIterator()
: match(def_match)
{
- context.scale_type = (tScaleType)0;
+ context.scale_type = (TEScaleType)0;
context.scale_nr = 0;
context.chord_nr = -1;
i_seq = n_seq = 0;
@@ -480,7 +482,7 @@
HBContextIterator::HBContextIterator(HBMatch &m)
: match(m)
{
- context.scale_type = (tScaleType)0;
+ context.scale_type = (TEScaleType)0;
context.scale_nr = 0;
context.chord_nr = -1;
i_seq = n_seq = 0;
@@ -495,7 +497,7 @@
{
if (scale_type != nScaleTypes && context.scale_type != scale_type)
{
- context.scale_type = (tScaleType)((int)context.scale_type + 1);
+ context.scale_type = (TEScaleType)((int)context.scale_type + 1);
continue;
}
@@ -512,7 +514,7 @@
context.scale_nr ++;
}
context.scale_nr = 0;
- context.scale_type = (tScaleType)((int)context.scale_type + 1);
+ context.scale_type = (TEScaleType)((int)context.scale_type + 1);
}
while (i_seq < n_seq)
Modified: trunk/jazz/src/HarmonyP.h
===================================================================
--- trunk/jazz/src/HarmonyP.h 2008-04-07 14:01:49 UTC (rev 440)
+++ trunk/jazz/src/HarmonyP.h 2008-04-08 04:34:59 UTC (rev 441)
@@ -29,7 +29,14 @@
// HBChord
// ------------------------------------------------------------------
-enum tScaleType { Major, Harmon, Melod, Ionb13, nScaleTypes };
+enum TEScaleType
+{
+ Major,
+ Harmon,
+ Melod,
+ Ionb13,
+ nScaleTypes
+};
class HBChord
@@ -257,7 +264,7 @@
public:
- HBContext(int sn, int cn = 0, tScaleType st = Major);
+ HBContext(int sn, int cn = 0, TEScaleType st = Major);
HBContext();
@@ -301,7 +308,7 @@
return scale_nr;
}
- tScaleType ScaleType() const
+ TEScaleType ScaleType() const
{
return scale_type;
}
@@ -352,7 +359,7 @@
int MakeChordKey() const;
- tScaleType scale_type;
+ TEScaleType scale_type;
int scale_nr;
@@ -426,7 +433,7 @@
n_seq = n;
}
- void SetScaleType(tScaleType st)
+ void SetScaleType(TEScaleType st)
{
scale_type = st;
}
@@ -455,7 +462,7 @@
int i_seq, n_seq;
- tScaleType scale_type;
+ TEScaleType scale_type;
};
#endif // !defined(JZ_HARMONYP_H)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|