1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 17:30:17 +01:00

New method of TrackShifter moves a calculation out of ClipMenus

This commit is contained in:
Paul Licameli
2020-09-13 22:59:24 -04:00
parent bc7f527a3b
commit 4f159a7629
4 changed files with 33 additions and 13 deletions

View File

@@ -646,10 +646,8 @@ double DoClipMove
uShifter = MakeTrackShifter::Call( *wt );
if( uShifter->HitTest( t0 ) == TrackShifter::HitTestResult::Miss )
uShifter.reset();
else {
wt = channel;
else
break;
}
}
if (!uShifter)
@@ -660,16 +658,7 @@ double DoClipMove
t0, viewInfo, trackList, syncLocked );
auto desiredT0 = viewInfo.OffsetTimeByPixels( t0, ( right ? 1 : -1 ) );
auto desiredSlideAmount = desiredT0 - t0;
// set it to a sample point, and minimum of 1 sample point
if (!right)
desiredSlideAmount *= -1;
double nSamples = rint(wt->GetRate() * desiredSlideAmount);
nSamples = std::max(nSamples, 1.0);
desiredSlideAmount = nSamples / wt->GetRate();
if (!right)
desiredSlideAmount *= -1;
auto desiredSlideAmount = pShifter->HintOffsetLarger( desiredT0 - t0 );
auto hSlideAmount =
state.DoSlideHorizontal( desiredSlideAmount, trackList );