HISE Logo Forum
    • Categories
    • Register
    • Login

    Vertical slider to control delay time - how to set parameters?

    Scheduled Pinned Locked Moved General Questions
    14 Posts 5 Posters 715 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.
    • T
      tk_tmm
      last edited by tk_tmm

      I'm trying to use a vertical slider to control the L / R delay times of the delay, and I can't get it to work smoothly, either in tempo sync mode or not.

      Tempo unsync'd: the sliders work, but are heavily weighted to > 1000ms, meaning, the first 5% of the slider controls from 0ms - 1000ms, and the other 95% of the slider controls 1000ms-20000ms.

      Tempo sync'd: the sliders don't really work... they just move between 1/1 and 1/2D.

      1. is there a way to make a single slider that will work in both sync'd and unsync'd mode?

      2. if so, how? if not, I really only care about sync'd; how should I set the parameters?

      Thank you!

      ustkU C 2 Replies Last reply Reply Quote 0
      • ustkU
        ustk @tk_tmm
        last edited by ustk

        @tk_tmm if the center value is not good for you, you can adjust it in the property editor

        Now for the sync, you need either a second hidden slider or to change dynamically the properties of this one
        The tempo sync values are going from 0 to 18 with a linear setting and stepSize set to 1

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

        1 Reply Last reply Reply Quote 0
        • C
          Crystal Audio @tk_tmm
          last edited by

          @tk_tmm said in Vertical slider to control delay time - how to set parameters?:

          Tempo unsync'd: the sliders work, but are heavily weighted to > 1000ms, meaning, the first 5% of the slider controls from 0ms - 1000ms, and the other 95% of the slider controls 1000ms-20000ms.

          Sounds to me like you want to look under the sliders Component Specific Property and set your middlePosition to 10000 and then under suffix put ms. This will set the middle position of the slider (straight up) to 10000 ms.

          If you're only interested in synched, under Component Specific Properties set the min to 1 and the max to 18. Set mode to TempoSynch. Set the step size to 1, and middle position to 9.

          1 Reply Last reply Reply Quote 0
          • musictopM
            musictop
            last edited by musictop

            This is how i setup LFO for my projects.

            HiseSnippet 1314.3oc4X0uaaTDDeO6bQ0t3BUj+BIjV4+xQDZs6WDnBgabRJgFmXpKEjpfp02sW7pddWyc60F2p7LvqFOJvS.Lyde55qoFq.EDVIm7Nes+1Ylcl47f.kCOLTEPrp8nYS4Dq2yd3LodbuwLgjbvtDqqX2mEp4AzXR6LaJKLj6RrrpdejfUs0HlO+1WsCymIc34jHjGqDN7CESD5bpC59.gu+9LW9iDSJH8s5dfiR1S4qh.7T0tMYJy4YrS3GwPwpXSrVeOWgVELTyz7Ph0Z6nbmMbr5ExX4erHTLxmiK5PFBFJl79JeWDw32I8FK7cGjdtCIDK6A4dgpwdgMr6KbEYzy8FefgAMWih9CqJmG75rhvyp.7VKFdW0dnSfXpNmChsKaefDBTdLHDTDVwxRp76Us6o.Ij5qMg8L99AvhLMZcy1s2hBO17tMp2nNDHB0zmyBnGt+wc1+g68szujlp8IbcO0joJIrnUSi.A7eNhKcl0LV8qec5S9lgGeD8AR0nerQ8TMC4HlmxCzBdH.fInPutI1h9pF0ozlSTt7leAsYANF5P13zghWh7Zes1chI5x8XQ95Gy7iLJ0IU3HOOwoHE5W+xlMpeVYmu9GuKb7LI93gquxMxmAAxXj0rLU.gcNWWBJPhlBouPxodQRGsPIoJYp.n5AJ+VNo5tErAvIXyF0AePMvMZ1G.PbytBzRvK5JumVGHFEo4sRI9HNXGTkT6.6eM3OgWqT6VCMrwxuPncFS0JpF0hFh6D5yQ9oQcbaZEGI1h1Ly7lC1BRwNEDpy1FdmA+y8C4ktgdoQz2x9MeZ0BRIjfPPJP62LZtc47Dtt97ApPAFOPwRw7Yl.VZ3AkNID0i46OBJG0Zgf2l2sPf8Hklerr0l0eU8Z0OqN80Y44UJuDS4yCJkMVmL37TrkLZxHdPZTOUPnfw7Ujt7xUQxINqtffJ4ARg93o7j040rPdwm5TtsIYG1hjxOiEoZNZkHVNoEKIRRt0AEGqjHNHp1TZ7JIkFG5Kb4ADAfw22dt5KDiOpXSJxaxH6Do0JowH0sSC6kn+2cvtLMCqUmfr7hb.sc4OGZBFW4tl8t7vmoUSMPO4ROPdoA+oP+Jq8f8bF9ksgufWVvh+4x.o9fIW+FInKtDHHtMTBjLete9wXitEKgVrsNo.PWaYbPmloc2gcmku3m5RVrWFzQMsbaw1r3rEILPXVreF1yRBveVQP9Wn2a6R681orDskDtW0d.VZqb7VoD7hYt+Mi2jIYZXummG2QmC10r2+GV0wVVMnboXn7Q122WMh4m6.gKK.p3wiu7wIroY7oYBz4bl67WW14NmtzycZUcdOR0kqrYICus16fYKu3yu+vEBMgWn2HWwoguRLjswJOFbttoFzaGZ4kJyHdotXhwA44Uc+kteO64bOUvjjR2YpeH+DvGTjR1fQEyAGNQoziExSlOcaitGpTS2SxfCuaQiLXLKDaZBCcTzL8hB0pIoXw7dPCgIfMcbrdh8ct00fOdeB97y6AOt4wWLqWnD0peKnxRmmAwOZVHCS29Wdk+XDmkO8e.Det8pp9+ydUOTEog6o8Yv6SgCJcTzjgPy.GNfDoDdMFbVqJ3cw30sw0lq3boqYwe.eRX1AWakvrSJy+Q1iILm.0SchmlEu3cICE3bKM+DJ0r6iqocRmg01Fd8IbjPwScbP28mB9mx04FqfN2bEz4VqfN2dEz4NqfNe1Jny1mqNXG+6EA02iuJBDFrWbkcqrNDVUI+oL13iM
            

            Time/Tempo slider change modes according to Sync button. For the frequency mode you can set the mid point of the slider with the value set in this line

            LFO1FREQ.set("middlePosition", 5);
            

            found this solution by searching posts on the forum!

            my website: https://musictop69.wixsite.com/ilirbajri
            https://musictop69.wixsite.com/creatools
            https://musictop69.wixsite.com/orchestools

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

              @musictop How do you deal with it jumping in values when you switch between sync and unsynced ?

              https://lalalandaudio.com/

              https://lalalandsynth.com/

              https://www.facebook.com/lalalandsynth

              https://www.facebook.com/lalalandsynth

              musictopM 1 Reply Last reply Reply Quote 0
              • musictopM
                musictop @lalalandsynth
                last edited by

                @lalalandsynth i just live with it - until a solution is found! :)

                what bugs me is that LFO time/frequency is not loaded correctly on some user presets, it is not random, it happens to a specific one constantly and even resave does not help... can't figure out why!

                my website: https://musictop69.wixsite.com/ilirbajri
                https://musictop69.wixsite.com/creatools
                https://musictop69.wixsite.com/orchestools

                lalalandsynthL 2 Replies Last reply Reply Quote 1
                • lalalandsynthL
                  lalalandsynth @musictop
                  last edited by

                  @musictop i see..lol.
                  Not really acceptable on a released plugin.
                  Guess i will have to choose either synced or not for my plugin.

                  Do you know if its possible to script what parameters get saved in a preset ? If so i might have a solution.

                  https://lalalandaudio.com/

                  https://lalalandsynth.com/

                  https://www.facebook.com/lalalandsynth

                  https://www.facebook.com/lalalandsynth

                  musictopM 1 Reply Last reply Reply Quote 0
                  • musictopM
                    musictop @lalalandsynth
                    last edited by musictop

                    @lalalandsynth i do not know. My knowledge of scripting is very basic.

                    my website: https://musictop69.wixsite.com/ilirbajri
                    https://musictop69.wixsite.com/creatools
                    https://musictop69.wixsite.com/orchestools

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

                      @musictop I guess this is a known problem then ? I have been fighting this all day ! :P

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

                        @musictop With the preset that is weird , is there a preset next to it with unsynced ?
                        I have noticed that when you go from a sync preset to an unsynced preset . everything gets messed up .

                        https://lalalandaudio.com/

                        https://lalalandsynth.com/

                        https://www.facebook.com/lalalandsynth

                        https://www.facebook.com/lalalandsynth

                        musictopM 2 Replies Last reply Reply Quote 0
                        • musictopM
                          musictop @lalalandsynth
                          last edited by

                          @lalalandsynth Yes, i think so, ...and sometimes also when you reload/click the preset one more time the correct values are loaded from the preset.

                          my website: https://musictop69.wixsite.com/ilirbajri
                          https://musictop69.wixsite.com/creatools
                          https://musictop69.wixsite.com/orchestools

                          1 Reply Last reply Reply Quote 0
                          • musictopM
                            musictop @lalalandsynth
                            last edited by

                            @lalalandsynth noticed that when doubleckliking the preset in the library, or loading the same preset twice, the correct LFO values get loaded when you switch from synced LFO preset to nonsynced and vice versa...

                            my website: https://musictop69.wixsite.com/ilirbajri
                            https://musictop69.wixsite.com/creatools
                            https://musictop69.wixsite.com/orchestools

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

                              @musictop I think the solution for this is to have 4 sliders , 2 for synced and 2 for unsynced.

                              Try this.

                              Left and right delay times are named SyncSldr and UnSyncSldr.

                              const var Sync = Content.getComponent("Sync");
                              const var SyncSldr = Content.getComponent("SyncSldr");
                              const var UnSyncSldr = Content.getComponent("UnSyncSldr");
                              const var SyncSldr1 = Content.getComponent("SyncSldr1");
                              const var UnSyncSldr1 = Content.getComponent("UnSyncSldr1");
                              const var lftFeedback = Content.getComponent("lftFeedback");
                              const var RghtFeedback1 = Content.getComponent("RghtFeedback1");
                              const var delayMix = Content.getComponent("delayMix");
                              const var delOnOff = Content.getComponent("delOnOff");
                              
                              
                              
                              
                              
                              
                              
                              const var Delay1 = Synth.getEffect("Delay1");
                              
                              
                              
                              
                              
                              
                              inline function onSyncControl(component, value)
                              {
                              
                              	Delay1.setAttribute(Delay1.TempoSync,value);
                              	if(value)
                              	{
                                      UnSyncSldr.showControl(false);
                                      UnSyncSldr1.showControl(false);
                                      SyncSldr.showControl(true);
                                      SyncSldr1.showControl(true);
                                      SyncSldr.changed();
                                      SyncSldr1.changed();
                              
                              	}else{
                                      UnSyncSldr.showControl(true);
                                      UnSyncSldr1.showControl(true);
                                      SyncSldr.showControl(false);
                                      SyncSldr1.showControl(false);
                                      UnSyncSldr.changed();
                                      UnSyncSldr1.changed();
                              		
                              	}
                              
                              	
                              };
                              
                              Content.getComponent("Sync").setControlCallback(onSyncControl);
                              
                              
                              
                              
                              inline function onUnsyncSldrControl(component, value)
                              {
                              
                                  if (Sync.getValue() == 0)
                                  {
                              	   // Delay1.setAttribute(Delay1.DelayTimeLeft,value);
                              	    Delay1.setAttribute(Delay1.DelayTimeRight,value);
                                  }
                              };
                              
                              Content.getComponent("UnSyncSldr").setControlCallback(onUnsyncSldrControl);
                              
                              
                              
                              inline function onUnsyncSldr1Control(component, value)
                              {
                              
                                  if (Sync.getValue() == 0)
                                  {
                              	    Delay1.setAttribute(Delay1.DelayTimeLeft,value);
                              	   // Delay1.setAttribute(Delay1.DelayTimeRight,value);
                                  }
                              };
                              
                              Content.getComponent("UnSyncSldr1").setControlCallback(onUnsyncSldr1Control);
                              
                              
                              
                              
                              
                              
                              
                              inline function onSyncSldrControl(component, value)
                              {
                              	if (Sync.getValue() == 1)
                                  {
                              	    //Delay1.setAttribute(Delay1.DelayTimeLeft,value);
                              	    Delay1.setAttribute(Delay1.DelayTimeRight,value);
                                  }
                              };
                              
                              Content.getComponent("SyncSldr").setControlCallback(onSyncSldrControl);
                              
                              
                              inline function onSyncSldr1Control(component, value)
                              {
                              	if (Sync.getValue() == 1)
                                  {
                              	    Delay1.setAttribute(Delay1.DelayTimeLeft,value);
                              	    //Delay1.setAttribute(Delay1.DelayTimeRight,value);
                                  }
                              };
                              
                              Content.getComponent("SyncSldr1").setControlCallback(onSyncSldr1Control);
                              
                              
                              
                              inline function onlftFeedbackControl(component, value)
                              {
                              	Delay1.setAttribute(Delay1.FeedbackLeft, value);
                              };
                              
                              Content.getComponent("lftFeedback").setControlCallback(onlftFeedbackControl);
                              
                              
                              
                              
                              inline function onRghtFeedback1Control(component, value)
                              {
                              	Delay1.setAttribute(Delay1.FeedbackRight, value);
                              };
                              
                              Content.getComponent("RghtFeedback1").setControlCallback(onRghtFeedback1Control);
                              
                              
                              
                              
                              inline function ondelayMixControl(component, value)
                              {
                              	Delay1.setAttribute(Delay1.Mix, value);
                              };
                              
                              Content.getComponent("delayMix").setControlCallback(ondelayMixControl);
                              
                              
                              inline function ondelOnOffControl(component, value)
                              {
                              	Delay1.setBypassed(1- value );
                              };
                              
                              Content.getComponent("delOnOff").setControlCallback(ondelOnOffControl);
                              

                              https://lalalandaudio.com/

                              https://lalalandsynth.com/

                              https://www.facebook.com/lalalandsynth

                              https://www.facebook.com/lalalandsynth

                              musictopM 1 Reply Last reply Reply Quote 1
                              • musictopM
                                musictop @lalalandsynth
                                last edited by

                                @lalalandsynth cool, i will give it a try. Thnx!

                                my website: https://musictop69.wixsite.com/ilirbajri
                                https://musictop69.wixsite.com/creatools
                                https://musictop69.wixsite.com/orchestools

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

                                51

                                Online

                                1.7k

                                Users

                                11.7k

                                Topics

                                102.2k

                                Posts