HISE Logo Forum
    • Categories
    • Register
    • Login

    Where should I put Synth.deferCallbacks(true)?

    Scheduled Pinned Locked Moved General Questions
    15 Posts 4 Posters 633 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 @A Former User
      last edited by d.healey

      @Steve-Mohican

      Put it in all scripts that will benefit from it...

      Generally I recommend putting it at the top (under the Content.makeFrontInterface) of all main Interface scripts (and any other scripts you want to defer), but there may be occasions when that's not the way to go.

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

      ? 1 Reply Last reply Reply Quote 1
      • ?
        A Former User @d.healey
        last edited by A Former User

        @d-healey Thank you for the information. My script are:

        1 script have knobs and their inline functions
        1 script have serial numbers
        1 script has serial number authorization system
        1 script has navigation menu

        I should add deferring callbacks all of them individually right?

        d.healeyD 1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @A Former User
          last edited by

          @Steve-Mohican

          I should add deferring callbacks all of them individually right?

          I think you are mixing up MIDI processors with external script files. When you include external scripts they are all part of the same MIDI processor, so there is only one on init callback, one on note callback etc. You only need to put one defer statement per MIDI processor.

          You can defer each MIDI processor if you want to, but that depends on if it's something the script will benefit from. If you're doing real-time MIDI stuff then you probably don't want them deferred.

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

          ? 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @d.healey
            last edited by A Former User

            @d-healey Actually I don't know what you mean with MIDI processors, but In my Project's "Scripts > ScriptProcessors" folder there are 2 scripts, Interface and a Delay Compensation script processor. (I am making an fx plugin by the way)

            Other scripts are .js files that I am attaching seperately and they are one up directory (in "Scripts" folder)

            d.healeyD 1 Reply Last reply Reply Quote 0
            • d.healeyD
              d.healey @A Former User
              last edited by

              @Steve-Mohican

              Yeah I should have said script processor, but they generally are MIDI processors.

              ff27efaf-3519-4b03-a284-353732bfdcf6-image.png

              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 so if I have a lot of GUI stuff happening, paint routines and animated knobs etc, is it the best way to put them in a new script processor that has

                Synth.deferCallbacks(true);
                

                ?

                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

                  @d-healey I'll show you what I mean.
                  This is an LFO and I want to draw the curve while playing and having the LFO active, so it will be possible to find the right curve for the occasion.

                  I also want the "fadein", "fadeout" & "Intensity" parameters to be reflected visually

                  lfogui.gif

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

                  d.healeyD 1 Reply Last reply Reply Quote 3
                  • d.healeyD
                    d.healey @ulrik
                    last edited by d.healey

                    @ulrik There is no point putting GUI stuff in any script other than the main Interface since this is the only one a user will ever see. So that's the place where you would most likely use defer callbacks.

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

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

                      @d-healey Ok, I understand, but the curve calculations then, should I have them placed in another script processor and defer the main Interface? Will there be any benefits doing that?

                      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 deferCallback is only useful when you are doing things in the realtime callbacks. So if your curve calculation is happening in on note on for example then it might be beneficial to use deferCallbacks if you don't need the calculation to be done on the audio thread.

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

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

                          @d-healey Thanks! :)

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

                          1 Reply Last reply Reply Quote 0
                          • ustkU
                            ustk @d.healey
                            last edited by

                            @d-healey aren't all interface scripts already deferred by default anyway?

                            Can't help pressing F5 in the forum...

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

                              @ustk Nope

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

                              ustkU 1 Reply Last reply Reply Quote 0
                              • ustkU
                                ustk @d.healey
                                last edited by

                                @d-healey I'm keeping to ask this redundantly... I need to tape that in once for all! :)

                                Can't help pressing F5 in the forum...

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

                                12

                                Online

                                1.8k

                                Users

                                12.1k

                                Topics

                                105.8k

                                Posts