HISE Logo Forum
    • Categories
    • Register
    • Login

    MidiFX Plugin from Hise

    Scheduled Pinned Locked Moved General Questions
    24 Posts 5 Posters 1.8k 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.
    • ulrikU
      ulrik
      last edited by ulrik

      This is my findings so far, regarding compiling a "Midi FX Plugin" from Hise.

      Tested in Logic, Live and Reaper

      • Live
        Au version is not recognized
        VST3 is recognized but not able to open the GUI, and it doesn't have any affect in Live
        VST2 is recognized and I'm able to open the GUI but it's dead.

      Not dead, see the post regarding Ableton Live further down

      • Logic
        The au version (of course), it's recognized and I can open the GUI. All tests works.

      • Reaper
        The au version is not recognized at all, the VST3 is recognized but is not working
        The VST2 version is working. All tests works.

      The tests

      • Arpeggiator
      • Midi Player
      • Midi drop
      • Midi drag
      • Able to send and receive midi CC
      • Tempo sync to host
      • Free tempo regardless of host tempo
      • Recording:

      Logic only records pressed keys, nothing from the Midi FX plugin

      Reaper records all the output from the Midi FX plugin, note events and midi cc

      I miss the opportunity to use LFOs inside, I haven't been able to get them to work, I don't know if it's possible??

      Here's a video
      MidiFXPlugin Video

      I used this snippet project to test

      HiseSnippet 3437.3oc6as0jZibEVXaYavY7kMaUIOjGTMURJbrs.AL3YxdI.Rba3lLhggY1ZytBoFPFgjPRv.rY2xOtul+A6K4kjeDY+ojeB447xltkDfz.hAXsSkGlYpBU8kyo+Nm9bo6VsX0UE.FFp5XAB1XpF.Kvu.maphYO5d7RJXEYvBb.dEIQobsRqqQDCKyTMdCCfHVf.2MOpKABdOLq+92+oL7x7JBfkUgg0TUR.TVZfj4xZYSURRVNGuHngz.W8NQphBpJzpxpifv4t3Qwz3E5y2ETkG0s6fiE39YEkLU04L4MAFXAtWFUwob8TuRwt+MkLjZKCPEnv3fLxt5bpxhHDipEitmjrH6bw1.CxE1kJg6ZqD9XKYdQ8KUFO0pAhkT3VeD3Ndg2c8.OJ2vKpK3sFHcWWP5AymWrfjL+Tftq4EBmZbiC5Q55.ESNvvQ.OyGOMkSSMzgZV2SckUU0xpvCQmn6pQLuMrqbZ.uMD3tasnRsQQEyx3RRFXMSLu.r2HQDNkyvaxicm+1cvOJZbRkFIKcLct2jdFEMYqVJyJxTnHOMYMxZCUNcw+ZoY5SO6ETMGe0nnpEnxjbX0WGcL4aXSTrWW1dWTWKwaY3NcZ4hQKzJ4k5YRWucqxoUJ2nVgzcZj63SFzhjIGoTZV0QB8Kc4T9ST34DpVa53DTmjP7nxsxKlTM4al19zjMO6EbxQKWm+33BT54uRWXlD6zFLlmMJ2kkLHaoIlqvvqnGJVkcnb9IUEH6jHWl9FxutzIsxOYrVdoZkh1KqRilWd0rDLMJPWgVfte82zexrKZe4vVkKdQoVUKYDszaad9om2XTFN9homTOu1klZ5hmIUpByaf0VmWsW7bG0VpZClBwpKlqqIMStX0GjtyIG0Ht3Qm2SdJM44EOgLigJMy4brr0i27nAhmnkFvqwSxNksfXxXSOobAtNCUAQunPOEI12NVH5.xYkJ2KdyIwxHLnN4vW71wmwEukZxtyp0YRbsiZV3xJJEhwMfTRl6zdQGBqLc+5CORugYylstrAneBpw4qWsV+5kp2ucoi4JjXXySiwdRbUv3rU43OdRhpSRz4szjkkSpAljWraqBU5VKyw8Nk8EiO40mRln7XR9JIZ2hpaY1n4yvySl9Rw1EnzIiOS67YTlIHufucwY5LW91y.Yl0rJuPmAL0RdgjYknW0ZZ4xS3yK7FA4LUozFIY1OyjyUml9nR0Ng5rSFLHlB43imk83KpVZ7PQ1SnpdQF5iGxlgrSMZZkS4ISlVevvrG0X5a6OtTmAWztOek9YvPlt1Aq9q3QNy.naDYjrtT+1ph.kHkkZqyqOMRE01v9QvnJLZ.zWzHhf5fuiWSSF7czvXehvFLhTnHWVB150NMKcCtHoqxTOMWDVn2CAzWTBx5HKCGDYgOTj58lZ1aPjz0Y4hbFKjLlZmWkbfDJt.JZKmTWEdyQ5PHhWczfL7PePna8+3uC+6+7jTUUGHAa2JcvhXFL.k0UMJjAz8W2zc7d63HdBUfcqS8sN025TeqS8sN025TeqS8sN025TeqS8sN0+Oyo10QIbO6iR3Y3bB5RZlKaA4s+H7hJl.8N7B.Omlfcewty8ChSqB6ghI4.99fb5vBKnHbxnQeIA7mm+IgBInpXXRLlWmHstFnaWID1oH9LBqSVhrKvzyoqD9P2c6PHGVxfkZ4UH2p1vG55PP7RJjoVGaQ41xPZmCcH0zpCzTUfErF348wKwYXq3KQv1714BpFlah.m18RDMcMEeo.0Hp6gBoC5RHnNRwD12nexxhRJBvZL0GA9jPQhXqYLPlCHyL8vTQnrmKhDInkFhl1yXCM9ZaoS8a7s6v0gbSd4QfMPkU61.WRQVRAPzYjhfojpBgpxxYMzuHVnqJGVXN8uDNFPpednuITPoNDgcJEL3R5H0fOBijqf.YCf21LLU0BSgZ7agi+5QnWHb3yIMPMaADZdYYzQcE1Gf5iP4HyaTZblc.JhNcSFNCMWEiPnEKB+74zrIIXgNd8P2KbrvrkMixX3r1WbHzr3vWR.eDiw4oyiF1OS3TcBmGNUerS0G67.VcHDuR5TOUx4OcHH9b9GO17mNsjb9PjLw7mMN7KWutct24FUtticfzIoMM0kZOxDD1SKVLpjhZ6kJ4ft79QTF9PSvDSHpTF+EV84K23Lwbp8ap3Zn2dtXUgzI3vV6N.KFLqRWHWPCqE0ZCB+JJj.EDxHaIAXeVtPgoCOzSA032N2o4aVeGQwRrXxpbG06klo1LyeEyhvcqWu3Uf8ws5lzHqhwa10YCXxKdbgipplfZJgWLKrHEDz4kUGfxQVBL0H7yI9ThXD+9euUXc25Ja0sqH3AC5avZjVMDw0G8Nc1tgm54t3splMqQJDOrzUDHKtBKanJCH0zkf5nJPVx2EXq3l2Q63TVy6d4kyPLGb1B4m+YDTjQe9bg1NOkkQHT.c2wOEpNVoi1IzB5tivFVzIhWXQD0xD.1U+pEUCkH6PfnIZ6IA6t7GHnh8ZjRdd6B83U5BD8UEEVwRtca0g5HbUTde0G3a2q9Pv1lzUGUUJpHYVSCn32qlBywPFCKvANnB1USqEw8XmEwkYjoopBFZIlAwc7svrfr6EFh4G4bxRh.cKxwwWCoUSsMj9PbXzNncx0olXqnND97Xk6.8tj66iW4rFYuNsvk9tUzVnVYlMovtmMsejGbyhd+Y1zCWrO00o+2jRDsw4.QwiGiD9mb5zveYJC+gkkz4OVFF3uwGA+oPZZ3umTZ2F1XWeX+0dG1NCyfF1SgCS7gngkEACkbvxiUPkyhZ+0mxraCa7aRZOBMLEJfjtdngoEZXhmGVlUCU1D0dYOC6lLNluRocXB1E8vcsX6v6g7eP6UmuU1VOE26pA2AWKOVYn7Bqg1yJZcBKv8Y43pCc+0.5lRnHKAX.ikD.1aZKHNCvnOLvNVfOdQRMr.OXKhFLY4P9aSMcQg28EotRRzr2xV+yo5Aj51y0VJ+7Tn0Dg1xn8aG1ZuNDv7sHwdAHd7MDSwO.vu8..xH3fNfeIqd2vTvMVKJCXUMjPgtWzxO1NkgIPiSZlGqEQPG9Qx1IEbeqCF39VLj.R5TYq22dAUcoYvYEdYLiQc5HMAMOthrGzV1OvQ1Ky2FHaI5O1cMwboCRAboCfJDu5fTZqnCXbzAPawhLEIx0hfs7Y4KVEqCDcdkxDo.vjS7V4eBb2cGmTtv4656FmEu9bknuyUGfhRjMe9hoaTq9Z.YTeA4St4LL9XKgobc83WuF7oMO4ZQKA28NDvz304G.LAVs8DzwyvgLhrgvbAq5YUH3JWjIacNOFiXeseFiXr6fwXzMZ8EBmvFNFdr.OXaRrNws2wtp1rk9GfywlMKiW4Nlux8g6fb+wqWtgqUpAbnynNw550DvkPGxOy4CvcssN2VKXXScWXqEabb3NdwVZwZewjP2hF2vYolVxDLv9RLECxr6+rm8r4oIVz6GdSKkwOibyq6D13miQ9iwsOmOmweaQn0Bl7Ag+qQuWQHbvTkE2i3swcCvKbAPB8qAve367cl+w3Uq0HKAzmOCxeeWBj8fsYQi9.wUlkWEhu6MaTGt65qD9Aludx1quBg2La4ZzEabwNoqd31rRWefWpY+b0UKGthJhfIy2J1tp.OxODBAzVq.Ov1fqb1p4aT38sNzWWhTu6CfNLlGcXnsY48KgGwews6PhadUhESsRxXO2L00kIx+70qY1eiarvOf2XWA9O9Uo1ej9HSmqtpMRyIqxaJozsA584ZqoQ6jgAt+B+VLv65byKFnXJmMpzvwfCwzZiA5v8Fwxq.cMZ2c9U3M38gD76PTsLmHp1u+6+9exasVYJYXXrp1ZGQAph+MgHHNjcoY2g+QBOusmWhZ2xfC1RTqR4TkkUu5bU89FZ7B.X8Vm7TnuEa20TV61ah6DGaPS8i5q3xz7+S0TT6fl5Aa+9h8SSsC6w6QKuQyaIJb1WsONf6xXihCQXcflXXqdevOvc7Nq2V50h.54Zf+d6tQu73+9kawgLbskysWGG1A30AF.y0yhs6XDu9Vm1qiD7Q3HNXgk8CEO0hAb8k7AFam5.xEUcSzQr+yQi.El4u8osPa7TGF.c.Zqh15ChEvD6N2l+EUuWmF1A30DL4GCpiN668SZBhy0CtgTYv9cTXOx4jjZHA1jHr4ygDF5FLPpAL9fqFtN29mefOC1OFuIPVUPxb5VCh2+mH6GgWFnz0r21qG1+SmcsVlOCmtGuBLcFGPFHfBOdyFlqkQ+J7ZiL0FY9dhcOCuBaVqKHiCCWwbcKc8dBhQYUD8gMQ2xWQg0FYW0iY0amCLypp3HYTdE2e2QnO1JmFPKBzcBGzsvQAt3vod9Bcde8wHssP7Y3rRlB8VOFuyZvHLs1GBLtHkc1NcfVPKA38vy05Cy2qEVc0QnUPVg2TGcPcVY.gKVCFs11nA8ZBCbGT.R6xQQkQZ.NfhnUgeB9mSiTnxAbZjZdiXC3EzU+JAaaMzWK0CspAhIEq67VP7JnxDKdYT33QIihA27fzWIHfD+WA2X65oI1dPS78flD6AMGsGzjbOn406AMGuQZPqlM8HS0A1tCvJXyZuj8.K9V6fai++loSxCG
      

      Don't forget to compile Hise with this enabled in projucer

      ![alt text](f805dabb-0ebe-4f6d-8fe3-38bac2b616ac-image.png image url)https://i.imgur.com/GD61q4o.png

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

      d.healeyD jonhallurJ 2 Replies Last reply Reply Quote 3
      • d.healeyD
        d.healey @ulrik
        last edited by

        @ulrik Have you experimented with different plugin categories and types?

        edc2ade8-0c37-48d7-a496-7b5d4a736073-image.png

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        ulrikU 2 Replies Last reply Reply Quote 1
        • ulrikU
          ulrik @d.healey
          last edited by

          @d-healey no I didn't even know about it :)
          Thanks for showing, interesting

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

          Christoph HartC 1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart @ulrik
            last edited by

            @ulrik setting the AU_MidiProcessor flag might be useful for Au export. Let me know if this changes anything then I‘ll hook it up into the exporter.

            ulrikU jonhallurJ 3 Replies Last reply Reply Quote 1
            • ulrikU
              ulrik @Christoph Hart
              last edited by

              @Christoph-Hart I'll experiment with it, thanks!

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

              1 Reply Last reply Reply Quote 0
              • ulrikU
                ulrik @d.healey
                last edited by

                @d-healey @Christoph-Hart aha, you were talking about compiling Hise as a plugin right?
                That's why I couldn't find the settings in the Hise Standalone project
                Those settings are in the Hise Plugin project not for the the Hise standalone.

                I'm talking about compiling a MidiFX plugin from Hise standalone.

                Skärmavbild 2022-07-27 kl. 08.59.03.png

                Skärmavbild 2022-07-27 kl. 09.00.51.png

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

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @ulrik
                  last edited by

                  @ulrik I was talking about compiling your project as a plugin, not compiling HISE. Those settings are accessible in your project's .jucer file.

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  ulrikU 1 Reply Last reply Reply Quote 1
                  • ulrikU
                    ulrik @d.healey
                    last edited by

                    @d-healey ok, I didn’t know that, great thank you 🙏

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

                    1 Reply Last reply Reply Quote 0
                    • jonhallurJ
                      jonhallur @Christoph Hart
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • jonhallurJ
                        jonhallur @Christoph Hart
                        last edited by

                        @Christoph-Hart said in MidiFX Plugin from Hise:

                        @ulrik setting the AU_MidiProcessor flag might be useful for Au export. Let me know if this changes anything then I‘ll hook it up into the exporter.

                        7356c65a-2095-4bc5-a094-97fb183afc73-image.png

                        This is from the Ableton Live website
                        I did not know about this limitation before

                        1 Reply Last reply Reply Quote 0
                        • jonhallurJ
                          jonhallur @ulrik
                          last edited by

                          @ulrik Did you know of this little quirky setup needed for Ableton Live MIDI output, because I did not. My VST2 from HISE on windows work fine both in Ableton Live and Reaper.

                          Just a moment...

                          favicon

                          (help.ableton.com)

                          ulrikU 1 Reply Last reply Reply Quote 2
                          • ulrikU
                            ulrik @jonhallur
                            last edited by

                            @jonhallur Beautiful find! Thank you for showing, works great with Midi FX plugin vst2 🙏🏻

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

                            jonhallurJ 1 Reply Last reply Reply Quote 1
                            • jonhallurJ
                              jonhallur @ulrik
                              last edited by jonhallur

                              @ulrik More updates.

                              If you like to use modulators and MIDI I have found the least changes you can do to the HISE code to make that happen.

                              diff --git a/hi_core/hi_core/MainController.cpp b/hi_core/hi_core/MainController.cpp
                              index 2863465c6..5a40b119e 100644
                              --- a/hi_core/hi_core/MainController.cpp
                              +++ b/hi_core/hi_core/MainController.cpp
                              @@ -975,7 +975,7 @@ void MainController::processBlockCommon(AudioSampleBuffer &buffer, MidiBuffer &m
                                              }
                                   }
                              
                              -#elif HISE_MIDIFX_PLUGIN
                              +#elif defined(HISE_MIDIFX_PLUGIN) || defined(ALLOW_MIDI_OUTPUT)
                              
                                      synthChain->processHiseEventBuffer(masterEventBuffer, numSamplesThisBlock);
                              
                              @@ -1149,7 +1149,9 @@ void MainController::processBlockCommon(AudioSampleBuffer &buffer, MidiBuffer &m
                               #endif
                              
                               #if !HISE_MIDIFX_PLUGIN
                              +       #if !ALLOW_MIDI_OUT
                                      midiMessages.clear();
                              +       #endif
                               #endif
                              
                               }
                              

                              Then I added the following extra definitions

                              JucePlugin_ProducesMidiOutput=1
                              JucePlugin_IsMidiEffect=1
                              ENABLE_ALL_PEAK_METERS=1 
                              ALLOW_MIDI_OUT=1
                              

                              Export the plugin as a FX (not as MIDIFX) and Bob is your uncle.

                              ulrikU 1 Reply Last reply Reply Quote 2
                              • ulrikU
                                ulrik @jonhallur
                                last edited by

                                @jonhallur If I change the code to this and export the plugin as FX plugin, will it really load as a Midi FX plugin?

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

                                jonhallurJ 1 Reply Last reply Reply Quote 0
                                • jonhallurJ
                                  jonhallur @ulrik
                                  last edited by

                                  @ulrik With out knowing it completely, I don't think under the VST2 or even VST3 (I´ve done some professional JUCE work before using VST3) there is no concept of a MIDI FX plugin.

                                  At least in JUCE, you just tell the host that you want to receive and/or send MIDI. You can do the same with sound, stating how many channels you want to input/output etc.

                                  I have no idea what a given host does with that information. The host will ask a plugin upon instantiation weather it will produce audio and/or MIDI. A JUCE plugin can answer yes to both. Perhaps some hosts will decide to put some plugins into some categories, but it works on Windows both in Reaper and Ableton Live

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

                                    @jonhallur Ok I see, I might give it a try and see if also Logic will accept it as a MidiFX plugin, thanks! :)

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

                                    jonhallurJ 1 Reply Last reply Reply Quote 0
                                    • jonhallurJ
                                      jonhallur @ulrik
                                      last edited by

                                      @ulrik Please let me know, I don't have a Mac and I'm very curious about Logic.

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

                                        @jonhallur I don't know if I did. it the right way but...

                                        I changed the code (as you described), compiled Hise Standalone with the extra definitions, exported as FX plugin from Hise but it didn't show up in Logic under the Midi FX slot

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

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

                                          @jonhallur am I supposed to set the extra definitions in Hise preferences as well?
                                          And do I set the Hise projucer "HISE_MIDIFX_PLUGIN" enabled?

                                          Skärmavbild 2022-08-22 kl. 21.42.04.png

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

                                          jonhallurJ 1 Reply Last reply Reply Quote 0
                                          • jonhallurJ
                                            jonhallur @ulrik
                                            last edited by

                                            @ulrik No, I did not mess with the ProJucer project file at all it's just settings in HISE.

                                            f8950dcb-f6b3-453e-b2b4-14d7ee2368e2-image.png

                                            I also did not compile the HISE Standalone editor again, if that is what you mean.

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

                                            54

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.8k

                                            Posts