Midi keyboard that is both a global-controllers and a loop-grid
Closed this issue ยท 3 comments
I am trying to get my midi keyboard hooked up. It has sliders, knobs, buttons and piano keys.
I started by first building a global-controllers node so that I can control bpm, swing, and params using the sliders and knobs. I got that working ๐
Next I started making a loop-grid node, and got it added to the ui and I can use my piano keys as trigger the chunks ๐
My problem is as soon as I use the loop-grid node, my global-controller stops working. ๐ฅ
It seems like the midi events stop going to the global controller. It seems the MidiPort takes over the mid events.
Any hints if I can use the same keyboard for both? Thanks ๐ and awesome project! ๐ฏ
Ryan
@ryanramage You have identified the main reason that I haven't yet tried to add generic midi keyboard support to loop drop. Managing this sort of thing is quite tricky right now.
For the Launch Control XL, I have a special button that switches between global and the current setup. See https://github.com/mmckegg/loop-drop-app/blob/master/nodes/mixer-launch-control-xl/object.js#L249 and https://github.com/mmckegg/loop-drop-app/blob/master/nodes/global-launch-control-xl/object.js#L212. This works when you have a controller that you only want to use for one thing at a time.
But in your case, you want to overlay global controls over a loop grid. One way would be to not use a global controller at all, and just do it directly in the Loop Grid. There is no reason why a loop grid can't control tempo, etc. I think a lot of the code that is in global controller will also "just work" directly in a setup. It should also be able to add params.
The other option would be to bypass the lib/midi-port
code and use var MidiStream = require('web-midi')
directly. This will ensure that a controller always has the midi connection, but it would make it less modular.
Thanks. I will take your advice and try this today.
I just picked up an lunchpad today - so much better. Loving it.