// AUTOGENERATED — do not edit. Source: schemas/modes/{{SOURCE_FILE}}. Run `bun run codegen/generate.ts` to regenerate. // // This file is a reference template showing the shape of each generated C++ // header. It is NOT consumed at codegen time — `codegen/generate.ts` builds the // strings programmatically (see emitModeHpp). The template lives here so that: // 1. reviewers can see the intended structure at a glance, // 2. anyone tweaking the codegen has a "what should this look like?" anchor. // // Placeholders use {{NAME}} syntax purely for documentation. #ifndef NISPS_GENERATED_{{MODE_ID_UPPER}}_SCHEMA_HPP #define NISPS_GENERATED_{{MODE_ID_UPPER}}_SCHEMA_HPP #include "schema_types.hpp" namespace nisps::modes::generated { inline constexpr std::string_view k{{ModeId}}ModeId = "{{mode_id}}"; inline constexpr std::string_view k{{ModeId}}EngineId = "{{engine_id}}"; inline constexpr std::array k{{ModeId}}InputChannels = {{ "{{input_channel_0}}", /* ... */ }}; inline constexpr std::array k{{ModeId}}HiddenLayers = {{ /* ... */ }}; inline constexpr MLConfig k{{ModeId}}MLConfig = { {{input_size}}u, {{output_size}}u, {{default_spread}}f, {{default_lr}}f, {{default_iter}}u, }; inline constexpr std::size_t k{{ModeId}}ParamCount = {{N_PARAMS}}u; inline constexpr std::array k{{ModeId}}Params = {{ Param{ "{{name}}", "{{label}}", {{min}}f, {{max}}f, {{default}}f, Curve::{{Curve}}, "{{group}}" }, /* ... */ }}; inline constexpr std::size_t k{{ModeId}}VoiceSpaceCount = {{N_VS}}u; inline constexpr std::array k{{ModeId}}VoiceSpaces = {{ /* ... */ }}; inline constexpr UIConfig k{{ModeId}}UI = { PrimaryInput::{{PrimaryInput}}, {{show_voice_space_selector}}, {{show_synth_visualizer}}, }; } // namespace nisps::modes::generated #endif // NISPS_GENERATED_{{MODE_ID_UPPER}}_SCHEMA_HPP