HISE Logo Forum
    • Categories
    • Register
    • Login

    Still problems with Message.sendToMidiOut();

    Scheduled Pinned Locked Moved Bug Reports
    74 Posts 8 Posters 4.2k 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.healeyD
      d.healey @ps
      last edited by

      @ps Try Reaper too. If it works in some and not others it may help Christoph narrow down the cause.

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

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

        @d-healey try the snippet in Reaper and tell if it's working for you

        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 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 be m.sendToMidiOut();

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

          P 1 Reply Last reply Reply Quote 0
          • P
            ps @d.healey
            last edited by

            @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
            
            1 Reply Last reply Reply Quote 1
            • d.healeyD
              d.healey
              last edited by

              @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
              

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

              jonhallurJ 1 Reply Last reply Reply Quote 2
              • jonhallurJ
                jonhallur @d.healey
                last edited by

                @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

                b820cb30-924c-425d-830b-3b22985f67cf-image.png

                and

                1992bac0-88a2-431c-853d-5ea26d2b9ab2-image.png

                reaper_midi.gif

                Notice how you have to add a new channel in Ableton Live to grab the midi out of the plugin.
                Explained here
                ableton_midi.gif

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

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

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

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

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

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

                    lalalandsynthL 1 Reply Last reply Reply Quote 0
                    • lalalandsynthL
                      lalalandsynth @ulrik
                      last edited by

                      @ulrik We are indeed compiling as fx.

                      https://lalalandaudio.com/

                      https://lalalandsynth.com/

                      https://www.facebook.com/lalalandsynth

                      https://www.facebook.com/lalalandsynth

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

                        @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... ;(

                        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 Did you try changing Message.sendToMidiOut() to m.sendToMidiOut()?

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

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

                            @d-healey No, will do right away, thanks

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

                            1 Reply Last reply Reply Quote 0
                            • jonhallurJ
                              jonhallur @d.healey
                              last edited by jonhallur

                              @d-healey said in Still problems with Message.sendToMidiOut();:

                              @ulrik Did you try changing Message.sendToMidiOut() to m.sendToMidiOut()?

                              I did try to use the Engine.createMessageHolder() method but with no luck. What I ended up doing was to just use the Synth.addNoteOn|NoteOff|Controller() and making a child script that had the Message.sendToMidiOut() in both onNoteOn() and onNoteOff() and onController() callbacks which would take all the Synth.add... events and pass them to the midi output.

                              What it looked like if I added it to your setup.

                              f97f4639-991f-41a6-8330-c8ba2497d1a6-image.png

                              ulrikU d.healeyD 2 Replies Last reply Reply Quote 2
                              • ulrikU
                                ulrik @jonhallur
                                last edited by ulrik

                                @jonhallur @d-healey @lalalandsynth @ps

                                heros.gif

                                Now we need to get rid of the NoteOn number 60 coming from the TransportHandler, see this thread

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

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

                                  @ulrik I used the extra script processor as @jonhallur suggested and it works both in Live and Reaper :)

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

                                  P 1 Reply Last reply Reply Quote 2
                                  • P
                                    ps @ulrik
                                    last edited by

                                    @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

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

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

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

                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        ps @ulrik
                                        last edited by

                                        @ulrik ok wow. can you send me the snippet that outputs artificial notes so I can see if there is anything different than in my approach that doesn't work?

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

                                          @ps Yes, here it is, it's cluttered with logging functions and other stuff.

                                          This is my setup
                                          Skärmavbild 2022-10-26 kl. 09.18.57.png

                                          so in the "SendToMidiOut" scripts NoteOn, NoteOff & Controller callbacks I just set the

                                          Skärmavbild 2022-10-26 kl. 09.20.28.png

                                          In Hise preferences

                                          Skärmavbild 2022-10-26 kl. 09.21.24.png

                                          Skärmavbild 2022-10-26 kl. 09.25.52.png

                                          Beware of using "Synth.getNumPressedKeys()" though, because the TransportHandler sends a midi note 60 with eventId 0, and it's making the NumPressed function go +1

                                          In this snippet I'm only transposing the pressed keys but I guess you can do whatever you want using Synth....... functions

                                          A big thanks goes to @jonhallur for contributing with important information!! 🙏🏻

                                          HiseSnippet 2068.3oc6Y0saabbEdWIstlr1tNnE4phh0DHAqhYnIkbrUSpqokDkMg0OzkLBonn0YztyRNUKmgc1gxhMvEBEnuG8Qw.819FzaxiPdCZOmYWxcWRtTzJwEHAQvPF6Lmyb9luyOyYF0RJboggBogYgNiFPMLugU6QbUuc5QXbil6ZXdMqNMZ2wX6QCHggTOCSyUeJNmYg0Lz+7MOdaR.g6RSFxv3XAyktOqOSkLZq5OmEDrGwi1g0Okz2udSWAeGQfXHfiUspZLf3dJoK8PBJ1JV.HZ3wTBYaEQQCMLWaag2n18DuhGI+wrP1IAT7iZFsgEJZ38DAdHhwQM1oGKvq038anggoUqjc+pQ69eg0ALO1jwSXgaqmvNQiz7g4JYg2pYfWszvqZJ3MGHYlBRqEAo2ypsqjMPkLChmepUSthJ8I.smFJQxZrxKJZsi.jfqpzmbJcOI7wDMbdP0pksges9mUrHP8gJ6yHR6mJYd6K5t+IA1Oxdr1copcD8GH3vGNkRDoDnahpsjTDAOmNJbQpmUrrKwgG+bt3jbUMZ5rprOk2U0agpkHRVUOlFrP8hmOqRM4dLWB3n2m5kqloEZJ3J5VKefBSNi3arHw2XFw2bQhuIJd2.wIj.6NRBObfHjJyUiDQP8JJocsa87PP7+vebRPSmmAe2f2kwoUbkTH3OVKo5YDtW.U5.514YUBopFbBjBfwONJ4PZY6ZagqKiG.Za6Oj6pXBtcWP.Hqi2k5PjcqU1F98F5eu45E+phEBDt.9UfciBHPTeLIXHEsT7rX7WheedRbFHQrGN6zEKv7s0V19CPq7H6pqWr.X2BocqU7HJRERvfdDXgpUo5mMs.R5.nxgRulvhVHafOxGNkTzyUkJirZk+rfwcJUtz5ikOdiP4IDLfy1j9CBng6IjuXHQBIyaCbdnSs68qef8GAv8iru+5vuBhWDegz1gay3nMfsgdeDuzTjBzU5qP77NTnnGwc.5lae2TQGoHmx1mU1tpFeEhziiJ46uKMfLh5s8nFmAANM8bnff.x0h95h3+JVHotQl8NRzfbutXbPxQ7ml3+iBSRBHlDJAl28.gG0A9DHVeprw4.YvIAXDUF+.HcKzQ76DCU.I5LNNyoqNZByaPWnpGKD2q6iby1hgbuPG8dEiFzSl1i+HaP.pOrddHqNy71Uib.5I.Dfm1I2gDDbBbrVBDhCrlV8OFzuRsXW37r+uIJnLVyPkXf1.Sh0zC6poLO8fuNJxtKhknSYch9uvJuho58DbUmLhPhJJodksmxv5fytU7gyvaDDvFDBonQqbLPfPxHjrIxcnUKVbRhsfGGjoI9CfzA3.9Jrtbgjpibz96jbvwR.dkwAVqONer.VrLSfTonE+SsKcW6TZhid3v9mfrSxRemIVO7IREym4xHAvp+gen8cVjYQuElsNXXXOmEXEzIbu6gVJJQAEYX+Tk.hVxZqG6fw0LPWuZxv5LULZGIU841Pz8NPp6oNw4fXE8rTP6YjsTRN3qKZOsqv2OxWrLr8Fygs88uL59x464Z26jP2ioG37FEjGGlKsqSHzdGIsu3L5B8OKoCp57cPUy5fDCVZ+yThVJSIx4vxSvzmV5t4hTc8yzNW77boHPe5K5emZ53hEyYlXEc3ZtBJ3iU9mHHzPZ1tbsxuK2zMg6F0dQJAE7lbl5nATddslaD2SBzQ7ZwnBDUo6G9Vw8C2Nf4QkFLns2qaE0LfgFwIWr32V2XIz9FVIMKjYEdyu5e7ed7xrBErhalXJ.bwAKI.RNwc5s.7ym2bWnFLd4fXVAXpATHQBcBl6ROCtoUzUEJXsKM7THLyv7lSZkCnmHKeyXKuO4DZPrgSNW137IFstn9nDD76q+JlmpW5A5QYc6k5hcGV2GPVa1eMEv2pNFFCQIl+KSsC8xgyssx1lTJHAFMARW3OMjFMMjt3EK.R+Dqs1r7CeXFPU7xCtNO8pmfluLbJzT+KmgfZVue1aL2mjYuEpnCxh0u4wiwZmFGz5nLXsvxEJedZ9YA303OMO7B8WYX99VGJj8IA.z7ZQktf4gZpFgC88YmiIuefQelGzneKQHCqhjrDe8iWNHmj6jBu72d7lO+9lWNW9MM7tV1PxVDdbH4srR2NY5Pf+R5bjCmFh6NCD2s9b3iYyAtYpTxZooDvIleN4EmtT4jUiS.rsl9dZg5K+uW7YAFTnPOQWK2b02ZXuQtvt42NX+KsvCQfqtPkirURVWcep32.19VA4MyCxyTp4sDx2ZbIM6SgZZ4BxbKIdMKrU2bQ2WME5dyeeNwcQHYEKiYg48qu7nHW25+7us7n3VVoZpo5khnBK2Yl4T4v9Uu0UN15MYpLu0kV4XwbVtwUe8EKOm8ysloyw4Sby91g21Btm7v.r7U5mxDe+13Ivr8zueHZFNTKeT5M72Yuu4xBw2ypES41a9Xbk4fQn6n2EXL9UguoUCeepqJAfqYs2W7t4IfSa9qmySxeC8a6BeQk09t3g4GrzOLu4puKdH909d7Cw+yrZS4dcDHpNZnZdOFu4+1x9RdGjvzqgyLWoKy80WRc9A00.uRWB5GKH9ChBhQuca2CHPKevwoXGDsgBRtT7YggF0wXPyUvnknuqheiL.lXp+3+B+DOYM7ay3IqMdx+uXi9DWo3ktQYWXMlqqGA12b8emyBVGfeaWa7a.XYUsRU7BVrW55hT7GCIIyWmMtB5r4UPm6eEz4StB57fqfNO7JnyVKTGr15SFpD8iR4fAZ0PWFxzL5OmkNR23+ANs.eUB
                                          

                                          Let me know how it goes.

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

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

                                            @ulrik proof of concept

                                            MidiOut Video

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

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

                                            10

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.1k

                                            Posts