HISE Logo Forum
    • Categories
    • Register
    • Login

    How do you use synced modules in a project ?

    Scheduled Pinned Locked Moved General Questions
    12 Posts 2 Posters 365 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.
    • lalalandsynthL
      lalalandsynth
      last edited by

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

        @lalalandsynth - I've already told you how to do this in the other thread,

        in the syncButton control call back:

        • check the value
        • if == 0 then hide the SyncKnob and show the UnSyncKnob
          change the mode to "frequency"
          then call UnSyncKnob.changed();
        • if == 1 then show the SyncKnob and hide the UnSyncKnob
          change the mode to "TempoSync"
          then call SyncKnob.changed();

        in SyncKnob callback:

        • check the value of syncButton
        • if == 1 then do something
        • else do nothing

        in UnSyncKnob

        • check the value of SyncButton
        • if == 0 then do something
        • else do nothing

        put SyncButton, SyncKnob and UnSyncKnob in your preset.

        HISE Development for hire.
        www.channelrobot.com

        lalalandsynthL 2 Replies Last reply Reply Quote 0
        • lalalandsynthL
          lalalandsynth @Lindon
          last edited by

          @Lindon said in How do you use synced modules in a project ?:

          then call UnSyncKnob.changed();

          Well,its not for lack of effort , I spent hours on this yesterday :)
          I guess I am missing something.
          I initially thought it would be enough to put each slider in a panel , and switch between them.
          Seems like its more then that .


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

            @Lindon This works fine for a modulator but not for a delay.
            Actually it works for a delay in a test project but not in a larger project...not the preset recalling.

            inline function ontremoloFreqControl(component, value)
            {
                LFO1.setAttribute(LFO1.Frequency, value);
            }
            Content.getComponent("tremoloFreq").setControlCallback(ontremoloFreqControl);
            
            
            
            
            inline function onLFO1SyncControl(component, value)
            {
              LFO1.setAttribute(LFO1.TempoSync, value);
              
            	if(value)
            	{
            		// Switch the knob to tempo sync mode
            		tremoloFreq.set("mode", "TempoSync");
            		tremoloFreq.set("min", 0);
            		tremoloFreq.set("max", 18);
            		tremoloFreq.set("stepSize", 1);
            		tremoloFreq.set("middlePosition", 9);
            
            	}
            	else
            	{
            		// Switch the knob to frequency mode
            		tremoloFreq.set("mode", "Frequency");
            		tremoloFreq.set("min", 0.5);
            		tremoloFreq.set("max", 20);
            		tremoloFreq.set("middlePosition", 3);
            		tremoloFreq.set("stepSize", 0.01);
            
            	}
            	
            	tremoloFreq.setValue(LFO1.getAttribute(LFO1.Frequency));
            	
            }
            
            Content.getComponent("LFO1Sync").setControlCallback(onLFO1SyncControl);
            
            LindonL 1 Reply Last reply Reply Quote 0
            • LindonL
              Lindon @lalalandsynth
              last edited by

              @lalalandsynth - please re-read my solution above - have you tried that approach? The approach you keep posting about isnt anywhere near what works for me.

              HISE Development for hire.
              www.channelrobot.com

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

                @Lindon Yes, I have this , that I assumed would work . This switches the knobs in a panel , one is set at tempo sync, and one as time in properties.

                Your explanation is a bit complicated for me to be honest , such a noob :P

                I guess I am not sure how to implement this
                "use two UI knobs - one set to Tempo sync and one to Hz, when the user switches issue the mode change and a element.changed() command"

                This is my basic panel switching .

                HiseSnippet 1446.3oc0XstaSbDEd1jLTrAi.JO.qhppLTHXGtzVUgxRbhAWRHtrboWTEZxtiiGwty3t63.FDR7Fzey+30n+opO.7Pvi.uAsmYuNquW2zVvQJRyYNm47c9NyLmyrsCDNzvPQ.xnz8GzihLNI1d.W1sQWBiiZsEx3T3cIgRZfYrnMGziDFRcQFFKeKk.iRqfh989M1j3Q3NzbQHzCELG5NLelLWZaq6v77ZRbo2m4qo8UsZ4H3MDdh9.dVFWC0i37DxAz6RTpsDFYbrscYRQfsjHogHiU1T3Nvtq3o7X8eHKjsuGUMnNxFVnXwMEdtJDqjhZzk441NMtCQvpzNmEVNlENGdWlKKSdNab5nILysPmOLVZZvq9BBOCM3sRL7NC11If0SlOiBam.2hCIpNDHEnCqXcQK86XbCAnAWtlO4IzlAvfLKpd8Z0tn40pU67eSkxUJCIhPo4gj.ycZt2tB29dDHvpadCynsGqc.UlIs5pfNl4JspZIxWf1bOkcotFrrgvumfCCptpZxQ0e8oo+5CoO.HmIpuZxgz+A7PPnsmavDsJWkw3qoZostcEr7oLoS2Mk7IaZpFI1l+Gi6w3TyN84NRlfaJ34.TsVABupNoKzEA240md9JkeQkxkJj8VKjJuoTFv1uujVs3TMCn+ReJ2YvEiMGfvKifwrYH0xl.iFDOu8gCsUGCDKFUiFS1++FQ1yHdrmbzL9X4nJNtOErWsfo1Cdtj5bvZgvUKodot4kJLa8BypY4rYgow.iD8W9BiM9S2KOCRXjvXJw.DgyeXjeVZBwxP.TslW3xpETKJtqPR2iW87keQ4RkeYYygmpSmwNWxR5QCF6zphdASyvp7996SCRYpTEga+KVdAOekWbhYHMEE7VblbudT9jJ5fRnUU0wDTApJiJ9bpjhO1dLWZ.h4pZZH+zNJB04U0OmEZNVgxX6wY+6d6aO4jsey9RofGY+whreXe+9MlGaOANa2vvK.76As1hHIp5vIbBvS8nARlJEXrE8PnAm3pxkvaQCehTzKhzR1KBPK1wURqYS3TuDLq1iidVt61vZP9.h0SYtxtYBrdrUWJ6ft4cR8p6XoPUlmNw7kfzb3mq6viOjC+iebDGdaqdj.vW5gWbT3KboJpL61JjOQyQqaA8P1yl87BYGelqqGssHjoNAjOyppbdlG9joRfqqEOuyUKdLGg.+4QhmVVGldnAZeSmKqLOaUeldvLPevr7L5am.StdFSlU+B4q2l861n.wt0vD6ad8q+sMB62oCCzBiMu8yQShl+rBz7wl0gqbuZYquu4FCwyuZj8MnlyomzOJl6tW8c5oUugb2a1eLoUznMMCstmVTUued0iXRlPQN5MNqZNlCjVgL6eil7qM2M4Ouv8L31J5Y73cowfW3dq+swaxSlpf2tSGpiLGrqfa98GsuOp1rdezwydDKyumG8V4OhMVfoRR8o7HV3.E0iTf.eTgcanevZLOysE+PnjPagGIXX5e4hw7xyWLOimoN88HpPx7exd5EGj5IiSECRLF5mM4vVwGJNafkeGnV+DpubPq7bl0uZ8HxgzNh.+j5vYluC8.vQ5RxKOoIz1WHjcY7CJ98HNm0NBQus4DHzc00ucWRnp6OnyR8Tci9gRgeJVh9fE1vcyQsOX7S3qe00fec9B0++5Fv+txdGMiQGcoukly8XeZTlLKkoxoefeyYLhy1O8Q.hOKN5pHyOZJNcVbzUke7.3SigdI+..t2SzWB29rKQFD0z1c66aK5G3PAnxglcUu0yXI0MLwiqoFq.jMk6FM3OgeISVWM1HYx5oS9ehO7INAhG6D+hK00IGORBD27nufaI7tpwl0SelEFWasZp1SYO1wQ0vvk.9Y71r9BXyUV.at5BXy0V.at9BXyWt.17US0F0Gy9l8gpVw6+AAs2NtdkQVcOikQ+ELr9nT
                

                And this is my non working attempt at implementing what you said ...

                HiseSnippet 1645.3oc0YslbaaCDFz1z0RINSRZN.b7O5HO0wVx4QSZmLgwxVoJwOTKyi9X5jAlDxBio.TIgbhZFOStA8JziROJ8+8O4FztfOAEonTUSZSjs0LD6tX+1uEbwB3NdbahuO2CoU4IiFPPZWT2ZDSzqYOLkgZuKR6R5Gf8EDOivg1Yz.ruOwAoos3CkCnUYITvm2d+cvtXlMIcHD5YbpMYeZepHczNlOl551B6PdBsuh12zrsMm0j6xGB3YQ85nAX6SwmPNDKUaAcj1x64PEbOKAVP7QZKsC2YjUO9KYg5+LpO8XWh7gFHKXhBGtE20QhX4nnl8ntNchiaeDLKcRYgECYgqoe.0glLdJab4.AFoVnxGZKTF7ZnBu5yN7zTf2Rgv6J5V1dzAhTIRrcA81LHQ0ECo.UXEpKZg+rhdSNnASrYe7ojVdvCIVT610qugwspWe8uZ0pqVERD9BiyvdF625nC3NCcwPf0v3dFAKO17DhHYzZqA5XjpzZxoHcB5vbk1E6Zvxl79C3L3gZqIElW+sKS+sGSe.P1STeovwz+oLeXPKWGuIZUpJE3qRszR0tLV9Rpvt2NB1jMMViHay9SrM9DYVe.wSPI9PJr+irN5PE+tgwqWspgwZ84Nj09Ri0dBAbP.KrQv3vqxCrn+hTVCXjyC80TlcE9H27CuBW5TuZUJykxHFcGxrETNyfyj3Q5ROtaM6XFXCfmbGRVe0pfGpjYYmDWOPH7nGOTPpkUTR.FaO30JxkIa5Cu4E6kFFWOq3FYDmJB9k1sVLRpHgRks1JJ8YH5QLNkwO1PvMDRGaHIFCIYHULNKHwasPJZC0TPfGFWKJCTpdghvuBD03NEIKgrAEJdZcbbIc39TImCZc2Ps9GEOo48xinb5oFS4DlIpFWZ93J+jWVjkvB18vrSHN0BEt0VJSSVQxknUNG9i35SJOk20i7yCIL6QSkgZEqY4Lzl2pLNZ65yHCbioxk02rdios.HezYMSwlUYQlUIwk0LEUVyZLMwL7DWUjj5geyRdOSV.XrJMmL4hPITx5QEQNOSY0h1SR5knxOMwttGCs5TKSkQ0cAxWBMEtuqJjlDCajTMrrnPcOxhikbPL69ZEusv+iQj0ThGq7QiB3OjKHGwpsd0WWsR0yqZLtntcKTVzj4R7JTrb6UuxLrFaX+iIdwLTrhPqhY6EUex8hp1prcHynnHm0lQEGMfvlTGpnH5T1JcDp.UEAcpdonNUsboNDODEZHspdLQhBvb5A.VwDMC1eQ8zEViOCnIOC6LTH3rfYX4.DLtsu89yhsWPOoOsBlfm1dWr.KaZOhSR6lBFaWxYvogBaguh9tD+SE7AAjVzZP.ZgNd03F7wLhaDlkMsfdUp6tu4nzGvluj5H5kLf4KL6QnmzK8XWu4wlRTk3oKLKIHE28Yptakwb2u+C4b2WaN.6AdRM3BiA49HRhLoKBDrs.X3xWMJIlcmfTutlYb0eo1ZwmwTwCeRoz21Jwye3nDOF4nueJW7z17r3WYfS5MaLYlkpuRckxH0GlluQOZBb41uO4xkm16OoAjok5hi6MFY9lbKNPsLmMOo91Vp6dy2nl6bGyc+1wEj6P4ODMbT93sJTOeu7RMhDHIL0CRKOrLCHxLIu2KG5eVg6Uz6Homhw6BEfWnzz6a7FcEJqpuW2tDaQJXWRu02Mu2WRwWmS8oceIqjboVz9CbIOL8RsBGvPNRiRtTKDZWhKNCA97Lq1PeuYAW6Ua1YPU+NbWr23z+hYi4EmsXdJWaU4qQjgjw+l0zyOHUSFWJDj55PWZQurk8hilNvR5nScKe4MI1NMmY9qlOGeFoK2qezVsIluO4DvQpijV2TYPq9btnGkcR16m7Zl6y4C1iggP2QU+N8v9xF7ftFUS0MG5K38iwRvEXZA0bC5PP6G0u8M2D9z8ykee2lvW23n2MOid2k9VXFWi8oAYxjTlLm9AdkyPDmrd5i.DeU8fRQFezr4zU0CJU9wCfurNzv3G.v8a4CEP0mCvvwZgtdzObXeK9POaB.UFzQq73bZKHqvD9bc4yR.YQXNAO7WvmHgMjOqEIrQrv+S7QersG+E1gGpRVNYkfQf3lE7ezoh9AxmMZDeRJc85aVW1xJ8E11xFFtNvOEay1ygM2XNr4lygM2ZNr41ygMewbXycJ0F4+bqGLD10Jb8OLPm8B2uRKYeOsEQ+MGywsZA
                
                LindonL 1 Reply Last reply Reply Quote 0
                • LindonL
                  Lindon @lalalandsynth
                  last edited by

                  @lalalandsynth

                  HiseSnippet 1545.3oc0Y0ubSaDD+jSDDaHL.kG.M4O53Lklwl.z1oSlHhSL31DhGT.5GSG5EoSw2fzctRmB3xjY3O6+wqDuC7BvaP4Ins6oOrNYK+QcgNfxLw41a+c6ua202sqR2.tMILjGfzpdzf9Dj1E0sFvD8Z0CSYnN6hztj9A3PAIvHQzNC5iCCINHMsktqTfV0kQwOua6cvdXlMIWDB8HN0lrO0mJxk1076oddswNjin9JZeSyN1bVKtGOB3yR5MP8w1OEeB49XoZUzQZmaOGpfGXIvBRHRa4c3NCr5weFKQ+GQCoG6QjCZhrfEJQbatmijwRonV8ndNcy12gHXU5l6EVJwKbM8CnNzgxy8FWNdBibDp9CsJSidMUoWi4mdZJza4D5cEcK6.ZeQ9LRtcA8NLHP4hgPfJsRzEU4O00awAMXhM7wOkzN.FLDQ8a2nw0MtUiFq+sqVa0ZPfHTXbJNvX+1Gd.2IxCCarlFaYDmdrwIDwPo0WCzwHWo0FcI.H1.xLiCXaw86yYvf5qImLFQQ8s7bBlJFoBif6grYhLWkwX4tDO7fB6v8bcI1.njYRAj+Ck4QYDC2HlsfxYF730VZ2.tWc6LidcX08hHquZsWHQUMY01HjHtiPDPONRPpmJ6HBfQtHWOABXvpT25Y3qBKfQ5S9FYiPHCKyptXuvXbY5UpVhfnxUxtGlcBwodxVs5YDX0lsQm3xMUlorXplsZUogiM+p0NKlGSKwQ5GSMQKrm2wvIF0KDHTiZiGwdHKLkDyJtIoL00ntbokL4QxIqutwVaYzX8joA8pJ+bJQ33OjG6sOwUnDkmWXOfdROEbRXmMc2jZFe4Nqw7AESzKOMe1trpSva07iYu0r7UVi6oTbL2mKHGxpudsWTqZsypYL5TttkNW5h4QBJcZ4NIXZ.qyh7OlDj48yTDttn38Q5S99H0qKsS7LJJxYcXTwg8IrIcKEJ0cJuNMkUfph3aqtT5sUVdTGR.h5HqxHOoCEyZkhFLQSZE1IRH3r3U3bx5TrGE661FMGVult0Dr8mahlS1OgU3kGYhdXmcwBr7l6TmB3n5SBDTYLPaWxoPIQI2iWUeWR3SE79wdszjPj14Sr7pY2xiYDuzMcWl2MPOen4dqi4fgCLvlOi5H5MTf4uX1iH+JPN85XdZVPGpWQSwnWX9BVOW0YOPcvrrM56L6iC.aoXzzMjO2gHqeY38eHerhgtgoO0wwizkGRkY94yrlITZZeK5uOZNPtElUFTtcLsTblnsFwY9xeZrMTaSUKUadx2xs1qefh0L+0Qr1qGyZu7dle.cSWb9R1m.8eq67S+yoGW0uJy+i2TBy+q+Fd19Ukx7vHWWJfWW2vODojQiFuVYnh8rJSUKiW16R5DRCpVurrlXFPjBY2ePpsedo6Uz6RE18JmuUJguvgOen4aZmRqpmTkbNYWVu8OrnsEUdWaMJqsnJJbYkg8tR866QtaduqIBLjRZNkdWQn3ZFTE73BIznezrjta6vNENWuK2CGLp6eoh64klu87L5Nc54Hxsjw+kb5klubjYzi5kRHotNzUX5W1J1e3rIV6.xuEQX1JBWwT9BC5jGyLek4iwmRb4A9oWlND99jS.CoJI+DSEgV9btnGkcRwWCw0L2my6uGCCacGU861CGJqgCJLTMT2JJTv8y3R76ovBNyJtF.seV+12bC3w8Kj+9aZA+ZyCe+LF8uH7MibrJyYN1mEGIGFxjwzOxO4LgwCym9DfwWUO9nHiOYtb5p5wGU9oCgurNTQ8GAz8A7HAb5yAXn8UYwL2Ox2hGEXS.pxfR9kcroUQdBSx3FxwRBYQXNwCjkHkNYS4XszIalMopK4BItjymjeE6IVI4uKdhbgltUaMpXa0pyzlPbjMHqfvbyMey1YxUADOw97m0ELn76kpUAdO5XRQ6Zd.UoH22V9Y4u2tu8+knx+G1vGaGvehcR2rxC4WIVBruYwuN8p5GHGazLqCVc8Faz.AEhSehssrLtuDxZKGyMV.Lat.Xt4Bf4VK.lau.X9pE.yWOULx+yB2IBpkH4TIPP28RphPaX0HPKN+yB+sNK
                  

                  HISE Development for hire.
                  www.channelrobot.com

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

                    @Lindon wow...I was way off , understandably so , 0.001 % programming skills !

                    Thanks mate , this was driving me a bit mad!
                    Seriously ...thanks !

                    btw> did not know about this if (Sync.getValue() == 1) , very nice :P

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

                      @lalalandsynth no problem.

                      Clearly this allows the user to decide on two completely arbitrary values (one for each knob) - so (say) turning off sync and setting the delay time to 50 ms, then turning it on and setting the delay time to 1/2 will make the delay flip-flop between these two values - one very short and one very long. But in the end we rationalised it that the user would probably have two very different scenarios for using Sync-ed and Unsync-ed so that was OK...

                      HISE Development for hire.
                      www.channelrobot.com

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

                        @Lindon Yes , That makes sense , although I have seen where the unsynced value approximates the synced one.
                        But this way is fine.

                        Thanks again mate ! Onwards ! ;)

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

                          @lalalandsynth - yeah you could do the maths - but its a pain...

                          HISE Development for hire.
                          www.channelrobot.com

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

                          45

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          101.8k

                          Posts