From 3cd39fedeadfbd97e1ec1b780d8e1bd9e52e3356 Mon Sep 17 00:00:00 2001 From: lllucius Date: Sun, 27 Oct 2013 18:17:00 +0000 Subject: [PATCH] Fix BSG problems introduced with my recent Snap/TimeConverter changes. --- src/Snap.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/Snap.cpp b/src/Snap.cpp index 5b032c4e4..5232da109 100644 --- a/src/Snap.cpp +++ b/src/Snap.cpp @@ -36,15 +36,15 @@ SnapManager::SnapManager(TrackList *tracks, TrackClipArray *exclusions, // Grab time-snapping prefs (unless otherwise requested) mSnapToTime = false; - if (GetActiveProject()->GetSnapTo() && !noTimeSnap) + AudacityProject *p = GetActiveProject(); + wxASSERT(p); + if (p) { // Look up the format string - AudacityProject *p = GetActiveProject(); - wxASSERT(p); - if (p) { - mConverter.SetSampleRate(p->GetRate()); + if (p->GetSnapTo() && !noTimeSnap) { mSnapToTime = true; - mConverter.SetFormatName(GetActiveProject()->GetSelectionFormat()); + mConverter.SetSampleRate(p->GetRate()); + mConverter.SetFormatName(p->GetSelectionFormat()); } } @@ -107,10 +107,13 @@ SnapManager::SnapManager(TrackList *tracks, TrackClipArray *exclusions, // Adds to mSnapPoints, filtering by TimeConverter void SnapManager::CondListAdd(double t, Track *tr) { - mConverter.SetTimeValue(t); + if (mSnapToTime) { + mConverter.SetTimeValue(t); + } - if (mConverter.GetTimeValue() == t) + if (!mSnapToTime || mConverter.GetTimeValue() == t) { mSnapPoints->Add(new SnapPoint(t, tr)); + } } SnapManager::~SnapManager()