#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_" 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