mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-17 16:40:07 +02:00
Move display type from WaveTrack to WaveTrackView
This commit is contained in:
parent
c28e47bd38
commit
6ccca16a75
@ -97,15 +97,6 @@ WaveTrack::WaveTrack(const std::shared_ptr<DirManager> &projDirManager, sampleFo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Force creation always:
|
|
||||||
WaveformSettings &settings = GetIndependentWaveformSettings();
|
|
||||||
|
|
||||||
mDisplay = TracksPrefs::ViewModeChoice();
|
|
||||||
if (mDisplay == WaveTrackViewConstants::obsoleteWaveformDBDisplay) {
|
|
||||||
mDisplay = WaveTrackViewConstants::Waveform;
|
|
||||||
settings.scaleType = WaveformSettings::stLogarithmic;
|
|
||||||
}
|
|
||||||
|
|
||||||
mLegacyProjectFileOffset = 0;
|
mLegacyProjectFileOffset = 0;
|
||||||
|
|
||||||
mFormat = format;
|
mFormat = format;
|
||||||
@ -161,7 +152,6 @@ void WaveTrack::Init(const WaveTrack &orig)
|
|||||||
mOldGain[1] = 0.0;
|
mOldGain[1] = 0.0;
|
||||||
SetDefaultName(orig.GetDefaultName());
|
SetDefaultName(orig.GetDefaultName());
|
||||||
SetName(orig.GetName());
|
SetName(orig.GetName());
|
||||||
mDisplay = orig.mDisplay;
|
|
||||||
mDisplayMin = orig.mDisplayMin;
|
mDisplayMin = orig.mDisplayMin;
|
||||||
mDisplayMax = orig.mDisplayMax;
|
mDisplayMax = orig.mDisplayMax;
|
||||||
mSpectrumMin = orig.mSpectrumMin;
|
mSpectrumMin = orig.mSpectrumMin;
|
||||||
@ -196,7 +186,6 @@ void WaveTrack::Merge(const Track &orig)
|
|||||||
{
|
{
|
||||||
orig.TypeSwitch( [&](const WaveTrack *pwt) {
|
orig.TypeSwitch( [&](const WaveTrack *pwt) {
|
||||||
const WaveTrack &wt = *pwt;
|
const WaveTrack &wt = *pwt;
|
||||||
mDisplay = wt.mDisplay;
|
|
||||||
mGain = wt.mGain;
|
mGain = wt.mGain;
|
||||||
mPan = wt.mPan;
|
mPan = wt.mPan;
|
||||||
mDisplayMin = wt.mDisplayMin;
|
mDisplayMin = wt.mDisplayMin;
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
#include <wx/longlong.h>
|
#include <wx/longlong.h>
|
||||||
|
|
||||||
#include "WaveTrackLocation.h"
|
#include "WaveTrackLocation.h"
|
||||||
#include "tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
|
|
||||||
|
|
||||||
class ProgressDialog;
|
class ProgressDialog;
|
||||||
|
|
||||||
@ -523,17 +522,12 @@ private:
|
|||||||
// Set the unique autosave ID
|
// Set the unique autosave ID
|
||||||
void SetAutoSaveIdent(int id);
|
void SetAutoSaveIdent(int id);
|
||||||
|
|
||||||
using WaveTrackDisplay = WaveTrackViewConstants::Display;
|
|
||||||
|
|
||||||
int GetLastScaleType() const { return mLastScaleType; }
|
int GetLastScaleType() const { return mLastScaleType; }
|
||||||
void SetLastScaleType() const;
|
void SetLastScaleType() const;
|
||||||
|
|
||||||
int GetLastdBRange() const { return mLastdBRange; }
|
int GetLastdBRange() const { return mLastdBRange; }
|
||||||
void SetLastdBRange() const;
|
void SetLastdBRange() const;
|
||||||
|
|
||||||
WaveTrackDisplay GetDisplay() const { return mDisplay; }
|
|
||||||
void SetDisplay(WaveTrackDisplay display) { mDisplay = display; }
|
|
||||||
|
|
||||||
void GetDisplayBounds(float *min, float *max) const;
|
void GetDisplayBounds(float *min, float *max) const;
|
||||||
void SetDisplayBounds(float min, float max) const;
|
void SetDisplayBounds(float min, float max) const;
|
||||||
void GetSpectrumBounds(float *min, float *max) const;
|
void GetSpectrumBounds(float *min, float *max) const;
|
||||||
@ -568,7 +562,6 @@ private:
|
|||||||
mutable float mSpectrumMin;
|
mutable float mSpectrumMin;
|
||||||
mutable float mSpectrumMax;
|
mutable float mSpectrumMax;
|
||||||
|
|
||||||
WaveTrackDisplay mDisplay;
|
|
||||||
mutable int mLastScaleType; // last scale type choice
|
mutable int mLastScaleType; // last scale type choice
|
||||||
mutable int mLastdBRange;
|
mutable int mLastdBRange;
|
||||||
mutable std::vector <Location> mDisplayLocationsCache;
|
mutable std::vector <Location> mDisplayLocationsCache;
|
||||||
|
@ -44,7 +44,8 @@ SetTrackAudioCommand and SetTrackVisualsCommand.
|
|||||||
#include "../prefs/SpectrogramSettings.h"
|
#include "../prefs/SpectrogramSettings.h"
|
||||||
#include "../Shuttle.h"
|
#include "../Shuttle.h"
|
||||||
#include "../ShuttleGui.h"
|
#include "../ShuttleGui.h"
|
||||||
#include "../tracks/ui/TrackView.h"
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
|
||||||
#include "CommandContext.h"
|
#include "CommandContext.h"
|
||||||
|
|
||||||
SetTrackBase::SetTrackBase(){
|
SetTrackBase::SetTrackBase(){
|
||||||
@ -353,7 +354,7 @@ bool SetTrackVisualsCommand::ApplyInner(const CommandContext & context, Track *
|
|||||||
TrackView::Get( *t ).SetHeight( mHeight );
|
TrackView::Get( *t ).SetHeight( mHeight );
|
||||||
|
|
||||||
if( wt && bHasDisplayType )
|
if( wt && bHasDisplayType )
|
||||||
wt->SetDisplay(
|
WaveTrackView::Get( *wt ).SetDisplay(
|
||||||
(mDisplayType == kWaveform) ?
|
(mDisplayType == kWaveform) ?
|
||||||
WaveTrackViewConstants::Waveform
|
WaveTrackViewConstants::Waveform
|
||||||
: WaveTrackViewConstants::Spectrum
|
: WaveTrackViewConstants::Spectrum
|
||||||
|
@ -68,6 +68,8 @@ greater use in future.
|
|||||||
#include "../widgets/ProgressDialog.h"
|
#include "../widgets/ProgressDialog.h"
|
||||||
#include "../ondemand/ODManager.h"
|
#include "../ondemand/ODManager.h"
|
||||||
#include "TimeWarper.h"
|
#include "TimeWarper.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
|
||||||
#include "../widgets/HelpSystem.h"
|
#include "../widgets/HelpSystem.h"
|
||||||
#include "../widgets/NumericTextCtrl.h"
|
#include "../widgets/NumericTextCtrl.h"
|
||||||
#include "../widgets/AudacityMessageBox.h"
|
#include "../widgets/AudacityMessageBox.h"
|
||||||
@ -2360,7 +2362,8 @@ void Effect::Preview(bool dryOnly)
|
|||||||
|
|
||||||
mixLeft->Offset(-mixLeft->GetStartTime());
|
mixLeft->Offset(-mixLeft->GetStartTime());
|
||||||
mixLeft->SetSelected(true);
|
mixLeft->SetSelected(true);
|
||||||
mixLeft->SetDisplay(WaveTrackViewConstants::NoDisplay);
|
WaveTrackView::Get( *mixLeft )
|
||||||
|
.SetDisplay(WaveTrackViewConstants::NoDisplay);
|
||||||
auto pLeft = mTracks->Add( mixLeft );
|
auto pLeft = mTracks->Add( mixLeft );
|
||||||
Track *pRight{};
|
Track *pRight{};
|
||||||
if (mixRight) {
|
if (mixRight) {
|
||||||
@ -2375,8 +2378,8 @@ void Effect::Preview(bool dryOnly)
|
|||||||
if (src->GetSelected() || mPreviewWithNotSelected) {
|
if (src->GetSelected() || mPreviewWithNotSelected) {
|
||||||
auto dest = src->Copy(mT0, t1);
|
auto dest = src->Copy(mT0, t1);
|
||||||
dest->SetSelected(src->GetSelected());
|
dest->SetSelected(src->GetSelected());
|
||||||
static_cast<WaveTrack*>(dest.get())
|
WaveTrackView::Get( *static_cast<WaveTrack*>(dest.get()) )
|
||||||
->SetDisplay(WaveTrackViewConstants::NoDisplay);
|
.SetDisplay(WaveTrackViewConstants::NoDisplay);
|
||||||
mTracks->Add( dest );
|
mTracks->Add( dest );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,6 +73,8 @@ effects from this one class.
|
|||||||
#include "../../wxFileNameWrapper.h"
|
#include "../../wxFileNameWrapper.h"
|
||||||
#include "../../prefs/GUIPrefs.h"
|
#include "../../prefs/GUIPrefs.h"
|
||||||
#include "../../prefs/WaveformSettings.h"
|
#include "../../prefs/WaveformSettings.h"
|
||||||
|
#include "../../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
|
||||||
|
#include "../../tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
|
||||||
#include "../../widgets/NumericTextCtrl.h"
|
#include "../../widgets/NumericTextCtrl.h"
|
||||||
#include "../../widgets/ProgressDialog.h"
|
#include "../../widgets/ProgressDialog.h"
|
||||||
|
|
||||||
@ -542,7 +544,8 @@ bool NyquistEffect::Init()
|
|||||||
|
|
||||||
for ( auto t :
|
for ( auto t :
|
||||||
TrackList::Get( *project ).Selected< const WaveTrack >() ) {
|
TrackList::Get( *project ).Selected< const WaveTrack >() ) {
|
||||||
if (t->GetDisplay() != WaveTrackViewConstants::Spectrum ||
|
if (WaveTrackView::Get(*t).GetDisplay()
|
||||||
|
!= WaveTrackViewConstants::Spectrum ||
|
||||||
!(t->GetSpectrogramSettings().SpectralSelectionEnabled())) {
|
!(t->GetSpectrogramSettings().SpectralSelectionEnabled())) {
|
||||||
bAllowSpectralEditing = false;
|
bAllowSpectralEditing = false;
|
||||||
break;
|
break;
|
||||||
@ -1066,7 +1069,7 @@ bool NyquistEffect::ProcessOne()
|
|||||||
[&](const WaveTrack *wt) {
|
[&](const WaveTrack *wt) {
|
||||||
type = wxT("wave");
|
type = wxT("wave");
|
||||||
spectralEditp = mCurTrack[0]->GetSpectrogramSettings().SpectralSelectionEnabled()? wxT("T") : wxT("NIL");
|
spectralEditp = mCurTrack[0]->GetSpectrogramSettings().SpectralSelectionEnabled()? wxT("T") : wxT("NIL");
|
||||||
switch (wt->GetDisplay())
|
switch ( WaveTrackView::Get( *wt ).GetDisplay() )
|
||||||
{
|
{
|
||||||
case Waveform:
|
case Waveform:
|
||||||
view = (mCurTrack[0]->GetWaveformSettings().scaleType == 0) ? wxT("\"Waveform\"") : wxT("\"Waveform (dB)\"");
|
view = (mCurTrack[0]->GetWaveformSettings().scaleType == 0) ? wxT("\"Waveform\"") : wxT("\"Waveform (dB)\"");
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#include "../commands/CommandManager.h"
|
#include "../commands/CommandManager.h"
|
||||||
#include "../toolbars/ControlToolBar.h"
|
#include "../toolbars/ControlToolBar.h"
|
||||||
#include "../tracks/ui/SelectHandle.h"
|
#include "../tracks/ui/SelectHandle.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
|
||||||
|
|
||||||
// private helper classes and functions
|
// private helper classes and functions
|
||||||
namespace {
|
namespace {
|
||||||
@ -33,7 +35,7 @@ void DoNextPeakFrequency(AudacityProject &project, bool up)
|
|||||||
// Find the first selected wave track that is in a spectrogram view.
|
// Find the first selected wave track that is in a spectrogram view.
|
||||||
const WaveTrack *pTrack {};
|
const WaveTrack *pTrack {};
|
||||||
for ( auto wt : tracks.Selected< const WaveTrack >() ) {
|
for ( auto wt : tracks.Selected< const WaveTrack >() ) {
|
||||||
const int display = wt->GetDisplay();
|
const auto display = WaveTrackView::Get( *wt ).GetDisplay();
|
||||||
if (display == WaveTrackViewConstants::Spectrum) {
|
if (display == WaveTrackViewConstants::Spectrum) {
|
||||||
pTrack = wt;
|
pTrack = wt;
|
||||||
break;
|
break;
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
|
|
||||||
#include "../TrackPanel.h"
|
#include "../TrackPanel.h"
|
||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ SpectrumPrefs::SpectrumPrefs(wxWindow * parent, wxWindowID winid, WaveTrack *wt)
|
|||||||
wt->GetSpectrumBounds(&mOrigMin, &mOrigMax);
|
wt->GetSpectrumBounds(&mOrigMin, &mOrigMax);
|
||||||
mTempSettings.maxFreq = mOrigMax;
|
mTempSettings.maxFreq = mOrigMax;
|
||||||
mTempSettings.minFreq = mOrigMin;
|
mTempSettings.minFreq = mOrigMin;
|
||||||
mOrigDisplay = mWt->GetDisplay();
|
mOrigDisplay = WaveTrackView::Get( *mWt ).GetDisplay();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mTempSettings = mOrigSettings = SpectrogramSettings::defaults();
|
mTempSettings = mOrigSettings = SpectrogramSettings::defaults();
|
||||||
@ -423,7 +424,7 @@ void SpectrumPrefs::Rollback()
|
|||||||
if (mWt && isOpenPage) {
|
if (mWt && isOpenPage) {
|
||||||
auto channels = TrackList::Channels(mWt);
|
auto channels = TrackList::Channels(mWt);
|
||||||
for (auto channel : channels)
|
for (auto channel : channels)
|
||||||
channel->SetDisplay(mOrigDisplay);
|
WaveTrackView::Get( *channel ).SetDisplay( mOrigDisplay );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isOpenPage) {
|
if (isOpenPage) {
|
||||||
@ -470,7 +471,8 @@ void SpectrumPrefs::Preview()
|
|||||||
|
|
||||||
if (mWt && isOpenPage) {
|
if (mWt && isOpenPage) {
|
||||||
for (auto channel : TrackList::Channels(mWt))
|
for (auto channel : TrackList::Channels(mWt))
|
||||||
channel->SetDisplay(WaveTrackViewConstants::Spectrum);
|
WaveTrackView::Get( *channel )
|
||||||
|
.SetDisplay( WaveTrackViewConstants::Spectrum );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isOpenPage) {
|
if (isOpenPage) {
|
||||||
|
@ -27,6 +27,8 @@ Paul Licameli
|
|||||||
#include "../TrackPanel.h"
|
#include "../TrackPanel.h"
|
||||||
#include "../ShuttleGui.h"
|
#include "../ShuttleGui.h"
|
||||||
#include "../WaveTrack.h"
|
#include "../WaveTrack.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackView.h"
|
||||||
|
#include "../tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h"
|
||||||
|
|
||||||
WaveformPrefs::WaveformPrefs(wxWindow * parent, wxWindowID winid, WaveTrack *wt)
|
WaveformPrefs::WaveformPrefs(wxWindow * parent, wxWindowID winid, WaveTrack *wt)
|
||||||
/* i18n-hint: A waveform is a visual representation of vibration */
|
/* i18n-hint: A waveform is a visual representation of vibration */
|
||||||
@ -184,7 +186,8 @@ bool WaveformPrefs::Commit()
|
|||||||
|
|
||||||
if (mWt && isOpenPage) {
|
if (mWt && isOpenPage) {
|
||||||
for (auto channel : TrackList::Channels(mWt))
|
for (auto channel : TrackList::Channels(mWt))
|
||||||
channel->SetDisplay(WaveTrackViewConstants::Waveform);
|
WaveTrackView::Get( *channel )
|
||||||
|
.SetDisplay( WaveTrackViewConstants::Waveform );
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isOpenPage) {
|
if (isOpenPage) {
|
||||||
|
@ -15,6 +15,7 @@ Paul Licameli split from WaveTrackView.cpp
|
|||||||
|
|
||||||
#include "SpectrumVRulerControls.h"
|
#include "SpectrumVRulerControls.h"
|
||||||
#include "WaveTrackView.h"
|
#include "WaveTrackView.h"
|
||||||
|
#include "WaveTrackViewConstants.h"
|
||||||
|
|
||||||
#include "../../../../AColor.h"
|
#include "../../../../AColor.h"
|
||||||
#include "../../../../Prefs.h"
|
#include "../../../../Prefs.h"
|
||||||
|
@ -16,7 +16,7 @@ Paul Licameli split from TrackPanel.cpp
|
|||||||
#include "../../ui/PlayableTrackButtonHandles.h"
|
#include "../../ui/PlayableTrackButtonHandles.h"
|
||||||
#include "WaveTrackSliderHandles.h"
|
#include "WaveTrackSliderHandles.h"
|
||||||
|
|
||||||
#include "../../../ui/TrackView.h"
|
#include "WaveTrackView.h"
|
||||||
#include "../../../../AudioIOBase.h"
|
#include "../../../../AudioIOBase.h"
|
||||||
#include "../../../../CellularPanel.h"
|
#include "../../../../CellularPanel.h"
|
||||||
#include "../../../../Menus.h"
|
#include "../../../../Menus.h"
|
||||||
@ -599,7 +599,7 @@ void WaveTrackMenuTable::InitMenu(Menu *pMenu, void *pUserData)
|
|||||||
|
|
||||||
std::vector<int> checkedIds;
|
std::vector<int> checkedIds;
|
||||||
|
|
||||||
const int display = pTrack->GetDisplay();
|
const auto display = WaveTrackView::Get( *pTrack ).GetDisplay();
|
||||||
checkedIds.push_back(
|
checkedIds.push_back(
|
||||||
display == WaveTrackViewConstants::Waveform
|
display == WaveTrackViewConstants::Waveform
|
||||||
? (pTrack->GetWaveformSettings().isLinear()
|
? (pTrack->GetWaveformSettings().isLinear()
|
||||||
@ -702,7 +702,9 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
WaveTrack *const pTrack = static_cast<WaveTrack*>(mpTrack);
|
WaveTrack *const pTrack = static_cast<WaveTrack*>(mpTrack);
|
||||||
if( pTrack && pTrack->GetDisplay() != WaveTrackViewConstants::Spectrum ){
|
if( pTrack &&
|
||||||
|
WaveTrackView::Get( *pTrack ).GetDisplay()
|
||||||
|
!= WaveTrackViewConstants::Spectrum ){
|
||||||
POPUP_MENU_SEPARATOR()
|
POPUP_MENU_SEPARATOR()
|
||||||
POPUP_MENU_SUB_MENU(OnWaveColorID, _("&Wave Color"), WaveColorMenuTable)
|
POPUP_MENU_SUB_MENU(OnWaveColorID, _("&Wave Color"), WaveColorMenuTable)
|
||||||
}
|
}
|
||||||
@ -723,7 +725,7 @@ void WaveTrackMenuTable::OnSetDisplay(wxCommandEvent & event)
|
|||||||
const auto pTrack = static_cast<WaveTrack*>(mpData->pTrack);
|
const auto pTrack = static_cast<WaveTrack*>(mpData->pTrack);
|
||||||
|
|
||||||
bool linear = false;
|
bool linear = false;
|
||||||
WaveTrack::WaveTrackDisplay id;
|
WaveTrackView::WaveTrackDisplay id;
|
||||||
switch (idInt) {
|
switch (idInt) {
|
||||||
default:
|
default:
|
||||||
case OnWaveformID:
|
case OnWaveformID:
|
||||||
@ -734,14 +736,15 @@ void WaveTrackMenuTable::OnSetDisplay(wxCommandEvent & event)
|
|||||||
id = Spectrum; break;
|
id = Spectrum; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const bool wrongType = pTrack->GetDisplay() != id;
|
const bool wrongType = WaveTrackView::Get( *pTrack ).GetDisplay() != id;
|
||||||
const bool wrongScale =
|
const bool wrongScale =
|
||||||
(id == Waveform &&
|
(id == Waveform &&
|
||||||
pTrack->GetWaveformSettings().isLinear() != linear);
|
pTrack->GetWaveformSettings().isLinear() != linear);
|
||||||
if (wrongType || wrongScale) {
|
if (wrongType || wrongScale) {
|
||||||
for (auto channel : TrackList::Channels(pTrack)) {
|
for (auto channel : TrackList::Channels(pTrack)) {
|
||||||
channel->SetLastScaleType();
|
channel->SetLastScaleType();
|
||||||
channel->SetDisplay(WaveTrack::WaveTrackDisplay(id));
|
WaveTrackView::Get( *channel )
|
||||||
|
.SetDisplay(WaveTrackView::WaveTrackDisplay(id));
|
||||||
if (wrongScale)
|
if (wrongScale)
|
||||||
channel->GetIndependentWaveformSettings().scaleType = linear
|
channel->GetIndependentWaveformSettings().scaleType = linear
|
||||||
? WaveformSettings::stLinear
|
? WaveformSettings::stLinear
|
||||||
@ -876,8 +879,8 @@ void WaveTrackMenuTable::OnMergeStereo(wxCommandEvent &)
|
|||||||
|
|
||||||
// Set NEW track heights and minimized state
|
// Set NEW track heights and minimized state
|
||||||
auto
|
auto
|
||||||
&view = TrackView::Get( *pTrack ),
|
&view = WaveTrackView::Get( *pTrack ),
|
||||||
&partnerView = TrackView::Get( *partner );
|
&partnerView = WaveTrackView::Get( *partner );
|
||||||
view.SetMinimized(false);
|
view.SetMinimized(false);
|
||||||
partnerView.SetMinimized(false);
|
partnerView.SetMinimized(false);
|
||||||
int AverageHeight = (view.GetHeight() + partnerView.GetHeight()) / 2;
|
int AverageHeight = (view.GetHeight() + partnerView.GetHeight()) / 2;
|
||||||
@ -886,6 +889,8 @@ void WaveTrackMenuTable::OnMergeStereo(wxCommandEvent &)
|
|||||||
view.SetMinimized(bBothMinimizedp);
|
view.SetMinimized(bBothMinimizedp);
|
||||||
partnerView.SetMinimized(bBothMinimizedp);
|
partnerView.SetMinimized(bBothMinimizedp);
|
||||||
|
|
||||||
|
partnerView.SetDisplay( view.GetDisplay() );
|
||||||
|
|
||||||
//On Demand - join the queues together.
|
//On Demand - join the queues together.
|
||||||
if (ODManager::IsInstanceCreated())
|
if (ODManager::IsInstanceCreated())
|
||||||
if (!ODManager::Instance()
|
if (!ODManager::Instance()
|
||||||
|
@ -22,6 +22,8 @@ Paul Licameli split from TrackPanel.cpp
|
|||||||
#include "../../../../TrackPanelMouseEvent.h"
|
#include "../../../../TrackPanelMouseEvent.h"
|
||||||
#include "../../../../ViewInfo.h"
|
#include "../../../../ViewInfo.h"
|
||||||
#include "../../../../prefs/SpectrogramSettings.h"
|
#include "../../../../prefs/SpectrogramSettings.h"
|
||||||
|
#include "../../../../prefs/WaveformSettings.h"
|
||||||
|
#include "../../../../prefs/TracksPrefs.h"
|
||||||
|
|
||||||
#include "../../../ui/TimeShiftHandle.h"
|
#include "../../../ui/TimeShiftHandle.h"
|
||||||
|
|
||||||
@ -39,12 +41,34 @@ WaveTrackView::WaveTrackView( const std::shared_ptr<Track> &pTrack )
|
|||||||
: CommonTrackView{ pTrack }
|
: CommonTrackView{ pTrack }
|
||||||
{
|
{
|
||||||
WaveTrackSubViews::BuildAll();
|
WaveTrackSubViews::BuildAll();
|
||||||
|
|
||||||
|
mDisplay = TracksPrefs::ViewModeChoice();
|
||||||
|
|
||||||
|
// Force creation always:
|
||||||
|
WaveformSettings &settings = static_cast< WaveTrack* >( pTrack.get() )
|
||||||
|
->GetIndependentWaveformSettings();
|
||||||
|
|
||||||
|
if (mDisplay == WaveTrackViewConstants::obsoleteWaveformDBDisplay) {
|
||||||
|
mDisplay = WaveTrackViewConstants::Waveform;
|
||||||
|
settings.scaleType = WaveformSettings::stLogarithmic;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
WaveTrackView::~WaveTrackView()
|
WaveTrackView::~WaveTrackView()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void WaveTrackView::CopyTo( Track &track ) const
|
||||||
|
{
|
||||||
|
TrackView::CopyTo( track );
|
||||||
|
auto &other = TrackView::Get( track );
|
||||||
|
|
||||||
|
if ( const auto pOther = dynamic_cast< WaveTrackView* >( &other ) ) {
|
||||||
|
// only one field is important to preserve in undo/redo history
|
||||||
|
pOther->mDisplay = mDisplay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
std::vector<UIHandlePtr> WaveTrackView::DetailedHitTest
|
std::vector<UIHandlePtr> WaveTrackView::DetailedHitTest
|
||||||
(const TrackPanelMouseState &st,
|
(const TrackPanelMouseState &st,
|
||||||
const AudacityProject *pProject, int currentTool, bool bMultiTool)
|
const AudacityProject *pProject, int currentTool, bool bMultiTool)
|
||||||
@ -87,8 +111,7 @@ WaveTrackView::DoDetailedHitTest
|
|||||||
|
|
||||||
auto WaveTrackView::GetSubViews( const wxRect &rect ) -> Refinement
|
auto WaveTrackView::GetSubViews( const wxRect &rect ) -> Refinement
|
||||||
{
|
{
|
||||||
auto wt = static_cast<WaveTrack*>( FindTrack().get() );
|
auto display = mDisplay;
|
||||||
auto display = wt->GetDisplay();
|
|
||||||
std::shared_ptr<TrackView> pSubView;
|
std::shared_ptr<TrackView> pSubView;
|
||||||
WaveTrackSubViews::ForEach( [&,display]( WaveTrackSubView &subView ){
|
WaveTrackSubViews::ForEach( [&,display]( WaveTrackSubView &subView ){
|
||||||
if ( subView.SubViewType() == display )
|
if ( subView.SubViewType() == display )
|
||||||
|
@ -44,6 +44,9 @@ public:
|
|||||||
WaveTrackView( const std::shared_ptr<Track> &pTrack );
|
WaveTrackView( const std::shared_ptr<Track> &pTrack );
|
||||||
~WaveTrackView() override;
|
~WaveTrackView() override;
|
||||||
|
|
||||||
|
// Preserve some view state too for undo/redo purposes
|
||||||
|
void CopyTo( Track &track ) const override;
|
||||||
|
|
||||||
std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() override;
|
std::shared_ptr<TrackVRulerControls> DoGetVRulerControls() override;
|
||||||
|
|
||||||
// CommonTrackView implementation
|
// CommonTrackView implementation
|
||||||
@ -58,6 +61,11 @@ public:
|
|||||||
const std::shared_ptr<WaveTrack> &wt,
|
const std::shared_ptr<WaveTrack> &wt,
|
||||||
CommonTrackView &view);
|
CommonTrackView &view);
|
||||||
|
|
||||||
|
using WaveTrackDisplay = WaveTrackViewConstants::Display;
|
||||||
|
|
||||||
|
WaveTrackDisplay GetDisplay() const { return mDisplay; }
|
||||||
|
void SetDisplay(WaveTrackDisplay display) { mDisplay = display; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// TrackPanelDrawable implementation
|
// TrackPanelDrawable implementation
|
||||||
void Draw(
|
void Draw(
|
||||||
@ -74,6 +82,8 @@ private:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void DoSetMinimized( bool minimized ) override;
|
void DoSetMinimized( bool minimized ) override;
|
||||||
|
|
||||||
|
WaveTrackDisplay mDisplay;
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper for drawing routines
|
// Helper for drawing routines
|
||||||
|
@ -15,6 +15,7 @@ Paul Licameli split from WaveTrackView.cpp
|
|||||||
|
|
||||||
#include "WaveformVRulerControls.h"
|
#include "WaveformVRulerControls.h"
|
||||||
#include "WaveTrackView.h"
|
#include "WaveTrackView.h"
|
||||||
|
#include "WaveTrackViewConstants.h"
|
||||||
|
|
||||||
#include "CutlineHandle.h"
|
#include "CutlineHandle.h"
|
||||||
#include "SampleHandle.h"
|
#include "SampleHandle.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user