mirror of
https://github.com/cookiengineer/audacity
synced 2025-09-17 16:50:26 +02:00
static TrackFactory::Get()...
... not member functions of AudacityProject
This commit is contained in:
parent
4ba4d0978b
commit
116ff70756
@ -103,7 +103,7 @@ int LabelTrack::mFontHeight=-1;
|
||||
static ProjectFileIORegistry::Entry registerFactory{
|
||||
wxT( "labeltrack" ),
|
||||
[]( AudacityProject &project ){
|
||||
auto &trackFactory = *project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto &tracks = TrackList::Get( project );
|
||||
return tracks.Add(trackFactory.NewLabelTrack());
|
||||
}
|
||||
@ -3088,11 +3088,11 @@ void LabelTrack::DoEditLabels
|
||||
auto format = project.GetSelectionFormat(),
|
||||
freqFormat = project.GetFrequencySelectionFormatName();
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto rate = project.GetRate();
|
||||
auto &viewInfo = ViewInfo::Get( project );
|
||||
|
||||
LabelDialog dlg(&project, *trackFactory, &tracks,
|
||||
LabelDialog dlg(&project, trackFactory, &tracks,
|
||||
lt, index,
|
||||
viewInfo, rate,
|
||||
format, freqFormat);
|
||||
|
@ -33,7 +33,6 @@
|
||||
#include "AColor.h"
|
||||
#include "DirManager.h"
|
||||
#include "Prefs.h"
|
||||
#include "Project.h"
|
||||
#include "ProjectFileIORegistry.h"
|
||||
|
||||
#include "InconsistencyException.h"
|
||||
@ -107,7 +106,7 @@ SONFNS(AutoSave)
|
||||
static ProjectFileIORegistry::Entry registerFactory{
|
||||
wxT( "notetrack" ),
|
||||
[]( AudacityProject &project ){
|
||||
auto &trackFactory = *project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto &tracks = TrackList::Get( project );
|
||||
return tracks.Add(trackFactory.NewNoteTrack());
|
||||
}
|
||||
|
@ -1352,10 +1352,6 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
|
||||
#endif
|
||||
mIconized = false;
|
||||
|
||||
auto &dirManager = DirManager::Get( project );
|
||||
mTrackFactory.reset(
|
||||
safenew TrackFactory{ dirManager.shared_from_this(), &viewInfo });
|
||||
|
||||
int widths[] = {0, GetControlToolBar()->WidthForStatusBar(mStatusBar), -1, 150};
|
||||
mStatusBar->SetStatusWidths(4, widths);
|
||||
wxString msg = wxString::Format(_("Welcome to Audacity version %s"),
|
||||
@ -1496,11 +1492,6 @@ void AudacityProject::OnThemeChange(wxCommandEvent& evt)
|
||||
GetRulerPanel()->ReCreateButtons();
|
||||
}
|
||||
|
||||
TrackFactory *AudacityProject::GetTrackFactory()
|
||||
{
|
||||
return mTrackFactory.get();
|
||||
}
|
||||
|
||||
AdornedRulerPanel *AudacityProject::GetRulerPanel()
|
||||
{
|
||||
return mRuler;
|
||||
@ -2664,7 +2655,7 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event)
|
||||
|
||||
DestroyChildren();
|
||||
|
||||
mTrackFactory.reset();
|
||||
TrackFactory::Destroy( project );
|
||||
|
||||
mTags.reset();
|
||||
|
||||
@ -4107,6 +4098,7 @@ bool AudacityProject::SaveCopyWaveTracks(const FilePath & strProjectPathName,
|
||||
{
|
||||
auto &project = *this;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
|
||||
wxString extension, fileFormat;
|
||||
#ifdef USE_LIBVORBIS
|
||||
@ -4134,7 +4126,7 @@ bool AudacityProject::SaveCopyWaveTracks(const FilePath & strProjectPathName,
|
||||
for (auto pWaveTrack : trackRange)
|
||||
{
|
||||
numWaveTracks++;
|
||||
pSavedTrackList.Add(mTrackFactory->DuplicateWaveTrack(*pWaveTrack));
|
||||
pSavedTrackList.Add( trackFactory.DuplicateWaveTrack( *pWaveTrack ) );
|
||||
}
|
||||
auto cleanup = finally( [&] {
|
||||
// Restore the saved track states and clean up.
|
||||
@ -4343,7 +4335,7 @@ bool AudacityProject::Import(const FilePath &fileName, WaveTrackArray* pTrackArr
|
||||
mTags ? mTags->Duplicate() : decltype(mTags){} );
|
||||
|
||||
bool success = Importer::Get().Import(fileName,
|
||||
GetTrackFactory(),
|
||||
&TrackFactory::Get( project ),
|
||||
newTracks,
|
||||
mTags.get(),
|
||||
errorMessage);
|
||||
@ -5246,7 +5238,7 @@ void AudacityProject::OnAudioIOStopRecording()
|
||||
auto &intervals = gAudioIO->LostCaptureIntervals();
|
||||
if (intervals.size()) {
|
||||
// Make a track with labels for recording errors
|
||||
auto uTrack = GetTrackFactory()->NewLabelTrack();
|
||||
auto uTrack = TrackFactory::Get( project ).NewLabelTrack();
|
||||
auto pTrack = uTrack.get();
|
||||
tracks.Add( uTrack );
|
||||
/* i18n-hint: A name given to a track, appearing as its menu button.
|
||||
@ -5363,9 +5355,8 @@ void AudacityProject::ResetProjectToEmpty() {
|
||||
TrackActions::DoRemoveTracks( project );
|
||||
|
||||
// A new DirManager.
|
||||
auto &dirManager = DirManager::Reset( project );
|
||||
mTrackFactory.reset(
|
||||
safenew TrackFactory{ dirManager.shared_from_this(), &viewInfo });
|
||||
DirManager::Reset( project );
|
||||
TrackFactory::Reset( project );
|
||||
|
||||
projectFileIO.ResetProjectFileIO();
|
||||
|
||||
|
@ -208,7 +208,6 @@ class AUDACITY_DLL_API AudacityProject final : public wxFrame,
|
||||
void SetPlayRegionLocked(bool value) { mLockPlayRegion = value; }
|
||||
|
||||
wxString GetProjectName() const;
|
||||
TrackFactory *GetTrackFactory();
|
||||
AdornedRulerPanel *GetRulerPanel();
|
||||
Tags *GetTags();
|
||||
const Tags *GetTags() const;
|
||||
@ -569,7 +568,6 @@ private:
|
||||
wxPanel *mTopPanel{};
|
||||
TrackPanel *mTrackPanel{};
|
||||
SelectionState mSelectionState{};
|
||||
std::unique_ptr<TrackFactory> mTrackFactory;
|
||||
wxWindow * mMainPage;
|
||||
wxPanel * mMainPanel;
|
||||
wxScrollBar *mHsbar;
|
||||
|
@ -44,7 +44,7 @@ std::shared_ptr<TimeTrack> TrackFactory::NewTimeTrack()
|
||||
static ProjectFileIORegistry::Entry registerFactory{
|
||||
wxT( "timetrack" ),
|
||||
[]( AudacityProject &project ){
|
||||
auto &trackFactory = *project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto &tracks = TrackList::Get( project );
|
||||
return tracks.Add(trackFactory.NewTimeTrack());
|
||||
}
|
||||
|
@ -1406,3 +1406,37 @@ TransportTracks GetAllPlaybackTracks(TrackList &trackList, bool selectedOnly, bo
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
#include "ViewInfo.h"
|
||||
static auto TrackFactoryFactory = []( AudacityProject &project ) {
|
||||
auto &dirManager = DirManager::Get( project );
|
||||
auto &viewInfo = ViewInfo::Get( project );
|
||||
return std::make_shared< TrackFactory >(
|
||||
dirManager.shared_from_this(), &viewInfo );
|
||||
};
|
||||
|
||||
static const AudacityProject::AttachedObjects::RegisteredFactory key2{
|
||||
TrackFactoryFactory
|
||||
};
|
||||
|
||||
TrackFactory &TrackFactory::Get( AudacityProject &project )
|
||||
{
|
||||
return project.AttachedObjects::Get< TrackFactory >( key2 );
|
||||
}
|
||||
|
||||
const TrackFactory &TrackFactory::Get( const AudacityProject &project )
|
||||
{
|
||||
return Get( const_cast< AudacityProject & >( project ) );
|
||||
}
|
||||
|
||||
TrackFactory &TrackFactory::Reset( AudacityProject &project )
|
||||
{
|
||||
auto result = TrackFactoryFactory( project );
|
||||
project.AttachedObjects::Assign( key2, result );
|
||||
return *result;
|
||||
}
|
||||
|
||||
void TrackFactory::Destroy( AudacityProject &project )
|
||||
{
|
||||
project.AttachedObjects::Assign( key2, nullptr );
|
||||
}
|
||||
|
11
src/Track.h
11
src/Track.h
@ -1620,15 +1620,22 @@ private:
|
||||
std::vector< Updater > mUpdaters;
|
||||
};
|
||||
|
||||
class AUDACITY_DLL_API TrackFactory
|
||||
class AUDACITY_DLL_API TrackFactory final
|
||||
: public ClientData::Base
|
||||
{
|
||||
private:
|
||||
public:
|
||||
static TrackFactory &Get( AudacityProject &project );
|
||||
static const TrackFactory &Get( const AudacityProject &project );
|
||||
static TrackFactory &Reset( AudacityProject &project );
|
||||
static void Destroy( AudacityProject &project );
|
||||
|
||||
TrackFactory(const std::shared_ptr<DirManager> &dirManager, const ZoomInfo *zoomInfo):
|
||||
mDirManager(dirManager)
|
||||
, mZoomInfo(zoomInfo)
|
||||
{
|
||||
}
|
||||
|
||||
private:
|
||||
const std::shared_ptr<DirManager> mDirManager;
|
||||
const ZoomInfo *const mZoomInfo;
|
||||
friend class AudacityProject;
|
||||
|
@ -73,7 +73,7 @@ using std::max;
|
||||
static ProjectFileIORegistry::Entry registerFactory{
|
||||
wxT( "wavetrack" ),
|
||||
[]( AudacityProject &project ){
|
||||
auto &trackFactory = *project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto &tracks = TrackList::Get( project );
|
||||
return tracks.Add(trackFactory.NewWaveTrack());
|
||||
}
|
||||
@ -1204,10 +1204,8 @@ void WaveTrack::SyncLockAdjust(double oldT1, double newT1)
|
||||
AudacityProject *p = GetActiveProject();
|
||||
if (!p)
|
||||
THROW_INCONSISTENCY_EXCEPTION;
|
||||
TrackFactory *f = p->GetTrackFactory();
|
||||
if (!f)
|
||||
THROW_INCONSISTENCY_EXCEPTION;
|
||||
auto tmp = f->NewWaveTrack(GetSampleFormat(), GetRate());
|
||||
auto &factory = TrackFactory::Get( *p );
|
||||
auto tmp = factory.NewWaveTrack( GetSampleFormat(), GetRate() );
|
||||
|
||||
tmp->InsertSilence(0.0, newT1 - oldT1);
|
||||
tmp->Flush();
|
||||
|
@ -1092,7 +1092,7 @@ bool EffectEqualization::ProcessOne(int count, WaveTrack * t,
|
||||
{
|
||||
// create a NEW WaveTrack to hold all of the output, including 'tails' each end
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output = p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
|
||||
wxASSERT(mM - 1 < windowSize);
|
||||
size_t L = windowSize - (mM - 1); //Process L samples at a go
|
||||
|
@ -411,7 +411,7 @@ bool EffectEqualization48x::DeltaTrack(
|
||||
Floats buffer2{ trackBlockSize };
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output=p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
auto originalLen = len;
|
||||
auto currentSample = start;
|
||||
|
||||
@ -628,7 +628,7 @@ bool EffectEqualization48x::ProcessOne1x(int count, WaveTrack * t,
|
||||
auto trackBlockSize = t->GetMaxBlockSize();
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output = p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
|
||||
mEffectEqualization->TrackProgress(count, 0.0);
|
||||
int subBufferSize=mBufferCount==8?(mSubBufferSize>>1):mSubBufferSize; // half the buffers if avx is active
|
||||
@ -815,7 +815,7 @@ bool EffectEqualization48x::ProcessOne4x(int count, WaveTrack * t,
|
||||
auto trackBlockSize = t->GetMaxBlockSize();
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output = p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
|
||||
mEffectEqualization->TrackProgress(count, 0.0);
|
||||
auto bigRuns = len/(subBufferSize-mBlockSize);
|
||||
@ -905,7 +905,7 @@ bool EffectEqualization48x::ProcessOne1x4xThreaded(int count, WaveTrack * t,
|
||||
mEQWorkers[i].mProcessingType=processingType;
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output = p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
|
||||
auto trackBlockSize = t->GetMaxBlockSize();
|
||||
mEffectEqualization->TrackProgress(count, 0.0);
|
||||
@ -1151,7 +1151,7 @@ bool EffectEqualization48x::ProcessOne8x(int count, WaveTrack * t,
|
||||
auto trackBlockSize = t->GetMaxBlockSize();
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output = p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
|
||||
mEffectEqualization->TrackProgress(count, 0.0);
|
||||
int bigRuns=len/(mSubBufferSize-mBlockSize);
|
||||
@ -1203,7 +1203,7 @@ bool EffectEqualization48x::ProcessOne8xThreaded(int count, WaveTrack * t,
|
||||
return ProcessOne4x(count, t, start, len);
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto output = p->GetTrackFactory()->NewWaveTrack(floatSample, t->GetRate());
|
||||
auto output = TrackFactory::Get( *p ).NewWaveTrack(floatSample, t->GetRate());
|
||||
|
||||
auto trackBlockSize = t->GetMaxBlockSize();
|
||||
mEffectEqualization->TrackProgress(count, 0.0);
|
||||
|
@ -135,7 +135,7 @@ bool EffectStereoToMono::ProcessOne(int count)
|
||||
|
||||
AudacityProject *p = GetActiveProject();
|
||||
auto outTrack =
|
||||
p->GetTrackFactory()->NewWaveTrack(floatSample, mLeftTrack->GetRate());
|
||||
TrackFactory::Get( *p ).NewWaveTrack(floatSample, mLeftTrack->GetRate());
|
||||
|
||||
while (index < mEnd) {
|
||||
bResult &= mLeftTrack->Get((samplePtr)leftBuffer.get(), floatSample, index, idealBlockLen);
|
||||
|
@ -70,7 +70,7 @@ bool DoPasteText(AudacityProject &project)
|
||||
bool DoPasteNothingSelected(AudacityProject &project)
|
||||
{
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto &selectedRegion = ViewInfo::Get( project ).selectedRegion;
|
||||
|
||||
@ -96,25 +96,25 @@ bool DoPasteNothingSelected(AudacityProject &project)
|
||||
// Cause duplication of block files on disk, when copy is
|
||||
// between projects
|
||||
locker.create(wc);
|
||||
uNewTrack = trackFactory->NewWaveTrack(
|
||||
uNewTrack = trackFactory.NewWaveTrack(
|
||||
wc->GetSampleFormat(), wc->GetRate()),
|
||||
pNewTrack = uNewTrack.get();
|
||||
},
|
||||
#ifdef USE_MIDI
|
||||
[&](const NoteTrack *) {
|
||||
uNewTrack = trackFactory->NewNoteTrack(),
|
||||
uNewTrack = trackFactory.NewNoteTrack(),
|
||||
pNewTrack = uNewTrack.get();
|
||||
},
|
||||
#endif
|
||||
[&](const LabelTrack *) {
|
||||
uNewTrack = trackFactory->NewLabelTrack(),
|
||||
uNewTrack = trackFactory.NewLabelTrack(),
|
||||
pNewTrack = uNewTrack.get();
|
||||
},
|
||||
[&](const TimeTrack *) {
|
||||
// Maintain uniqueness of the time track!
|
||||
pNewTrack = tracks.GetTimeTrack();
|
||||
if (!pNewTrack)
|
||||
uNewTrack = trackFactory->NewTimeTrack(),
|
||||
uNewTrack = trackFactory.NewTimeTrack(),
|
||||
pNewTrack = uNewTrack.get();
|
||||
}
|
||||
);
|
||||
@ -429,7 +429,7 @@ void OnPaste(const CommandContext &context)
|
||||
auto &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto &selectedRegion = ViewInfo::Get( project ).selectedRegion;
|
||||
auto isSyncLocked = project.IsSyncLocked();
|
||||
|
||||
@ -643,7 +643,7 @@ void OnPaste(const CommandContext &context)
|
||||
wt->ClearAndPaste(t0, t1, wc, true, true);
|
||||
}
|
||||
else {
|
||||
auto tmp = trackFactory->NewWaveTrack(
|
||||
auto tmp = trackFactory.NewWaveTrack(
|
||||
wt->GetSampleFormat(), wt->GetRate());
|
||||
tmp->InsertSilence( 0.0,
|
||||
// MJS: Is this correct?
|
||||
|
@ -119,7 +119,7 @@ AudacityProject *DoImportMIDI(
|
||||
auto cleanup = finally( [&]
|
||||
{ if ( pNewProject ) pNewProject->Close(true); } );
|
||||
|
||||
auto newTrack = pProject->GetTrackFactory()->NewNoteTrack();
|
||||
auto newTrack = TrackFactory::Get( *pProject ).NewNoteTrack();
|
||||
|
||||
if (::ImportMIDI(fileName, newTrack.get())) {
|
||||
|
||||
@ -439,7 +439,7 @@ void OnImport(const CommandContext &context)
|
||||
void OnImportLabels(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto &tracks = TrackList::Get( project );
|
||||
|
||||
wxString fileName =
|
||||
@ -462,7 +462,7 @@ void OnImportLabels(const CommandContext &context)
|
||||
return;
|
||||
}
|
||||
|
||||
auto newTrack = trackFactory->NewLabelTrack();
|
||||
auto newTrack = trackFactory.NewLabelTrack();
|
||||
wxString sTrackName;
|
||||
wxFileName::SplitPath(fileName, NULL, NULL, &sTrackName, NULL);
|
||||
newTrack->SetName(sTrackName);
|
||||
@ -502,7 +502,7 @@ void OnImportMIDI(const CommandContext &context)
|
||||
void OnImportRaw(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
|
||||
wxString fileName =
|
||||
FileNames::SelectFile(FileNames::Operation::Open,
|
||||
@ -519,7 +519,7 @@ void OnImportRaw(const CommandContext &context)
|
||||
|
||||
TrackHolders newTracks;
|
||||
|
||||
::ImportRaw(&project, fileName, trackFactory, newTracks);
|
||||
::ImportRaw(&project, fileName, &trackFactory, newTracks);
|
||||
|
||||
if (newTracks.size() <= 0)
|
||||
return;
|
||||
|
@ -20,7 +20,7 @@ int DoAddLabel(
|
||||
{
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
|
||||
wxString title; // of label
|
||||
|
||||
@ -43,7 +43,7 @@ int DoAddLabel(
|
||||
|
||||
// If none found, start a NEW label track and use it
|
||||
if (!lt)
|
||||
lt = tracks.Add(trackFactory->NewLabelTrack());
|
||||
lt = tracks.Add( trackFactory.NewLabelTrack() );
|
||||
|
||||
// LLL: Commented as it seemed a little forceful to remove users
|
||||
// selection when adding the label. This does not happen if
|
||||
@ -281,7 +281,7 @@ void OnPasteNewLabel(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto &selectedRegion = ViewInfo::Get( project ).selectedRegion;
|
||||
|
||||
@ -298,9 +298,8 @@ void OnPasteNewLabel(const CommandContext &context)
|
||||
.Filter<LabelTrack>();
|
||||
|
||||
// If no match found, add one
|
||||
if (!t) {
|
||||
t = tracks.Add(trackFactory->NewLabelTrack());
|
||||
}
|
||||
if (!t)
|
||||
t = tracks.Add( trackFactory.NewLabelTrack() );
|
||||
|
||||
// Select this track so the loop picks it up
|
||||
t->SetSelected(true);
|
||||
|
@ -396,7 +396,7 @@ bool DoEffect(
|
||||
AudacityProject &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto rate = project.GetRate();
|
||||
auto &selectedRegion = ViewInfo::Get( project ).selectedRegion;
|
||||
auto &commandManager = CommandManager::Get( project );
|
||||
@ -448,7 +448,7 @@ bool DoEffect(
|
||||
EffectManager & em = EffectManager::Get();
|
||||
|
||||
success = em.DoEffect(ID, &project, rate,
|
||||
&tracks, trackFactory, &selectedRegion,
|
||||
&tracks, &trackFactory, &selectedRegion,
|
||||
(flags & kConfigured) == 0);
|
||||
|
||||
if (!success)
|
||||
|
@ -39,7 +39,7 @@ void DoMixAndRender
|
||||
(AudacityProject &project, bool toNewTrack)
|
||||
{
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto rate = project.GetRate();
|
||||
auto defaultFormat = project.GetDefaultFormat();
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
@ -48,7 +48,7 @@ void DoMixAndRender
|
||||
|
||||
WaveTrack::Holder uNewLeft, uNewRight;
|
||||
::MixAndRender(
|
||||
&tracks, trackFactory, rate, defaultFormat, 0.0, 0.0, uNewLeft, uNewRight);
|
||||
&tracks, &trackFactory, rate, defaultFormat, 0.0, 0.0, uNewLeft, uNewRight);
|
||||
|
||||
if (uNewLeft) {
|
||||
// Remove originals, get stats on what tracks were mixed
|
||||
@ -796,12 +796,12 @@ void OnNewWaveTrack(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto defaultFormat = project.GetDefaultFormat();
|
||||
auto rate = project.GetRate();
|
||||
|
||||
auto t = tracks.Add(trackFactory->NewWaveTrack(defaultFormat, rate));
|
||||
auto t = tracks.Add( trackFactory.NewWaveTrack( defaultFormat, rate ) );
|
||||
SelectActions::SelectNone( project );
|
||||
|
||||
t->SetSelected(true);
|
||||
@ -816,17 +816,17 @@ void OnNewStereoTrack(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto defaultFormat = project.GetDefaultFormat();
|
||||
auto rate = project.GetRate();
|
||||
|
||||
SelectActions::SelectNone( project );
|
||||
|
||||
auto left = tracks.Add(trackFactory->NewWaveTrack(defaultFormat, rate));
|
||||
auto left = tracks.Add( trackFactory.NewWaveTrack( defaultFormat, rate ) );
|
||||
left->SetSelected(true);
|
||||
|
||||
auto right = tracks.Add(trackFactory->NewWaveTrack(defaultFormat, rate));
|
||||
auto right = tracks.Add( trackFactory.NewWaveTrack( defaultFormat, rate ) );
|
||||
right->SetSelected(true);
|
||||
|
||||
tracks.GroupChannels(*left, 2);
|
||||
@ -841,10 +841,10 @@ void OnNewLabelTrack(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
|
||||
auto t = tracks.Add(trackFactory->NewLabelTrack());
|
||||
auto t = tracks.Add( trackFactory.NewLabelTrack() );
|
||||
|
||||
SelectActions::SelectNone( project );
|
||||
|
||||
@ -860,7 +860,7 @@ void OnNewTimeTrack(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
auto &tracks = TrackList::Get( project );
|
||||
auto trackFactory = project.GetTrackFactory();
|
||||
auto &trackFactory = TrackFactory::Get( project );
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
|
||||
if (tracks.GetTimeTrack()) {
|
||||
@ -868,7 +868,7 @@ void OnNewTimeTrack(const CommandContext &context)
|
||||
return;
|
||||
}
|
||||
|
||||
auto t = tracks.AddToHead(trackFactory->NewTimeTrack());
|
||||
auto t = tracks.AddToHead( trackFactory.NewTimeTrack() );
|
||||
|
||||
SelectActions::SelectNone( project );
|
||||
|
||||
|
@ -1144,7 +1144,7 @@ bool ControlToolBar::DoRecord(AudacityProject &project,
|
||||
|
||||
// Pad the recording track with silence, up to the
|
||||
// maximum time.
|
||||
auto newTrack = p->GetTrackFactory()->NewWaveTrack();
|
||||
auto newTrack = TrackFactory::Get( *p ).NewWaveTrack();
|
||||
newTrack->SetWaveColorIndex( wt->GetWaveColorIndex() );
|
||||
newTrack->InsertSilence(0.0, t0 - endTime);
|
||||
newTrack->Flush();
|
||||
@ -1178,7 +1178,7 @@ bool ControlToolBar::DoRecord(AudacityProject &project,
|
||||
|
||||
Track *first {};
|
||||
for (int c = 0; c < recordingChannels; c++) {
|
||||
auto newTrack = p->GetTrackFactory()->NewWaveTrack();
|
||||
auto newTrack = TrackFactory::Get( *p ).NewWaveTrack();
|
||||
if (!first)
|
||||
first = newTrack.get();
|
||||
|
||||
|
@ -453,7 +453,7 @@ void TranscriptionToolBar::PlayAtSpeed(bool looped, bool cutPreview)
|
||||
{
|
||||
// Create a TimeTrack if we haven't done so already
|
||||
if (!mTimeTrack) {
|
||||
mTimeTrack = p->GetTrackFactory()->NewTimeTrack();
|
||||
mTimeTrack = TrackFactory::Get( *p ).NewTimeTrack();
|
||||
if (!mTimeTrack) {
|
||||
return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user