|
From: <pst...@us...> - 2008-04-06 01:48:10
|
Revision: 404
http://jazzplusplus.svn.sourceforge.net/jazzplusplus/?rev=404&view=rev
Author: pstieber
Date: 2008-04-05 18:48:08 -0700 (Sat, 05 Apr 2008)
Log Message:
-----------
Got toggling the metronome in the track frame working.
Modified Paths:
--------------
trunk/jazz/src/Metronome.cpp
trunk/jazz/src/Metronome.h
trunk/jazz/src/Player.cpp
trunk/jazz/src/Project.cpp
trunk/jazz/src/Project.h
trunk/jazz/src/Resources.h
trunk/jazz/src/Song.cpp
trunk/jazz/src/Song.h
trunk/jazz/src/TrackFrame.cpp
trunk/jazz/src/TrackFrame.h
Modified: trunk/jazz/src/Metronome.cpp
===================================================================
--- trunk/jazz/src/Metronome.cpp 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Metronome.cpp 2008-04-06 01:48:08 UTC (rev 404)
@@ -27,31 +27,45 @@
#include "Globals.h"
#include "Events.h"
-tMetronomeInfo::tMetronomeInfo()
- : KeyAcc(36),
- KeyNorm(37),
- Veloc(127),
- IsOn(0),
- IsAccented(1)
+JZMetronomeInfo::JZMetronomeInfo()
+ : mKeyNormal(37),
+ mKeyAccented(36),
+ mVelocity(127),
+ mIsOn(false),
+ mIsAccented(true)
{
}
-tKeyOn* tMetronomeInfo::Normal(int clock)
+void JZMetronomeInfo::ReadFromConfiguration()
{
+ mIsAccented = (gpConfig->GetValue(C_MetroIsAccented) != 0);
+ mVelocity = gpConfig->GetValue(C_MetroVelocity);
+ mKeyNormal = gpConfig->GetValue(C_MetroNormalClick);
+ mKeyAccented = gpConfig->GetValue(C_MetroAccentedClick);
+}
+
+void JZMetronomeInfo::ToggleIsOn()
+{
+ mIsOn = !mIsOn;
+}
+
+tKeyOn* JZMetronomeInfo::CreateNormalEvent(int Clock) const
+{
return new tKeyOn(
- clock,
+ Clock,
gpConfig->GetValue(C_DrumChannel) - 1,
- KeyNorm,
- Veloc,
+ mKeyNormal,
+ mVelocity,
15);
}
-tKeyOn* tMetronomeInfo::Accented(int clock)
+tKeyOn* JZMetronomeInfo::CreateAccentedEvent(int Clock) const
{
return new tKeyOn(
- clock,
+ Clock,
gpConfig->GetValue(C_DrumChannel) - 1,
- KeyAcc,
- Veloc,
+ mKeyAccented,
+ mVelocity,
15);
}
+
Modified: trunk/jazz/src/Metronome.h
===================================================================
--- trunk/jazz/src/Metronome.h 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Metronome.h 2008-04-06 01:48:08 UTC (rev 404)
@@ -25,21 +25,49 @@
class tKeyOn;
-class tMetronomeInfo
+//*****************************************************************************
+//*****************************************************************************
+class JZMetronomeInfo
{
public:
- tMetronomeInfo();
+ JZMetronomeInfo();
- tKeyOn* Normal(int clock);
+ void ReadFromConfiguration();
- tKeyOn* Accented(int clock);
+ bool IsOn() const;
- unsigned char KeyAcc;
- unsigned char KeyNorm;
- unsigned char Veloc;
- int IsOn;
- int IsAccented;
+ bool IsAccented() const;
+
+ void ToggleIsOn();
+
+ tKeyOn* CreateNormalEvent(int Clock) const;
+
+ tKeyOn* CreateAccentedEvent(int Clock) const;
+
+ private:
+
+ unsigned char mKeyNormal;
+
+ unsigned char mKeyAccented;
+
+ unsigned char mVelocity;
+
+ bool mIsOn;
+
+ bool mIsAccented;
};
+inline
+bool JZMetronomeInfo::IsOn() const
+{
+ return mIsOn;
+}
+
+inline
+bool JZMetronomeInfo::IsAccented() const
+{
+ return mIsAccented;
+}
+
#endif // !defined(JZ_METRONOME_H)
Modified: trunk/jazz/src/Player.cpp
===================================================================
--- trunk/jazz/src/Player.cpp 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Player.cpp 2008-04-06 01:48:08 UTC (rev 404)
@@ -166,7 +166,7 @@
From,
mStopClock,
buf,
- &gpProject->mMetronomeInfo,
+ gpProject->GetMetronomeInfo(),
Delta,
Mode);
@@ -181,7 +181,7 @@
From,
From + Size,
buf,
- &gpProject->mMetronomeInfo,
+ gpProject->GetMetronomeInfo(),
Delta,
Mode);
}
Modified: trunk/jazz/src/Project.cpp
===================================================================
--- trunk/jazz/src/Project.cpp 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Project.cpp 2008-04-06 01:48:08 UTC (rev 404)
@@ -141,10 +141,7 @@
mNumBars = 0;
- mMetronomeInfo.IsAccented = mpConfig->GetValue(C_MetroIsAccented);
- mMetronomeInfo.Veloc = mpConfig->GetValue(C_MetroVelocity);
- mMetronomeInfo.KeyNorm = mpConfig->GetValue(C_MetroNormalClick);
- mMetronomeInfo.KeyAcc = mpConfig->GetValue(C_MetroAccentedClick);
+ mMetronomeInfo.ReadFromConfiguration();
if (mpConfig->StrValue(C_SynthType))
{
@@ -581,14 +578,34 @@
}
//-----------------------------------------------------------------------------
+// Description:
+// Returns a constant reference to the metronome.
//-----------------------------------------------------------------------------
-tMetronomeInfo JZProject::GetMetronome()
+const JZMetronomeInfo& JZProject::GetMetronomeInfo()
{
return mMetronomeInfo;
}
//-----------------------------------------------------------------------------
// Description:
+// Toggles the "is on" state of the metronome.
+//-----------------------------------------------------------------------------
+void JZProject::ToggleMetronome()
+{
+ mMetronomeInfo.ToggleIsOn();
+}
+
+//-----------------------------------------------------------------------------
+// Description:
+// Returns the "is on" state of the metronome.
+//-----------------------------------------------------------------------------
+bool JZProject::IsMetronomeOn() const
+{
+ return mMetronomeInfo.IsOn();
+}
+
+//-----------------------------------------------------------------------------
+// Description:
// Returns a constant pointer to the internal RecInfo member.
//-----------------------------------------------------------------------------
JZRecordingInfo* JZProject::GetRecInfo()
Modified: trunk/jazz/src/Project.h
===================================================================
--- trunk/jazz/src/Project.h 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Project.h 2008-04-06 01:48:08 UTC (rev 404)
@@ -67,12 +67,18 @@
// Not yet sure what this does
JZFilter* Filter;
- // Stores metrome information
- tMetronomeInfo mMetronomeInfo;
+ // Description:
+ // Returns a constant reference to the metronome.
+ const JZMetronomeInfo& GetMetronomeInfo();
- // Returns the internal pointer to the metronome
- tMetronomeInfo GetMetronome();
+ // Description:
+ // Toggles the "is on" state of the metronome.
+ void ToggleMetronome();
+ // Description:
+ // Returns the "is on" state of the metronome.
+ bool IsMetronomeOn() const;
+
// Number of bars
int mNumBars;
@@ -169,6 +175,9 @@
JZRecordingInfo* mpRecInfo;
+ // Stores metronome information.
+ JZMetronomeInfo mMetronomeInfo;
+
bool mChanged;
bool mIsPlaying;
Modified: trunk/jazz/src/Resources.h
===================================================================
--- trunk/jazz/src/Resources.h 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Resources.h 2008-04-06 01:48:08 UTC (rev 404)
@@ -45,7 +45,7 @@
#define ID_SNAP_16D wxID_HIGHEST + 11
#define ID_MIXER wxID_HIGHEST + 12
#define ID_PIANOWIN wxID_HIGHEST + 13
-#define ID_METRONOME_ON wxID_HIGHEST + 14
+#define ID_METRONOME_TOGGLE wxID_HIGHEST + 14
#define ID_PLAY wxID_HIGHEST + 15
#define ID_PLAY_LOOP wxID_HIGHEST + 16
Modified: trunk/jazz/src/Song.cpp
===================================================================
--- trunk/jazz/src/Song.cpp 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Song.cpp 2008-04-06 01:48:08 UTC (rev 404)
@@ -181,15 +181,17 @@
int FrClock,
int ToClock,
tEventArray *Destin,
- tMetronomeInfo *MetronomeInfo,
+ const JZMetronomeInfo& MetronomeInfo,
int delta,
int mode)
{
int i;
// Make metronome
- if (MetronomeInfo->IsOn)
- MakeMetronome( FrClock, ToClock, Destin, MetronomeInfo, delta );
+ if (MetronomeInfo.IsOn())
+ {
+ MakeMetronome(FrClock, ToClock, Destin, MetronomeInfo, delta);
+ }
// Find Solo-Tracks
int solo = 0;
@@ -305,7 +307,7 @@
int FrClock,
int ToClock,
tEventArray *Destin,
- tMetronomeInfo *MetronomeInfo,
+ const JZMetronomeInfo& MetronomeInfo,
int delta)
{
JZBarInfo BarInfo( this );
@@ -329,13 +331,13 @@
}
// Insert normal click always
- Destin->Put( MetronomeInfo->Normal(clk + delta) );
+ Destin->Put(MetronomeInfo.CreateNormalEvent(clk + delta));
// On a bar?
- if ( (count == 1) && (MetronomeInfo->IsAccented) )
+ if (count == 1 && MetronomeInfo.IsAccented())
{
// Insert accented click also
- Destin->Put( MetronomeInfo->Accented(clk + delta) );
+ Destin->Put(MetronomeInfo.CreateAccentedEvent(clk + delta));
}
clk += BarInfo.TicksPerBar / BarInfo.CountsPerBar;
Modified: trunk/jazz/src/Song.h
===================================================================
--- trunk/jazz/src/Song.h 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/Song.h 2008-04-06 01:48:08 UTC (rev 404)
@@ -27,7 +27,7 @@
#include "Configuration.h"
#include "Globals.h"
-class tMetronomeInfo;
+class JZMetronomeInfo;
class JZSong;
class JZBarInfo
@@ -64,7 +64,7 @@
int FrClock,
int ToClock,
tEventArray *Destin,
- tMetronomeInfo* MetronomeInfo,
+ const JZMetronomeInfo& MetronomeInfo,
int delta = 0);
public:
@@ -103,7 +103,7 @@
int FrClock,
int ToClock,
tEventArray *Destin,
- tMetronomeInfo* MetronomeInfo,
+ const JZMetronomeInfo& MetronomeInfo,
int DeltaClock = 0,
int mode = 0);
Modified: trunk/jazz/src/TrackFrame.cpp
===================================================================
--- trunk/jazz/src/TrackFrame.cpp 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/TrackFrame.cpp 2008-04-06 01:48:08 UTC (rev 404)
@@ -82,7 +82,7 @@
EVT_MENU(ID_PIANOWIN, JZTrackFrame::OnPianoWindow)
- EVT_MENU(ID_METRONOME_ON, JZTrackFrame::OnMetroOn)
+ EVT_MENU(ID_METRONOME_TOGGLE, JZTrackFrame::OnMetroOn)
EVT_MENU(wxID_ZOOM_IN, JZTrackFrame::OnZoomIn)
@@ -134,11 +134,6 @@
// "Piano",
// wxDefaultPosition,
// wxSize(640, 480));
-
- MetronomeInfo.IsAccented = gpConfig->GetValue(C_MetroIsAccented);
- MetronomeInfo.Veloc = gpConfig->GetValue(C_MetroVelocity);
- MetronomeInfo.KeyNorm = gpConfig->GetValue(C_MetroNormalClick);
- MetronomeInfo.KeyAcc = gpConfig->GetValue(C_MetroAccentedClick);
}
//-----------------------------------------------------------------------------
@@ -164,10 +159,10 @@
{ ID_MIXER, false, mixer_xpm, "mixer" },
{ ID_PIANOWIN, false, pianowin_xpm, "show piano window" },
{ JZToolBar::eToolBarSeparator },
- { ID_PLAY, false, play_xpm, "start play"},
- { ID_PLAY_LOOP, false, playloop_xpm, "loop play"},
- { ID_RECORD, false, record_xpm, "record"},
- { ID_METRONOME, true, metro_xpm, "metronome" },
+ { ID_PLAY, false, play_xpm, "start play"},
+ { ID_PLAY_LOOP, false, playloop_xpm, "loop play"},
+ { ID_RECORD, false, record_xpm, "record"},
+ { ID_METRONOME_TOGGLE, true, metro_xpm, "metronome" },
{ JZToolBar::eToolBarSeparator },
{ wxID_ZOOM_IN, false, zoomin_xpm, "zoom in" },
{ wxID_ZOOM_OUT, false, zoomout_xpm, "zoom out"},
@@ -517,7 +512,7 @@
//-----------------------------------------------------------------------------
void JZTrackFrame::OnMetroOn(wxCommandEvent& Event)
{
- MetronomeInfo.IsOn = !MetronomeInfo.IsOn;
+ gpProject->ToggleMetronome();
}
//-----------------------------------------------------------------------------
Modified: trunk/jazz/src/TrackFrame.h
===================================================================
--- trunk/jazz/src/TrackFrame.h 2008-04-06 01:46:32 UTC (rev 403)
+++ trunk/jazz/src/TrackFrame.h 2008-04-06 01:48:08 UTC (rev 404)
@@ -54,8 +54,6 @@
// Overridden tButtonLabelInterface finction.
virtual void ButtonLabelDisplay(const wxString& Text, bool IsButtonDown);
- tMetronomeInfo MetronomeInfo;
-
private:
void OnMetroOn(wxCommandEvent& Event);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|