HISE Logo Forum
    • Categories
    • Register
    • Login

    Lunacy Audio presents CUBE

    Scheduled Pinned Locked Moved Blog Entries
    71 Posts 17 Posters 5.9k 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.
    • DanHD
      DanH @Casey Kolb
      last edited by DanH

      @Casey-Kolb I find the deferCallbacks thing confusing. Can someone point me to a situation where you do want it and one where you don't want it? And why :grinning_squinting_face:

      (I know there's an example above but how would the timer being deferred actually impact real-world usage)

      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
      https://dhplugins.com/ | https://dcbreaks.com/
      London, UK

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

        @DanH said in Lunacy Audio presents CUBE:

        @Casey-Kolb I find the deferCallbacks thing confusing. Can someone point me to a situation where you do want it and one where you don't want it? And why :grinning_squinting_face:

        If you want to update the UI when the user presses a key but you don't want it to cause latency then you use it.

        If you want to change the velocity of an incoming MIDI note then don't use it.

        Generally your UI script should be deferred.

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

        DanHD 1 Reply Last reply Reply Quote 0
        • DanHD
          DanH @d.healey
          last edited by DanH

          @d-healey Thanks David. So any animations I want to leave alone right?

          My script is, in the words of the great @Christoph-Hart, " a gargantuan script sausage ".

          Assuming I wish to keep it this way (all in oninit) where would I place the deferred command in relation to my animation timers?

          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
          https://dhplugins.com/ | https://dcbreaks.com/
          London, UK

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

            @DanH said in Lunacy Audio presents CUBE:

            So any animations I want to leave alone right?

            Generally you don't want animations to cause latency so you would defer your callbacks, panel and engine timers are deferred anyway though so if you're using them it doesn't make a difference. It's only the synth timer that runs in the realtime thread.

            Assuming I wish to keep it this way (all in oninit)

            Is there another way?

            where would I place the deferred command in relation to my animation timers

            In the on init callback.

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

            Casey KolbC 1 Reply Last reply Reply Quote 0
            • Casey KolbC
              Casey Kolb @d.healey
              last edited by

              @d-healey said in Lunacy Audio presents CUBE:

              Is there another way?

              @DanH Are you using a text editor like Sublime? Or are you editing everything in one single file within HISE? The include file call is your best friend here 😉 You can make your scripts more modular that way.

              Casey Kolb
              Founder & CEO of Lunacy Audio
              Composer | Producer | Software Developer

              d.healeyD 1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey @Casey Kolb
                last edited by

                @Casey-Kolb said in Lunacy Audio presents CUBE:

                The include file call is your best friend here You can make your scripts more modular that way.

                This is the way to go, but everything is still in the on init callback, it just looks pretty and you can work with it like it's all separate.

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

                DanHD 1 Reply Last reply Reply Quote 1
                • ustkU
                  ustk
                  last edited by

                  What do you guys think about having an indicator in the different scripts to see if it is deferred or not?
                  Could it be a good request?

                  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 d.healey

                    @ustk We already have one. You really only need to defer the UI script though, unless for some reason you want to do non-realtime stuff in the real-time callbacks in a script that the user won't see - maybe there's a reason I'm not aware of.

                    fc1036f9-ce9c-4398-94af-ae71546f1a2d-image.png

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

                    ustkU 1 Reply Last reply Reply Quote 2
                    • DanHD
                      DanH @d.healey
                      last edited by

                      @d-healey @Casey-Kolb Yep need to get my head around it.

                      I meant everything in oninit as in everything splurged out in the oninit in Hise rather than neatly compartmentalised into smaller scripts.

                      The issue I have is that so many of my UI controls and callbacks seems to end up in other parts of my script. I'm scared to move them around.

                      If I use the include file call does it behave like.... script script script (sausage part one), oh here's a include file call lets stick that here in the script, script script script (sausage part deux), oh here' another include file call lets stick that in the script here, and so on and so forth

                      i.e its more or less sequential

                      DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                      https://dhplugins.com/ | https://dcbreaks.com/
                      London, UK

                      d.healeyD Casey KolbC 2 Replies Last reply Reply Quote 1
                      • d.healeyD
                        d.healey @DanH
                        last edited by

                        @DanH That's what coding standards are for - https://github.com/christophhart/hise_documentation/blob/master/scripting/scripting-in-hise/hise-script-coding-standards.md

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

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

                          @d-healey said in Lunacy Audio presents CUBE:

                          @ustk We already have one.

                          HomerWhistles

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

                          1 Reply Last reply Reply Quote 3
                          • Casey KolbC
                            Casey Kolb @DanH
                            last edited by Casey Kolb

                            @DanH It's as if the contents of that file were right there in the script, but just replaced with that line of code include. Definitely will make your life WAY easier!

                            In general, it's good to keep UI declaration and logic separated, so you might have different files for declaring different sections of your UI with other script files for their callbacks or other logic you might need. Though I'm guilty of breaking this all the time. It's hard to stay organized 😱 I think David probably knows the best ways.

                            Casey Kolb
                            Founder & CEO of Lunacy Audio
                            Composer | Producer | Software Developer

                            DanHD 1 Reply Last reply Reply Quote 1
                            • DanHD
                              DanH @Casey Kolb
                              last edited by

                              @Casey-Kolb Thanks Casey, makes perfect sense :)

                              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                              https://dhplugins.com/ | https://dcbreaks.com/
                              London, UK

                              1 Reply Last reply Reply Quote 0
                              • S
                                Sawer @Casey Kolb
                                last edited by

                                @Casey-Kolb yeah please, I want to know how. I kindly want to get the concept of how and what to do to create even a simple sample editor. Thanks !

                                Screen Shot 2021-07-21 at 06.18.46.png

                                ? 1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @Sawer
                                  last edited by

                                  @nesta99 There's a few things going on:

                                  • AudioWaveForm connected to the Sampler Module, with the index set to the correct RR Group. (This displays the waveform).
                                  • A slider on top of that waveform, that adjusts the Intensity of a Sample Start Modulator connected to the same Sampler Module.
                                  • Various sliders connected to other Parameters and Modulators of the Sampler Module, like the Pan, Gain and a Constant Pitch Modulator.
                                  • An ADSR section with Sliders connected to the AHDSR Envelope, added to the Sampler Module.
                                  • A Button to control Sample Reverse via Sampler.setAttribute(Sampler.Reversed, value); You also need Engine.setAllowDuplicateSamples(false); and the Sample Maps need to be in Monolith format.

                                  I'm not sure how to do the Loop/One Shot stuff, I assume you just set the mode using Sampler.setAttribute(index, value);

                                  I'm doing some similar (albeit much uglier) stuff in my Player:

                                  3c569566-62ec-42f9-ad6c-7f2b956df78f-image.png

                                  S 2 Replies Last reply Reply Quote 1
                                  • S
                                    Sawer @A Former User
                                    last edited by

                                    @iamlamprey Wow man, thanks so much. Will dive in today, and try!!!

                                    1 Reply Last reply Reply Quote 1
                                    • S
                                      Sawer @A Former User
                                      last edited by

                                      @iamlamprey
                                      https://youtu.be/glcXiUIi470

                                      Hello. I'm trying to add the audiowaveform here on the project, but as soon as I select it , Hise crashes... Is there any issue around this please? thanks.

                                      d.healeyD ? 2 Replies Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey @Sawer
                                        last edited by

                                        @nesta99 Try the develop branch

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

                                        S 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @Sawer
                                          last edited by

                                          @nesta99 Does it crash if you add a new one? Instead of trying to swap it over from the EQ type.

                                          @d-healey It works fine for me on Master.

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Sawer @d.healey
                                            last edited by

                                            @d-healey Uhm.. alright.
                                            @iamlamprey yes, I've tried to call a new AudioWaveForm and it works. Thanks. How did you link it to the sampler in other to see the wave?

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

                                            18

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.5k

                                            Posts