25 lines
1019 B
C++
25 lines
1019 B
C++
#pragma once
|
|
// usage_scan — the extension-side shell of the instance-usage facet (see
|
|
// sample_usage.h for the pure core and its fail-safe folds). Three reads, no
|
|
// writes: enumerate every "rsusage_<guid>" key and decode each record; enumerate
|
|
// every ReaSampler 9000 FX instance (all tracks incl. master, normal +
|
|
// record/input chains, containers recursively, take FX) via
|
|
// sample_usage::identityMatches; fold with the pure liveness rule.
|
|
//
|
|
// The result is one of the two inputs tracking_authority reads — this shell
|
|
// gathers, it decides nothing.
|
|
//
|
|
// REAPER-facing: the .cpp includes reaper_plugin_functions.h WITHOUT
|
|
// REAPERAPI_IMPLEMENT (main.cpp owns the API pointers). The header stays
|
|
// REAPER-free (`proj` is the opaque ReaProject* passed as void*).
|
|
|
|
#include "core/wire/sample_usage.h"
|
|
|
|
namespace reasampler {
|
|
|
|
// Scan `proj` (nullptr = active project). READ-ONLY: no ext-state write, no project
|
|
// mutation.
|
|
wire::UsageFoldResult scanInstanceUsage(void* proj);
|
|
|
|
} // namespace reasampler
|