// AUTOGENERATED — do not edit. Source: schemas/modes/breakor.json. Run `bun run codegen/generate.ts` to regenerate. #ifndef NISPS_GENERATED_BREAKOR_SCHEMA_HPP #define NISPS_GENERATED_BREAKOR_SCHEMA_HPP #include "schema_types.hpp" #include "../../ml/mlp.hpp" namespace nisps::modes::generated { inline constexpr std::string_view kBreakorModeId = "breakor"; inline constexpr std::string_view kBreakorEngineId = "breakor"; inline constexpr std::array kBreakorInputChannels = {{ "joy_x", "joy_y", "joy_z", "joy_w", }}; inline constexpr std::array kBreakorHiddenLayers = {{ 10u, 14u, 18u, }}; inline constexpr MLConfig kBreakorMLConfig = { 4u, 56u, 0.6f, 1.0f, 1000u, }; inline constexpr std::size_t kBreakorParamCount = 56u; inline constexpr std::array kBreakorParams = {{ Param{ "kick_ratio0", "Kick Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "kick", }, Param{ "kick_ratio1", "Kick Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "kick", }, Param{ "kick_ratio2", "Kick Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "kick", }, Param{ "kick_pmul", "Kick Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "kick", }, Param{ "kick_poff", "Kick Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "kick", }, Param{ "kick_amp0", "Kick Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "kick", }, Param{ "kick_amp1", "Kick Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "kick", }, Param{ "snare_ratio0", "Snare Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "snare", }, Param{ "snare_ratio1", "Snare Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "snare", }, Param{ "snare_ratio2", "Snare Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "snare", }, Param{ "snare_pmul", "Snare Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "snare", }, Param{ "snare_poff", "Snare Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "snare", }, Param{ "snare_amp0", "Snare Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "snare", }, Param{ "snare_amp1", "Snare Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "snare", }, Param{ "tom_ratio0", "Tom Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "tom", }, Param{ "tom_ratio1", "Tom Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "tom", }, Param{ "tom_ratio2", "Tom Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "tom", }, Param{ "tom_pmul", "Tom Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "tom", }, Param{ "tom_poff", "Tom Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "tom", }, Param{ "tom_amp0", "Tom Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "tom", }, Param{ "tom_amp1", "Tom Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "tom", }, Param{ "lowtom_ratio0", "LowTom Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "lowtom", }, Param{ "lowtom_ratio1", "LowTom Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "lowtom", }, Param{ "lowtom_ratio2", "LowTom Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "lowtom", }, Param{ "lowtom_pmul", "LowTom Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "lowtom", }, Param{ "lowtom_poff", "LowTom Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "lowtom", }, Param{ "lowtom_amp0", "LowTom Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "lowtom", }, Param{ "lowtom_amp1", "LowTom Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "lowtom", }, Param{ "rim_ratio0", "Rim Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "rim", }, Param{ "rim_ratio1", "Rim Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "rim", }, Param{ "rim_ratio2", "Rim Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "rim", }, Param{ "rim_pmul", "Rim Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "rim", }, Param{ "rim_poff", "Rim Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "rim", }, Param{ "rim_amp0", "Rim Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "rim", }, Param{ "rim_amp1", "Rim Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "rim", }, Param{ "hat_ratio0", "Hat Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "hat", }, Param{ "hat_ratio1", "Hat Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "hat", }, Param{ "hat_ratio2", "Hat Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "hat", }, Param{ "hat_pmul", "Hat Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "hat", }, Param{ "hat_poff", "Hat Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "hat", }, Param{ "hat_amp0", "Hat Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "hat", }, Param{ "hat_amp1", "Hat Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "hat", }, Param{ "ophat_ratio0", "OpenHat Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "openhat", }, Param{ "ophat_ratio1", "OpenHat Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "openhat", }, Param{ "ophat_ratio2", "OpenHat Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "openhat", }, Param{ "ophat_pmul", "OpenHat Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "openhat", }, Param{ "ophat_poff", "OpenHat Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "openhat", }, Param{ "ophat_amp0", "OpenHat Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "openhat", }, Param{ "ophat_amp1", "OpenHat Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "openhat", }, Param{ "perc_ratio0", "Perc Ratio 0", 0.0f, 1.0f, 0.5f, Curve::linear, "perc", }, Param{ "perc_ratio1", "Perc Ratio 1", 0.0f, 1.0f, 0.5f, Curve::linear, "perc", }, Param{ "perc_ratio2", "Perc Ratio 2", 0.0f, 1.0f, 0.5f, Curve::linear, "perc", }, Param{ "perc_pmul", "Perc Phasor Mul", 0.0f, 1.0f, 0.0f, Curve::linear, "perc", }, Param{ "perc_poff", "Perc Phase Off", 0.0f, 1.0f, 0.0f, Curve::linear, "perc", }, Param{ "perc_amp0", "Perc Amp 0", 0.0f, 1.0f, 0.5f, Curve::linear, "perc", }, Param{ "perc_amp1", "Perc Amp 1", 0.0f, 1.0f, 0.5f, Curve::linear, "perc", }, }}; inline constexpr std::size_t kBreakorVoiceSpaceCount = 0u; inline constexpr std::array kBreakorVoiceSpaces = {}; inline constexpr UIConfig kBreakorUI = { PrimaryInput::XYPad, false, false, }; using BreakorMLP = ::nisps::ml::MLP; inline constexpr ::nisps::ParamSchema kBreakorSchema = { kBreakorModeId, kBreakorEngineId, std::span(kBreakorInputChannels), kBreakorMLConfig.input_size, std::span(kBreakorHiddenLayers), kBreakorMLConfig.output_size, kBreakorMLConfig.default_spread, kBreakorMLConfig.default_learning_rate, kBreakorMLConfig.default_max_iterations, std::span(kBreakorParams), std::span(kBreakorVoiceSpaces), kBreakorUI, }; } // namespace nisps::modes::generated #endif // NISPS_GENERATED_BREAKOR_SCHEMA_HPP