From fb8ba0ce4386c0d7cb38a57290011c1d1c6fa7b1 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Sat, 18 Jan 2020 15:11:23 -0500 Subject: [PATCH] Some briefer type aliases for wave track display type --- src/prefs/WaveformSettings.cpp | 2 +- .../playabletrack/wavetrack/ui/SpectrumView.cpp | 2 +- .../playabletrack/wavetrack/ui/SpectrumView.h | 2 +- .../wavetrack/ui/WaveTrackControls.cpp | 7 ++++--- .../playabletrack/wavetrack/ui/WaveTrackView.cpp | 12 ++++++------ .../playabletrack/wavetrack/ui/WaveTrackView.h | 16 +++++++++------- .../playabletrack/wavetrack/ui/WaveformView.cpp | 2 +- .../playabletrack/wavetrack/ui/WaveformView.h | 2 +- 8 files changed, 24 insertions(+), 21 deletions(-) diff --git a/src/prefs/WaveformSettings.cpp b/src/prefs/WaveformSettings.cpp index 923ac0fca..71d461bd6 100644 --- a/src/prefs/WaveformSettings.cpp +++ b/src/prefs/WaveformSettings.cpp @@ -150,7 +150,7 @@ void WaveformSettings::NextHigherDBRange() const TranslatableStrings &WaveformSettings::GetScaleNames() { static const TranslatableStrings result{ - // Keep in correspondence with enum WaveTrack::WaveTrackDisplay: + // Keep in correspondence with ScaleTypeValues: XO("Linear"), XO("dB"), }; diff --git a/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp b/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp index 5ec43a594..88f1736cc 100644 --- a/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/SpectrumView.cpp @@ -73,7 +73,7 @@ void SpectrumView::DoSetMinimized( bool minimized ) TrackView::DoSetMinimized( minimized ); } -WaveTrackViewConstants::Display SpectrumView::SubViewType() const +auto SpectrumView::SubViewType() const -> Display { return WaveTrackViewConstants::Spectrum; } diff --git a/src/tracks/playabletrack/wavetrack/ui/SpectrumView.h b/src/tracks/playabletrack/wavetrack/ui/SpectrumView.h index 5fc9c49d1..49416d58a 100644 --- a/src/tracks/playabletrack/wavetrack/ui/SpectrumView.h +++ b/src/tracks/playabletrack/wavetrack/ui/SpectrumView.h @@ -24,7 +24,7 @@ public: using WaveTrackSubView::WaveTrackSubView; ~SpectrumView() override; - virtual WaveTrackViewConstants::Display SubViewType() const override; + virtual Display SubViewType() const override; std::shared_ptr DoGetVRulerControls() override; diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp index 4997e4605..7a4274b6b 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp @@ -804,7 +804,7 @@ void WaveTrackMenuTable::OnSetDisplay(wxCommandEvent & event) wxASSERT(idInt >= OnWaveformID && idInt <= OnSpectrumID); const auto pTrack = static_cast(mpData->pTrack); - WaveTrackView::WaveTrackDisplay id; + WaveTrackView::Display id; switch (idInt) { default: case OnWaveformID: @@ -816,7 +816,8 @@ void WaveTrackMenuTable::OnSetDisplay(wxCommandEvent & event) auto &view = WaveTrackView::Get( *pTrack ); if ( view.GetMultiView() ) { for (auto channel : TrackList::Channels(pTrack)) { - if ( !WaveTrackView::Get( *channel ).ToggleSubView( id ) ) { + if ( !WaveTrackView::Get( *channel ) + .ToggleSubView( WaveTrackView::Display{ id } ) ) { // Trying to toggle off the last sub-view. It was refused. // Decide what to do here. Turn off multi-view instead? // PRL: I don't agree that it makes sense @@ -832,7 +833,7 @@ void WaveTrackMenuTable::OnSetDisplay(wxCommandEvent & event) for (auto channel : TrackList::Channels(pTrack)) { channel->SetLastScaleType(); WaveTrackView::Get( *channel ) - .SetDisplay(WaveTrackView::WaveTrackDisplay(id)); + .SetDisplay( WaveTrackView::Display{ id } ); } AudacityProject *const project = &mpData->project; diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp index 1215c5f0a..bcfa33a67 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp @@ -842,12 +842,12 @@ WaveTrackView::DoDetailedHitTest return { false, results }; } -auto WaveTrackView::GetDisplays() const -> std::vector +auto WaveTrackView::GetDisplays() const -> std::vector { BuildSubViews(); // Collect the display types of visible views and sort them by position - using Pair = std::pair< int, WaveTrackDisplay >; + using Pair = std::pair< int, Display >; std::vector< Pair > pairs; size_t ii = 0; WaveTrackSubViews::ForEach( [&]( const WaveTrackSubView &subView ){ @@ -857,19 +857,19 @@ auto WaveTrackView::GetDisplays() const -> std::vector ++ii; } ); std::sort( pairs.begin(), pairs.end() ); - std::vector results; + std::vector results; for ( const auto &pair : pairs ) results.push_back( pair.second ); return results; } -void WaveTrackView::SetDisplay(WaveTrackDisplay display, bool exclusive) +void WaveTrackView::SetDisplay(Display display, bool exclusive) { BuildSubViews(); DoSetDisplay( display, exclusive ); } -bool WaveTrackView::ToggleSubView(WaveTrackDisplay display) +bool WaveTrackView::ToggleSubView(Display display) { size_t ii = 0; size_t found = 0; @@ -927,7 +927,7 @@ bool WaveTrackView::ToggleSubView(WaveTrackDisplay display) // If exclusive, make the chosen view take up all the height. Else, // partition equally, putting the specified view on top. // Be sure the sequence in which the other views appear is determinate. -void WaveTrackView::DoSetDisplay(WaveTrackDisplay display, bool exclusive) +void WaveTrackView::DoSetDisplay(Display display, bool exclusive) { // Some generality here anticipating more than two views. // The order of sub-views in the array is not specified, so make it definite diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h index a60d1ed84..6d0e3fbf2 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.h @@ -22,10 +22,12 @@ class WaveTrackView; class WaveTrackSubView : public CommonTrackView { public: + using Display = WaveTrackViewConstants::Display; + explicit WaveTrackSubView( WaveTrackView &waveTrackView ); - virtual WaveTrackViewConstants::Display SubViewType() const = 0; + virtual Display SubViewType() const = 0; std::pair< bool, // if true, hit-testing is finished @@ -67,6 +69,8 @@ class WaveTrackView final WaveTrackView &operator=( const WaveTrackView& ) = delete; public: + using Display = WaveTrackViewConstants::Display; + static WaveTrackView &Get( WaveTrack &track ); static const WaveTrackView &Get( const WaveTrack &track ); @@ -91,10 +95,8 @@ public: const std::shared_ptr &wt, CommonTrackView &view); - using WaveTrackDisplay = WaveTrackViewConstants::Display; - - std::vector GetDisplays() const; - void SetDisplay(WaveTrackDisplay display, bool exclusive = true); + std::vector GetDisplays() const; + void SetDisplay(Display display, bool exclusive = true); const WaveTrackSubViewPlacements &SavePlacements() const { return mPlacements; } @@ -103,7 +105,7 @@ public: // Return true if successful. Fails if you try to toggle off the only // sub-view. - bool ToggleSubView( WaveTrackDisplay id ); + bool ToggleSubView( Display id ); // Get all the sub-views, in a sequence that is unspecified but in // correspondence with the result of SavePlacements @@ -117,7 +119,7 @@ public: private: void BuildSubViews() const; - void DoSetDisplay(WaveTrackDisplay display, bool exclusive = true); + void DoSetDisplay(Display display, bool exclusive = true); // TrackPanelDrawable implementation void Draw( diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp index b2f2d9071..abdbfb91c 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveformView.cpp @@ -119,7 +119,7 @@ void WaveformView::DoSetMinimized( bool minimized ) TrackView::DoSetMinimized( minimized ); } -WaveTrackViewConstants::Display WaveformView::SubViewType() const +auto WaveformView::SubViewType() const -> Display { return WaveTrackViewConstants::Waveform; } diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveformView.h b/src/tracks/playabletrack/wavetrack/ui/WaveformView.h index 7d91867e9..7c853c8ec 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveformView.h +++ b/src/tracks/playabletrack/wavetrack/ui/WaveformView.h @@ -26,7 +26,7 @@ public: using WaveTrackSubView::WaveTrackSubView; ~WaveformView() override; - virtual WaveTrackViewConstants::Display SubViewType() const override; + virtual Display SubViewType() const override; std::shared_ptr DoGetVRulerControls() override;