@@ -55,7 +55,17 @@ struct PeaksEngine : public Engine
5555
5656 void process (const ControlFrame &frame, OutputFrame &of) override
5757 {
58- _processor.Configure (params_, peaks::CONTROL_MODE_FULL);
58+ if (std::is_same<T, peaks::FmDrum>::value)
59+ {
60+ auto bak = params_[P1];
61+ params_[P1] += (frame.cv_voltage () * INT16_MAX / 3 ); // CV or Midi Pitch ?!
62+ _processor.Configure (params_, peaks::CONTROL_MODE_FULL);
63+ params_[P1] = bak;
64+ }
65+ else
66+ {
67+ _processor.Configure (params_, peaks::CONTROL_MODE_FULL);
68+ }
5969
6070 if (frame.trigger )
6171 {
@@ -124,7 +134,7 @@ class Hihat808 : public HiHatsEngine
124134
125135void init_peaks ()
126136{
127- add<PeaksEngine<peaks::FmDrum, TRIGGER_INPUT, 0 , 3 , 1 , 2 >>(DRUM, " FM-Drum" , INT16_MAX, INT16_MAX, INT16_MAX, INT16_MAX, " Freq." , " Noise" , " FM" , " Decay" );
137+ add<PeaksEngine<peaks::FmDrum, TRIGGER_INPUT | VOCT_INPUT | TRANSPOSE_EQ_0 , 0 , 3 , 1 , 2 >>(DRUM, " FM-Drum" , INT16_MAX, INT16_MAX, INT16_MAX, INT16_MAX, " Freq." , " Noise" , " FM" , " Decay" );
128138
129139 add<PeaksEngine<peaks::BassDrum, TRIGGER_INPUT>>(DRUM, " 808ish-BD" , INT16_MAX, INT16_MAX, INT16_MAX, INT16_MAX, " Pitch" , " Punch" , " Tone" , " Decay" );
130140 add<PeaksEngine<peaks::SnareDrum, TRIGGER_INPUT, 0 , 2 , 1 , 3 >>(DRUM, " 808ish-SD" , INT16_MAX, INT16_MAX, INT16_MAX, INT16_MAX, " Pitch" , " Snappy" , " Tone" , " Decay" );
0 commit comments