|
From: <pst...@us...> - 2008-04-06 05:44:52
|
Revision: 419
http://jazzplusplus.svn.sourceforge.net/jazzplusplus/?rev=419&view=rev
Author: pstieber
Date: 2008-04-05 22:44:50 -0700 (Sat, 05 Apr 2008)
Log Message:
-----------
Started recording data from the metronome dialog.
Modified Paths:
--------------
trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp
trunk/jazz/src/Dialogs/MetronomeSettingsDialog.h
trunk/jazz/src/Metronome.cpp
trunk/jazz/src/Metronome.h
trunk/jazz/src/Project.cpp
trunk/jazz/src/Project.h
trunk/jazz/src/TrackFrame.cpp
Modified: trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp
===================================================================
--- trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp 2008-04-06 05:11:03 UTC (rev 418)
+++ trunk/jazz/src/Dialogs/MetronomeSettingsDialog.cpp 2008-04-06 05:44:50 UTC (rev 419)
@@ -145,10 +145,29 @@
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
+bool JZMetronomeSettingsDialog::TransferDataToWindow()
+{
+ mpVelocityKnob->SetValueWithEvent(mMetronomeInfo.GetVelocity());
+ mpAccentedCheckBox->SetValue(mMetronomeInfo.IsAccented());
+ return true;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+bool JZMetronomeSettingsDialog::TransferDataFromWindow()
+{
+ mMetronomeInfo.SetVelocity(static_cast<unsigned char>(
+ mpVelocityKnob->GetValue()));
+ mMetronomeInfo.SetIsAccented(mpAccentedCheckBox->GetValue());
+ return true;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
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:11:03 UTC (rev 418)
+++ trunk/jazz/src/Dialogs/MetronomeSettingsDialog.h 2008-04-06 05:44:50 UTC (rev 419)
@@ -37,6 +37,10 @@
private:
+ virtual bool TransferDataToWindow();
+
+ virtual bool TransferDataFromWindow();
+
void OnVolumeChange(JZKnobEvent& Event);
private:
Modified: trunk/jazz/src/Metronome.cpp
===================================================================
--- trunk/jazz/src/Metronome.cpp 2008-04-06 05:11:03 UTC (rev 418)
+++ trunk/jazz/src/Metronome.cpp 2008-04-06 05:44:50 UTC (rev 419)
@@ -27,6 +27,8 @@
#include "Globals.h"
#include "Events.h"
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
JZMetronomeInfo::JZMetronomeInfo()
: mKeyNormal(37),
mKeyAccented(36),
@@ -36,6 +38,42 @@
{
}
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+JZMetronomeInfo& JZMetronomeInfo::operator = (const JZMetronomeInfo& Rhs)
+{
+ if (this != &Rhs)
+ {
+ mKeyNormal = Rhs.mKeyNormal;
+ mKeyAccented = Rhs.mKeyAccented;
+ mVelocity = Rhs.mVelocity;
+ mIsOn = Rhs.mIsOn;
+ mIsAccented = Rhs.mIsAccented;
+ }
+ return *this;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+bool JZMetronomeInfo::operator == (const JZMetronomeInfo& Rhs) const
+{
+ return
+ mKeyNormal == Rhs.mKeyNormal &&
+ mKeyAccented == Rhs.mKeyAccented &&
+ mVelocity == Rhs.mVelocity &&
+ mIsOn == Rhs.mIsOn &&
+ mIsAccented == Rhs.mIsAccented;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+bool JZMetronomeInfo::operator != (const JZMetronomeInfo& Rhs) const
+{
+ return !operator == (Rhs);
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void JZMetronomeInfo::ReadFromConfiguration()
{
mIsAccented = (gpConfig->GetValue(C_MetroIsAccented) != 0);
@@ -44,11 +82,15 @@
mKeyAccented = gpConfig->GetValue(C_MetroAccentedClick);
}
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
void JZMetronomeInfo::ToggleIsOn()
{
mIsOn = !mIsOn;
}
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
tKeyOn* JZMetronomeInfo::CreateNormalEvent(int Clock) const
{
return new tKeyOn(
@@ -59,6 +101,8 @@
15);
}
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
tKeyOn* JZMetronomeInfo::CreateAccentedEvent(int Clock) const
{
return new tKeyOn(
@@ -69,3 +113,16 @@
15);
}
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZMetronomeInfo::SetVelocity(unsigned char Velocity)
+{
+ mVelocity = Velocity;
+}
+
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+void JZMetronomeInfo::SetIsAccented(bool IsAccented)
+{
+ mIsAccented = IsAccented;
+}
Modified: trunk/jazz/src/Metronome.h
===================================================================
--- trunk/jazz/src/Metronome.h 2008-04-06 05:11:03 UTC (rev 418)
+++ trunk/jazz/src/Metronome.h 2008-04-06 05:44:50 UTC (rev 419)
@@ -33,12 +33,24 @@
JZMetronomeInfo();
+ JZMetronomeInfo& operator = (const JZMetronomeInfo& Rhs);
+
+ bool operator == (const JZMetronomeInfo& Rhs) const;
+
+ bool operator != (const JZMetronomeInfo& Rhs) const;
+
void ReadFromConfiguration();
+ unsigned char GetVelocity() const;
+
+ void SetVelocity(unsigned char Velocity);
+
bool IsOn() const;
bool IsAccented() const;
+ void SetIsAccented(bool IsAccented);
+
void ToggleIsOn();
tKeyOn* CreateNormalEvent(int Clock) const;
@@ -59,6 +71,12 @@
};
inline
+unsigned char JZMetronomeInfo::GetVelocity() const
+{
+ return mVelocity;
+}
+
+inline
bool JZMetronomeInfo::IsOn() const
{
return mIsOn;
Modified: trunk/jazz/src/Project.cpp
===================================================================
--- trunk/jazz/src/Project.cpp 2008-04-06 05:11:03 UTC (rev 418)
+++ trunk/jazz/src/Project.cpp 2008-04-06 05:44:50 UTC (rev 419)
@@ -581,13 +581,22 @@
// Description:
// Returns a constant reference to the metronome.
//-----------------------------------------------------------------------------
-const JZMetronomeInfo& JZProject::GetMetronomeInfo()
+const JZMetronomeInfo& JZProject::GetMetronomeInfo() const
{
return mMetronomeInfo;
}
//-----------------------------------------------------------------------------
// Description:
+// Sets the metronome data.
+//-----------------------------------------------------------------------------
+void JZProject::SetMetronomeInfo(const JZMetronomeInfo& MetronomeInfo)
+{
+ mMetronomeInfo = MetronomeInfo;
+}
+
+//-----------------------------------------------------------------------------
+// Description:
// Toggles the "is on" state of the metronome.
//-----------------------------------------------------------------------------
void JZProject::ToggleMetronome()
Modified: trunk/jazz/src/Project.h
===================================================================
--- trunk/jazz/src/Project.h 2008-04-06 05:11:03 UTC (rev 418)
+++ trunk/jazz/src/Project.h 2008-04-06 05:44:50 UTC (rev 419)
@@ -69,9 +69,13 @@
// Description:
// Returns a constant reference to the metronome.
- const JZMetronomeInfo& GetMetronomeInfo();
+ const JZMetronomeInfo& GetMetronomeInfo() const;
// Description:
+ // Sets the metronome data.
+ void SetMetronomeInfo(const JZMetronomeInfo& MetronomeInfo);
+
+ // Description:
// Toggles the "is on" state of the metronome.
void ToggleMetronome();
Modified: trunk/jazz/src/TrackFrame.cpp
===================================================================
--- trunk/jazz/src/TrackFrame.cpp 2008-04-06 05:11:03 UTC (rev 418)
+++ trunk/jazz/src/TrackFrame.cpp 2008-04-06 05:44:50 UTC (rev 419)
@@ -550,8 +550,10 @@
this,
MetronomeInfo);
if (
- MetronomeSettingsDialog.ShowModal() == wxID_OK)
+ MetronomeSettingsDialog.ShowModal() == wxID_OK &&
+ MetronomeInfo != gpProject->GetMetronomeInfo())
{
+ gpProject->SetMetronomeInfo(MetronomeInfo);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|