#pragma once // bank_actions — the multi-bank bindable action family: create/rename/delete/ // evacuate a bank, activate (direct pool + cycle), move/copy/remove the panel's // selected samples, the two vertical-split full-height toggles, and the prune // action's registration + dispatch (guarded body in prune_action). Every mutating // handler is a thin UX skin over the promptless bankOp* verbs in bank_ops (this // family prompts for a bank name; the panel acts on a clicked tab). // // Same registration/routing/unload contract as design_view_actions. SDK-free header. struct reaper_plugin_info_t; // global scope, matches reaper_plugin.h's typedef namespace reasampler { class ReaSamplerSession; // `session` must outlive registration — pass the SAME pointer the Design View // family receives. void bankRegisterActions(reaper_plugin_info_t* rec, ReaSamplerSession* session); bool bankHandleCommand(int command); void bankUnregisterActions(reaper_plugin_info_t* rec); // The bank_panel prune button fires THROUGH this id (Main_OnCommand) rather than // calling the session directly, so button and bindable action share one guarded path. int bankPruneCommandId(); } // namespace reasampler