mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-15 16:17:41 +02:00
Bug1066: never make yellow snap lines when ctrl-dragging clips up and down
This commit is contained in:
parent
244a11e0a1
commit
bf679b7d6b
@ -4156,9 +4156,17 @@ void TrackPanel::DoSlide(wxMouseEvent & event)
|
||||
}
|
||||
mHSlideAmount = 0.0;
|
||||
|
||||
double desiredSlideAmount =
|
||||
// Implement sliding within the track(s)
|
||||
double desiredSlideAmount;
|
||||
if (mSlideUpDownOnly) {
|
||||
desiredSlideAmount = 0.0;
|
||||
}
|
||||
else {
|
||||
desiredSlideAmount =
|
||||
mViewInfo->PositionToTime(event.m_x) -
|
||||
mViewInfo->PositionToTime(mMouseClickX);
|
||||
bool trySnap = false;
|
||||
double clipLeft = 0, clipRight = 0;
|
||||
#ifdef USE_MIDI
|
||||
if (mouseTrack->GetKind() == Track::Wave) {
|
||||
WaveTrack *mtw = (WaveTrack *)mouseTrack;
|
||||
@ -4167,8 +4175,7 @@ void TrackPanel::DoSlide(wxMouseEvent & event)
|
||||
}
|
||||
// Adjust desiredSlideAmount using SnapManager
|
||||
if (mSnapManager && mCapturedClipArray.size()) {
|
||||
double clipLeft;
|
||||
double clipRight;
|
||||
trySnap = true;
|
||||
if (mCapturedClip) {
|
||||
clipLeft = mCapturedClip->GetStartTime() + desiredSlideAmount;
|
||||
clipRight = mCapturedClip->GetEndTime() + desiredSlideAmount;
|
||||
@ -4177,14 +4184,19 @@ void TrackPanel::DoSlide(wxMouseEvent & event)
|
||||
clipLeft = mCapturedTrack->GetStartTime() + desiredSlideAmount;
|
||||
clipRight = mCapturedTrack->GetEndTime() + desiredSlideAmount;
|
||||
}
|
||||
}
|
||||
#else
|
||||
{
|
||||
trySnap = true;
|
||||
desiredSlideAmount = rint(mouseTrack->GetRate() * desiredSlideAmount) /
|
||||
mouseTrack->GetRate(); // set it to a sample point
|
||||
if (mSnapManager && mCapturedClip) {
|
||||
double clipLeft = mCapturedClip->GetStartTime() + desiredSlideAmount;
|
||||
double clipRight = mCapturedClip->GetEndTime() + desiredSlideAmount;
|
||||
clipLeft = mCapturedClip->GetStartTime() + desiredSlideAmount;
|
||||
clipRight = mCapturedClip->GetEndTime() + desiredSlideAmount;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (trySnap) {
|
||||
double newClipLeft = clipLeft;
|
||||
double newClipRight = clipRight;
|
||||
|
||||
@ -4216,10 +4228,6 @@ void TrackPanel::DoSlide(wxMouseEvent & event)
|
||||
mSnapRight = mViewInfo->TimeToPosition(newClipRight, GetLeftOffset());
|
||||
}
|
||||
}
|
||||
|
||||
// Implement sliding within the track(s)
|
||||
if (mSlideUpDownOnly) {
|
||||
desiredSlideAmount = 0.0;
|
||||
}
|
||||
|
||||
// Scroll during vertical drag.
|
||||
@ -4269,7 +4277,6 @@ void TrackPanel::DoSlide(wxMouseEvent & event)
|
||||
Refresh(false);
|
||||
}
|
||||
|
||||
// Implement sliding within the track(s)
|
||||
if (mSlideUpDownOnly)
|
||||
return;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user