Still problems with Message.sendToMidiOut();
-
@ulrik I assume the HISE implementation as it doesn‘t seem to be a problem wir JUCE plugins (assuming by not finding anything in the JUCE forum and being aware that a lot of JUCE plugins have the function working)
But It‘s very strange that the plug-in host can receive the generated midi and the daw will pass the input notes. There is nothing logical that I could come up with that could explain it. -
@ps Which DAWs have you tested?
-
@d-healey I tested Live 11 only - as I used midi out in live countless times with other plugins so i can be sure it‘s not a user error on my side and if something doesn‘t work in live it‘s not something I can implement because a fair share of my users are using it. But of course it would be interesting if it works in other daws - I’ll see if I can find my little midi out test project and post a snippet for others to try. Now that I think about it I believe I tried in logic as well.
-
@ps Try Reaper too. If it works in some and not others it may help Christoph narrow down the cause.
-
@d-healey try the snippet in Reaper and tell if it's working for you
-
@ulrik said in Still problems with Message.sendToMidiOut();:
@d-healey try the snippet in Reaper and tell if it's working for you
Doing some tests now. First thing I notice is you're using
Message.sendToMidiOut();
but you haven't specified which message, I assume the call should bem.sendToMidiOut();
-
@d-healey Here is the most basic and secure way I could come up with to demonstrate a MidiOut case. This snippet works in the JUCE plugin host but not in Live.
I'm using containers as they are making an encapsulated midi processing possible.
In the Daw the midi you receive from the plugin should equal the notes you hear and not the notes you input.
HiseSnippet 1058.3oc6X00aaaCEkz1Zn1scXcqXXOpG1CtXYAVdcMCHXnIweTXr5XiHmt8VAiDsMQjH0nn7lwv9GtG1+i8R+GrcojcjbphqifWwxp8CAg268Hd38iin8PovgFFJjHb0QyCnH7CLrmyUSaMkv3ndsQ3GZzuW6dCNeznN1iPmLOfDFRcQXb4WnCAWsBJ9yad9IDOB2glZBgdkf4PeIymoRsN7nef440k3RGw7yD8SOpmif2R3Ih.5T1nAJf3bIYB8ThNrRFH7G0wkoDRaEQQCQ3JmHbmaOU7K7j3eEKjcgGUuvBYCOnDycEdtZFqshZMk44Nb4wNDgvFCSSBkSRBO1nOykck8zjwmD6vLEQ17Atz5nmUV50XyoGNC8pjPuGYX6HYApTOZtceidbEUNl.kfrzJIVD9uLZIf.3p88IWR6JgEWAn9yZzXOS3OO4vZ0l3Itf3YxM+dyFGNNh6nXBtofepPQGvq+jZ+VspZm8g8FJO6OgpztNMx+BprN7D98ZlWG13wI3tlOMijBOOMtbbqaPjqCXcd7ltm4LhWD8p.gL0pkBiatTjsSwIIAkIPAuGmoFDP42TABsHqB+248ZSTDcMagMHt.pTwzT.2lNCFFRpfUMZSCuTIBfwg2p7BMYB2HOhZ0NO831BGPNXkRrtNxCYp4YGGud6X4MqcLmS3FRwGYLjobllOGKkCGgL0+FbbwP7CM5LdL0QkRvJFc+o0NwtU196cCBoOHd9CVQkVaCczfMVGEW9NktYgqBatV4msvZJirxSyrTKrg4Mn.tT8iMgKjzNyfw85JIHBcXspyHRSNDKHRF2DrefGYtFbc9WY0bOSqlGjMrl4E2AWE15zSSfwSLcx7XZzyst1fF5Zb27sDp2IFuSL9CPw3l6DiuSHFi+i2oVbHk6NRnOcChTuiahtgX1IJ99STbq7EldOJPt04awEK25T4iSnx8MrAMxXwyXh74wqM+QxLp4Knf5oNottqy9maeEzANJX6GII7v.Q3JOXapOajfqyHoFOOD91tze9LcUNq8VBhLWWu44cgCYtXrIpHYb6xw9hHtZk1ixabM4VnrW4+z+7D2AtwzJuHp5RNZy7C7nc3yndfBXLG+TPxaLIxSsz5p808EbQvTAm4jsneFUIYSlPkY4dtGniUJhykoVd7QmQ8njrMve4QuDZ7HRHOQKXtv5V+R4bqWegQBcM0Cil++PTu7Glh5mIhTL9j9DnQ8WgKZbZjuMnk5PAlv4TO8kOvkz5gIqanWmHlxciW72vmENszqwKbZsz4t83VrG9DGo30NIWOTOSduXKP8iG+CcW0nudsoEJ9Ji.NiF62.4CJ6u1wQ2170PcNeLMK.luo.XdZAv7sE.yyJ.lCJ.luasXzuT83HkvOQRALLrS78nw3NbBLQFO8h9GnReieM
-
@Christoph-Hart @ulrik @ps MIDI out doesn't appear to be working here.
I made an incredibly simple snippet. Just click the on screen keyboard.
HiseSnippet 925.3ocsUsraabCEkT1zHRoEsAnq5pAAYgMfqvHWW+nYQbrdjHjHagHE2toHfdFJIBygb.GN1YPP1zur9YjOi7G3bImQZF4p5lJfpEB593v6gWduGMTqBXIIJMBWebVLCg+FxnLoYV6YTtD0uCB+.xPMKgYPmlESSRXgHLdiWXihquIx84yO6TpfJCXktPnKT7.1q4QbSo2gm7JtPziFxFyipj89mzOPIaqDpTfIaP7QwzfqnSYmQsoUifva0MjaT5QFpgkfvadpJLazL0Mx77ufmvuTvrFsPifCJ2cOkHzxXqWT6YbQ3v423DDbJCKu+aje++Ax.dHeg+x9v26B3UhnZ+.WaY5swRzq0+D8VAkvUnzl4T5QjQAZdroLhkOOjzWZX5ITnsWkJ44hvehzVAIHMMinWw5oAiE.19.e+c8fu14oSRkAFtR5ojmoLrykauSiOzn9.nPP+uYBSFNVYu4mmZ1dmm13iM7tKjISxwbmX1xqUBASuxv1I.88AbaYZzkL8tdWSEorEIBskk60a800qCx6FURTI6K4lyiYE12+vBpncB+5s86PMT6iUgOHuXl1vszA2gcML4m+zUmzgkbkQE6xMJVIsm.9glhYs7GqdBE0vkSGyAZyAF7cjptZgde0EqLDlfeRIgxqTCxqXYWpn5PzkSmuIUeqvvvasf3FVTo2au81ebYu6U31krg8dSYxyqq6NW6OvjOzvy6wP09MdnY1i+UuV62zeWquN7jXAM67.C8Z1YtWOH7DpHg4h+Z0M.Lv0wNyWxysZs2gN61oIFUzKzz3Y7fjkP1gMglJLOONlQ0VkFHpQmlG7TAHV.G0afNlBB327ficeN5H+CO1+vVtrFqlNUvFnBYKcx1QaXIWJYBKUb9daB6BV.LhUgKKpFDrmfZFYxD24jF1c9Svc8CipZSYU1at+txvJ09fFeDcismt309u9ySP+c8.PIRElBbXY4IqlbQ.XOZIMA6huLgaxppY+ePyx+d0r9Zo3iHC4lfYqli0VAGgMr+O3XgR+2R5NYB7LWRvMI8980UV+eo7uQkZWmGPMZNrMSfsiQv9U.q38OwtTWytTma6asscfQf.ryvtbVDrk0FWDr07fnHZfV8tfb0S6+k7.mGfSR2eiVmLvZ60B4TTAbD+l9nHXC3cAA1q+OABeqFydqAledMvr+Zf4WVCLGrFXNbMvbz8hwJ977TPzKec.bLrqSlEi6JovjkaJD8EkuGnXA
-
@d-healey said in Still problems with Message.sendToMidiOut();:
@Christoph-Hart @ulrik @ps MIDI out doesn't appear to be working here.
I made an incredibly simple snippet. Just click the on screen keyboard.
You snippet works fine for me after I have added a few settings
and
Notice how you have to add a new channel in Ableton Live to grab the midi out of the plugin.
Explained here
-
@jonhallur Oh that looks promising. @Christoph-Hart Why it no work without those extra defs (or why they not added automatically when the Enable Midi Out checkbox is enabled)?
-
@jonhallur ok, and you haven't changed anything in the source code, or in the projucer project file when compiling Hise?
I tried your settings (changed in Hise) but still no luck, I compiled the project as an instrument au and vst3, nothing in Live or Reaper.
I'll try to compile it as an FX Plugin instead..
-
@ulrik We are indeed compiling as fx.
-
@lalalandsynth ok, Davids snippet works when compiled as fx but not my snippet.
The difference between them is that David has the Message.sendToMidiOut() in the NoteOn callback and I have it in an inline function, the TransportHandlers onGridChange function, and I have to have it there to be able to send on 4 midi channels from 4 MidiPlayers... ;( -
@ulrik Did you try changing
Message.sendToMidiOut()
tom.sendToMidiOut()
? -
@d-healey No, will do right away, thanks
-
@d-healey said in Still problems with Message.sendToMidiOut();:
@ulrik Did you try changing
Message.sendToMidiOut()
tom.sendToMidiOut()
?I did try to use the
Engine.createMessageHolder()
method but with no luck. What I ended up doing was to just use theSynth.addNoteOn|NoteOff|Controller()
and making a child script that had theMessage.sendToMidiOut()
in bothonNoteOn()
andonNoteOff()
andonController()
callbacks which would take all theSynth.add...
events and pass them to the midi output.What it looked like if I added it to your setup.
-
@jonhallur @d-healey @lalalandsynth @ps
Now we need to get rid of the NoteOn number 60 coming from the TransportHandler, see this thread
-
@ulrik I used the extra script processor as @jonhallur suggested and it works both in Live and Reaper :)
-
@ulrik so you are saying that you are getting different MIDI sent out than the input notes? I used to have it in my script processor before already - added the message to controller as well and hoped this did the trick. But still only getting the input messages to show up on the midi track I set my dummy plugin as midi input.
Getting a plugin to pass through the midi was possible also by setting the midi out flag even before sentToMidiOut() was implemented.I'm talking about getting artificial notes outputted.
The most simple scenario would be an instrument with a sine wave generator and an arpeggiator outputting the arpeggiator notes instead of the input notes.
If somebody get's that to work - this person will be forever my personal hero haha
-
@ps said in Still problems with Message.sendToMidiOut();:
@ulrik so you are saying that you are getting different MIDI sent out than the input notes?
I'm talking about getting artificial notes outputted.The most simple scenario would be an instrument with a sine wave generator and an arpeggiator outputting the arpeggiator notes instead of the input notes.
Yes I'm getting Artificial notes outputted, however I'm not using an Arpeggiator, I'm using the TransportHandlers onGridChange function so I don't know about Arps.
I'm modifying the pressed notes and output the modified notes, and the "real" events is ignored.