HISE Logo Forum
    • Categories
    • Register
    • Login

    Midi remapping working within hise, but not after export....

    Scheduled Pinned Locked Moved General Questions
    7 Posts 3 Posters 213 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DnP
      last edited by

      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

      VirtualVirginV ulrikU 2 Replies Last reply Reply Quote 0
      • VirtualVirginV
        VirtualVirgin @DnP
        last edited by

        @DnP

        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?
        Screenshot 2025-01-17 at 11.28.28 PM.png

        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?

        D 1 Reply Last reply Reply Quote 0
        • ulrikU
          ulrik @DnP
          last edited by ulrik

          @DnP Have you enabled the midi out?
          and using the Message.sendToMidiOut() function inside your NoteOn & NoteOff Callbacks?

          Skärmavbild 2025-01-18 kl. 07.49.22.png

          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() function

          I don't think there is any idea to compile it as a FX Plugin

          Hise Develop branch
          MacOs 15.3.1, Xcode 16.2
          http://musikboden.se

          ulrikU D 2 Replies Last reply Reply Quote 0
          • ulrikU
            ulrik @ulrik
            last edited by ulrik

            @ulrik @DnP This is on MacOs, plugin compiled as MidiFX plugin
            The synths cutoff is set to respond on cc 1, here I reassign incoming cc 2 to 1

            I have midi out enabled and are using the Message.sendToMidiOut() function inside the on controller callback in Hise when I compiled the plugin

            reassigne.gif

            Hise Develop branch
            MacOs 15.3.1, Xcode 16.2
            http://musikboden.se

            1 Reply Last reply Reply Quote 0
            • D
              DnP @VirtualVirgin
              last edited by

              @VirtualVirgin

              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.

              1 Reply Last reply Reply Quote 0
              • D
                DnP @ulrik
                last edited by

                @ulrik

                Cheers for the reply. I have and I have, no success.

                I really appreciate both of your help on this one.

                ulrikU 1 Reply Last reply Reply Quote 0
                • ulrikU
                  ulrik @DnP
                  last edited by ulrik

                  @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)

                  noteremap.gif

                  And this is the plugin compiled as VSTi inside Reaper

                  noteremapreaper.gif

                  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
                  

                  Hise Develop branch
                  MacOs 15.3.1, Xcode 16.2
                  http://musikboden.se

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  25

                  Online

                  1.7k

                  Users

                  11.8k

                  Topics

                  102.4k

                  Posts