diff --git a/src/Experimental.h b/src/Experimental.h index 45e783aa1..2286c87e5 100644 --- a/src/Experimental.h +++ b/src/Experimental.h @@ -142,9 +142,6 @@ extern void AddPages( AudacityProject * pProj, GuiFactory & Factory, wxNotebo #ifdef EXPERIMENTAL_AUDACITY_TESTER #endif -#define EXPERIMENTAL_LYRICS_WINDOW //vvv Vaughan, 2009-07-06 -#define EXPERIMENTAL_MIXER_BOARD //vvv Vaughan, 2009-07-07 - #if USE_PORTMIXER //Automatically tries to find an acceptable input volume //#define AUTOMATED_INPUT_LEVEL_ADJUSTMENT @@ -154,15 +151,3 @@ extern void AddPages( AudacityProject * pProj, GuiFactory & Factory, wxNotebo //#define EXPERIMENTAL_TRUNC_SILENCE #endif - -// Indentation settings for Vim and Emacs and unique identifier for Arch, a -// version control system. Please do not modify past this point. -// -// Local Variables: -// c-basic-offset: 3 -// indent-tabs-mode: nil -// End: -// -// vim: et sts=3 sw=3 -// arch-tag: - diff --git a/src/LyricsWindow.cpp b/src/LyricsWindow.cpp index 5d43c20bf..4f028f74b 100644 --- a/src/LyricsWindow.cpp +++ b/src/LyricsWindow.cpp @@ -10,7 +10,6 @@ **********************************************************************/ #include "Experimental.h" -#ifdef EXPERIMENTAL_LYRICS_WINDOW #include "LyricsWindow.h" #include "Lyrics.h" @@ -141,4 +140,3 @@ void LyricsWindow::OnStyle_Highlight(wxCommandEvent &evt) mLyricsPanel->SetLyricsStyle(Lyrics::kHighlightLyrics); } -#endif // EXPERIMENTAL_LYRICS_WINDOW diff --git a/src/LyricsWindow.h b/src/LyricsWindow.h index 29456da77..d0afd19d7 100644 --- a/src/LyricsWindow.h +++ b/src/LyricsWindow.h @@ -10,7 +10,6 @@ **********************************************************************/ #include "Experimental.h" -#ifdef EXPERIMENTAL_LYRICS_WINDOW #ifndef __AUDACITY_LYRICS_WINDOW__ #define __AUDACITY_LYRICS_WINDOW__ @@ -42,4 +41,3 @@ class LyricsWindow : public wxFrame { }; #endif -#endif // EXPERIMENTAL_LYRICS_WINDOW diff --git a/src/Menus.cpp b/src/Menus.cpp index f4f446797..b8272eb72 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -65,12 +65,8 @@ simplifies construction of menu items. #include "widgets/TimeTextCtrl.h" #include "ShuttleGui.h" #include "HistoryWindow.h" -#ifdef EXPERIMENTAL_LYRICS_WINDOW - #include "LyricsWindow.h" -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - #include "MixerBoard.h" -#endif +#include "LyricsWindow.h" +#include "MixerBoard.h" #include "Internat.h" #include "FileFormats.h" #include "LoadModules.h" @@ -556,12 +552,8 @@ void AudacityProject::CreateMenusAndCommands() AudioIONotBusyFlag | UndoAvailableFlag, AudioIONotBusyFlag | UndoAvailableFlag); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - c->AddItem(wxT("Karaoke"), _("&Karaoke..."), FN(OnKaraoke), LabelTracksExistFlag, LabelTracksExistFlag); - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - c->AddItem(wxT("MixerBoard"), _("&Mixer Board..."), FN(OnMixerBoard), WaveTracksExistFlag, WaveTracksExistFlag); - #endif + c->AddItem(wxT("Karaoke"), _("&Karaoke..."), FN(OnKaraoke), LabelTracksExistFlag, LabelTracksExistFlag); + c->AddItem(wxT("MixerBoard"), _("&Mixer Board..."), FN(OnMixerBoard), WaveTracksExistFlag, WaveTracksExistFlag); c->AddSeparator(); @@ -4085,10 +4077,8 @@ void AudacityProject::OnSelectAll() ModifyState(); mTrackPanel->Refresh(false); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->Refresh(false); - #endif + if (mMixerBoard) + mMixerBoard->Refresh(false); } void AudacityProject::OnSelectNone() @@ -4155,10 +4145,8 @@ void AudacityProject::OnSelectSyncSel() } mTrackPanel->Refresh(false); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->Refresh(false); - #endif + if (mMixerBoard) + mMixerBoard->Refresh(false); } void AudacityProject::OnSelectAllTracks() @@ -4169,10 +4157,8 @@ void AudacityProject::OnSelectAllTracks() } mTrackPanel->Refresh(false); -#ifdef EXPERIMENTAL_MIXER_BOARD if (mMixerBoard) mMixerBoard->Refresh(false); -#endif } // @@ -4379,29 +4365,26 @@ void AudacityProject::OnHistory() mHistoryWindow->UpdateDisplay(); } -#ifdef EXPERIMENTAL_LYRICS_WINDOW - void AudacityProject::OnKaraoke() +void AudacityProject::OnKaraoke() +{ + if (!mLyricsWindow) + mLyricsWindow = new LyricsWindow(this); + wxASSERT(mLyricsWindow); + mLyricsWindow->Show(); + mLyricsWindow->Raise(); +} + +void AudacityProject::OnMixerBoard() +{ + if (!mMixerBoardFrame) { - if (!mLyricsWindow) - mLyricsWindow = new LyricsWindow(this); - wxASSERT(mLyricsWindow); - mLyricsWindow->Show(); - mLyricsWindow->Raise(); + mMixerBoardFrame = new MixerBoardFrame(this); + mMixerBoard = mMixerBoardFrame->mMixerBoard; } -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - void AudacityProject::OnMixerBoard() - { - if (!mMixerBoardFrame) - { - mMixerBoardFrame = new MixerBoardFrame(this); - mMixerBoard = mMixerBoardFrame->mMixerBoard; - } - mMixerBoardFrame->Show(); - mMixerBoardFrame->Raise(); - mMixerBoardFrame->SetFocus(); - } -#endif + mMixerBoardFrame->Show(); + mMixerBoardFrame->Raise(); + mMixerBoardFrame->SetFocus(); +} void AudacityProject::OnPlotSpectrum() { @@ -5407,10 +5390,8 @@ void AudacityProject::OnRemoveTracks() while (t) { if (t->GetSelected()) { - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard && (t->GetKind() == Track::Wave)) - mMixerBoard->RemoveTrackCluster((WaveTrack*)t); - #endif + if (mMixerBoard && (t->GetKind() == Track::Wave)) + mMixerBoard->RemoveTrackCluster((WaveTrack*)t); if (!f) f = l; // Capture the track preceeding the first removed track t = iter.RemoveCurrent(true); @@ -5440,10 +5421,8 @@ void AudacityProject::OnRemoveTracks() PushState(_("Removed audio track(s)"), _("Remove Track")); mTrackPanel->Refresh(false); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->Refresh(true); - #endif + if (mMixerBoard) + mMixerBoard->Refresh(true); } // @@ -5551,10 +5530,8 @@ void AudacityProject::OnMuteAllTracks() ModifyState(); RedrawProject(); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->UpdateMute(); - #endif + if (mMixerBoard) + mMixerBoard->UpdateMute(); } void AudacityProject::OnUnMuteAllTracks() @@ -5570,10 +5547,8 @@ void AudacityProject::OnUnMuteAllTracks() ModifyState(); RedrawProject(); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->UpdateMute(); - #endif + if (mMixerBoard) + mMixerBoard->UpdateMute(); } void AudacityProject::OnLockPlayRegion() diff --git a/src/Menus.h b/src/Menus.h index a1e27958c..be08d83ed 100644 --- a/src/Menus.h +++ b/src/Menus.h @@ -252,12 +252,8 @@ void OnShowClipping(); void OnHistory(); -#ifdef EXPERIMENTAL_LYRICS_WINDOW - void OnKaraoke(); -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - void OnMixerBoard(); -#endif +void OnKaraoke(); +void OnMixerBoard(); void OnPlotSpectrum(); void OnContrast(); diff --git a/src/MixerBoard.cpp b/src/MixerBoard.cpp index 1dbdb6f4c..277fc8179 100644 --- a/src/MixerBoard.cpp +++ b/src/MixerBoard.cpp @@ -10,7 +10,6 @@ **********************************************************************/ #include "Experimental.h" -#ifdef EXPERIMENTAL_MIXER_BOARD #include @@ -1376,5 +1375,4 @@ void MixerBoardFrame::OnSize(wxSizeEvent &event) mMixerBoard->SetSize(this->GetClientSize()); } -#endif // EXPERIMENTAL_MIXER_BOARD diff --git a/src/MixerBoard.h b/src/MixerBoard.h index ba5d9821e..1e8bb19c3 100644 --- a/src/MixerBoard.h +++ b/src/MixerBoard.h @@ -9,7 +9,6 @@ **********************************************************************/ #include "Experimental.h" -#ifdef EXPERIMENTAL_MIXER_BOARD #ifndef __AUDACITY_MIXER_BOARD__ #define __AUDACITY_MIXER_BOARD__ @@ -270,5 +269,4 @@ public: #endif // __AUDACITY_MIXER_BOARD__ -#endif // EXPERIMENTAL_MIXER_BOARD diff --git a/src/Project.cpp b/src/Project.cpp index cc187ec07..bc3e6a754 100644 --- a/src/Project.cpp +++ b/src/Project.cpp @@ -97,13 +97,9 @@ scroll information. It also has some status flags. #include "AudioIO.h" #include "Dependencies.h" #include "HistoryWindow.h" -#ifdef EXPERIMENTAL_LYRICS_WINDOW - #include "Lyrics.h" - #include "LyricsWindow.h" -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - #include "MixerBoard.h" -#endif +#include "Lyrics.h" +#include "LyricsWindow.h" +#include "MixerBoard.h" #include "Internat.h" #include "import/Import.h" #include "LabelTrack.h" @@ -735,13 +731,9 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id, mAutoScrolling(false), mActive(true), mHistoryWindow(NULL), - #ifdef EXPERIMENTAL_LYRICS_WINDOW - mLyricsWindow(NULL), - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - mMixerBoard(NULL), - mMixerBoardFrame(NULL), - #endif + mLyricsWindow(NULL), + mMixerBoard(NULL), + mMixerBoardFrame(NULL), mFreqWindow(NULL), mToolManager(NULL), mAudioIOToken(-1), @@ -1041,10 +1033,8 @@ void AudacityProject::UpdatePrefs() if (mTrackPanel) { mTrackPanel->UpdatePrefs(); } - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->ResizeTrackClusters(); // in case prefs "/GUI/Solo" changed - #endif + if (mMixerBoard) + mMixerBoard->ResizeTrackClusters(); // in case prefs "/GUI/Solo" changed SetSnapTo(gPrefs->Read(wxT("/SnapTo"), 0L)!=0); @@ -3494,12 +3484,8 @@ void AudacityProject::InitialState() ModifyUndoMenus(); UpdateMenus(); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - this->UpdateLyrics(); - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - this->UpdateMixerBoard(); - #endif + this->UpdateLyrics(); + this->UpdateMixerBoard(); } void AudacityProject::PushState(wxString desc, @@ -3523,15 +3509,11 @@ void AudacityProject::PushState(wxString desc, // Others, such as deleting a label or adding a wave track, obviously do. // Could categorize these state changes, but for now... // It's crucial to not do that repopulating during playback. - //vvv These can be combined in the same conditional when both features are made non-experimental. - #ifdef EXPERIMENTAL_LYRICS_WINDOW - if (!gAudioIO->IsStreamActive(GetAudioIOToken())) - this->UpdateLyrics(); - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - if (!gAudioIO->IsStreamActive(GetAudioIOToken())) - this->UpdateMixerBoard(); - #endif + if (!gAudioIO->IsStreamActive(GetAudioIOToken())) + { + this->UpdateLyrics(); + this->UpdateMixerBoard(); + } if (GetTracksFitVerticallyZoomed()) this->DoZoomFitV(); @@ -3592,12 +3574,8 @@ void AudacityProject::PopState(TrackList * l) HandleResize(); UpdateMenus(); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - this->UpdateLyrics(); - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - this->UpdateMixerBoard(); - #endif + this->UpdateLyrics(); + this->UpdateMixerBoard(); AutoSave(); } @@ -3612,47 +3590,39 @@ void AudacityProject::SetStateTo(unsigned int n) mTrackPanel->SetFocusedTrack(NULL); mTrackPanel->Refresh(false); ModifyUndoMenus(); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - this->UpdateLyrics(); - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - this->UpdateMixerBoard(); - #endif + this->UpdateLyrics(); + this->UpdateMixerBoard(); } -#ifdef EXPERIMENTAL_LYRICS_WINDOW - void AudacityProject::UpdateLyrics() +void AudacityProject::UpdateLyrics() +{ + TrackListOfKindIterator iter(Track::Label, mTracks); + LabelTrack* pLabelTrack = (LabelTrack*)(iter.First()); // Lyrics come from only the first label track. + if (!pLabelTrack) + return; + + if (!mLyricsWindow) { - TrackListOfKindIterator iter(Track::Label, mTracks); - LabelTrack* pLabelTrack = (LabelTrack*)(iter.First()); // Lyrics come from only the first label track. - if (!pLabelTrack) - return; - - if (!mLyricsWindow) - { - mLyricsWindow = new LyricsWindow(this); - mLyricsWindow->Show(false); // Don't show it. Need to update content regardless. - } - - Lyrics* pLyricsPanel = mLyricsWindow->GetLyricsPanel(); - pLyricsPanel->Clear(); - for (int i = 0; i < pLabelTrack->GetNumLabels(); i++) - pLyricsPanel->Add(pLabelTrack->GetLabel(i)->t, - pLabelTrack->GetLabel(i)->title); - pLyricsPanel->Finish(pLabelTrack->GetEndTime()); - pLyricsPanel->Update(this->GetSel0()); + mLyricsWindow = new LyricsWindow(this); + mLyricsWindow->Show(false); // Don't show it. Need to update content regardless. } -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - void AudacityProject::UpdateMixerBoard() - { - if (!mMixerBoard) - return; - mMixerBoard->UpdateTrackClusters(); - mMixerBoard->UpdateMeters(gAudioIO->GetStreamTime(), (mLastPlayMode == loopedPlay)); - } -#endif + Lyrics* pLyricsPanel = mLyricsWindow->GetLyricsPanel(); + pLyricsPanel->Clear(); + for (int i = 0; i < pLabelTrack->GetNumLabels(); i++) + pLyricsPanel->Add(pLabelTrack->GetLabel(i)->t, + pLabelTrack->GetLabel(i)->title); + pLyricsPanel->Finish(pLabelTrack->GetEndTime()); + pLyricsPanel->Update(this->GetSel0()); +} + +void AudacityProject::UpdateMixerBoard() +{ + if (!mMixerBoard) + return; + mMixerBoard->UpdateTrackClusters(); + mMixerBoard->UpdateMeters(gAudioIO->GetStreamTime(), (mLastPlayMode == loopedPlay)); +} // // Clipboard methods @@ -3721,10 +3691,8 @@ void AudacityProject::SelectNone() t = iter.Next(); } mTrackPanel->Refresh(false); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (mMixerBoard) - mMixerBoard->Refresh(false); - #endif + if (mMixerBoard) + mMixerBoard->Refresh(false); } // Utility function called by other zoom methods diff --git a/src/Project.h b/src/Project.h index 22aeb0eeb..c1aae8125 100644 --- a/src/Project.h +++ b/src/Project.h @@ -49,33 +49,32 @@ class wxScrollEvent; class wxScrollBar; class wxPanel; -class ToolManager; -class Toolbar; +class AudacityProject; +class Importer; +class ODLock; +class RecordingRecoveryHandler; +class TrackList; +class Tags; + +// toolbar classes class ControlToolBar; class DeviceToolBar; class EditToolBar; class MeterToolBar; class MixerToolBar; class SelectionToolBar; +class Toolbar; +class ToolManager; class ToolsToolBar; class TranscriptionToolBar; -class TrackList; -class Tags; -class HistoryWindow; -#ifdef EXPERIMENTAL_LYRICS_WINDOW - class LyricsWindow; -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - class MixerBoard; - class MixerBoardFrame; -#endif -class Importer; +// windows and frames class AdornedRulerPanel; +class HistoryWindow; +class LyricsWindow; +class MixerBoard; +class MixerBoardFrame; -class AudacityProject; -class RecordingRecoveryHandler; -class ODLock; AudacityProject *CreateNewAudacityProject(); AUDACITY_DLL_API AudacityProject *GetActiveProject(); @@ -120,13 +119,9 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame, public AudioIOListener { public: - - // Constructor and Destructor - AudacityProject(wxWindow * parent, wxWindowID id, const wxPoint & pos, const wxSize & size); - - virtual ~ AudacityProject(); + virtual ~AudacityProject(); TrackList *GetTracks() { return mTracks; }; UndoManager *GetUndoManager() { return &mUndoManager; } @@ -345,12 +340,8 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame, ToolsToolBar *GetToolsToolBar(); TranscriptionToolBar *GetTranscriptionToolBar(); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - LyricsWindow* GetLyricsWindow() { return mLyricsWindow; }; - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* GetMixerBoard() { return mMixerBoard; }; - #endif + LyricsWindow* GetLyricsWindow() { return mLyricsWindow; }; + MixerBoard* GetMixerBoard() { return mMixerBoard; }; // SelectionBar callback methods @@ -399,12 +390,8 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame, void ModifyState(); void PopState(TrackList * l); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - void UpdateLyrics(); - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - void UpdateMixerBoard(); - #endif + void UpdateLyrics(); + void UpdateMixerBoard(); void GetRegionsByLabel( Regions ®ions ); @@ -475,13 +462,9 @@ class AUDACITY_DLL_API AudacityProject: public wxFrame, bool mIconized; HistoryWindow *mHistoryWindow; - #ifdef EXPERIMENTAL_LYRICS_WINDOW - LyricsWindow* mLyricsWindow; - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* mMixerBoard; - MixerBoardFrame* mMixerBoardFrame; - #endif + LyricsWindow* mLyricsWindow; + MixerBoard* mMixerBoard; + MixerBoardFrame* mMixerBoardFrame; FreqWindow *mFreqWindow; diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 5333a4e97..a4d0adff3 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -188,13 +188,9 @@ is time to refresh some aspect of the screen. #include "float_cast.h" #include "Internat.h" #include "LabelTrack.h" -#ifdef EXPERIMENTAL_LYRICS_WINDOW - #include "Lyrics.h" - #include "LyricsWindow.h" -#endif -#ifdef EXPERIMENTAL_MIXER_BOARD - #include "MixerBoard.h" -#endif +#include "Lyrics.h" +#include "LyricsWindow.h" +#include "MixerBoard.h" #include "NoteTrack.h" #include "Prefs.h" @@ -861,29 +857,26 @@ void TrackPanel::OnTimer() wxCommandEvent dummyEvent; AudacityProject *p = GetProject(); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - if ((p->GetAudioIOToken() > 0) && - gAudioIO->IsStreamActive(p->GetAudioIOToken())) + if ((p->GetAudioIOToken() > 0) && + gAudioIO->IsStreamActive(p->GetAudioIOToken())) + { + // Update lyrics display. + LyricsWindow* pLyricsWindow = p->GetLyricsWindow(); + if (pLyricsWindow) { - // Update lyrics display. - LyricsWindow* pLyricsWindow = p->GetLyricsWindow(); - if (pLyricsWindow) - { - Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel(); - pLyricsPanel->Update(gAudioIO->GetStreamTime()); - } + Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel(); + pLyricsPanel->Update(gAudioIO->GetStreamTime()); } - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard && - (p->GetAudioIOToken() > 0) && - gAudioIO->IsStreamActive(p->GetAudioIOToken())) - { - pMixerBoard->UpdateMeters(gAudioIO->GetStreamTime(), - (p->mLastPlayMode == loopedPlay)); - } - #endif + } + + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard && + (p->GetAudioIOToken() > 0) && + gAudioIO->IsStreamActive(p->GetAudioIOToken())) + { + pMixerBoard->UpdateMeters(gAudioIO->GetStreamTime(), + (p->mLastPlayMode == loopedPlay)); + } // Check whether we were playing or recording, but the stream has stopped. if (p->GetAudioIOToken()>0 && @@ -896,19 +889,17 @@ void TrackPanel::OnTimer() //the stream may have been started up after this one finished (by some other project) //in that case reset the buttons don't stop the stream p->GetControlToolBar()->StopPlaying(!gAudioIO->IsStreamActive()); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - // Reset lyrics display. - LyricsWindow* pLyricsWindow = p->GetLyricsWindow(); - if (pLyricsWindow) - { - Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel(); - pLyricsPanel->Update(p->GetSel0()); - } - #endif - #ifdef EXPERIMENTAL_MIXER_BOARD - if (pMixerBoard) - pMixerBoard->ResetMeters(); - #endif + + // Reset lyrics display. + LyricsWindow* pLyricsWindow = p->GetLyricsWindow(); + if (pLyricsWindow) + { + Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel(); + pLyricsPanel->Update(p->GetSel0()); + } + + if (pMixerBoard) + pMixerBoard->ResetMeters(); } // Next, check to see if we were playing or recording @@ -1360,14 +1351,12 @@ void TrackPanel::HandleCursorForLastMouseEvent() HandleCursor(mLastMouseEvent); } -#ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* TrackPanel::GetMixerBoard() - { - AudacityProject *p = GetProject(); - wxASSERT(p); - return p->GetMixerBoard(); - } -#endif +MixerBoard* TrackPanel::GetMixerBoard() +{ + AudacityProject *p = GetProject(); + wxASSERT(p); + return p->GetMixerBoard(); +} /// Used to determine whether it is safe or not to perform certain /// edits at the moment. @@ -1768,16 +1757,15 @@ void TrackPanel::HandleSelect(wxMouseEvent & event) } done: SelectionHandleDrag(event, t); - #ifdef EXPERIMENTAL_LYRICS_WINDOW - // Update lyrics display for new selection. - AudacityProject* pProj = GetActiveProject(); - LyricsWindow* pLyricsWindow = pProj->GetLyricsWindow(); - if (pLyricsWindow && pLyricsWindow->IsShown()) - { - Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel(); - pLyricsPanel->Update(pProj->GetSel0()); - } - #endif + + // Update lyrics display for new selection. + AudacityProject* pProj = GetActiveProject(); + LyricsWindow* pLyricsWindow = pProj->GetLyricsWindow(); + if (pLyricsWindow && pLyricsWindow->IsShown()) + { + Lyrics* pLyricsPanel = pLyricsWindow->GetLyricsPanel(); + pLyricsPanel->Update(pProj->GetSel0()); + } } /// This function gets called when we're handling selection @@ -3491,15 +3479,13 @@ void TrackPanel::RemoveTrack(Track * toRemove) wxString name = toRemove->GetName(); Track *partner = toRemove->GetLink(); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (toRemove->GetKind() == Track::Wave) - { - // Update mixer board displayed tracks. - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard) - pMixerBoard->RemoveTrackCluster((WaveTrack*)toRemove); // Will remove partner shown in same cluster. - } - #endif + if (toRemove->GetKind() == Track::Wave) + { + // Update mixer board displayed tracks. + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard) + pMixerBoard->RemoveTrackCluster((WaveTrack*)toRemove); // Will remove partner shown in same cluster. + } mTracks->Remove(toRemove, true); if (partner) { @@ -3638,29 +3624,23 @@ void TrackPanel::HandleSliders(wxMouseEvent &event, bool pan) float newValue = slider->Get(); WaveTrack *link = (WaveTrack *)mTracks->GetLink(mCapturedTrack); - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too. - #endif + MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too. if (pan) { ((WaveTrack *)mCapturedTrack)->SetPan(newValue); if (link) link->SetPan(newValue); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (pMixerBoard) - pMixerBoard->UpdatePan((WaveTrack*)mCapturedTrack); - #endif + if (pMixerBoard) + pMixerBoard->UpdatePan((WaveTrack*)mCapturedTrack); } else { ((WaveTrack *)mCapturedTrack)->SetGain(newValue); if (link) link->SetGain(newValue); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (pMixerBoard) - pMixerBoard->UpdateGain((WaveTrack*)mCapturedTrack); - #endif + if (pMixerBoard) + pMixerBoard->UpdateGain((WaveTrack*)mCapturedTrack); } VisibleTrackIterator iter(GetProject()); @@ -3800,11 +3780,9 @@ void TrackPanel::HandleLabelClick(wxMouseEvent & event) if (event.ShiftDown()) { mTracks->Select(t, !t->GetSelected()); Refresh(false); - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard && (t->GetKind() == Track::Wave)) - pMixerBoard->RefreshTrackCluster((WaveTrack*)t); - #endif + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard && (t->GetKind() == Track::Wave)) + pMixerBoard->RefreshTrackCluster((WaveTrack*)t); return; } @@ -3814,11 +3792,9 @@ void TrackPanel::HandleLabelClick(wxMouseEvent & event) SelectTrackLength(t); this->Refresh(false); - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard) - pMixerBoard->RefreshTrackClusters(); - #endif + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard) + pMixerBoard->RefreshTrackClusters(); if (!unsafe) MakeParentModifyState(); @@ -3835,25 +3811,19 @@ void TrackPanel::HandleRearrange(wxMouseEvent & event) return; } - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too. - #endif + MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too. wxString dir; if (event.m_y < mMoveUpThreshold || event.m_y < 0) { mTracks->MoveUp(mCapturedTrack); dir = _("up"); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (pMixerBoard && (mCapturedTrack->GetKind() == Track::Wave)) - pMixerBoard->MoveTrackCluster((WaveTrack*)mCapturedTrack, true); - #endif + if (pMixerBoard && (mCapturedTrack->GetKind() == Track::Wave)) + pMixerBoard->MoveTrackCluster((WaveTrack*)mCapturedTrack, true); } else if (event.m_y > mMoveDownThreshold || event.m_y > GetRect().GetHeight()) { mTracks->MoveDown(mCapturedTrack); dir = _("down"); - #ifdef EXPERIMENTAL_MIXER_BOARD - if (pMixerBoard && (mCapturedTrack->GetKind() == Track::Wave)) - pMixerBoard->MoveTrackCluster((WaveTrack*)mCapturedTrack, false); - #endif + if (pMixerBoard && (mCapturedTrack->GetKind() == Track::Wave)) + pMixerBoard->MoveTrackCluster((WaveTrack*)mCapturedTrack, false); } else { @@ -6176,15 +6146,13 @@ void TrackPanel::OnTrackMute(bool shiftDown, Track *t) } GetProject()->HandleTrackMute(t, shiftDown); - #ifdef EXPERIMENTAL_MIXER_BOARD - // Update mixer board, too. - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard) - { - pMixerBoard->UpdateMute(); // Update for all tracks. - pMixerBoard->UpdateSolo(); // Update for all tracks. - } - #endif + // Update mixer board, too. + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard) + { + pMixerBoard->UpdateMute(); // Update for all tracks. + pMixerBoard->UpdateSolo(); // Update for all tracks. + } mAx->Updated(); Refresh(false); @@ -6201,15 +6169,13 @@ void TrackPanel::OnTrackSolo(bool shiftDown, Track *t) } GetProject()->HandleTrackSolo(t, shiftDown); - #ifdef EXPERIMENTAL_MIXER_BOARD - // Update mixer board, too. - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard) - { - pMixerBoard->UpdateMute(); // Update for all tracks. - pMixerBoard->UpdateSolo(); // Update for all tracks. - } - #endif + // Update mixer board, too. + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard) + { + pMixerBoard->UpdateMute(); // Update for all tracks. + pMixerBoard->UpdateSolo(); // Update for all tracks. + } mAx->Updated(); Refresh(false); @@ -6750,11 +6716,9 @@ void TrackPanel::OnMoveTrack(wxCommandEvent & event) wxASSERT(event.GetId() == OnMoveUpID || event.GetId() == OnMoveDownID); bool bUp = (OnMoveUpID == event.GetId()); if (mTracks->Move(mPopupMenuTarget, bUp)) { - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too. - if (pMixerBoard && (mPopupMenuTarget->GetKind() == Track::Wave)) - pMixerBoard->MoveTrackCluster((WaveTrack*)mPopupMenuTarget, bUp); - #endif + MixerBoard* pMixerBoard = this->GetMixerBoard(); // Update mixer board, too. + if (pMixerBoard && (mPopupMenuTarget->GetKind() == Track::Wave)) + pMixerBoard->MoveTrackCluster((WaveTrack*)mPopupMenuTarget, bUp); MakeParentPushState(wxString::Format(_("Moved '%s' %s"), mPopupMenuTarget->GetName(). @@ -6801,11 +6765,10 @@ void TrackPanel::OnSetName(wxCommandEvent &event) t->GetLink()->SetName(newName); } } - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* pMixerBoard = this->GetMixerBoard(); - if (pMixerBoard && (t->GetKind() == Track::Wave)) - pMixerBoard->UpdateName((WaveTrack*)t); - #endif + + MixerBoard* pMixerBoard = this->GetMixerBoard(); + if (pMixerBoard && (t->GetKind() == Track::Wave)) + pMixerBoard->UpdateName((WaveTrack*)t); MakeParentPushState(wxString::Format(_("Renamed '%s' to '%s'"), defaultStr.c_str(), diff --git a/src/TrackPanel.h b/src/TrackPanel.h index 866b22033..5d8ba0e03 100644 --- a/src/TrackPanel.h +++ b/src/TrackPanel.h @@ -34,9 +34,7 @@ class AdornedRulerPanel; class LWSlider; class ControlToolBar; //Needed because state of controls can affect what gets drawn. class ToolsToolBar; //Needed because state of controls can affect what gets drawn. -#ifdef EXPERIMENTAL_MIXER_BOARD - class MixerBoard; -#endif +class MixerBoard; class AudacityProject; class TrackPanelAx; @@ -245,9 +243,7 @@ class TrackPanel:public wxPanel { void UpdateVRulerSize(); private: - #ifdef EXPERIMENTAL_MIXER_BOARD - MixerBoard* GetMixerBoard(); - #endif + MixerBoard* GetMixerBoard(); bool IsUnsafe(); bool HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMouseEvent & event); bool HandleTrackLocationMouseEvent(WaveTrack * track, wxRect &r, wxMouseEvent &event);