Files
reasampler/src/shell/actions/bank_actions.h
T

30 lines
1.2 KiB
C++

#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