memlnaut-nisps/codegen/templates/cpp_schema.hpp.template

54 lines
1.9 KiB
Text
Raw Normal View History

// 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<std::string_view, {{N_INPUTS}}> k{{ModeId}}InputChannels = {{
"{{input_channel_0}}",
/* ... */
}};
inline constexpr std::array<std::size_t, {{N_HIDDEN}}> 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<Param, k{{ModeId}}ParamCount> 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<std::string_view, k{{ModeId}}VoiceSpaceCount> 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