Mixerboard uses events to detect start and stop of playback
This commit is contained in:
parent
1fc4c5724e
commit
723cecbeac
|
@ -447,7 +447,6 @@ TimeTrack and AudioIOListener and whether the playback is looped.
|
|||
#include "AudacityApp.h"
|
||||
#include "AudacityException.h"
|
||||
#include "Mix.h"
|
||||
#include "MixerBoard.h"
|
||||
#include "Resample.h"
|
||||
#include "RingBuffer.h"
|
||||
#include "prefs/GUISettings.h"
|
||||
|
@ -2402,10 +2401,6 @@ void AudioIO::SetMeters()
|
|||
if (mOutputMeter)
|
||||
mOutputMeter->Reset(mRate, true);
|
||||
|
||||
MixerBoard* pMixerBoard = mOwningProject->GetMixerBoard();
|
||||
if (pMixerBoard)
|
||||
pMixerBoard->ResetMeters(true);
|
||||
|
||||
mUpdateMeters = true;
|
||||
}
|
||||
|
||||
|
@ -2659,10 +2654,6 @@ void AudioIO::StopStream()
|
|||
if (mOutputMeter)
|
||||
mOutputMeter->Reset(mRate, false);
|
||||
|
||||
MixerBoard* pMixerBoard = mOwningProject->GetMixerBoard();
|
||||
if (pMixerBoard)
|
||||
pMixerBoard->ResetMeters(false);
|
||||
|
||||
mInputMeter.Release();
|
||||
mOutputMeter = NULL;
|
||||
mOwningProject = NULL;
|
||||
|
|
|
@ -925,6 +925,11 @@ MixerBoard::MixerBoard(AudacityProject* pProject,
|
|||
mProject->GetTracks()->Bind(EVT_TRACKLIST_TRACK_DATA_CHANGE,
|
||||
&MixerBoard::OnTrackChanged,
|
||||
this);
|
||||
|
||||
wxTheApp->Connect(EVT_AUDIOIO_PLAYBACK,
|
||||
wxCommandEventHandler(MixerBoard::OnStartStop),
|
||||
NULL,
|
||||
this);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1361,6 +1366,13 @@ void MixerBoard::OnTrackSetChanged(wxEvent &evt)
|
|||
Refresh();
|
||||
}
|
||||
|
||||
void MixerBoard::OnStartStop(wxCommandEvent &evt)
|
||||
{
|
||||
evt.Skip();
|
||||
bool start = evt.GetInt();
|
||||
ResetMeters( start );
|
||||
}
|
||||
|
||||
// class MixerBoardFrame
|
||||
|
||||
BEGIN_EVENT_TABLE(MixerBoardFrame, wxFrame)
|
||||
|
|
|
@ -214,13 +214,12 @@ public:
|
|||
void RefreshTrackClusters(bool bEraseBackground = true);
|
||||
void ResizeTrackClusters();
|
||||
|
||||
void ResetMeters(const bool bResetClipping);
|
||||
|
||||
void UpdateMeters(const double t1, const bool bLoopedPlay);
|
||||
|
||||
void UpdateWidth();
|
||||
|
||||
private:
|
||||
void ResetMeters(const bool bResetClipping);
|
||||
void RemoveTrackCluster(size_t nIndex);
|
||||
void MakeButtonBitmap( wxMemoryDC & dc, wxBitmap & bitmap,
|
||||
wxRect & bev, const wxString & str, bool up );
|
||||
|
@ -235,6 +234,7 @@ private:
|
|||
void OnTimer(wxCommandEvent &event);
|
||||
void OnTrackSetChanged(wxEvent &event);
|
||||
void OnTrackChanged(TrackListEvent &event);
|
||||
void OnStartStop(wxCommandEvent &event);
|
||||
|
||||
public:
|
||||
// mute & solo button images: Create once and store on MixerBoard for use in all MixerTrackClusters.
|
||||
|
|
Loading…
Reference in New Issue