openAVproductions / openAV-Fabla

A sampler LV2 plugin called Fabla
GNU General Public License v2.0
46 stars 12 forks source link

Midi mapping? #52

Closed x37v closed 5 years ago

x37v commented 6 years ago

I'm not seeing any indication of the midi note/channel mapping in the documentation:

Its clear I can find that experimentally but I figure it should be published? Is it configurable at all?

geblanco commented 5 years ago

Same here, I can make the pads sound through sending midi notes (starting at 36: C3) but no cc for the knobs.

harryhaaren commented 5 years ago

Correct there is currently no MIDI mapping for the knobs inside Fabla.

This is an LV2 design choice - the LV2 host should provide eg: MIDI mappings from HW controls to the plugin controllable ports. If the plugin does its own MIDI CC handling, then what takes priority, host automation or MIDI CC? Aside from parameter "jumps" as described above (automation vs MIDI CC), implementing MIDI CC mapping for each plugin is wasted effort - there are 10x more plugins than hosts.

I'd prefer see the hosts you're using get MIDI CC to LV2 parameter mapping support, than implementing that functionality here - its not really the right place, as it causes duplication of effort for each plugin :/ What hosts are you using?

Cheers, -Harry

x37v commented 5 years ago

@harryhaaren the issue I was initially trying to address is that the note number to sample trigger mapping is, as far as I can tell, totally undocumented.

I see fabla reacts to all channels, and I figured out the numbers. I added that information to the README update that I have in my PR, but.. I also restricted the channel to the standard drum channel, 10.

I get what you're saying about the mapping with a host.. I'm using jalv and afaik, there is no way to restrict/map the midi channels in jalv. My midi source has 1 midi output port and uses channels to differentiate destinations [classic midi style]. Maybe there is an additional jack midi client, or lv2 client, that i could use to filter midi so that fabla only sees the channel I care about... i see that maybe x42-midifilter could do it.

harryhaaren commented 5 years ago

Hey, yes correct it isn't called out - I believe its the MIDI Generic Midi Mapping for drums - but that does require knowledge of the spec. I'm happy to include documentation that the notes start on 36 by default - that's a good thing to tell users. I'm not sure if limiting to just CH10 is a good idea - many sequencers and hw midi controllers start in CH1 by default, and I fear we could make it more difficult for beginners if we only listen on 10.

Indeed Jalv doesn't provide MIDI mapping support - perhaps Carla would provide more features there. Off-topic note that OpenAV is working on Ctlra and Mappa to solve exactly this type of mapping issue and workflow... https://github.com/openAVproductions/openAV-ctlra. There is progress being made there - I haven't pushed to the Mapping_v1 branch recently :)

x37v commented 5 years ago

README now has the note number and the omni channel info: https://github.com/openAVproductions/openAV-Fabla/pull/54