I’m modifying the x42 convolver plugin to work as a piano resonance plugin, by adding MIDI input so it can respond to sustain pedal, only applying the effect when the pedal is down.
I used the same TTL for MIDI input that JUCE used for my JUCE-based plugin (which works but sadly isn’t efficient enough.)
Using printf debugs, I can see that MIDI input ins’t being received, and I suspect it’s due to the 'Unknown object type" error below. Also, while LV2 connect_port is called (actually, it’s called continuously which seems wrong) it’s never called with index zero, which is the MIDI port. Otherwise, everything works.
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > ZConvolv: loading '/zynthian/zynthian-my-data/files/IRs/PianoRes.flac'
WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 1, delay: 24350.0us
WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 2, delay: 24350.0us
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > SF rate: 48000, n_chan: 2 frames: 96120
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > Convolver::reconfigure Nin=2 Nout=2 Nimp=2 Nchn=2
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > Convolver map: IR-chn 1: in 1 -> out 1 (gain: 0.0dB delay; 0)
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > Convolver map: IR-chn 2: in 2 -> out 2 (gain: 0.0dB delay; 0)
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > prio = 0, offs = 0, parsize = 64, npar = 3
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > prio = -1, offs = 192, parsize = 128, npar = 6
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > prio = -3, offs = 960, parsize = 512, npar = 6
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > prio = -5, offs = 4032, parsize = 2048, npar = 6
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > prio = -7, offs = 16320, parsize = 8192, npar = 10
DEBUG:zynthian_engine_jalv.proc_poll_parse_line: LOG x42_-_IR_Convolver_Stereo-01 > error: Unknown object type
WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 3, delay: 32.0us
WARNING:zynthian_autoconnect.cb_jack_xrun: Jack Audio XRUN! =>count: 4, delay: 85.0us
DEBUG:zynthian_state_manager.update_thread: ************ CHECKING FOR UPDATES ... ************
You can see my code at https://github.com/jlearman/zconvo.lv2 . (I plan to change the name after it all works.)
Here’s the TTL for the MIDI input:
a lv2:InputPort , atom:AtomPort ;
rsz:minimumSize 8912 ;
atom:bufferType atom:Sequence ;
atom:supports
midi:MidiEvent ,
patch:Message ,
time:Position ;
lv2:designation lv2:control ;
lv2:index 7 ;
lv2:symbol "midi_in" ;
lv2:name "MIDI Input"