30 lines
1.2 KiB
C++
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
|