HISE Logo Forum
    • Categories
    • Register
    • Login

    How to make a Panic Button (Send All MIDI Off)?

    Scheduled Pinned Locked Moved Solved Scripting
    39 Posts 7 Posters 1.6k 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.
    • W
      WillDevelop @Christoph Hart
      last edited by

      @Christoph-Hart said in How to make a Panic Button (Send All MIDI Off)?:

      sendToMidiOut

      That's a good suggestion, but when trying around with the MessageHolder object I noticed that the object does not have the function sendToMidiOut() at all and if I understand correctly sendToMidiOut() only works in the Midi callbacks, which is only triggered when a Midi signal comes in

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

        @WillDevelop Christoph is saying he needs to add this functionality to HISE, it isn't there yet

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

        W 1 Reply Last reply Reply Quote 0
        • W
          WillDevelop @d.healey
          last edited by

          @d-healey

          Okay, my bad.
          I have now solved the problem like this:
          When you press the panic button you have one second to press any MIDI note so it can send a note off command to the next plugin for each note.

          Here is the code for it

          onInit()

          // MIDI Panic Btn
          const midiPanicBtn = Content.addButton("midiPanicBtn").setPosition(204, 40, 70, 43);
          var isMidiPanicBtnActive = midiPanicBtn.getValue;
          
          // MIDI Panic Btn Timer
          const midiPanicBtn_timer = Engine.createTimerObject();
          midiPanicBtn_timer.setTimerCallback(function(){
          	var panicBtn = Content.getComponent("midiPanicBtn");
          	isMidiPanicBtnActive = 0;
          	midiPanicBtn_timer.stopTimer();
          });
          

          Button-Callback

          if(isMidiPanicBtnActive == 0)
          {
             isMidiPanicBtnActive = 1;
             midiPanicBtn_timer.startTimer(1000);
          }
          

          onNoteOff()

          if (isMidiPanicBtnActive == 1)
          {
          	for(i=0; i<128; i++)
          	{
          		Console.print(i);
          		Message.setNoteNumber(i);
          		Message.sendToMidiOut();
          	}
          }
          

          Thank you all for helping me!

          d.healeyD 1 Reply Last reply Reply Quote 0
          • W WillDevelop has marked this topic as solved on
          • d.healeyD
            d.healey @WillDevelop
            last edited by

            @WillDevelop said in How to make a Panic Button (Send All MIDI Off)?:

            var isMidiPanicBtnActive = midiPanicBtn.getValue;

            Check this...

            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 @WillDevelop
              last edited by

              @WillDevelop If you want to send note off to the outside, you can use the Synth.sendToMidiOut() function.

              Here's an example, the project has to have "Enable Midi Out" enabled

              This example works in Logic, the plugin is an MidiFX plugin

              video

              HiseSnippet 967.3oc6W0saSjCE1NIdESfEsHwCvnd0TQUUBKvhTWfPSaQQPZiHEDRbA35wowpyXOxiGJQnJw6K2vS.vwyjIwSaJTEQWoEQtHJ97iOey4uuICzJFOMUoQXu8mjvQ3qQFNQZF2cLUHQ81BguJouHTLfJELzlSRnoo7PDFW+IVCvdMP4e97i1jFQkL9bQHzKUBF+YhXgYtzAcdpHJZGZHeeQri02oSOlR1UEox.vTmzBkPYGQOjuK0ZVMBB+GaGJLJ8PC0vSQ3FapBmLbr5XYg8uTjJNHhaOzFMDtnBw6nhBsH1JE0crHJbP4CcJBgIClmBpWjBtYwSbo74oh+JWg+bObyG3ZUgW8JvqsK7Z4.uE.IrCjZT.oaPFxzhDybMEkldRCWOhBocWnTXKB+ERWEXfzrdL8H9NZ3vLGBtWqVq4Ces5FMaBY9Ti+r57dYF+G3m2Gr9gbSkrQvJtlsxpaLJSxLBkzWI2UY36ICVs4GZ507jl9mV0nQKTmEjZUTDWuP019D82yw.YV7Ab8Z9uiFkwmYHj7pVQHmeEwsggUjybLTI6IEl8R3xyqMBMMQaqdSQEXpIu1c8o0tMyLFkDIBqNSkCZ2oFzK5sE0PKuJ3VgHkv0Fg8g.uE+cvTUQagGYKd5QFURtswIJoECXuKTfe+7fF1YxrCcdamiEglwyD7wW2YLWb3Xmg3G1Qj1WECAipAOw0RJyE8Bsw0sEAli0vHLz106T..c19bXBSElEQMUG6r6Zlp.p7U50sMzxTgYh6tneZyhWTHdCx.ggMdwXr1BvHTcuLv3zMX+IY6Qi3Lyb.1fryqtbVW4F9qbNbHWKeQDbhqa+yfDI4BShfqeYPZz3+wjFmZ5bA7F09DlbJFAfNnjJgFFVrPwgIXk07AxDKUxLQqmxMAq3rl.rwng0y.ciPFAsBtaxm4V4JcV41L2s5hQ9ASO44MRo8CD.vZsguv+e8ae66C+3V2xpyqf6RVP5.DewunWP607EPzOA.PETNMjcoQQG.uxQvYQyRQx0GR4vqu.QPFtuxdkP5N..fGbqopH95IZgzDTZGPzZ8e2btrfUsH82rjWlrjjKJKIAai2jxeTg5ifyk8alreEXxdtJyHjG1mZzBacGlEGBLILNDcojGYmNv0r8wEmaU1RLDlwyO7U3yTksKaNrJaWp7+jXDSYZ0aXESXVxgqjKAdtk4+YJORe6Y+1mcrJFZ7eCiU8pNii2dYc7uWVGuyx53cWVGu2x53+rrNd+eri18RONynhKFMQn9C1NeMHFusjBc44SDnuA4V4ZhC
              

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

              W 1 Reply Last reply Reply Quote 1
              • W
                WillDevelop @ulrik
                last edited by

                @ulrik Yes it works but unfortunately only as a VST2 plugin

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

                  @WillDevelop Ok, I think Logics MidiFX works in another way.
                  Now I have set the

                  Message.sendToMidiOut();
                  

                  in onNoteOn and onController callbacks as well, (to let all midi information slip through)
                  and it works as vst3 in Live and Reaper here

                  Ableton Live
                  Reaper

                  snippet

                  HiseSnippet 950.3oc6W0saaaCElz1ZnxsaXEnO.B4JEzf.qrtsBj0MuXmTXz5Di5zhc0JXnniIhDo.EU6LJ56bQe.Z6gRVVTN1atFMCXC0WId9gmOc96SdjRRYooREB6d9rDFBeGmwyD5o8lR3Bzf9H7scFxC4iHBNEczrDRZJKDgwMerw.raKT9u28aGQhHBJqRDB8BImxdJOlqqjNp6S3QQmPBYmyisr9AcGPkhdxHYF.llNcPID5UjKYmRLl0vAg+liC4ZoZrlnYoHbqijgyFOU9ZQg8ufmxuHhYNDfFCWTg3SjQgFDajh5MkGENp7kNEgvNipRAMKRA2q3MtTdUp36yU3U4gc9.2nN7ZVCdA1vqiE7VAjvVPpUAjtqyXphmnqzTTZFHzL0DBj1sgRgsH7Gb5IACD58iIWwNQAGV3f+Ac5rmWPmN6dX61PlOU6snNeVl16Qd48A6eISWKa3uisY6r6gSxDTMWJ7jhSkZ1YB+ca+l1tseaaukUMYxJ0Y.oRFEwTqTsoOQ824nuHK9BlZOuWQhxXKLDRd0qHNquhX2vPKxYVFJECDb8YILw5ZiPySzlp2bTAlpyqce27Z2QYZsTf3g0moxAs8TC54C5SzjxqBtUHRILkladIv8YuBlpJZKbc5yRuRKSxsMNQJLX.6tQA9upBZ+typN7qceMOTOsRve1cJie4TssI7zgxXHXD0rhbRRY1XPnIx1MIvjrBFhgFuAKAAz06zgYLYXVDQWevyrsYtBn1Wqa2zRKR45Y1ai9hMMtoP7tNi3Z5zUiwFq.iP88l.iy2g8sNGOYBipq.XKmS9ialEV1g+VqgE4N4qhfSLUvWBZjjMlFA27lf1n0+goMVZ5bELGMdO1YINAfPnjLgDFVrRwhKXm87.5DCYxBQ6mxz96Xsn.rQqfEz.gCWDAsB16xW3V4RcZ49L6857Id9yO45NQp774.v5bnG26W7BN3gvC2+9FctErWhBZGf5K94C7C1yiCQ+s..pgx4grGIJ5B3iN7uNZVKM2PHsBejBbKhvykF2fTpuIHqm9aC8YYZwMzsuRW94RW5rozkNXS7lU9PMNPGbtruRn8+ABsmIyzbwkCIZE2T2OMKdLPnPYPzEBVjY5.2vzGWbtSYKwXX1L+vGgeyUFT1bXTFTp7ekXDSnJ4KoESXFNhakKAduE4+qJWmglydAWerJFZ7eIkV+ptliGrsN9CaqiOXac7G2VG+os0wedac7g+yNZ1K86YZYbwnIBMbzw4qAw3iEDnKOeh.8Ij0MtUA
                  

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

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

                    @ulrik Nice, but after playing around with it a bit, I realized that you still have to press a midi Note to send the NoteOff commands

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

                      @WillDevelop What is not working, have you the same setup as in my snippet?
                      It's working here both as au and vst3

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

                      W 1 Reply Last reply Reply Quote 0
                      • clevername27C
                        clevername27 @WillDevelop
                        last edited by

                        @WillDevelop HOW ARE THERE 36 REPLIES IN THIS THREAD?!:face_with_tears_of_joy: :face_with_tears_of_joy:

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

                          @ulrik
                          It does not work with stuck notes

                          Example Video

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

                            @WillDevelop Ok I see,

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

                            1 Reply Last reply Reply Quote 0
                            • C card100 referenced this topic on
                            • First post
                              Last post

                            18

                            Online

                            1.7k

                            Users

                            11.9k

                            Topics

                            103.6k

                            Posts