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

      @ulrik So conclusion, to get it to work in those daws, except Logic, I had to compile them as instruments, not MidiFX plugins

      So the main question (topic), if it works in Live, yes as Instrument and as FX plugin, (VST3), however Live doesn't recognize on which midi channel the cc is sent, it will automatically set it to channel 1, if that would be a problem for you project

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

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

        @ulrik Very interesting, will try that , just normal AU exported as MIDIfx from HISE.
        I think it did not work for us , we did have the extra definitions.
        Although we are using Scriptnode modulators and Global cables . not sure if that changes anything.

        I think it opened as midifx but had no cc output.

        So we ended up with the auv3 which is an hassle .

        https://lalalandaudio.com/

        https://lalalandsynth.com/

        https://www.facebook.com/lalalandsynth

        https://www.facebook.com/lalalandsynth

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

          @ulrik So I built an AU MidiFX from HISE ,it opens in Logic but the modulator does not run , scriptnode Clockramp.
          Also not getting any CC output from knobs that should send CC.

          I have the correct Extra definitions set.

          I would love to get this working as there are no resize or ui issues with AU as opposed to AUv3.. although I might have to use that as the modulators work there.

          Are you using a scriptnode modulator or any scriptnode nodes ?

          Do you see anything wrong with my settings ?

          Screenshot 2023-01-16 at 18.09.45.png
          Screenshot 2023-01-16 at 18.09.33.png
          Screenshot 2023-01-16 at 18.09.18.png
          Screenshot 2023-01-16 at 18.09.50.png

          https://lalalandaudio.com/

          https://lalalandsynth.com/

          https://www.facebook.com/lalalandsynth

          https://www.facebook.com/lalalandsynth

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

            @lalalandsynth said in Midi Effects Plugins in Ableton Live:

            Are you using a scriptnode modulator or any scriptnode nodes ?

            No scriptnode nodes or modulators, and no modulator modules either, I've scripted my LFO's triggered by a running MidiPlayer, if I remember right, I could not get the modulator modules to work inside an MidiFX so I took that scripting road instead.

            I've done a similar project (MidiFX) using the the transport handler, creating a "onGridChange" function to trigger the scripted LFO's

            Do you see anything wrong with my settings ?

            No, it looks allright

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

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

              @ulrik I see, that is probably it. Scriptnode does not work for MIDIFX.
              AUV3 is exported as fx and therefore works, but it does show up in MIDI fx tab in logic , I guess it allows that for AUv3 if it detects midi output ?

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

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

                @ulrik I am assuming you are using a timer for sending out the CC ?
                We just encountered a problem in our plugin.

                Now works as Vst2, Vst3,AU and AAX.

                BUT...when buffer is set to 1024 or higher , it stops working, that is the plugin runs but stops sending out cc.
                Not entirely sure if scriptnode or the timer stops working.

                Assuming that our projects both use the timer, have you tried setting buffer to 1024 or higher?

                https://lalalandaudio.com/

                https://lalalandsynth.com/

                https://www.facebook.com/lalalandsynth

                https://www.facebook.com/lalalandsynth

                ulrikU 1 Reply Last reply Reply Quote 0
                • 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

                                        17

                                        Online

                                        1.7k

                                        Users

                                        11.8k

                                        Topics

                                        102.5k

                                        Posts