@@ -14,6 +14,7 @@ struct ParameterSpec {
1414 float maximum;
1515 float defaultValue;
1616 bool boolean;
17+ bool output = false ;
1718};
1819
1920enum ParameterId : std::uint32_t {
@@ -92,6 +93,17 @@ enum ParameterId : std::uint32_t {
9293 kParamBashPan ,
9394 kParamCowbellPan ,
9495 kParamClavePan ,
96+ kParamKickTrig ,
97+ kParamClapTrig ,
98+ kParamSnareTrig ,
99+ kParamCrashTrig ,
100+ kParamClosedHHTrig ,
101+ kParamTom1Trig ,
102+ kParamOpenHHTrig ,
103+ kParamTom2Trig ,
104+ kParamBashTrig ,
105+ kParamCowbellTrig ,
106+ kParamClaveTrig ,
95107 kParameterCount
96108};
97109
@@ -120,6 +132,7 @@ struct InstrumentSpec {
120132 std::uint32_t levelParam;
121133 std::uint32_t muteParam;
122134 std::uint32_t panParam;
135+ std::uint32_t trigParam;
123136};
124137
125138inline constexpr std::array<ParameterSpec, kParameterCount > kParameterSpecs = {{
@@ -198,6 +211,17 @@ inline constexpr std::array<ParameterSpec, kParameterCount> kParameterSpecs = {{
198211 {" Bash Pan" , " bash_pan" , -1 .0f , 1 .0f , 0 .42f , false },
199212 {" Cowbell Pan" , " cowbell_pan" , -1 .0f , 1 .0f , 0 .14f , false },
200213 {" Clave Pan" , " clave_pan" , -1 .0f , 1 .0f , -0 .24f , false },
214+ {" Kick Trig" , " kick_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
215+ {" Clap Trig" , " clap_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
216+ {" Snare Trig" , " snare_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
217+ {" Crash Trig" , " crash_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
218+ {" Closed HH Trig" , " hh_closed_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
219+ {" Tom 1 Trig" , " tom1_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
220+ {" Open HH Trig" , " hh_open_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
221+ {" Tom 2 Trig" , " tom2_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
222+ {" Bash Trig" , " bash_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
223+ {" Cowbell Trig" , " cowbell_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
224+ {" Clave Trig" , " clave_trig" , 0 .0f , 1 .0f , 0 .0f , false , true },
201225}};
202226
203227[[nodiscard]] inline float normalizedKickPitchToHz (const float value)
@@ -218,17 +242,17 @@ inline constexpr std::array<ParameterSpec, kParameterCount> kParameterSpecs = {{
218242}
219243
220244inline constexpr std::array<InstrumentSpec, kInstrumentCount > kInstrumentSpecs = {{
221- {InstrumentId::Kick, " Kick" , " KICK" , 36 , kParamKickLevel , kParamKickMute , kParamKickPan },
222- {InstrumentId::Clap, " Clap" , " CLAP" , 39 , kParamClapLevel , kParamClapMute , kParamClapPan },
223- {InstrumentId::Snare, " Snare" , " SNARE" , 40 , kParamSnareLevel , kParamSnareMute , kParamSnarePan },
224- {InstrumentId::Crash, " Crash" , " CRASH" , 41 , kParamCrashLevel , kParamCrashMute , kParamCrashPan },
225- {InstrumentId::ClosedHH, " Closed Hat" , " CHH" , 42 , kParamClosedHHLevel , kParamClosedHHMute , kParamClosedHHPan },
226- {InstrumentId::Tom1, " Low Tom" , " LTOM" , 45 , kParamTom1Level , kParamTom1Mute , kParamTom1Pan },
227- {InstrumentId::OpenHH, " Open Hat" , " OHH" , 46 , kParamOpenHHLevel , kParamOpenHHMute , kParamOpenHHPan },
228- {InstrumentId::Tom2, " High Tom" , " HTOM" , 50 , kParamTom2Level , kParamTom2Mute , kParamTom2Pan },
229- {InstrumentId::Bash, " Bash" , " BASH" , 51 , kParamBashLevel , kParamBashMute , kParamBashPan },
230- {InstrumentId::Cowbell, " Cowbell" , " COW" , 52 , kParamCowbellLevel , kParamCowbellMute , kParamCowbellPan },
231- {InstrumentId::Clave, " Clave" , " CLAVE" , 53 , kParamClaveLevel , kParamClaveMute , kParamClavePan },
245+ {InstrumentId::Kick, " Kick" , " KICK" , 36 , kParamKickLevel , kParamKickMute , kParamKickPan , kParamKickTrig },
246+ {InstrumentId::Clap, " Clap" , " CLAP" , 39 , kParamClapLevel , kParamClapMute , kParamClapPan , kParamClapTrig },
247+ {InstrumentId::Snare, " Snare" , " SNARE" , 40 , kParamSnareLevel , kParamSnareMute , kParamSnarePan , kParamSnareTrig },
248+ {InstrumentId::Crash, " Crash" , " CRASH" , 41 , kParamCrashLevel , kParamCrashMute , kParamCrashPan , kParamCrashTrig },
249+ {InstrumentId::ClosedHH, " Closed Hat" , " CHH" , 42 , kParamClosedHHLevel , kParamClosedHHMute , kParamClosedHHPan , kParamClosedHHTrig },
250+ {InstrumentId::Tom1, " Low Tom" , " LTOM" , 45 , kParamTom1Level , kParamTom1Mute , kParamTom1Pan , kParamTom1Trig },
251+ {InstrumentId::OpenHH, " Open Hat" , " OHH" , 46 , kParamOpenHHLevel , kParamOpenHHMute , kParamOpenHHPan , kParamOpenHHTrig },
252+ {InstrumentId::Tom2, " High Tom" , " HTOM" , 50 , kParamTom2Level , kParamTom2Mute , kParamTom2Pan , kParamTom2Trig },
253+ {InstrumentId::Bash, " Bash" , " BASH" , 51 , kParamBashLevel , kParamBashMute , kParamBashPan , kParamBashTrig },
254+ {InstrumentId::Cowbell, " Cowbell" , " COW" , 52 , kParamCowbellLevel , kParamCowbellMute , kParamCowbellPan , kParamCowbellTrig },
255+ {InstrumentId::Clave, " Clave" , " CLAVE" , 53 , kParamClaveLevel , kParamClaveMute , kParamClavePan , kParamClaveTrig },
232256}};
233257
234258} // namespace downspout::drumkit
0 commit comments