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. |