Forum

    • Register
    • Login
    • Search
    • Categories

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

    General Questions
    5
    14
    255
    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!

      ustk C 2 Replies Last reply Reply Quote 0
      • ustk
        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

        I 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
          • musictop
            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
            orchestools instruments at: https://musictop69.wixsite.com/orchestools

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

              musictop 1 Reply Last reply Reply Quote 0
              • musictop
                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
                orchestools instruments at: https://musictop69.wixsite.com/orchestools

                lalalandsynth 2 Replies Last reply Reply Quote 1
                • lalalandsynth
                  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

                  musictop 1 Reply Last reply Reply Quote 0
                  • musictop
                    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
                    orchestools instruments at: https://musictop69.wixsite.com/orchestools

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

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

                      https://lalalandaudio.com/

                      https://lalalandsynth.com/

                      https://www.facebook.com/lalalandsynth

                      https://www.facebook.com/lalalandsynth

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

                        musictop 2 Replies Last reply Reply Quote 0
                        • musictop
                          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
                          orchestools instruments at: https://musictop69.wixsite.com/orchestools

                          1 Reply Last reply Reply Quote 0
                          • musictop
                            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
                            orchestools instruments at: https://musictop69.wixsite.com/orchestools

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

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

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

                                my website: https://musictop69.wixsite.com/ilirbajri
                                orchestools instruments at: https://musictop69.wixsite.com/orchestools

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

                                20
                                Online

                                1.1k
                                Users

                                6.8k
                                Topics

                                62.4k
                                Posts