Publish the Media Explorer import into REAPER's Media Explorer action section as well as Main — custom_action + hookcommand2, second forever-stable id, one handler.
This commit is contained in:
@@ -29,12 +29,25 @@ namespace reasampler {
|
||||
|
||||
class ReaSamplerSession;
|
||||
|
||||
// `session` is shared with the capture / bank / Design-View families; the single
|
||||
// hookcommand in main.cpp routes fired ids here via ingestHandleCommand.
|
||||
// FOREVER-STABLE command-id suffixes — NEVER change after ship; user keybindings key off
|
||||
// the composed ids. Two, because the Media-Explorer import publishes into two action
|
||||
// sections and a custom_action idStr must be unique across all of them. Exposed here so
|
||||
// the id-composition contract is assertable without linking this REAPER-facing TU.
|
||||
inline constexpr const char* kIngestImportMediaExplorerId = "INGEST_IMPORT_MEDIA_EXPLORER";
|
||||
inline constexpr const char* kIngestImportMediaExplorerMxId = "INGEST_IMPORT_MEDIA_EXPLORER_MX";
|
||||
|
||||
// `session` is shared with the capture / bank / Design-View families; main.cpp's two
|
||||
// dispatch hooks route fired ids back through the two handlers below. Both registration
|
||||
// mechanisms are specified in root CLAUDE.md §"REAPER extension contract".
|
||||
void ingestRegisterActions(reaper_plugin_info_t* rec, ReaSamplerSession* session);
|
||||
|
||||
// Main-section dispatch ("hookcommand").
|
||||
bool ingestHandleCommand(int command);
|
||||
|
||||
// Non-main-section dispatch ("hookcommand2"). Claims only ids this family published
|
||||
// outside the Main section, so the two hooks never both claim one command.
|
||||
bool ingestHandleSectionCommand(int command);
|
||||
|
||||
void ingestUnregisterActions(reaper_plugin_info_t* rec);
|
||||
|
||||
// "The active sampler instance should now play (bankId, sampleId)." Called by EVERY
|
||||
|
||||
Reference in New Issue
Block a user