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