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