clicking 'drum pad" buttons OF MY PLUG-IN in my DAW dont record midi notes
-
You'd have to link the click event of your drum pad to a call to Message.sendToMidiOut() somehow I would guess.
-
@Orvillain But how would you generate the Message from a button click? Closest I can see is MessageHolder, but that doesn't have the sendToMidiOut function.
HiseSnippet 1191.3oc2Wz1aaSD9bZ8DNCpXvDhOZMwGbPSQwkrzhlPKsooaQrzF0z0suMc87iSNU66LmuTHBUI9wwO.9or+AvyY6z3rEJYQEFPTUUdd+4ddOCTRFjlJUDqpmNMAHVer8voB83NiobAo2ADqsr6SS0fxMG09SSnooP.wxZimZPX4rII6yadx9zHpfAyQQHmI4L347XtdN1As+ddTzgz.3TdbIta1tGSJ5HijSP+YC6FjDJ6B5H3HpgsJ1jmQSGSr9Z6.+l9g6xns10u41L116ty1e6NLfFFBs7ezNM2MrYHk0Xah0c5Fv0R0PMUConR2WFLc3X4OJxMvY7T94QfAvmLDsbNZRmw7nfAyBNoDhk8f4gpMxCU22tOOfeM94grOMif6bIJGzrpbStj+6gKUojKsYtKcO6gLEOQOmhwetqcOAlAwPBrfqjyKoxqpX2QhbHz0ioW.GpPfqkvqUiFOzE+WsGWspBF4BWhL1K.g3hHt.bCmHXZtT3JE6OQqkBei1TxHOlLNQJP1en6kznIPsp+bUGdnqWAjCB5DIYzH23zQtemaWwHTi0YJ.CN8wW.l8elLJ.Tdn4cbv+PFqmB5ijZ3nIwmiTZ0HiVAgy.Tgb8TuVMKi1De7JzXcivGKLOHGmhmCZ7rB+5zffB1v3PbgwQkXT1UFO.hRAWyifmd.DhtafWgNpU7hxUjvXjvv8m1Mm50bYTT0qPiOKnOBzclEo7dPQL7A0LtcQjrCMJ5brYv6sCwl2P0RIf7WlWVft5UUceaRggKkVg1hLw4kP1zmptIA8DYohxoYCiXc4hE62Y0J1Y4AlRLJE8Db8wIPA7gl7RP92e2VCRQjE+1K5c.USwtEqBbHeIfRyMti0Avk37o7dGG6CfzKzxjLdKRGnKqyntUQmUd3mvCLBTjKH+z7gX8ZO8Zfe4r17z9xXTOTEh1pRJ8RnmXfBvTqoCjrpsvedA14CU7WVqr0uZ69mTMfO+TYDTOQwwprYcBiVnSpVsG+uwpF6aqpla8Jkkj+vg+xfIQT8haDL6JKHfwfExclQshTbjU4couGqIZbiqIVUW7d1C3Z13k6iUVhOZ1.82fOVrb8Sr6hayY54N3l1G9p0cS5pa9sxM+csGhS1yFjmY7uHC18kX+q6SAAnLAO+a3ZneaUuFJYkuF5XlFM+oJpHMQltfhGBw7SwAVokQ9hTbEF7CmXxlkw2QRUKkzadxg3iboxLjpmnxJK1KVNQnWnLXiEyCatZsqK1QTh+kbpyle.t951os5CXmukUIezYlONjGmDAcEWh2IgXL93mgyyBoShzyvtXgceoPlLVJ3rxY8S.shOZDnJ66K8AsmVimtLGy8aeBDAzxUveU6miUdTEFmf0LV3u5whaJe8k14tqqoaz8+tSr23+2SrOQNQyEi5SwhP75Ka7.lg3fRFfVWHvSzQbVULC6xgaXfymTJBx.9c7SAQeCrUAQ+YD+GwFwTlR9ZV98Pl5zOJCC9tEY+nWG7Weivt9jrajJmKiwobulwVTUuifautB9MqqfMWWAez5JXq0UvcVWA28uVPyRn8lnkw4slDR+AcyNvzxpqfhU4YcDj+..3lzcr
-
@d-healey MessageHolder?
https://docs.hise.audio/scripting/scripting-api/messageholder/index.html
--damn it missed you already mentioning this
-
@WepaAudio If you enable midi out and set the Message.sendToMidiOut() in your on noteOn and on noteOff callbacks it should work
Here it's working in Logic, however you you have to enable the routing of midi from the instrument to the same track in Logic
I'll test it in Live and come back... -
@ulrik How are you turning the button press into a Message? or do you not need to?
-
if (event.clicked) { midiList.setValue(noteSources[idx], Synth.addNoteOn(1, noteSources[idx], 127, 0)); this.changed(); } if (event.mouseUp) Synth.noteOffByEventId(midiList.getValue(noteSources[idx]));
and the Message.sendToMidiOut() in on noteOn/Off callbacks
-
@ulrik
Synth.addNoteOn()
triggers the on note on callback? -
@ulrik Yes, this is the kind of thing I was imagining.
-
@d-healey Yes, I'm using an external script processor where I have the Message.sendToMidiOut() messages
-
@Orvillain I can get it to work in Ableton Live as well, but I have to record the midi sent from the instrument on another track, only vst3 is working, not the component version off the instrument
-
Yes, you can send MIDI out from button clicks.
I am working on a series of MIDI plugins at the moment.You need to enable MIDI out in settings:
When using UI components to generate MIDI notes, you need to use Synth.addNoteOn() and Synth.addNoteOff() on the callback to you component.
Here I have pads (made with panels) which play chords when you use a mouse click.
It turns the notes off when the mouse is up.// mouse callbacks for the pads -- pad.setMouseCallback(function[unitSize](event) { var ps = this.data.pitchSet; var l = ps.length; if (event.clicked) { var velocity = Math.round(event.y / unitSize * 127); for (k = 0; k < l; k++) Synth.addNoteOn(1, ps[k], velocity, 0); } if (event.mouseUp) { for (k = 0; k < l; k++) Synth.addNoteOff(1, ps[k], 0); } });
To get the MIDI to output from the plugin,
as others have said you must use Message.sendToMidiOut();To make sure it catches everything (and not some intermediate stage of MIDI),
I always place these functions in a script processor and container after all of my other containers:
And place the Message.sendToMidiOut() on each of the three MIDI callbacks:
-
@ulrik if that works I’ll put it straight into morphDrum