HISE Logo Forum
    • Categories
    • Register
    • Login

    LAF + Sampler Functions

    Scheduled Pinned Locked Moved General Questions
    samplerlaflook and feelaudiowavformdraw
    43 Posts 5 Posters 4.3k 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.
    • trillbillyT
      trillbilly @Christoph Hart
      last edited by

      @Christoph-Hart Ahhhh, got it. I was able to change the color of the Range of Start/Loop but thats about as far as I was able to get.

      1 Reply Last reply Reply Quote 0
      • DanHD
        DanH @trillbilly
        last edited by DanH

        @trillbilly I haven't got my head around it yet but I have a feeling it was my thread where you got this script and if it was I remember it has a few issues, not least that every sample length is different and will need to be parsed each time it's loaded etc etc. I'm not sure there's an effective solution right now available but I would be DELIGHTED to be proved wrong! :)

        @Lindon I seem to remember you might have been working on something related to this?

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

        trillbillyT LindonL 3 Replies Last reply Reply Quote 0
        • trillbillyT
          trillbilly @DanH
          last edited by

          @DanH Yes, I believe it was that thread.

          Detecting the Sample End is something I also posted about for this. @d-healey had pointed me to a thread about Regex that he said may be of some help.

          Link Preview Image
          Fun with Regex

          This is an advanced feature that I just implemented (and you need at least version 0.984 for this). You can now change the properties of individual sample so...

          favicon

          Forum (forum.hise.audio)

          Also, using the knobs makes the AudioWavform View a bit jumpy. Hard to get a precise location unless you drag the Sample Start/End points. This doesnt work for Loop Start/End points though.

          It does a decent job for what I can figure out.

          DanHD 1 Reply Last reply Reply Quote 0
          • trillbillyT
            trillbilly @DanH
            last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @DanH
              last edited by Lindon

              @DanH said in LAF + Sampler Functions:

              @trillbilly I haven't got my head around it yet but I have a feeling it was my thread where you got this script and if it was I remember it has a few issues, not least that every sample length is different and will need to be parsed each time it's loaded etc etc. I'm not sure there's an effective solution right now available but I would be DELIGHTED to be proved wrong! :)

              @Lindon I seem to remember you might have been working on something related to this?

              well Im not so sure how useful it is but ...
              essentially this:
              2245da6d-4d19-450f-ab06-d15417551f60-image.png

              ..which wants to set the sample length for each sample in the loaded map...heres the code I use...with a little description:

              postLoadZones = yourSampler.createSelection(".*");
              // this creates an array of all the zones (wav files) in the sampler
              
              		
              		// for all zones....
              		for (zi = 0 ; zi < postLoadZones.length; zi++)
              		{
              			//Console.print(" ========= zone:" + zi + " start is:" + segmentData[lsi].SampleStart + " end is:" + segmentData[lsi].SampleEnd);
              			postLoadZones[zi].set(theSamplers[postTargetSampler].SampleStart,YourStartValue);   // that sets the start
              			postLoadZones[zi].set(theSamplers[postTargetSampler].SampleEnd,YourEndValue); // that sets the end
              		}
              

              HISE Development for hire.
              www.channelrobot.com

              trillbillyT 1 Reply Last reply Reply Quote 4
              • DanHD
                DanH @trillbilly
                last edited by

                @trillbilly I remember now that you couldn't reliably save the presets using the current preset system. When you reload a sample map it reloads the start and end points of everything to what was saved in the sample map as opposed to what you saved in a preset via the ui.

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

                trillbillyT d.healeyD 3 Replies Last reply Reply Quote 0
                • trillbillyT
                  trillbilly @DanH
                  last edited by

                  @DanH Ahhhh, that does pose a bigger issue then. Ive been stuck creating some MIDI Packs for my site. I've got a few hours now, I'll mess with it now.

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

                    @DanH Couldn't you reload the values after changing sample map?

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

                    DanHD 1 Reply Last reply Reply Quote 0
                    • trillbillyT
                      trillbilly @Lindon
                      last edited by

                      @Lindon Awesome! Im going to try this out now.

                      Have you had an issue with what @DanH said regarding the Start/End times saving to what is set in the samplemap rather than the UI?

                      LindonL 1 Reply Last reply Reply Quote 0
                      • trillbillyT
                        trillbilly @DanH
                        last edited by trillbilly

                        @DanH I've only saved a few demo presets but as of right now it all seems to be working as expected. I know you said "reliably", how often did it fail for you?

                        EDIT: Scratch that, I see what you're saying. It saves them but does not load them correctly all the time, at least on my end.

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

                          @d-healey Yeah I'm thinking of trying to do it in the preset handler post callback.

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

                          1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @trillbilly
                            last edited by

                            @trillbilly said in LAF + Sampler Functions:

                            @Lindon Awesome! Im going to try this out now.

                            Have you had an issue with what @DanH said regarding the Start/End times saving to what is set in the samplemap rather than the UI?

                            nope - i want to save the start end values the user selects...

                            HISE Development for hire.
                            www.channelrobot.com

                            1 Reply Last reply Reply Quote 0
                            • LindonL
                              Lindon @trillbilly
                              last edited by

                              @trillbilly said in LAF + Sampler Functions:

                              @DanH I've only saved a few demo presets but as of right now it all seems to be working as expected. I know you said "reliably", how often did it fail for you?

                              EDIT: Scratch that, I see what you're saying. It saves them but does not load them correctly all the time, at least on my end.

                              so this I think is probably the problem I ran into - it basically a timing issue - the sample map is not loaded instantly - so you are probably trying to set the start end values for zones not even loaded yet...and yes @DanH I ended up doing a o lot of this stuff in preset handler post callback

                              HISE Development for hire.
                              www.channelrobot.com

                              trillbillyT DanHD 2 Replies Last reply Reply Quote 0
                              • trillbillyT
                                trillbilly @Lindon
                                last edited by trillbilly

                                @Lindon Ahhh, that makes sense. Because if I click the same preset multiple times, the start/end values will eventually get to where they need to be.

                                So doing it in the Preset Handler Post Callback, Im having some newb issues.

                                Here is the code from documentation

                                UserPresetHandler.setPostCallback(var presetPostCallback)
                                

                                Im not understanding something because I get "Unknown function 'setPostCallback'" error. Here is my jumble.

                                const var samplestart = [Content.getComponent("SampleStart1"),
                                                         Content.getComponent("SampleStart2"),
                                		         Content.getComponent("SampleStart3"),
                                			 Content.getComponent("SampleStart4")];
                                
                                UserPresetHandler.setPostCallback(samplestart, presetPostCallback);
                                

                                Am I not calling for the variable correctly? Or the right variable? These are the knobs on my UI controlling Sample Start times.

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

                                  @trillbilly You need to create a user preset handler first. const uph = Engine.createUserPresetHandler() then you can call the function on that object

                                  uph.setPostCallback(function()
                                  {
                                  });
                                  

                                  UserPresetHandler.setPostCallback(samplestart, presetPostCallback);

                                  If you take a look at the documentation again you'll see the setPostCallback function only takes one parameter, you've tried passing in two which won't work.

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

                                  trillbillyT 1 Reply Last reply Reply Quote 1
                                  • trillbillyT
                                    trillbilly @d.healey
                                    last edited by

                                    @d-healey Ok, I get it to compile. But then when I use the function (in this case the sample start time) it then spits out the same "Uknown function 'setPostCallback" error.

                                    const var samplestart = [Content.getComponent("SampleStart1"),
                                                             Content.getComponent("SampleStart2"),
                                    		         Content.getComponent("SampleStart3"),
                                    			 Content.getComponent("SampleStart4")];
                                    
                                    const uph = Engine.createUserPresetHandler();
                                    					    
                                    
                                    uph.setPostCallback(function()
                                    {
                                    	UserPresetHandler.setPostCallback(samplestart);
                                    
                                    });
                                    
                                    d.healeyD 2 Replies Last reply Reply Quote 0
                                    • d.healeyD
                                      d.healey @trillbilly
                                      last edited by d.healey

                                      @trillbilly It's late here so I'll give you an answer in the morning, but reread your code and look up each function you're using in the documentation in the meantime.

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

                                      trillbillyT 1 Reply Last reply Reply Quote 0
                                      • DanHD
                                        DanH @Lindon
                                        last edited by

                                        @Lindon Thanks :) Can I ask what you did in the post callback? I'm simply grabbing the values of the loop start/end knobs and then loading those values back into those knobs. It works sometimes and not others, leading me to suspect timing issues (poss related to sample loading time?!)

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

                                        LindonL 1 Reply Last reply Reply Quote 0
                                        • trillbillyT
                                          trillbilly @d.healey
                                          last edited by

                                          @d-healey it was getting late here too. I will be back in studio in a few hours to continue going over documentation.

                                          1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @DanH
                                            last edited by Lindon

                                            @DanH - what I did was I waited.... 2 seconds works here... so on preset postcallback I did the following:

                                            1. tried to set the sample start and ends...it probably wont have worked but hey - no loss to try..
                                            2. Started a timer on the panel its in (clearly the UI is visible otherwise we cant have selected a preset to load..)....so essentially this:
                                            Circle.sampleLoadTimer.startTimer(2000);
                                            

                                            in the timer... I did the following:

                                            1. stopped the timer...as we only need to do this timer activity once...
                                            2. reset the sample start and end times...as with luck the samples will actually now be loaded..

                                            You may be using bigger(or smaller) sample sets than me (its only 12 waves) so the timing might need to be different, and I checked my timing loading from an external USB 2 drive..(very slow)

                                            I am using a whole truckload of AudioWaveforms (I have 16 samplers) and I found I would need to "reset" these to show the new start and end values.. so I simply
                                            call:

                                            theAudioWaveForms[<someindex>].set("sampleIndex",<the zone index you want>);
                                            

                                            HISE Development for hire.
                                            www.channelrobot.com

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

                                            16

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.4k

                                            Posts