|  | @@ -122,6 +122,7 @@ struct HostMIDI : TerminalModule { | 
														
													
														
															
																|  |  | dsp::PulseGenerator startPulse; |  |  | dsp::PulseGenerator startPulse; | 
														
													
														
															
																|  |  | dsp::PulseGenerator stopPulse; |  |  | dsp::PulseGenerator stopPulse; | 
														
													
														
															
																|  |  | dsp::PulseGenerator continuePulse; |  |  | dsp::PulseGenerator continuePulse; | 
														
													
														
															
																|  |  |  |  |  | dsp::PulseGenerator retriggerPulses[16]; | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | MidiInput(CardinalPluginContext* const pc) |  |  | MidiInput(CardinalPluginContext* const pc) | 
														
													
														
															
																|  |  | : pcontext(pc) |  |  | : pcontext(pc) | 
														
													
												
													
														
															
																|  | @@ -278,6 +279,7 @@ struct HostMIDI : TerminalModule { | 
														
													
														
															
																|  |  | outputs[GATE_OUTPUT].setChannels(channels); |  |  | outputs[GATE_OUTPUT].setChannels(channels); | 
														
													
														
															
																|  |  | outputs[VELOCITY_OUTPUT].setChannels(channels); |  |  | outputs[VELOCITY_OUTPUT].setChannels(channels); | 
														
													
														
															
																|  |  | outputs[AFTERTOUCH_OUTPUT].setChannels(channels); |  |  | outputs[AFTERTOUCH_OUTPUT].setChannels(channels); | 
														
													
														
															
																|  |  |  |  |  | outputs[RETRIGGER_OUTPUT].setChannels(channels); | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | for (int c = 0; c < channels; c++) { |  |  | for (int c = 0; c < channels; c++) { | 
														
													
														
															
																|  |  | float pw = pwValues[(polyMode == MPE_MODE) ? c : 0]; |  |  | float pw = pwValues[(polyMode == MPE_MODE) ? c : 0]; | 
														
													
												
													
														
															
																|  | @@ -286,6 +288,7 @@ struct HostMIDI : TerminalModule { | 
														
													
														
															
																|  |  | outputs[GATE_OUTPUT].setVoltage(gates[c] ? 10.f : 0.f, c); |  |  | outputs[GATE_OUTPUT].setVoltage(gates[c] ? 10.f : 0.f, c); | 
														
													
														
															
																|  |  | outputs[VELOCITY_OUTPUT].setVoltage(rescale(velocities[c], 0, 127, 0.f, 10.f), c); |  |  | outputs[VELOCITY_OUTPUT].setVoltage(rescale(velocities[c], 0, 127, 0.f, 10.f), c); | 
														
													
														
															
																|  |  | outputs[AFTERTOUCH_OUTPUT].setVoltage(rescale(aftertouches[c], 0, 127, 0.f, 10.f), c); |  |  | outputs[AFTERTOUCH_OUTPUT].setVoltage(rescale(aftertouches[c], 0, 127, 0.f, 10.f), c); | 
														
													
														
															
																|  |  |  |  |  | outputs[RETRIGGER_OUTPUT].setVoltage(retriggerPulses[c].process(args.sampleTime) ? 10.f : 0.f, c); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | outputs[START_OUTPUT].setVoltage(startPulse.process(args.sampleTime) ? 10.f : 0.f); |  |  | outputs[START_OUTPUT].setVoltage(startPulse.process(args.sampleTime) ? 10.f : 0.f); | 
														
													
												
													
														
															
																|  | @@ -460,6 +463,7 @@ struct HostMIDI : TerminalModule { | 
														
													
														
															
																|  |  | // Set note |  |  | // Set note | 
														
													
														
															
																|  |  | notes[*channel] = note; |  |  | notes[*channel] = note; | 
														
													
														
															
																|  |  | gates[*channel] = true; |  |  | gates[*channel] = true; | 
														
													
														
															
																|  |  |  |  |  | retriggerPulses[*channel].trigger(1e-3); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | void releaseNote(uint8_t note) { |  |  | void releaseNote(uint8_t note) { | 
														
													
												
													
														
															
																|  | @@ -780,12 +784,13 @@ struct HostMIDIWidget : ModuleWidgetWith9HP { | 
														
													
														
															
																|  |  | createAndAddOutput(6, HostMIDI::START_OUTPUT); |  |  | createAndAddOutput(6, HostMIDI::START_OUTPUT); | 
														
													
														
															
																|  |  | createAndAddOutput(7, HostMIDI::STOP_OUTPUT); |  |  | createAndAddOutput(7, HostMIDI::STOP_OUTPUT); | 
														
													
														
															
																|  |  | createAndAddOutput(8, HostMIDI::CONTINUE_OUTPUT); |  |  | createAndAddOutput(8, HostMIDI::CONTINUE_OUTPUT); | 
														
													
														
															
																|  |  |  |  |  | createAndAddOutput(9, HostMIDI::RETRIGGER_OUTPUT); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | void draw(const DrawArgs& args) override |  |  | void draw(const DrawArgs& args) override | 
														
													
														
															
																|  |  | { |  |  | { | 
														
													
														
															
																|  |  | drawBackground(args.vg); |  |  | drawBackground(args.vg); | 
														
													
														
															
																|  |  | drawOutputJacksArea(args.vg, 9); |  |  |  | 
														
													
														
															
																|  |  |  |  |  | drawOutputJacksArea(args.vg, 10); | 
														
													
														
															
																|  |  | setupTextLines(args.vg); |  |  | setupTextLines(args.vg); | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | drawTextLine(args.vg, 0, "V/Oct"); |  |  | drawTextLine(args.vg, 0, "V/Oct"); | 
														
													
												
													
														
															
																|  | @@ -797,6 +802,7 @@ struct HostMIDIWidget : ModuleWidgetWith9HP { | 
														
													
														
															
																|  |  | drawTextLine(args.vg, 6, "Start"); |  |  | drawTextLine(args.vg, 6, "Start"); | 
														
													
														
															
																|  |  | drawTextLine(args.vg, 7, "Stop"); |  |  | drawTextLine(args.vg, 7, "Stop"); | 
														
													
														
															
																|  |  | drawTextLine(args.vg, 8, "Cont"); |  |  | drawTextLine(args.vg, 8, "Cont"); | 
														
													
														
															
																|  |  |  |  |  | drawTextLine(args.vg, 9, "Retrigger"); | 
														
													
														
															
																|  |  | 
 |  |  | 
 | 
														
													
														
															
																|  |  | ModuleWidgetWith9HP::draw(args); |  |  | ModuleWidgetWith9HP::draw(args); | 
														
													
														
															
																|  |  | } |  |  | } | 
														
													
												
													
														
															
																|  | 
 |