#pragma once // panel_input — input + detection seam of the bank panel: mouse/wheel/keyboard // routing plus timer-driven passes (new-content auto-tag, tooltip hover-delay // latch). REAPER-free as practical: TailSetting is the pure capture-side type. #include "core/capture/tail_control.h" namespace reasampler { // Repaints if the bank changed since last paint (generation bump); cheap no-op // otherwise. Also drives the auto-tag detector and tooltip hover latch each tick. void bankPanelRefresh(); // Call on the exact tick persist's project-load signal drains, before reapplying the // active mode. Re-arms the new-content detector so the just-loaded project's existing // content is the baseline, not diffed against the prior project and mass-tagged. void bankPanelNotifyProjectLoaded(); // Read by CAPTURE_ITEM/CAPTURE_TRACK to apply the panel's tail toggle to a // CaptureRequest. Default None (exact bounds, byte-identical to no tail). Safe // before the panel has ever opened. capture::TailSetting bankPanelTailSetting(); } // namespace reasampler