1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-02-06 11:42:17 +01:00

Track cut and copy functions return a unique_ptr argument...

... Because they are factory functions.
This commit is contained in:
Paul Licameli
2016-03-02 15:36:44 -05:00
parent 5ef4dd46a5
commit 3015a9c8d9
15 changed files with 144 additions and 153 deletions

View File

@@ -443,15 +443,13 @@ int NoteTrack::GetVisibleChannels()
return mVisibleChannels;
}
bool NoteTrack::Cut(double t0, double t1, Track **dest){
//dest goes onto clipboard
*dest = NULL; // This is redundant
Track::Holder NoteTrack::Cut(double t0, double t1)
{
if (t1 <= t0)
return false;
return{};
double len = t1-t0;
NoteTrack *newTrack = new NoteTrack(mDirManager);
auto newTrack = std::make_unique<NoteTrack>(mDirManager);
newTrack->Init(*this);
@@ -463,20 +461,16 @@ bool NoteTrack::Cut(double t0, double t1, Track **dest){
//(mBottomNote, mDirManager, mLastMidiPosition,
// mSerializationBuffer, mSerializationLength, mVisibleChannels)
*dest = newTrack;
return true;
return std::move(newTrack);
}
bool NoteTrack::Copy(double t0, double t1, Track **dest) const {
//dest goes onto clipboard
*dest = NULL; // This is redundant and matches WaveTrack::Copy
Track::Holder NoteTrack::Copy(double t0, double t1) const
{
if (t1 <= t0)
return false;
return{};
double len = t1-t0;
NoteTrack *newTrack = new NoteTrack(mDirManager);
auto newTrack = std::make_unique<NoteTrack>(mDirManager);
newTrack->Init(*this);
@@ -488,9 +482,7 @@ bool NoteTrack::Copy(double t0, double t1, Track **dest) const {
//(mBottomNote, mDirManager, mLastMidiPosition,
// mSerializationBuffer, mSerializationLength, mVisibleChannels)
*dest = newTrack;
return true;
return std::move(newTrack);
}
bool NoteTrack::Trim(double t0, double t1)