Audacity 3.2.0
|
#include <MixerBoard.h>
Public Member Functions | |
MixerBoard (AudacityProject *pProject, wxFrame *parent, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize) | |
void | UpdatePrefs () override |
void | UpdateTrackClusters () |
int | GetTrackClustersWidth () |
wxBitmap * | GetMusicalInstrumentBitmap (const Track *pTrack) |
bool | HasSolo () |
void | RefreshTrackClusters (bool bEraseBackground=true) |
void | ResizeTrackClusters () |
void | UpdateMeters (const double t1, const bool bLoopedPlay) |
void | UpdateWidth () |
Public Attributes | |
std::unique_ptr< wxImage > | mImageMuteUp |
std::unique_ptr< wxImage > | mImageMuteOver |
std::unique_ptr< wxImage > | mImageMuteDown |
std::unique_ptr< wxImage > | mImageMuteDownWhileSolo |
std::unique_ptr< wxImage > | mImageMuteDisabled |
std::unique_ptr< wxImage > | mImageSoloUp |
std::unique_ptr< wxImage > | mImageSoloOver |
std::unique_ptr< wxImage > | mImageSoloDown |
std::unique_ptr< wxImage > | mImageSoloDisabled |
int | mMuteSoloWidth |
Private Member Functions | |
void | ResetMeters (const bool bResetClipping) |
void | RemoveTrackCluster (size_t nIndex) |
void | MakeButtonBitmap (wxMemoryDC &dc, wxBitmap &bitmap, wxRect &bev, const TranslatableString &str, bool up) |
void | CreateMuteSoloImages () |
int | FindMixerTrackCluster (const PlayableTrack *pTrack, MixerTrackCluster **hMixerTrackCluster) const |
void | LoadMusicalInstruments () |
void | OnPaint (wxPaintEvent &evt) |
void | OnSize (wxSizeEvent &evt) |
void | OnTimer (Observer::Message) |
void | OnTrackSetChanged () |
void | OnTrackChanged (const TrackListEvent &event) |
void | OnStartStop (AudioIOEvent) |
Private Member Functions inherited from PrefsListener | |
PrefsListener () | |
virtual | ~PrefsListener () |
virtual void | UpdatePrefs ()=0 |
virtual void | UpdateSelectedPrefs (int id) |
Private Attributes | |
Observer::Subscription | mPlaybackScrollerSubscription |
Observer::Subscription | mTrackPanelSubscription |
Observer::Subscription | mAudioIOSubscription |
std::vector< MixerTrackCluster * > | mMixerTrackClusters |
MusicalInstrumentArray | mMusicalInstruments |
AudacityProject * | mProject |
MixerBoardScrolledWindow * | mScrolledWindow |
double | mPrevT1 |
TrackList * | mTracks |
bool | mUpToDate { false } |
Friends | |
class | MixerBoardFrame |
Additional Inherited Members | |
Static Private Member Functions inherited from PrefsListener | |
static void | Broadcast (int id=0) |
Call this static function to notify all PrefsListener objects. More... | |
Definition at line 191 of file MixerBoard.h.
MixerBoard::MixerBoard | ( | AudacityProject * | pProject, |
wxFrame * | parent, | ||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize |
||
) |
Definition at line 854 of file MixerBoard.cpp.
References ThemeBase::Colour(), PendingTracks::Get(), TrackList::Get(), ProjectWindow::Get(), ProjectWindow::GetPlaybackScroller(), kInset, kRightSideStackWidth, OnTimer(), RTL_WORKAROUND, safenew, size, Observer::Publisher< Message, NotifyAll >::Subscribe(), and theTheme.
|
private |
Definition at line 1210 of file MixerBoard.cpp.
References kInset, kRightSideStackWidth, MakeButtonBitmap(), mImageMuteDisabled, mImageMuteDown, mImageMuteDownWhileSolo, mImageMuteOver, mImageMuteUp, mImageSoloDisabled, mImageSoloDown, mImageSoloOver, mImageSoloUp, mMuteSoloWidth, MUTE_SOLO_HEIGHT, str, and XO().
Referenced by UpdateTrackClusters().
|
private |
Definition at line 1251 of file MixerBoard.cpp.
References mMixerTrackClusters.
Referenced by OnTrackChanged().
wxBitmap * MixerBoard::GetMusicalInstrumentBitmap | ( | const Track * | pTrack | ) |
Definition at line 1062 of file MixerBoard.cpp.
References Track::GetName(), and mMusicalInstruments.
Referenced by MixerTrackCluster::UpdateForStateChange().
int MixerBoard::GetTrackClustersWidth | ( | ) |
Definition at line 1029 of file MixerBoard.cpp.
References kDoubleInset, kInset, kMixerTrackClusterWidth, and mMixerTrackClusters.
Referenced by UpdateWidth().
bool MixerBoard::HasSolo | ( | ) |
Definition at line 1107 of file MixerBoard.cpp.
References TrackList::Any(), PlayableTrack::GetSolo(), and mTracks.
Referenced by MixerTrackCluster::UpdateMeter().
|
private |
Definition at line 1266 of file MixerBoard.cpp.
References AColor::Bevel(), mMusicalInstruments, MUSICAL_INSTRUMENT_HEIGHT_AND_WIDTH, name, and wxT().
|
private |
Definition at line 1183 of file MixerBoard.cpp.
References AColor::Bevel2(), ThemeBase::Colour(), str, theTheme, and AColor::UseThemeColour().
Referenced by CreateMuteSoloImages().
|
private |
Definition at line 1310 of file MixerBoard.cpp.
References mUpToDate, and UpdateTrackClusters().
|
private |
Definition at line 1321 of file MixerBoard.cpp.
References mScrolledWindow, RefreshTrackClusters(), and ResizeTrackClusters().
|
private |
Definition at line 1374 of file MixerBoard.cpp.
References AudioIOEvent::on, AudioIOEvent::PLAYBACK, ResetMeters(), and AudioIOEvent::type.
|
private |
Definition at line 1330 of file MixerBoard.cpp.
References AudioIO::Get(), ProjectAudioIO::Get(), ProjectAudioManager::Get(), ProjectAudioManager::GetLastPlayMode(), ProjectAudioIO::IsAudioActive(), loopedPlay, and UpdateMeters().
Referenced by MixerBoard().
|
private |
Definition at line 1355 of file MixerBoard.cpp.
References FindMixerTrackCluster(), and TrackListEvent::mpTrack.
|
private |
Definition at line 1367 of file MixerBoard.cpp.
References mUpToDate, and UpdateTrackClusters().
void MixerBoard::RefreshTrackClusters | ( | bool | bEraseBackground = true | ) |
Definition at line 1113 of file MixerBoard.cpp.
References mMixerTrackClusters.
Referenced by OnSize().
|
private |
Definition at line 1038 of file MixerBoard.cpp.
References kInset, kMixerTrackClusterWidth, mMixerTrackClusters, and UpdateWidth().
Referenced by UpdateTrackClusters().
|
private |
Definition at line 1125 of file MixerBoard.cpp.
References BAD_STREAM_TIME, mMixerTrackClusters, and mPrevT1.
Referenced by OnStartStop().
void MixerBoard::ResizeTrackClusters | ( | ) |
Definition at line 1119 of file MixerBoard.cpp.
References mMixerTrackClusters.
Referenced by OnSize(), and UpdateTrackClusters().
void MixerBoard::UpdateMeters | ( | const double | t1, |
const bool | bLoopedPlay | ||
) |
Definition at line 1136 of file MixerBoard.cpp.
References BAD_STREAM_TIME, mMixerTrackClusters, and mPrevT1.
Referenced by OnTimer().
|
overridevirtual |
Implements PrefsListener.
Definition at line 936 of file MixerBoard.cpp.
References ThemeBase::Colour(), mImageMuteDisabled, mImageMuteDown, mImageMuteDownWhileSolo, mImageMuteOver, mImageMuteUp, mImageSoloDisabled, mImageSoloDown, mImageSoloOver, mImageSoloUp, mMixerTrackClusters, mProject, mScrolledWindow, theTheme, and UpdatePrefs().
Referenced by UpdatePrefs().
void MixerBoard::UpdateTrackClusters | ( | ) |
Definition at line 970 of file MixerBoard.cpp.
References TrackList::Any(), CreateMuteSoloImages(), kDoubleInset, kInset, kMixerTrackClusterWidth, mImageMuteUp, mMixerTrackClusters, mProject, mScrolledWindow, mTracks, RemoveTrackCluster(), ResizeTrackClusters(), safenew, and UpdateWidth().
Referenced by OnPaint(), OnTrackSetChanged(), and MixerBoardFrame::Recreate().
void MixerBoard::UpdateWidth | ( | ) |
Definition at line 1166 of file MixerBoard.cpp.
References GetTrackClustersWidth(), kDoubleInset, MIXER_BOARD_MIN_WIDTH, and mScrolledWindow.
Referenced by MixerBoardFrame::OnMaximize(), RemoveTrackCluster(), and UpdateTrackClusters().
|
friend |
Definition at line 193 of file MixerBoard.h.
|
private |
Definition at line 250 of file MixerBoard.h.
std::unique_ptr<wxImage> MixerBoard::mImageMuteDisabled |
Definition at line 243 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageMuteDown |
Definition at line 241 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageMuteDownWhileSolo |
Definition at line 242 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageMuteOver |
Definition at line 241 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageMuteUp |
Definition at line 241 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), UpdatePrefs(), and UpdateTrackClusters().
std::unique_ptr<wxImage> MixerBoard::mImageSoloDisabled |
Definition at line 243 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageSoloDown |
Definition at line 243 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageSoloOver |
Definition at line 243 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
std::unique_ptr<wxImage> MixerBoard::mImageSoloUp |
Definition at line 243 of file MixerBoard.h.
Referenced by CreateMuteSoloImages(), and UpdatePrefs().
|
private |
Definition at line 253 of file MixerBoard.h.
Referenced by FindMixerTrackCluster(), GetTrackClustersWidth(), RefreshTrackClusters(), RemoveTrackCluster(), ResetMeters(), ResizeTrackClusters(), UpdateMeters(), UpdatePrefs(), and UpdateTrackClusters().
|
private |
Definition at line 255 of file MixerBoard.h.
Referenced by GetMusicalInstrumentBitmap(), and LoadMusicalInstruments().
int MixerBoard::mMuteSoloWidth |
Definition at line 245 of file MixerBoard.h.
Referenced by CreateMuteSoloImages().
|
private |
Definition at line 248 of file MixerBoard.h.
|
private |
Definition at line 258 of file MixerBoard.h.
Referenced by ResetMeters(), and UpdateMeters().
|
private |
Definition at line 256 of file MixerBoard.h.
Referenced by MixerBoardFrame::OnKeyEvent(), UpdatePrefs(), and UpdateTrackClusters().
|
private |
Definition at line 257 of file MixerBoard.h.
Referenced by OnSize(), UpdatePrefs(), UpdateTrackClusters(), and UpdateWidth().
|
private |
Definition at line 249 of file MixerBoard.h.
|
private |
Definition at line 259 of file MixerBoard.h.
Referenced by HasSolo(), and UpdateTrackClusters().
|
private |
Definition at line 260 of file MixerBoard.h.
Referenced by OnPaint(), and OnTrackSetChanged().