mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 15:49:41 +02:00
Reordered SnapManager ctor arguments, added AudacityProject &
This commit is contained in:
parent
6510b859f3
commit
6337e1ccf4
@ -1900,7 +1900,8 @@ void AdornedRulerPanel::HandleSnapping()
|
||||
if (handle) {
|
||||
auto &pSnapManager = handle->mSnapManager;
|
||||
if (! pSnapManager)
|
||||
pSnapManager = std::make_unique<SnapManager>(mTracks, mViewInfo);
|
||||
pSnapManager =
|
||||
std::make_unique<SnapManager>(*mProject, *mTracks, *mViewInfo);
|
||||
|
||||
auto results = pSnapManager->Snap(NULL, mQuickPlayPos, false);
|
||||
mQuickPlayPos = results.outTime;
|
||||
|
17
src/Snap.cpp
17
src/Snap.cpp
@ -39,22 +39,23 @@ TrackClip::~TrackClip()
|
||||
|
||||
}
|
||||
|
||||
SnapManager::SnapManager(const TrackList *tracks,
|
||||
const ZoomInfo *zoomInfo,
|
||||
const TrackClipArray *clipExclusions,
|
||||
const TrackArray *trackExclusions,
|
||||
SnapManager::SnapManager(const AudacityProject &project,
|
||||
const TrackList &tracks,
|
||||
const ZoomInfo &zoomInfo,
|
||||
bool noTimeSnap,
|
||||
int pixelTolerance)
|
||||
int pixelTolerance,
|
||||
const TrackClipArray *clipExclusions,
|
||||
const TrackArray *trackExclusions)
|
||||
: mConverter(NumericConverter::TIME)
|
||||
{
|
||||
mTracks = tracks;
|
||||
mZoomInfo = zoomInfo;
|
||||
mTracks = &tracks;
|
||||
mZoomInfo = &zoomInfo;
|
||||
mClipExclusions = clipExclusions;
|
||||
mTrackExclusions = trackExclusions;
|
||||
mPixelTolerance = pixelTolerance;
|
||||
mNoTimeSnap = noTimeSnap;
|
||||
|
||||
mProject = tracks->GetOwner();
|
||||
mProject = &project;
|
||||
wxASSERT(mProject);
|
||||
|
||||
mSnapTo = 0;
|
||||
|
11
src/Snap.h
11
src/Snap.h
@ -77,12 +77,13 @@ struct SnapResults {
|
||||
class SnapManager
|
||||
{
|
||||
public:
|
||||
SnapManager(const TrackList *tracks,
|
||||
const ZoomInfo *zoomInfo,
|
||||
const TrackClipArray *clipExclusions = NULL,
|
||||
const TrackArray *trackExclusions = NULL,
|
||||
SnapManager(const AudacityProject &project,
|
||||
const TrackList &tracks,
|
||||
const ZoomInfo &zoomInfo,
|
||||
bool noTimeSnap = false,
|
||||
int pixelTolerance = kPixelTolerance);
|
||||
int pixelTolerance = kPixelTolerance,
|
||||
const TrackClipArray *clipExclusions = NULL,
|
||||
const TrackArray *trackExclusions = NULL);
|
||||
~SnapManager();
|
||||
|
||||
// The track may be NULL.
|
||||
|
@ -432,7 +432,8 @@ SelectHandle::SelectHandle
|
||||
const TrackList &trackList,
|
||||
const TrackPanelMouseState &st, const ViewInfo &viewInfo )
|
||||
: mpView{ pTrackView }
|
||||
, mSnapManager{ std::make_shared<SnapManager>(&trackList, &viewInfo) }
|
||||
, mSnapManager{ std::make_shared<SnapManager>(
|
||||
*trackList.GetOwner(), trackList, viewInfo) }
|
||||
{
|
||||
const wxMouseState &state = st.state;
|
||||
mRect = st.rect;
|
||||
|
@ -414,11 +414,13 @@ UIHandle::Result TimeShiftHandle::Click
|
||||
mSlideUpDownOnly = event.CmdDown() && !multiToolModeActive;
|
||||
mRect = rect;
|
||||
mClipMoveState.mMouseClickX = event.m_x;
|
||||
mSnapManager = std::make_shared<SnapManager>(&trackList,
|
||||
&viewInfo,
|
||||
&mClipMoveState.capturedClipArray,
|
||||
&mClipMoveState.trackExclusions,
|
||||
true); // don't snap to time
|
||||
mSnapManager =
|
||||
std::make_shared<SnapManager>(*trackList.GetOwner(), trackList,
|
||||
viewInfo,
|
||||
true, // don't snap to time
|
||||
kPixelTolerance,
|
||||
&mClipMoveState.capturedClipArray,
|
||||
&mClipMoveState.trackExclusions);
|
||||
mClipMoveState.snapLeft = -1;
|
||||
mClipMoveState.snapRight = -1;
|
||||
mSnapPreferRightEdge =
|
||||
|
Loading…
x
Reference in New Issue
Block a user