HISE Logo Forum
    • Categories
    • Register
    • Login

    Midi Effects Plugins in Ableton Live

    Scheduled Pinned Locked Moved General Questions
    22 Posts 5 Posters 1.7k 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 @lalalandsynth
      last edited by

      @lalalandsynth Actually I'm using this function, creating MessageHolder objects for each controller value, and it is triggered by the TransportHandlers" GridChange function" set to minimum note value = 18 ( 1/96)

      So it will read the cc values on each 1/64T of current tempo

      //	SEND CC FUNCTION
      inline function sendCC(number, value, channel)
      {
      	local cc;
      	
      	switch (number)
      	{
      		case 128:
      			cc = 16384 * value;
      			break;
      		default:
      			cc = 127 * value;
      	}
      	
      	local m = Engine.createMessageHolder();
      	m.setType(m.Controller);
      	m.setChannel(channel);
      	m.setControllerNumber(number);
      	m.setControllerValue(cc);
      	Synth.addMessageFromHolder(m);
      	
      	rm.sendOSCMessage(subdomains[channel-1], ["cc", channel, number, cc]);
      };
      

      I've set the Transport handler like this:

      const TH = Engine.createTransportHandler();
      TH.setEnableGrid(true, 18);	//	18 = 1/96
      TH.setSyncMode(TH.PreferExternal);
      TH.setOnGridChange(true, GridChange);
      

      I have both some kind of Extra Low LFO curves running and a sliderpack for each channel (4 channels) and they can be configured for all cc's and pitch bend, and yes, it works nicely.
      However I have not tried changing the buffer, I'll try it when I get home

      CC lane / channel

      Skärmavbild 2023-01-31 kl. 18.49.27.png

      Low LFO / channel

      Skärmavbild 2023-01-31 kl. 18.50.15.png

      Skärmavbild 2023-01-31 kl. 18.50.22.png

      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 very interesting to see! Thanks.
        I am pretty sure that we have discovered that midi out stops working at 1024 buffer or higher.

        Rather than the timer or scriptnode.

        https://lalalandaudio.com/

        https://lalalandsynth.com/

        https://www.facebook.com/lalalandsynth

        https://www.facebook.com/lalalandsynth

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

          @lalalandsynth Confirmed, something breaks at 1024 here, the clock seems to still triggers but... the Synth.addNoteOn & Synth.sendController stops working at 1024 (I've not tested over 1024)

          video

          @Christoph-Hart what do you think happens? Could it be fixed?

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

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

            @lalalandsynth said in Midi Effects Plugins in Ableton Live:

            @ulrik very interesting to see! Thanks.
            I am pretty sure that we have discovered that midi out stops working at 1024 buffer or higher.

            Yeah, the midi out is out :)

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

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

              @ulrik indeed, thanks for confirming.
              Discovered by complete accident, completely puzzled for quite a while as I didnt notice that protools changed my buffer size.

              All of a sudden plugin stopped working :)

              Should i make a bug report?

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

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

                @lalalandsynth I think I have found away around it. Although there are some warnings in the code about memory usage etc.
                10884208-fde5-49af-b586-e188117e33dd-image.png
                But since we are just using the plugins for MIDI and the only audio we are processing is are 2 audio paths from ScriptNode I "hope" it will slide.

                Just add this the the Extra Definitions in the HISE settings will give you some extra breathing room for the plugin.

                HISE_MAX_PROCESSING_BLOCKSIZE=2048
                
                lalalandsynthL ulrikU P 3 Replies Last reply Reply Quote 3
                • lalalandsynthL
                  lalalandsynth @jonhallur
                  last edited by

                  @jonhallur awesome, maybe @Christoph-Hart can chime in on this.

                  https://lalalandaudio.com/

                  https://lalalandsynth.com/

                  https://www.facebook.com/lalalandsynth

                  https://www.facebook.com/lalalandsynth

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

                    @jonhallur Nice finding!

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

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

                      @Christoph-Hart Oh boy. this was probably the biggest HISE mystery for me in the past year.
                      Is there any way to work around this so we can have midi out working with all buffer sizes without affecting the performance of the plugin?

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

                        Interesting. I've looked in the code and HISE will break down audio (and midi) buffers into smaller chunks if the buffer size exceeds the preprocessor value but it appears that it doesn't copy the temporary (smaller) midi buffers back to the original buffer, which would explain the behaviour.

                        I've just fixed that but please check if it solves the problem (you should not rely on the preprocessor flag to get it working).

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

                          @Christoph-Hart said in Midi Effects Plugins in Ableton Live:

                          Interesting. I've looked in the code and HISE will break down audio (and midi) buffers into smaller chunks if the buffer size exceeds the preprocessor value but it appears that it doesn't copy the temporary (smaller) midi buffers back to the original buffer, which would explain the behaviour.

                          I've just fixed that but please check if it solves the problem (you should not rely on the preprocessor flag to get it working).

                          Could this be a fix for this as well you think?
                          https://forum.hise.audio/topic/8056/midifx-plugin-issues-in-logic-pro-x/21

                          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 said in Midi Effects Plugins in Ableton Live:

                            @Christoph-Hart said in Midi Effects Plugins in Ableton Live:

                            Interesting. I've looked in the code and HISE will break down audio (and midi) buffers into smaller chunks if the buffer size exceeds the preprocessor value but it appears that it doesn't copy the temporary (smaller) midi buffers back to the original buffer, which would explain the behaviour.

                            I've just fixed that but please check if it solves the problem (you should not rely on the preprocessor flag to get it working).

                            Could this be a fix for this as well you think?
                            https://forum.hise.audio/topic/8056/midifx-plugin-issues-in-logic-pro-x/21

                            Yes it fixed that problem, I'm able to switch tracks in Logic and the recorded midi will still trigger! Hallelujah! Thank you @Christoph-Hart

                            VIDEO

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

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

                            13

                            Online

                            1.7k

                            Users

                            11.8k

                            Topics

                            102.5k

                            Posts