Midi remapping working within hise, but not after export....
-
Hello there,
I've been working on a drum midi remapper - To convert - for example - EZdrummer midi loops to GeneralMidi, ML Drums, SSD5, etc. Created an array to remap the notes - all functional when testing within HISE. I've tried exporting as Midi FX Plugin, FX Plugin, VSTi, I take 'em into Reaper, and nothing. As an FX plugin, nothing passes through. And as a VSTi the midi is coming through completely unaffected. I want to make sure it'll actually work as intended before really digging in and making as many drum maps as I can.
I noticed that other people have had similar issues in the past. I was wondering if anyone figured it out?
Thank you.
HiseSnippet 1835.3oc6YttaaaCFFVxIZs1ccnEXW.5WEI.Eo5rrPW2RiSRQPqSCpyJFVQQgpDcLQjEMjnaa1P.1M09+tS1svtC1nDki4aNz34ts+rFTTfWQ9Q+xOdPOT7fBVBorjUno29vSlPzz+RiAmjyG0aTLMWaus0z6X7Bx33ISHEZacxj3xRRplt9JOopb81qpU+2e7caEmEmmPl+HMsWxnIjmQGS4ye5Aa9TZV1twojCoiUps2l6kvx6wxXSEdYECKsIwIGGeDY+3pp0xPS+K1IkxYEC3wbRol9pawROYvH16yk0+kzR5ayHUBasAhFR93cYYoUNt5oZ8FQyROXVetTSzJGLOCrhLC70F8oozyd97LwcpKvbdDp4C8Vn8VArmsp8rTr20XoUkV5tFCRJnS3yKoxO2xXubNoXXrHsqZEYc0z+cidLQEx4aLN9XxtEBwYArVfk08ME+25Ob3z7DNkkaxx2mwIOOes067ycZ24zNlmungCuzxp9YJXYYjBYwh+0tuvmhguMJI4oGxpRbOeJes0eXm1mdtnqlHT7wZ20xmN9sjh6a9t3rojypnH6fobiqNkqNiHQlTTpHKeubJ+4SH4W07DslLY0vSiqDUkWO37UMCNaMkyY4ZTwXvMM14G4rmzWq1wBmoWOIegir+ylE47EXWYzCxnohEmUQeCimlydq8mRvNmO36ro12u21w7XQeWuIMHRMh8C3zprt91j2IVmKmn11XaR4wb1j57z3Ir7pjl9Mt9L0GT2K3DUQQbJk8jB1zIp8nIyFc1SsUlDWH1uPLGu5osM1IOVLAHsJyuvdQj6U7BcI8hnUV.uz4ZGIupzx9aNllllQNfURqVsbVI+xy2jS9P0NtFhU7iM60Sab77V42dylfausQudlCde8961m2x6RKJ4hFnjSlLf9SmeF0B2MbtxL502MtgwgrOgNQGiADwB9zqpWrn60d1LLkMZa0rQaqAsMLevCL6KL.M+HyGWTDeh4PVgYtXSSyh5WeJJnivHk75GNqpOx7UcLE+4ae+pVvpV34WKrkht0BGY0rpEtxRjw3IEt0B+ZgqLl.YIN0hPUQWUQjT3I+QsTKxtwCARkCnbAkGn7AU.n.mXCVwNRU4.dwwFTNpt1A7hC3EGvKNMdIRpBAUWPI8henLkaAJaP4nl0ckdwU9645AJePI8haSqDBsRWPEop7rfweHu34nNcvyUMK44oN8xCxKdM4EoW7BUm64A4EuH0oh9Vpye8g7heyj1loltpshuGnjdwW5E+.nUBAUWnMiT6CAv7k.HuD3.JWP4AJbMDLFE.iQAvXT.LFEZAJa0rTnCnbU6QgdfBxKgApiJgvXTXWPEop5ZoNh00FTNpiCccUcVWvKc8AU.TyPP0ETQpwEYAJHuDA4kHX9RDLeIxGpY.zlgfB7RTjpx1xBk1pQZa4fRWrxdnzWcVpsU.JCwJ2EaYHCYaitx1FkNnzEi0Ck9XkCPIrxx9baEaGg68agRX0ksC9pAb+X6lMjaVLX63ixYKwLkxvNu9ROShf6updYrj3LSZdBar3MnUkJdK5rSabDgW8j8qOvP0oMpCQzr8FQRN1jNzjOhHesr7PElzRy2S4in40kz7lZyh37iH0wJBYM3G6aejok48tG5fuQ8s5ajQxOhOZ853kldtwkz.jzFiqD1qTawW+vyha9IoT6apsy5xJepr2JXzKYYjMlTPy4qcEYFQHm94S2cgS2sTG04uIDo3nAWxo0a8q2z3ShgTEgTkfTEfTkeTEeTkdTEdTkcTEcTkbD.GAtQ.aDnFAnQfYDPFAhQ.XD3EAbQfVDfEAVQ.UDHEAPQfSDvDAJQ.RDXDADQfPD.DA9P.ODnCA3PfMDPCAxP.LD3BArPfJDfBAlP.IDHBAfPfGDvAAZP.FDXAATPfDD.AANP.CDn.AHPfADP.ABP..D3+.7Of9Cf+.1O.8CH+.vOf6Cv9.pO.5CX9.jOf3C.9.dO.2Cn8.XOf0CP8.RO.zC37.LOfxCf7.FO.wCH7..OfuCw6P5NDtCY6PzNjrCA6PtNDqCo5PnNjoCQ5PhNDnC44PbNjlCg4PVNDkCI4PPNjiCw3PJNDhy+yLb+Gyvszei9+eio0bUO2xnWuluaXMfF9gDgq2YkE95cr+nWuixMIzZA9n7y+HrK02zW4yedwOq+EwVuiQeV5zrXNdsWU20WSAUeiV07R0EJkWR4mn5r+wtKrE0h203.JOYzk6wVWhGqx9+K3wloU21XmgCII74FbUic+g+cttPsWvlxEa3zOlWP+fX8mX2gAroEIDwuddNIqZModqpIdRs0rqiZf3ra0h+T7WSg1UZ8lBsmUn133jB1aRjy2ptixaV+Dgmxqud11F8qzlW3lmzzFKNa3aRRvl5BA5rrA5trA5srA5urAFrrAFtrA185Cr5n6OdJmMVtrQSq+A6Tu0pt9rKrRLaU6uDRMUwD
-
So I am not quite sure what to do with this snippet.
I assume you are trying remap the MIDI note numbers, but I do not see how the arrays are connected to anything that takes in or processes MIDI note messages.Is this the entirety of the snippet to show functionality?
I don't see anything on your MIDI callbacks to process MIDI, nor do I understand what the CC swapper is for here.
Can you provide more context?
-
@DnP Have you enabled the midi out?
and using the Message.sendToMidiOut() function inside your NoteOn & NoteOff Callbacks?That is what you need to do if compiling it as an MidiFX plugin (unfortunately that format will only work in Logic on MacOS),
and if you compile it as an instrument plugin you'll also need to enable the midi out and use the Message.sendToMidiOut() functionI don't think there is any idea to compile it as a FX Plugin
-
-
Hey, thank you for replying. I appreciate it.
I am - The array is connected to the onNoteOn section of "EZtoGM" (And there's also one in EZtoML (The idea being that the processing happens on those scripts separately so I can swap Midi maps with a button)), where the local variable "incomingNote" is storing the note coming from Message.getNoteNumber(), which is then checking it's within the range of the array... so on. My understanding was that the "Message.getNoteNumber" was taking in the midi note.
I ripped all of the code out that I couldn't confirm as working - for troubleshooting purposes. And this is where I gave in and decided to ask the gurus for help.
The CC Swapper was added in mostly to see if I could get any midi functionality out of the last export. Troubleshooting.
I hope this helps to clear something up.
-
Cheers for the reply. I have and I have, no success.
I really appreciate both of your help on this one.
-
@DnP I checked the snippet you provided, and there is no
Message.sendToMidiOut()
anywhere in your script.
So I added them in both onNoteOn & onNoteOff callbacks and here it's working in Logic, compiled as MidiFX plugin (au) (playing a C Major scale)
And this is the plugin compiled as VSTi inside Reaper
HiseSnippet 2196.3oc6Z9maaibEGmzNb2UJMEYA5Afv+wB4tFdIo3OjZZZcrrcpwZkntxcQQWrHfgbjzfPwQkbz53VDfbE5MpWgdG5An2f1Y3PIMecji0pzE6erqPfB9xYdCey68lg7iGMnfkPJKYEFlMu75YDCyeg0vqy4S5MIllab9IFl225YLN4qHSimYb70yhKKIoFll69TYGLabOipO+me+wwYw4IjUWxv3qYzDxEzoT9pqN3nujlkcVbJ4R5Tsd6ez4Ir7drL1bgyrqkiwr3jWEOl7rXY21wx3ODWNwv7Wak556NpSRbXGWeujDuNQdciRHwiFQBcCh76LxeTbhimg4GcZJkyJFxi4jRCy6cLK85gSXWkqtAeMsj9xLhT3ZLTbmUW9LVVpbJJupQuIzrzAKhRkFhQYvpX1tpX1uxpOMkt75qhcOrpA6UVnG.M2AcucA2yU28bzbu6vktmxk9TqgIEzY7UsnxkmmyIEhvCAbEUeM14eaZ0iI5QN+vowuhbVgPrzhVgNNGXK9Z+G0r43L1KiyrufMd7f3bRl8isWX4XBuGa5LVtPzZuk8XOoYKUGVR3CDgI9Wwlyo4jVilmmvor7Vi2u4euYiwGNRTl7jrrV6475Qi7q9HGBQKkxafrNok5+JO7pITNQ1XyFzQ1snkmPFIFzzV7IzxCSi4wGxIulu+9MaHrOsH9pmjQGK5vkhqdiNcfckVLKtfkDmcLaddZYKm8OvduDwLpfjJci2r+iV3w1rb4Jjmm2pxya9ll12roQiVaaxHVAKKiTnZV7uF8EYKQUuXRlmdISV97747Vx41atg0x0OEuuwsU97oujTbf82EmMmrrihZDrvy51K7zWWjnxuZcjkedNk+7Yj7aa0hQcQgrHs1qDckWUh9KqKQOdNmyxMnhJwOw5z+Bm8z9FUdrvyLq1aXisr+EKrb09R2p0CynojhJq+XquLm8R2ODi8towO7Hi+z4mHppDycy5vfHzLiTvoxnt4IjuSr8nZ4ZCqSHkuhylYHWAVu3QLz2cj505agdstnHNkxdZAa9L8YzrEYmy0GkYwEhsYEKzkWsg0o4whBfTYjei8EQrWyWnaouHFkMvWZdmYxaKr7rilRSSyHCXkT4pkks71mejb0u7NJ11apcudFSiWMJ+yWbD3sOvpWO6gWEOSjOcuoKeFsnjKFfRNY1P5e6lUTa7zv6Vin28z3istj8ALIZZMjHVvmtAyhORMKdvhm3H2duZRbeqka2qMQd6eTah713ithlxmr5B+0ilPnimvkK9SqdggM7YaKqk0dv1NKdv1+39V1ewWX2WLUo4iseRQQ701iXE14hsmsKjubirglhobIu5hK55is+ll1hOAtGHGAmJgePkvUI5TI7TcyoRzV0hxFeknckHnRzVYSnpEuJQjtnitnqR3qtoN5M4V6CgJkGnZCJePE.pPPAdhK3Jtc0Udfu34BJOcu1C7EOvW7.ewq1W5pTQfpCnT9RPjJj6.JWP4oG0aq7k1p6WaePE.JkuztdThfQoCn5pq7cf7ODW78zKG7aqGk780Ku7g3hecbQ4K9Q50d9PbwuqdoXfid8a.DWBpKZqKMaqOJA9fR4KAJeIHDFkHP0AFyt5ygPndIDhKgdfpMn7AEtFBxQgPNJDxQgPNJxATt5QoHOP0VeFE4CJHtDEpmUhfbTTGP0UW0wQOi0wETd54gNs08rNfuzI.TgPOi.UGP0U2ttNfBhKcg3RWndoKTuzM.5YHLlQfB7ktc0UtNNnzU2RWGOT1F6rOJCzqRccBQYD14N3HCQHWWzqbcQoGJai15ix.rygnDVY4dishc6h686fRX0kqG9nAb+X25MjqWL35EfxEKwrUxnle6ZoeDDFx9kI4lro4IrohmfJaU7TzEbMBtJ4UdVEZhjqoxDwv1aBI4U1B7M9Dh5wxJ7EaZo8UTASVdUK0Oo1tHNeLox1JhO8a1u6w1N1e1mgdvuU+o5GlQxGymrek8Jmdkiqda.RZsiqY12nOhe6iVZ2JlM84l93r+557M.7jM9lpuq9ZEp7RzzaOLZ+416YOR9dqpWBZuGciwnfLSRau39T8k.JojkQNbVgrkaYjkrt2FN62uDs.NeaSyM9PxwRr5sI61XiSsMdu4UA3tXpu9z4dUtgHf9ar26y27bai0lXarwIzex9WgXqPx+dhfHPXW2eas+USqOHBDc.Dc9Cc7Cc5Cc3Cc1CczCcxCcvCctC.6.nN.nCf4.PN.hC.3.3M.bCf1.fM.VC.0.HM.PCfy.vL.JC.x.XL.DCfv..L.9B.u.nK.3Bfs.PK.xB.r.3J.rBfp.fJ.lB.o.HJ.fBfm.vI.ZB.l.XI.TBfj..I.NB.i.nH.HBfg.PH.BB.f.3G.7Afd.fG.1A.c.HG.vAfa.vF.pA.Z.XF.jAfX..F.dA.W.nE.XAfU.PE.RA.T.3D.LAfR.fD.FA.Q.HD..AfO.vC.5.DN.YCPz.jL.ACPt.DK.oBPn.jI.QBPh.DH.4APb.jF.gAPV.DE.IAPP.jC.w.PJ.DB.Y.PDffel.3GcBf5WYLeieiw9WbWz.a26M9yn.+HiBTkXWOJv6+M7+o8qvWen822pWu5y9n5k2wCCQ+PDL2ciOnd226A0qcZn6rAGr3pCRZqNWRsiv4cOZx2Eo4gV8Yoyyh43OfA4Oyi5FjmyjNYi7WFPdIkestm8+seUCapK9oVCn7jIq2G2YM9nL5+CfOVWV8.qSGMhjvW4f2y5r+7OL+vOLT+3IF2OlWPesX8mXehgr4EIDwcOWrkfbMo4NxBOk1YwQpOTryTk3+J9T2nqTaV2n6hFMlFmTvdQhpdS9qM4Spthvmxq9k4zvpuTa+NmdtgwTwNeuHIAGp2wPus0v1aqg9aqgAaqggaqgQaqgctaCkOX5Iy4ropkMFF8GbZ0VqllKNzcQ0pw+CfNTmyn