HISE Logo Forum
    • Categories
    • Register
    • Login

    Persistence values - still cant get this to work

    Scheduled Pinned Locked Moved General Questions
    21 Posts 4 Posters 1.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.
    • LindonL
      Lindon
      last edited by

      OK so I abandoned any attempt to get any other sort of persistent storage - and at least for the timer being I will store values in interface widgets.

      I'm mindful that @Dave said:

      "All widgets with their SaveInPreset property set to true will have their values restored after the init callback has completed. Following that they all have their onControl callbacks triggered. So if you want to access a saved value after initialisation you need to do it inside an onControl callback."

      OK so my function call is now in the onControl call back and I made sure all my widgets have saveInPreset = Enabled

      When I check these in the user preset XML I see this:

      <Control type="ScriptLabel" id="AuthNumber1" value="12345"/>
      <Control type="ScriptLabel" id="AuthNumber2" value="12345"/>
      <Control type="ScriptLabel" id="AuthNumber3" value="12345"/>
      <Control type="ScriptLabel" id="AuthNumber4" value="12345"/>
      

      Yet when I load my plug in it tells me the numbers are:
      0-0-0-0

      I am accessing these numbers in this way:

      var num1 = parseInt(AuthNumber1.getValue(),10);
      

      So I'm doing something wrong , any ideas?

      HISE Development for hire.
      www.channelrobot.com

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

        @Lindon Hard to say what's going on here without seeing the entire script. Can you make a minimal project that demonstrates the issue and share it?

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

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

          ok here goes:

          HiseSnippet 4304.3oc6c0DababElqkYrkhThRpCPJPRKyhzz0H1q0tjx+j+Ls9yVMVVJZUriuTapcmcWFy+BIW4rMwsJtH.8VJ5sf1CAn2KRQOUfBTg9ysbHn4PKPu3qEsG7kbpGZmeH49FRtq3JIqHmP4.Gwgy6Mu2adya9l2LC8Jt10Qdd1tBEFcstNHgBiKVqqke6YaqoaIr3bjBdqtF10zMcLPByz0QyyC0PnPgQtHoFEF8vBzet+4mQyPypNpWQBBW0VuN5x5l598JcE0WW2vXAsFn0zMA0VQcw51VyZaX2AKMiHNkfiV8ao0BcEMR0NjnPgGY9F591t0707QdBEN7L1M5Vqs8ssX0+p5d5qiER7CUDpgYDq3ErMZPjXRoBy1V2nwJgZsm.t8WomMXDlM3XhKo2POp7d1hIouPpGEP6QgCMHwqBT7lJ6hWAf3cXl38Dh0p6p6326MDY6QEWzxG41TqNe2DqtBG56OoXyNV080ssj1PyPuAVJuPG+1kN96MwXj+HIgK2UxpiYEoWUxQy0Cg4XIRctRGy0QtUJ2B4eUMiNnRG+DUl53uLjlpoSS0AQib5zHOHZTRmFkToIhPytqgdWeLoTs6EkJdxh3+lJ1fGjgOnvXAoIn70qrGxuTQeLeJdh.FRZFZszaJUpDyx8pRUpJqL8wkdgWPpDyvDVDwRKw9YVaKOaCTYGWcrdTzTyud6hARM88qdCRKikXe2NHV42AY3g5KKZpoa7RPVPz6lFZsv7XAs5XGytq3hv5vB3x.VqdDPTBFAXAFHqIaq063K0jwSIGJSgMbeDeojp.WMapgeGnpAJM6+0P2ywPqKygkZ0uC8uibo4pPPKDSp0ipU4xQx6NwkeG4yuib52Qd8zNxH6ZfgE1eF4she4TGW58e+dNp8dTl+QE1i7tERRm5TRHSG+tRd3.cR9sQR2FYT21DIYhCMgidyWchHsnkG1of1qwMlp30XTVVZECjlGRBQhmI0EOe.kNaWcOMZe8r1MPR3dSRyst86h7vNg1aniCiJoY0f5Q5Icg2bsKs7pKVadNWyjNfTcvC2t9s0sZwZTLiNYOMpnksujqdq19EC0phEGB85RllkkVqstmDtTI6ljNTbmG4Qjomjusz5D0otsqKptOtkcX5uKx2sKuzC9cRSthlExnLQPwt59t1FkpDV83J5oNklggzxud4xk2NdD4GQZN1vLxqvVlxlZ2BsfK9gn4ZJcZ4oOgjLy4ahwvSg64GDxkEtYMcCD16MjCXG1YsMcrsPz3dfJQ0zdzGIa8k3nZjBkvNiAx.XESgOAgAFHKBpSeotZFntZeoVNCTK2WpUx.0JoPMYvFZlN993gaChCf5EiKIlyou7IQMSQdXSAOPQgUkhL+PH8LFuMJCrREi6KSwwRbBnXioTR.pQepTQ1aiIzzBqNPRplFIxCjD4zHQYfjnDnMjpmbx1fRWRqkd8qvlFrRkyj7EDMoR0JTNwz2xZd0zHKJvszwKaXq0f8zRZNkJRVwfSarkEXZXpb1opZOpjyNUx8nRI6TEZivyDvCMlK32fBckL.ZDxDaqqX6iV1pzwmXrXSBG1e7bLbRwmbcI1jMk0aYY6hleCR6RqGbJgIFaTbT5jsWylkN9Xu2XiN1cfuJPDo1jjukrhL2APVIytA+FAALc.WOkZvnNhYWCvlGMiVOVD0DDl.GUFGASf.jBZ0jH+7jV9JwfnJIMz8qU1NjDozrKrPQh1Fpg631dpXc5PiWByFXVInkgMsrKMNZDZx.y3Ijpv0DPLv.vLTxg3C1l1u5tu8qtaZe4ce6KuaZekce6qrss+.jBv7y7RRrnbAdU3+Snvg4yigX+yiALMK0YdzfJZasnkt+xNHq9kcCgfgABBEdt.AGWUeZVNdrfrbvDdA8FjhfwCD1fX2foaRne7nFVaQtTdLoHCwmItYoYvhiKe1mc3sxBWdb.WvPP4Yxe+W+XpYgIiKdMMWS+1utk85bbXqurze37YgCSHxxWFgCUhYO97OJSBwwDupsAVOXEwluliSR+lK9uN+NjSUi2GcucJmj4koO7e+a2obRg2T+c9v+Y+4Dmu2LcWQyyKEKzf885GORXat+vKGx6A7PYH3AmkcI85t1ygLz5RfMbYTSedK6m8YuRl7.epXbZUxJsiOh5kxDqdZ.qV.gZrtV8akPvTkk+yYRE+1ovsjB2M+n+zeMSr6HhqZaaVIlr76N4VYm3D9LWOiQqVEQSoPJNua8kVef5vyDdI4duQ6t6.lv699IWT6t6.lv6+t4q9LonNSDlwbR1Bn73QEixdPFFKGR+hlX33ASiPneFrGQKW6NVMFBlbYs0CDhmTLdFHBYy0Ee.kLrrHVSHB.+EJQhExnRAot5thZ4cE0JaC0oDW7IDiAYZmEl+aIlHiF6H2iwE6kViHFHN0Io+QP3MWbNMeMxVDEfhBirxA45qS.sUXNzF3AGrMLZTw4Pd2x21QnvyDsZCbLk94bOtHvw9cgRcW3C2Vuge6nB9G+T01HZzwvRtomZS7BYX6eWUw2akUW9GL+rqciEV9xyM+p2YIriqqktmezZw60pkcrZQLQwk0sGTHPbOiJPbeZhrXhGoo6vTzBESHQPFQk.dMbqeXbMT3zpPgbxri5rmX94+DnXdzLHld9MpYpYXLmtlAULs5XViPgWDeTutJurKbtDx94TMw8.Lui55DmNS3F5d8sL0.FyYT87QN0z+QQgq+3O92eduNMapiqknnTiYvz2ngAZEaOcRjodzVcKmPP+KhMFiItjFlYtK7VB3UAg8Nv+No7GQjZZfVzwyLB7dh5l2cvFzWnuFTLeVQ2ud6T56S09kpcOSp5nhg6V9fr4Wmy6ZrrsPhdzqZ.MDWOgg3YSyPLXmp31fEi6lsHu9ez.IiW6Ew.qd2L1OyuDmdJ2md6C.JWvoUHlW7Btn2IV+pJreU5Wkw90TWaFHxwOFZBdqDlfuaBSPMriNkWYNrgRBqx0iaDBjqsan7XC2BG6olqr4AG0r5dqZJCTyy9AGbTS48V0TAnlR28fiZprsp4nYMe.fn1v4y+D8DJ3ykPAssVtYy9h5PnbBsobVFBdTQ1o.ZmnOvge2byuhzmp6c5Cbb1k9fuhzG48N8ANfZp69Uj9njA84QGt7GABS71.sR8sSnUO+.QEKOUliU7ZIz1WiWaGGHn7Z7iKxK8v432roZ1rCom8q9YHrOPZHlTLl3uirD8M4cfXquyAeuhGSjS36YJ9je4e4+b9rYJ5elG6msv9.5HDdoe.Fiw217l1S0+4c.p9l25qBr+OEF6u0FXfNzbvsJZCj65UhuFuqgXK1ePqw69+wgwJ.mX99cOPZEp9fzJDOS1f0CBWLzJN6moQgyjLo37VafLrcPoAJazP4m2ZbLt0Gt0uPcmXMf9FpadfzZTc+yZ.g7U5CNPZMj2+rFP.iSd2CjVCkcu0XB+fquAyZrfgslutUKxooI.CM7.1z2La+ZwTk6kHy1+72QMHm6rDr+3g4f1091d3Nf0aEdOVFWToxom5LJma5SeVAcejI3EUOmR0Jm4bmUF7hpgu4bSWoRkoEno3uvmHRO6FEIGthZZaDdfKeI5oF6DQuhdURb6yKIGJLuDkRNpGLBR9tEz1v1EKZj6kC2KuRGhz1wjRi7DicGgEvVCPtgw+77paDdNQJLhP+20gz2Rtc0lN3gsPKZw5QXm7jBGI4Zrxvd50Oo39mG6ph4EDKGP32NuGU39hjDlFuPPGukTiRIWLYZ+EA3xWDhe7MTGBU5y2LEHgjymzCxMtrYBWroTQXuWsn6TUlrI7atYOyw8tIvbbyaNXyQRYQIVLC0URXhdEUtvBUO6zJUOibkoDXVtnsob3zA3r9aZ9voN.mqVpyCm5.bFVm26.mNbzgXSuA49C5PsUqsQQ11L4pE1Poj1oahhqjadAtI2O7Pse6fP2uLLgy77TLSa8NfWNvkbcgfXdf8jO4k0bRwkrazwPym+djRVQTvKHaUJ7BaRtZMVd59bS37.4xklUw8IDoaKZ5x6gRQdEDdfKuAWU2IDmuYSTc+dB6gEW3s1GtWtOBPVdTlrbDVZvBt0zfbh.kF9TFBNpbwRgF3juwkOIvYXiO2JfSi1ksuMIUwz8gLrO4m8EpWROQoByoR1JVv4ybMDdzQstV045MGg2DNR1NRvozCtpcGBj7kzvAJHma.bvyZ3nX0Q3NPKbTDx4MtvgHwtXOOUXvrZHqFzG9e3eBdYExyEBdYkvWB8RdhPuDPdJn8Oom+FtNJ2t72vcAgvLY.N6dWFaPrpy45unoSGCOb+qUK35gt+4CjqEsb53CK+M8.m7k0Z6hzZ.4GNpVCpaDnrKoOKfG3914zLcv1UXcVX.XLq42ogtsDIkRRSUo7s01fsLKlsltDKwBKsZAACaaGbutazjJjBl2pQ36+lgmQ0gyyfleqGJ7LJmvy3Z1XX4VLOiJ2n5zR0P3k+0vqO9Hp+WgA5iPd+Cs9HiFd74lsi6Fn4eGp+Qzo9.5RfEDrQEuPGuPlNiFsEYGW8u3u87pjBp.Oc9jBpx+Azvpgb7BT9ZQb3ICsj0Zq4fvSPyrjAGNHnkjZpEJ78DqpTl+mMVF+WMeQxudtYoOKLitlGXVQ1AUCW1p7nkIiJZ0lL4GDjcvrj8Psea0kXGHtniL3x3A+djKMH2.nioxMVeSY0UQM5v+kOACeztUrOPJzODJwFiimA1UeCNR6MgL8df7Pae9Qh9fxP+1wbwP.ZfyDWe9bxHQtFNyEOx103yu30Ui8Amgbsa1yLVENblwFSDboGZvx+jLPpOLIvzN9GdD3IEwqG9.f3tOOb+YYljmTrlOFmBFoPqfKecPr9fsCqeC4I2xrL9EjxIyeAov.jn26atzqrk5LcvqYzkuzOUk1TWvDC0hqsBzhUQNHMe9IHNp5pqdQL1Lm3TgQzQVv7ZtXvabScb+yurEB2yxMCvrt1ddMwpCkWdbH7531Bwg4iBH0iuLR93A8ojtILxQh2jd8vt+d0l1JSsFKuoYadVJIUFdRpN7jHO7jnL7jL8vSxoGdRNyPQRzWm.1zJw9FJj3Z4djrM0FlezzyAp4L5shZKVIvHIQdiTgG74UaaRBxAuucZ6eYiajrItoXAOTxkaLY.fovcGMPFicrBfx3R1VTWE857QJvi7a0B4Bk7TUmK36iCTAA3Ft2qf6H3k0sPZt7A.GJKw1.3pPF6sdZQl3JQB9evBUP.h2wDuJtmpNo0YccgOlRWWpBJN3cPjCPtCvc+t97w8Ct2N78IIy85NeEC6E4GdjuQle3rZ5dLQVnXIVBTNXircbQ5zZRDnWecFUa8PVg0sfemcNLFAYQFWR21CCLPLCnKc3cg6PhBCMtXtDLdH9TIdubbw43hywEmNt3p43hywECOfo6m3hoe1KxwEu2fKtZNt3bbw43hywECwEK2Obwzu.X43hywEmiKNUbwx43hywECupQ6m3hoeI2xwEu2fKVNGWbNt3bbw43hg3hU5GtX52y1bbw43hywEmJtXkbbw43hgW578SbwzONw43h2avEqjiKNGWbNt3bbwTS5nhgO0+CRw8yAFmCLNGXLCXL4eOkyQB+0PjvExHRXxEApoVGC+vR2eOSwzOQP4Xgev8cYHGuXNdwuwgWb+PJM0p6Zei5r+4agHqGkVBVJsn2o9QEWh7rTz+z4Prtl3YptQ85jgAmrhfP5TTcnoPdnoPYnoX5glhSOzTblglhyN.JHvBHW.aSVPQbAqLOyQpv7QNRiH7+4l9LNH
          

          HISE Development for hire.
          www.channelrobot.com

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

            @Lindon Oh I meant a really simple example with one control that won't restore from a preset. It'll probably be harder to debug the issue in a larger project like this but I'll have a look.

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

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

              Just some general points based on my first look:

              Don't use var use const var, reg, local, or midilist depending on context. The only time to use var is inside paint routines. There is a little bit of info about that here.

                  var num1 = parseInt(AuthNumber1.getValue(),10);
                  var num2 = parseInt(AuthNumber2.getValue(),10);
                  var num3 = parseInt(AuthNumber3.getValue(),10);
                  var num4 = parseInt(AuthNumber4.getValue(),10);
              

              This could be done with an array const var num = [] and will probably have a positive knock on effect in other parts of your code where you want to access these values.

              For example this if ((num1== 0) || (num2 == 0) || (num3 == 0) || (num4 == 0)) could instead be written as if (num.indexOf(0) != -1)

              A minor thing but because CR_Auth is tested for your if statement you could remove the else clause and use AuthPanel.showControl(CR_Auth); This won't make a difference to how the script runs but just reduces the number of lines of code.

              Voice1.asSampler().loadSampleMap("XylophoneVoice1");
              Voice2.asSampler().loadSampleMap("XylophoneVoice2");
              Voice3.asSampler().loadSampleMap("XylophoneVoice3");
              Voice4.asSampler().loadSampleMap("XylophoneVoice4");
              

              Another place where an array could make things a bit simpler to read. Then you could do something like:

              for (i = 0; i < 4; i++)
              {
                 Voice[i].asSampler().loadSampleMap("XylophoneVoice"+i);
              }
              

              Again nothing wrong with this but I'll offer an alternative that will reduce the lines of code.

              if (CR_Auth != true){
                  Message.ignoreEvent(true);
              }
              
              Message.ignoreEvent(1-CR_Auth);
              

              I see your still using the master onControl callback, I avoid this now and use the setControlCallback for individual controls, it also helps when you have multiple controls that all do the same thing but just have a different number, because you can set them all to the same callback function in a loop. But sometimes the master callback is the way to go.

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

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

                @d-healey Dave thanks for those suggestions, heres a snippet that is considerably reduced - just the authorisation widgets really... and its still failing to work when exported as a VST

                HiseSnippet 2623.3oc4ZrzaabbdWKswRxVA1oo.8VGPjFPgXQK9vIowwUqkDYLazCVRY63SVq1cH4.u6Na1cIkYcLfA5kdK+HxefBzq8fQK5Menn4P5Q+SvWxoVf1uYl8wr7kHipMhZIAj39My26mytaCepINHf5qnt7gC7vJpWVq0.2vta20f3pTeGFfuXfMsEwwyFqr0.Oif.rkhp5BeFaGpKunB+yq1bKCaCWSbJHEk6QIl3cINjvTnMz+bhscMCK7gDGocWQutI0capMsGHMKnsghmg4iL5f22fssKnon9VUsHgT+VgFg3.E0E2hZMnUW5Ith8eOR.4XPHgKJpzBHj.bMpsEShYPU1tKw1pQrVGn.ToQpMXAgM3c01iXQRfmZKtBeATJFx1C0KLMwqnr3swrKdpRh2hBw6pZsL8IdgoqvjsKoU2MD621vLqaRrWkK7uVUqcOWyPB0E02vlXAR4s6E1M+ZOY0UVcEKJwsy8DvYa4VnP+d3at5JHDxG2A41yoH.zyvO.CLJOC0864bL1uXgN3P.yd37qcsharVFbJMdbJMMbJOdbJOMbpLdbpLVbRPzYvg3GGBnx0tO.ka8bve4hszEkkunhfDLVvoaPg.bX9bg.cxcsHBxXCeWj1n74EVtagJVpbkarF58eeTdggIFDyAfDe1l5FPswE77IfdjywHzratHoludyGx3bFuySw1A3IRh1FD6OIR1KJQo9F9n11Fc.RUyvDBaGzvGCpRM.ljQKEAltHP.jaIQdTVdbuPTaAMQdbhJqBSPKPipIY1YaCXMosFo6h+YQB7rMFHBm4F+mx+aR.elMDwggjZRxtJTHQdm2n94Njeti2m6fctiKwNFYHk8eIAovharF5q9pz3yzKKm8xJhKyFFfPW+5HriW3.T.T1CE1EiNAaaRcvHGnPETKO61YhTc2.HHf6kxjJk69BLKfZXiMBvHLq5FZ.zcfiG0mDHpTsM0Bi.uGicGSeLN.B5n8IPQUjgqEOBL.c66d3cNnY8VUyDJNZ.GWGB.9F1EpGJXJPn0S0nbtzPjOoS2vbwZUtbygdcGGmBnC6RBP.TDsMygBNO1kXm.THEcLScLo99XyPfydB82GG5OHqzK8aFKaX3hsKvDTHzNzmZmOIgeXE85W2v1FcvmWnPgSiFIwQL1IRqXKAVlBNFOBWyGtHoyS9Or7MtFprH3a0UfF5Ag7RMIzFBciQGhV2l53Qcwr7ujcv0wrXJaLmJAj23XnSTp6TIQzdlH1klArKMQrKOCXWdhXWYFvtxXvlkrf2pWXHuw9jofz9FhJiziXhzYjcNF4Qz4bphhXK4DwQruLbGsc.C5nitDup3aRW.p69zP7At4Wa0UDIC6IRfKP53R8wU6yXew0iXSTmjQIP614Wakmrxxq7T4khRXrw9iaU1vt9SAs7NCh9EaJBt1mHkioUEfpoX6hRBPUqnJ4iTpmOwwP1naIVhW+li5X3RhnEOtHIJpHFirSQdS9bU7khKLk1+IQ4XhkHzPDlMbinHUeLCYLpUH.cv9CMYAZBQTNQwiGRrw4Va70HmTCgwv1Z0xwz2XM7GLu2HCuSKyNVylTwIYKCKCvYfOOcJYnfHy30PEyvB4wWj5IwQWtL+ov+Rmc9W5rv+xmc9W9rv+Jmc9W4T4+TjBoxzYkjL4iQjiWACN6X1CmpM4CmJe1YSQDszFot0cIgG3gcmzQVUhRCfCudoHAG1ZH+nqqFcz0cMNFaqPfCntjF+2EU5yLXra2vCN3tna2rJp99BRMN74CJvw+RZICNDShz6+vDwutCT0mi+U33ukg4i53S64ZMGDIUIdGsgG9HlLOP60zbryhXsplTBerDooNiJkL1kNSXW9LgckSA62NBaQBAG8qpMTZxvd0Ws4rPleh1HCy7CJ73xZoSzjP.sMVm+UQ4t02wHzfcudhxbfrIOreHgknptCtOwDKtyOKqsCN3QgTOvXjzgQQ8hSJ39xZRA1OVVpGHewIDqvtI.9G+N8tX14aRfbTfdan4k3FwUR6IMZdvut51G9vZGr6NUa9z8f.WeWRPH6FE50EDpTtVvysCyDkHqKcpEBdLyS+GDxnlJE9AqJ4PUFhDYM00gfhXwUS8DX2sAiXKxuUxIUWWYxVqwWJ4wxwJCjuXFLVAF8gt.hfFQUR0KJI.KOy0hljK6UaBcZ.ZIQTYgOqH9xQDQcY+46Mh+LqPv8fipQxVzUli5hopzypqmpR5+F84Pk9aOaXUR4WoKhRd8Uvcz3pMzwPSUijap6LYSxVTN0b7xijLGGczzMGiJKUzyZhzaLhI5S0OtS78W+xZUJ8w2nRoOBNqdT9UR404SGJI6RcNepCkkzATuym5PEIcv6I+nSGVZNZVmpHGIGP87NmhhPrcfJMDOQEU0e9HU1LhYDunVVk7H7vJ4ytcl9FKNWyIHU59lR5fRVZpMSiLHQKOIZAxmvZKMKwnOsnqnA8m6YaDl8AYwd5cQK.0By7DiX2MO2.RXlFNuVd5Vyp3dUsFjPytiWduvXjWXXpW2xazyJbUspsaiMCSE1E0p8EuAdvfukjrbIgrbQX7PaiAQO118Hl9TA.YogCgc2n1E2NNV+4u3EepdxBMkyB9tu4SzqgwVGCCDHggd4x+kMigKivQe8e9ut4tzSZ.LrlO9KS7I+9uU+NjQfpri9dDo36Wt4gXH6n0.WyLdyExZBWX1N95X7fMo8BItc1y.JTvlzDJd1BphYhAGnKTEgc1X0KvpcItdi3hYsvtV7K92vmnEKxtVMZwhwKJGkb03nDXz99T6d7fWl+4mJCA0D2G6ebwrNJ+AYeD6JJ2GGJARu7eb8muKXPbMyD5W2wqmc.3ec6HUeCxgijq5td8Bkge2.oI1OrqO1vRldPUMKdXjDr6P1VhFfucGCGOvtJumZSYFyVg8rHTTSJ0AsQwBmXzWwgoXBasiA+P.60TUwlR8.uteRSEFfpvrwQq++GQFkluHC3yCNeDYTXjHi6SgwxcEQFEeXoafZgMotVASHFQ+epL0XD15maiQVN9X+a2yuOt5WxiOVRKZvK4PBPP.iJbPmfXhtkAmibiN5a+6umNCPwziP80b.kx9F73ZUdX.U9eh5vWI1R1pqgGFZPKrj22v2AxDjsjbSsh5uPqTkBY+z+.3Os+.1O+kayuVYKhQfTWQ9GFrlYmVlkUzoKq4m7P1QcISmZ+Dc1sRIcK+L8Cfj+.H+wNSBz6pmIW+Yk0ahs5k8UuBFej1Yn2PK9ah0P43PGXeR+Lnl1P94ee9+zlma84WL4MZi+xq8YwCnsh1dFAPpxPioIYSQu3EK97cFtx18ybdAkGnOza7128Mus9+0LVYduzl9rwLAGctYV92QLj54IAl63O+HvWQCNO7OBD22Do6uI3giAbPpGF831YolKwg.5sKeFlkg5Iv0njGwBy13PrHOzzjcbv0KpnLdLJM2XTdtwnxbiwMlaL9v4FiOZtw3imBFr2JWVCOGQ7N.nQU9yTQUspK69yxC8U9O.+WSGaA
                

                HISE Development for hire.
                www.channelrobot.com

                1 Reply Last reply Reply Quote 0
                • ossian1961O
                  ossian1961 @Lindon
                  last edited by

                  @Lindon A variable usually will be initialized (so the value = 0) and if you write a code where a variable never be initialized it will return weird values, that's the basics of correct programming.

                  https://www.kontakthub.com/label/Imagik-Sound/
                  https://mirtklaar.bandcamp.com/

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

                    @ossian1961 Thank you - I bow to your superior programming skills, can you point out which of the variables I have declared has not got an initial value?

                    heres the init variable definition section

                    
                    const var AuthPanel = Content.getComponent("AuthPanel");
                    const var AuthInstructions = Content.getComponent("AuthInstructions");
                    const var AuthNumber1 = Content.getComponent("AuthNumber1");
                    const var AuthNumber2 = Content.getComponent("AuthNumber2");
                    const var AuthNumber3 = Content.getComponent("AuthNumber3");
                    const var AuthNumber4 = Content.getComponent("AuthNumber4");
                    const var AuthoriseButton = Content.getComponent("AuthoriseButton");
                    const var FactoryPresetFlag = Content.getComponent("FactoryPresetFlag");
                    const var AuthValues = Content.getComponent("AuthValues");
                    
                    
                    
                    var CR_Auth = false;
                    var doingValidation = false;
                    
                    

                    HISE Development for hire.
                    www.channelrobot.com

                    ossian1961O 1 Reply Last reply Reply Quote 0
                    • ossian1961O
                      ossian1961 @Lindon
                      last edited by

                      @Lindon said in Persistence values - still cant get this to work:

                      @ossian1961 Thank you - I bow to your superior programming skills, can you point out which of the variables I have declared has not got an initial value?

                      heres the init variable definition section

                      
                      const var AuthPanel = Content.getComponent("AuthPanel");
                      const var AuthInstructions = Content.getComponent("AuthInstructions");
                      const var AuthNumber1 = Content.getComponent("AuthNumber1");
                      const var AuthNumber2 = Content.getComponent("AuthNumber2");
                      const var AuthNumber3 = Content.getComponent("AuthNumber3");
                      const var AuthNumber4 = Content.getComponent("AuthNumber4");
                      const var AuthoriseButton = Content.getComponent("AuthoriseButton");
                      const var FactoryPresetFlag = Content.getComponent("FactoryPresetFlag");
                      const var AuthValues = Content.getComponent("AuthValues");
                      
                      
                      
                      var CR_Auth = false;
                      var doingValidation = false;
                      
                      

                      Oh you don't need to bow because I get not a superior programming skill at all ;)

                      https://www.kontakthub.com/label/Imagik-Sound/
                      https://mirtklaar.bandcamp.com/

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

                        @ossian1961 OK, but where is this variable that remains un-initialised that you mentioned?

                        HISE Development for hire.
                        www.channelrobot.com

                        ossian1961O 1 Reply Last reply Reply Quote 0
                        • ossian1961O
                          ossian1961 @Lindon
                          last edited by

                          @Lindon said in Persistence values - still cant get this to work:

                          @ossian1961 OK, but where is this variable that remains un-initialised that you mentioned?

                          When I wrote "A variable usually will be initialized (so the value = 0) and if you write a code where a variable never be initialized it will return weird values, that's the basics of correct programming." I wrote something is related to programming I'mnot talking about your code, you was talking about your plugin returned a 0-0-0-0 value, not me ;)

                          https://www.kontakthub.com/label/Imagik-Sound/
                          https://mirtklaar.bandcamp.com/

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

                            @ossian1961 whA?

                            Did you look at the snippet at all?

                            You will see its configuring a text for display that shows
                            0-0-0-0
                            when it should show
                            12345-12345-0-0

                            HISE Development for hire.
                            www.channelrobot.com

                            ossian1961O 1 Reply Last reply Reply Quote 0
                            • ossian1961O
                              ossian1961 @Lindon
                              last edited by

                              @Lindon said in Persistence values - still cant get this to work:

                              @ossian1961 whA?

                              Did you look at the snippet at all?

                              You will see its configuring a text for display that shows
                              0-0-0-0
                              when it should show
                              12345-12345-0-0

                              Yes I saw that and you right that it's weird, but I really don't understand just one thing that is why you chosen the preset to relate a protection of the whole plugin and so you asked for a persistent storage of an authorisation in the preset and not in the whole plugin. My first question is started by that.

                              https://www.kontakthub.com/label/Imagik-Sound/
                              https://mirtklaar.bandcamp.com/

                              1 Reply Last reply Reply Quote 0
                              • ossian1961O
                                ossian1961
                                last edited by

                                @Lindon I write you that because, just to make that a label shows the current preset it has been hard and I needed many comments exchanges before a solution :)

                                https://www.kontakthub.com/label/Imagik-Sound/
                                https://mirtklaar.bandcamp.com/

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

                                  Frankly Im not bothered about using presets right now I just want HISE to save and recall the state of a widget.

                                  HISE Development for hire.
                                  www.channelrobot.com

                                  ossian1961O 1 Reply Last reply Reply Quote 0
                                  • ossian1961O
                                    ossian1961 @Lindon
                                    last edited by

                                    @Lindon said in Persistence values - still cant get this to work:

                                    Frankly Im not bothered about using presets right now I just want HISE to save and recall the state of a widget.

                                    I'd like it too. I remember, for exemple, that in the old release when you put a widget on the GUI you created, the code of that appeared on the script, that was like a "RAD" programming ide, but Christoph took off this feature in the new release we use and now I feel the widget palette a bit "weird" because when you add a widget through the script, obviously the properties used in the script are not available to modify in the palette, but only through the script, so at the moment the script-Widgets palette looks a bit "ambiguous" system. Anyway, Hise is under costant development and I have faith in Christoph skills, I'm sure he will give a more logic and stable nature to his wonderful creature :)

                                    https://www.kontakthub.com/label/Imagik-Sound/
                                    https://mirtklaar.bandcamp.com/

                                    1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart
                                      last edited by

                                      but Christoph took off this feature in the new release

                                      Do you mean this change: https://github.com/christophhart/hise_documentation/blob/master/NewInterfaceDesigner.md

                                      In retrospective this is one of the best improvements I made to HISE, the old boilerplate JSON code was terrible and ugly.

                                      Sure there are a few hiccups, but I still think it's the best way to combine a WYSIWYG editor with scripting.

                                      d.healeyD ossian1961O 2 Replies Last reply Reply Quote 3
                                      • d.healeyD
                                        d.healey @Christoph Hart
                                        last edited by

                                        @Christoph-Hart said in Persistence values - still cant get this to work:

                                        In retrospective this is one of the best improvements I made to HISE, the old boilerplate JSON code was terrible and ugly.

                                        Took me some getting used to but definitely an improvement.

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

                                        1 Reply Last reply Reply Quote 1
                                        • ossian1961O
                                          ossian1961 @Christoph Hart
                                          last edited by

                                          @Christoph-Hart said in Persistence values - still cant get this to work:

                                          Sure there are a few hiccups, but I still think it's the best way to combine a WYSIWYG editor with scripting.

                                          I think that the few hiccups could have not a solution for the nature itself of the way or I wrong? ;)

                                          https://www.kontakthub.com/label/Imagik-Sound/
                                          https://mirtklaar.bandcamp.com/

                                          1 Reply Last reply Reply Quote 0
                                          • Christoph HartC
                                            Christoph Hart
                                            last edited by

                                            But what exactly is the hiccup we‘re talking about here? As soon as you set properties with a script, you obviously can‘t change it on the interface designer anymore because it would get overwritten each time you recompile the script.

                                            If you want to batch process widgets once via script but then keep on editing the properties, wrap the property changes into a function and call it once, then comment it out so you can access them in the interface designer again.

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

                                            45

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.9k

                                            Posts