// AUTOGENERATED — do not edit. Source: schemas/modes/channel_strip.json. Run `bun run codegen/generate.ts` to regenerate. #ifndef NISPS_GENERATED_CHANNEL_STRIP_SCHEMA_HPP #define NISPS_GENERATED_CHANNEL_STRIP_SCHEMA_HPP #include "schema_types.hpp" #include "../../ml/mlp.hpp" namespace nisps::modes::generated { inline constexpr std::string_view kChannelStripModeId = "channel_strip"; inline constexpr std::string_view kChannelStripEngineId = "channel_strip"; inline constexpr std::array kChannelStripInputChannels = {{ "joy_x", "joy_y", "joy_z", "joy_w", }}; inline constexpr std::array kChannelStripHiddenLayers = {{ 10u, 10u, 14u, }}; inline constexpr MLConfig kChannelStripMLConfig = { 4u, 24u, 0.6f, 1.0f, 1000u, }; inline constexpr std::size_t kChannelStripParamCount = 24u; inline constexpr std::array kChannelStripParams = {{ Param{ "pre_gain", "Pre Gain", 0.0f, 1.0f, 0.5f, Curve::square, "gain", }, Param{ "peak0_freq", "Peak0 Freq", 0.0f, 1.0f, 0.3f, Curve::square, "eq", }, Param{ "p02", "Param 02", 0.0f, 1.0f, 0.5f, Curve::linear, "general", }, Param{ "p03", "Param 03", 0.0f, 1.0f, 0.5f, Curve::linear, "general", }, Param{ "peak1_freq", "Peak1 Freq", 0.0f, 1.0f, 0.3f, Curve::square, "eq", }, Param{ "peak_q", "Peak Q", 0.0f, 1.0f, 0.3f, Curve::linear, "eq", }, Param{ "peak_gain", "Peak Gain", 0.0f, 1.0f, 0.5f, Curve::linear, "eq", }, Param{ "in_lpf_cutoff", "Input LPF", 0.0f, 1.0f, 0.7f, Curve::square, "filters", }, Param{ "in_hpf_cutoff", "Input HPF", 0.0f, 1.0f, 0.2f, Curve::square, "filters", }, Param{ "p09", "Param 09", 0.0f, 1.0f, 0.5f, Curve::linear, "general", }, Param{ "comp_threshold", "Comp Threshold", 0.0f, 1.0f, 0.0f, Curve::linear, "comp", }, Param{ "comp_ratio", "Comp Ratio", 0.0f, 1.0f, 0.0f, Curve::linear, "comp", }, Param{ "comp_attack", "Comp Attack", 0.0f, 1.0f, 0.1f, Curve::linear, "comp", }, Param{ "comp_release", "Comp Release", 0.0f, 1.0f, 0.3f, Curve::square, "comp", }, Param{ "lowshelf_freq", "Lowshelf Freq", 0.0f, 1.0f, 0.3f, Curve::square, "eq", }, Param{ "lowshelf_q", "Lowshelf Q", 0.0f, 1.0f, 0.3f, Curve::linear, "eq", }, Param{ "lowshelf_gain", "Lowshelf Gain", 0.0f, 1.0f, 0.5f, Curve::linear, "eq", }, Param{ "highshelf_freq", "Highshelf Freq", 0.0f, 1.0f, 0.3f, Curve::square, "eq", }, Param{ "highshelf_q", "Highshelf Q", 0.0f, 1.0f, 0.3f, Curve::linear, "eq", }, Param{ "highshelf_gain", "Highshelf Gain", 0.0f, 1.0f, 0.5f, Curve::linear, "eq", }, Param{ "p20", "Param 20", 0.0f, 1.0f, 0.5f, Curve::linear, "general", }, Param{ "p21", "Param 21", 0.0f, 1.0f, 0.5f, Curve::linear, "general", }, Param{ "p22", "Param 22", 0.0f, 1.0f, 0.5f, Curve::linear, "general", }, Param{ "post_gain", "Post Gain", 0.0f, 1.0f, 0.5f, Curve::square, "gain", }, }}; inline constexpr std::size_t kChannelStripVoiceSpaceCount = 6u; inline constexpr std::array kChannelStripVoiceSpaces = {{ "WannabeNeve66", "SSL 4K G-ist", "SSL 9K-inda", "MaleVox", "FemaleVox", "Neve 80", }}; inline constexpr UIConfig kChannelStripUI = { PrimaryInput::Joystick, true, false, }; using ChannelStripMLP = ::nisps::ml::MLP; inline constexpr ::nisps::ParamSchema kChannelStripSchema = { kChannelStripModeId, kChannelStripEngineId, std::span(kChannelStripInputChannels), kChannelStripMLConfig.input_size, std::span(kChannelStripHiddenLayers), kChannelStripMLConfig.output_size, kChannelStripMLConfig.default_spread, kChannelStripMLConfig.default_learning_rate, kChannelStripMLConfig.default_max_iterations, std::span(kChannelStripParams), std::span(kChannelStripVoiceSpaces), kChannelStripUI, }; } // namespace nisps::modes::generated #endif // NISPS_GENERATED_CHANNEL_STRIP_SCHEMA_HPP