Ψ-W1-T4: resolve drop targets per move, not once — every surface gets a defined outcome, a cue, and no silent no-op
This commit is contained in:
@@ -71,9 +71,11 @@ using ui::CardGesture;
|
||||
using ui::CellRect;
|
||||
using ui::ClusterSpec;
|
||||
using ui::CursorCue;
|
||||
using ui::DragGesture;
|
||||
using ui::DragModifiers;
|
||||
using ui::DragState;
|
||||
using ui::DropClass;
|
||||
using ui::DropContext;
|
||||
using ui::DropCue;
|
||||
using ui::DropRegion;
|
||||
using ui::FooterBarLayout;
|
||||
using ui::FooterBarSpec;
|
||||
@@ -118,9 +120,10 @@ using ui::computeSlotRectsForDrop;
|
||||
using ui::computeTabRects;
|
||||
using ui::computeTabStripLayout;
|
||||
using ui::computeTooltip;
|
||||
using ui::cueForDropClass;
|
||||
using ui::cursorForGesture;
|
||||
using ui::decideCardGesture;
|
||||
using ui::decideGesture;
|
||||
using ui::decideDropClass;
|
||||
using ui::formatBarsBeats;
|
||||
using ui::formatSecondsMs;
|
||||
using ui::hitTestActionBar;
|
||||
@@ -317,14 +320,10 @@ struct PanelState {
|
||||
CardGesture cardGesture = CardGesture::None;
|
||||
int dragTargetSlot = -1;
|
||||
|
||||
// While a single-capture drag is over REAPER's own UI, heading for a track's TCP FX
|
||||
// button: on release this adds a ReaSampler 9000 preloaded with the capture. Null
|
||||
// when the pointer is not over an FX button.
|
||||
MediaTrack* instrumentDropTrack = nullptr;
|
||||
|
||||
// Latched once an OsDrag hand-off resolves "cannot hand off" for this gesture — skips
|
||||
// re-running resolveDragPathsForOs (fs::exists per sample) each move. Cleared by resetDragState.
|
||||
bool dragOsHandoffBlocked = false;
|
||||
// NO out-of-client drop-target state is kept here on purpose. The drag-out class and its
|
||||
// track are re-resolved from the live pointer on every move and again at the release point,
|
||||
// which is what makes a class transition reversible and one unresolvable evaluation
|
||||
// harmless to the next. Do not reintroduce a remembered target or a "blocked" latch.
|
||||
|
||||
// Authoritative tail setting lives in ReaSamplerSession, not here; panel reads it for
|
||||
// drawing and mutates via footer click / scroll-wheel. bankPanelTailSetting is the
|
||||
|
||||
Reference in New Issue
Block a user