// Shared memory layout between CLAP plugin and ES-5 daemon // Copyright (c) 2026 Sub-Net e.U. — MIT License #pragma once #include #include #define ES5_SHM_NAME "/es5_state" #define ES5_NUM_HEADERS 6 #define ES5_CHANNELS_PER_HEADER 8 struct ES5SharedState { // Header types: 0=off, 1=GT, 2=CV std::atomic header_types[ES5_NUM_HEADERS]; // Gate/CV values per header per channel // GT: >0.5 = on, CV: 0.0–1.0 maps to full DAC range std::atomic values[ES5_NUM_HEADERS][ES5_CHANNELS_PER_HEADER]; // Flag: plugin is active std::atomic active; };