1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 08:09:32 +02:00

Replace more Connect with Bind; needed redeclaration of custom events

This commit is contained in:
Paul Licameli 2018-02-12 18:09:20 -05:00
parent e6e8e3251c
commit 2fbe04eda0
19 changed files with 68 additions and 81 deletions

View File

@ -240,7 +240,7 @@ It handles initialization and termination by subclassing wxApp.
////////////////////////////////////////////////////////////
DEFINE_EVENT_TYPE(EVT_OPEN_AUDIO_FILE);
DEFINE_EVENT_TYPE(EVT_LANGUAGE_CHANGE);
wxDEFINE_EVENT(EVT_LANGUAGE_CHANGE, wxCommandEvent);
#if 0
#ifdef __WXGTK__

View File

@ -480,9 +480,9 @@ using std::min;
std::unique_ptr<AudioIO> ugAudioIO;
AudioIO *gAudioIO{};
DEFINE_EVENT_TYPE(EVT_AUDIOIO_PLAYBACK);
DEFINE_EVENT_TYPE(EVT_AUDIOIO_CAPTURE);
DEFINE_EVENT_TYPE(EVT_AUDIOIO_MONITOR);
wxDEFINE_EVENT(EVT_AUDIOIO_PLAYBACK, wxCommandEvent);
wxDEFINE_EVENT(EVT_AUDIOIO_CAPTURE, wxCommandEvent);
wxDEFINE_EVENT(EVT_AUDIOIO_MONITOR, wxCommandEvent);
// static
int AudioIO::mNextStreamToken = 0;

View File

@ -91,9 +91,12 @@ class AudioIOListener;
#define AILA_DEF_NUMBER_ANALYSIS 5
#endif
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_AUDIOIO_PLAYBACK, -1);
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_AUDIOIO_CAPTURE, -1);
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_AUDIOIO_MONITOR, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_AUDIOIO_PLAYBACK, wxCommandEvent);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_AUDIOIO_CAPTURE, wxCommandEvent);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_AUDIOIO_MONITOR, wxCommandEvent);
// PRL:
// If we always run a portaudio output stream (even just to produce silence)

View File

@ -147,14 +147,12 @@ HistoryWindow::HistoryWindow(AudacityProject *parent, UndoManager *manager):
mList->SetColumnWidth(0, mList->GetClientSize().x - mList->GetColumnWidth(1));
mList->SetTextColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
wxTheApp->Connect(EVT_AUDIOIO_PLAYBACK,
wxCommandEventHandler(HistoryWindow::OnAudioIO),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_PLAYBACK,
&HistoryWindow::OnAudioIO,
this);
wxTheApp->Connect(EVT_AUDIOIO_CAPTURE,
wxCommandEventHandler(HistoryWindow::OnAudioIO),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_CAPTURE,
&HistoryWindow::OnAudioIO,
this);
}

View File

@ -126,9 +126,8 @@ LyricsWindow::LyricsWindow(AudacityProject *parent):
//}
// Events from the project don't propagate directly to this other frame, so...
mProject->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(LyricsWindow::OnTimer),
NULL,
mProject->Bind(EVT_TRACK_PANEL_TIMER,
&LyricsWindow::OnTimer,
this);
Center();
}

View File

@ -928,9 +928,8 @@ MixerBoard::MixerBoard(AudacityProject* pProject,
mTracks = mProject->GetTracks();
// Events from the project don't propagate directly to this other frame, so...
mProject->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(MixerBoard::OnTimer),
NULL,
mProject->Bind(EVT_TRACK_PANEL_TIMER,
&MixerBoard::OnTimer,
this);
}

View File

