diff --git a/src/LabelTrack.cpp b/src/LabelTrack.cpp index 7fc52314b..d3d6842bd 100644 --- a/src/LabelTrack.cpp +++ b/src/LabelTrack.cpp @@ -846,6 +846,24 @@ bool LabelTrack::Repeat(double t0, double t1, int n) return true; } +void LabelTrack::SyncLockAdjust(double oldT1, double newT1) +{ + if (newT1 > oldT1) { + // Insert space within the track + + if (oldT1 > GetEndTime()) + return; + + //Clear(oldT1, newT1); + ShiftLabelsOnInsert(newT1 - oldT1, oldT1); + } + else if (newT1 < oldT1) { + // Remove from the track + Clear(newT1, oldT1); + } +} + + void LabelTrack::Silence(double t0, double t1) { int len = mLabels.size(); diff --git a/src/LabelTrack.h b/src/LabelTrack.h index c4b99940f..aff64535a 100644 --- a/src/LabelTrack.h +++ b/src/LabelTrack.h @@ -123,6 +123,7 @@ public: void Clear(double t0, double t1) override; void Paste(double t, const Track * src) override; bool Repeat(double t0, double t1, int n); + void SyncLockAdjust(double oldT1, double newT1) override; void Silence(double t0, double t1) override; void InsertSilence(double t, double len) override;