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 Yes I got it working, for Logic I had to compile as MidiFX au, but for other DAWs I compiled as Instruments vst3

      midifx.gif

      Here you can see I send a slow LFO on cc 11, working nicely

      I've tested it in Reaper, Live, Cubase and Studio One, and I can get cc out on all if I compile it as an Instrument VST3

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

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

        @ulrik I had to set the extra definitions with this though

        JucePlugin_ProducesMidiOutput=1

        Skärmavbild 2023-01-16 kl. 13.14.07.png

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

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

                                            12

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            103.0k

                                            Posts