@ -1098,9 +1098,8 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
// because it must
// attach its timer event handler later (so that its handler is invoked
// earlier)
this->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(ViewInfo::OnTimer),
NULL,
this->Bind(EVT_TRACK_PANEL_TIMER,
&ViewInfo::OnTimer,
&mViewInfo);
// Add the overlays, in the sequence in which they will be painted
@ -1227,9 +1226,8 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
mTrackPanel->SetDropTarget(safenew DropTarget(this));
#endif
wxTheApp->Connect(EVT_AUDIOIO_CAPTURE,
wxCommandEventHandler(AudacityProject::OnCapture),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_CAPTURE,
&AudacityProject::OnCapture,
this);
//Initialize the last selection adjustment time.
@ -6022,9 +6020,8 @@ double AudacityProject::GetZoomOfPref( const wxString & PresetPrefName, int defa
AudacityProject::PlaybackScroller::PlaybackScroller(AudacityProject *project)
: mProject(project)
{
mProject->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(PlaybackScroller::OnTimer),
NULL,
mProject->Bind(EVT_TRACK_PANEL_TIMER,
&PlaybackScroller::OnTimer,
this);
}

View File

@ -772,9 +772,9 @@ Track *SyncLockedTracksIterator::Last(bool skiplinked)
// is managing. Any other classes that may be interested in get these updates
// should use TrackList::Connect() or TrackList::Bind().
//
DEFINE_EVENT_TYPE(EVT_TRACKLIST_PERMUTED);
DEFINE_EVENT_TYPE(EVT_TRACKLIST_RESIZING);
DEFINE_EVENT_TYPE(EVT_TRACKLIST_DELETION);
wxDEFINE_EVENT(EVT_TRACKLIST_PERMUTED, wxCommandEvent);
wxDEFINE_EVENT(EVT_TRACKLIST_RESIZING, wxCommandEvent);
wxDEFINE_EVENT(EVT_TRACKLIST_DELETION, wxCommandEvent);
// same value as in the default constructed TrackId:
long TrackList::sCounter = -1;

View File

@ -596,15 +596,18 @@ struct TrackListEvent : public wxCommandEvent
};
// Posted when tracks are reordered but otherwise unchanged.
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_PERMUTED, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_TRACKLIST_PERMUTED, wxCommandEvent);
// Posted when some track was added or changed its height.
// Cast to TrackListEvent and examine mpTrack to retrieve it.
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_RESIZING, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_TRACKLIST_RESIZING, wxCommandEvent);
// Posted when a track has been deleted from a tracklist.
// Also posted when one track replaces another
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACKLIST_DELETION, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_TRACKLIST_DELETION, wxCommandEvent);
class TrackList final : public wxEvtHandler, public ListOfTracks
{

View File

@ -186,7 +186,7 @@ is time to refresh some aspect of the screen.
#include "widgets/Ruler.h"
#include <algorithm>
DEFINE_EVENT_TYPE(EVT_TRACK_PANEL_TIMER)
wxDEFINE_EVENT(EVT_TRACK_PANEL_TIMER, wxCommandEvent);
/*
@ -341,17 +341,14 @@ TrackPanel::TrackPanel(wxWindow * parent, wxWindowID id,
GetProject()->Bind(wxEVT_IDLE, &TrackPanel::OnIdle, this);
// Register for tracklist updates
mTracks->Connect(EVT_TRACKLIST_RESIZING,
wxCommandEventHandler(TrackPanel::OnTrackListResizing),
NULL,
mTracks->Bind(EVT_TRACKLIST_RESIZING,
&TrackPanel::OnTrackListResizing,
this);
mTracks->Connect(EVT_TRACKLIST_DELETION,
wxCommandEventHandler(TrackPanel::OnTrackListDeletion),
NULL,
mTracks->Bind(EVT_TRACKLIST_DELETION,
&TrackPanel::OnTrackListDeletion,
this);
wxTheApp->Connect(EVT_AUDIOIO_PLAYBACK,
wxCommandEventHandler(TrackPanel::OnPlayback),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_PLAYBACK,
&TrackPanel::OnPlayback,
this);
}

View File

@ -78,7 +78,8 @@ enum class UndoPush : unsigned char;
#pragma warning( disable: 4251 )
#endif
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_TRACK_PANEL_TIMER, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_TRACK_PANEL_TIMER, wxCommandEvent);
enum {
kTimerInterval = 50, // milliseconds

View File

@ -16,7 +16,7 @@ Paul Licameli
class wxArrayString;
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_LANGUAGE_CHANGE, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_LANGUAGE_CHANGE, wxCommandEvent);
/*
This class can maintain a static table containing user visible strings that updates
@ -37,9 +37,8 @@ public:
TranslatableArray()
{
if (wxTheApp)
wxTheApp->Connect(EVT_LANGUAGE_CHANGE,
wxCommandEventHandler(TranslatableArray::Invalidate),
NULL,
wxTheApp->Bind(EVT_LANGUAGE_CHANGE,
&TranslatableArray::Invalidate,
this);
}

View File

@ -3827,14 +3827,12 @@ void EffectUIHost::InitializeRealtime()
{
EffectManager::Get().RealtimeAddEffect(mEffect);
wxTheApp->Connect(EVT_AUDIOIO_PLAYBACK,
wxCommandEventHandler(EffectUIHost::OnPlayback),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_PLAYBACK,
&EffectUIHost::OnPlayback,
this);
wxTheApp->Connect(EVT_AUDIOIO_CAPTURE,
wxCommandEventHandler(EffectUIHost::OnCapture),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_CAPTURE,
&EffectUIHost::OnCapture,
this);
mInitialized = true;

View File

@ -104,9 +104,8 @@ void PlayIndicatorOverlayBase::Draw(OverlayPanel &panel, wxDC &dc)
PlayIndicatorOverlay::PlayIndicatorOverlay(AudacityProject *project)
: PlayIndicatorOverlayBase(project, true)
{
mProject->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(PlayIndicatorOverlay::OnTimer),
NULL,
mProject->Bind(EVT_TRACK_PANEL_TIMER,
&PlayIndicatorOverlay::OnTimer,
this);
}

View File

@ -726,9 +726,8 @@ ScrubbingOverlay::ScrubbingOverlay(AudacityProject *project)
, mLastScrubSpeedText()
, mNextScrubSpeedText()
{
mProject->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(ScrubbingOverlay::OnTimer),
NULL,
mProject->Bind(EVT_TRACK_PANEL_TIMER,
&ScrubbingOverlay::OnTimer,
this);
}

View File

@ -1042,9 +1042,8 @@ public:
, mConnectedProject{ pProject }
{
if (mConnectedProject)
mConnectedProject->Connect(EVT_TRACK_PANEL_TIMER,
wxCommandEventHandler(SelectHandle::TimerHandler::OnTimer),
NULL,
mConnectedProject->Bind(EVT_TRACK_PANEL_TIMER,
&SelectHandle::TimerHandler::OnTimer,
this);
}

View File

@ -176,7 +176,7 @@ bool MeterUpdateQueue::Get(MeterUpdateMsg &msg)
const static int gap = 2;
// Event used to notify all meters of preference changes
DEFINE_EVENT_TYPE(EVT_METER_PREFERENCES_CHANGED);
wxDEFINE_EVENT(EVT_METER_PREFERENCES_CHANGED, wxCommandEvent);
const static wxChar *PrefStyles[] =
{
@ -270,19 +270,16 @@ MeterPanel::MeterPanel(AudacityProject *project,
mDisabledPen = wxPen(theTheme.Colour( clrMeterDisabledPen), 1, wxSOLID);
// Register for our preference update event
wxTheApp->Connect(EVT_METER_PREFERENCES_CHANGED,
wxCommandEventHandler(MeterPanel::OnMeterPrefsUpdated),
NULL,
wxTheApp->Bind(EVT_METER_PREFERENCES_CHANGED,
&MeterPanel::OnMeterPrefsUpdated,
this);
if (mIsInput) {
wxTheApp->Connect(EVT_AUDIOIO_MONITOR,
wxCommandEventHandler(MeterPanel::OnAudioIOStatus),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_MONITOR,
&MeterPanel::OnAudioIOStatus,
this);
wxTheApp->Connect(EVT_AUDIOIO_CAPTURE,
wxCommandEventHandler(MeterPanel::OnAudioIOStatus),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_CAPTURE,
&MeterPanel::OnAudioIOStatus,
this);
mPen = wxPen( theTheme.Colour( clrMeterInputPen ), 1, wxSOLID);
@ -294,9 +291,8 @@ MeterPanel::MeterPanel(AudacityProject *project,
}
else {
// Register for AudioIO events
wxTheApp->Connect(EVT_AUDIOIO_PLAYBACK,
wxCommandEventHandler(MeterPanel::OnAudioIOStatus),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_PLAYBACK,
&MeterPanel::OnAudioIOStatus,
this);
mPen = wxPen( theTheme.Colour( clrMeterOutputPen ), 1, wxSOLID);

View File

@ -23,7 +23,8 @@
#include "Ruler.h"
// Event used to notify all meters of preference changes
DECLARE_EXPORTED_EVENT_TYPE(AUDACITY_DLL_API, EVT_METER_PREFERENCES_CHANGED, -1);
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API,
EVT_METER_PREFERENCES_CHANGED, wxCommandEvent);
// Increase this when we add support for multichannel meters
// (most of the code is already there)

View File

@ -2021,9 +2021,8 @@ AdornedRulerPanel::AdornedRulerPanel(AudacityProject* project,
wxToolTip::Enable(true);
#endif
wxTheApp->Connect(EVT_AUDIOIO_CAPTURE,
wxCommandEventHandler(AdornedRulerPanel::OnCapture),
NULL,
wxTheApp->Bind(EVT_AUDIOIO_CAPTURE,
&AdornedRulerPanel::OnCapture,
this);
}