Forum
    • Categories
    • Register
    • Login

    Storing data in widgets

    Scheduled Pinned Locked Moved General Questions
    26 Posts 3 Posters 2.4k 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.
    • toxonicT
      toxonic
      last edited by

      okay, slowly i'm getting into this thread:
      https://forum.hise.audio/topic/52/variable-persistence
      but somehow, i seem to miss something. i understand now, that i have to reacall the values, stored persistently inside a panel, within the onControl Callback. i tried to load the values into an array and print them out via console, but they are still the initial array values.

      function onControl(number, value)
      {
          if (number == Panel1)
          {
              array = Panel1.getValue();     //assign values to array
                  Console.print("data loaded into array");
      
      // check loaded values -> BUT GET INITIAL VALUES OF ARRAY!? 
                   for (i=0;i<5;i++)
                  {
                      var printval = array[i];
                      Console.print("array index " + i + ": " + printval);
                  }
          }
      }
      

      another question: does it make a difference, if i use a panel, that i created with the interface designer and enabled it's property "saveInPreset" there, instead of creating it via script like this? and what do the both "0" define?

      var Panel = Content.addPanel("Panel", 0, 0); 
      Panel.set("saveInPreset", true);
      

      Here's a snippet, what i've got so far:

      HiseSnippet 1145.3ocsV80SajCD2a.2ir83Tqz8TexhmRD+QYoj1RygZJA3TNNfnK8PsBghL65.VrqcztNzDg3CRe69ncuduceCtar2cytIDBUQBiRH1y7yyuY73wSqPoKKJRFhrJ9og8XHqeD2dnPcUiqnbAp4dHqWgaqjgrNsBYQLUmlhNsnBlemJNncG1iFEw7PVVK7qZ8sJtHxL92OrK0mJbYYKgPmJ4tremGvUYq1p9gbe+CndrOwCxo8V0a5JEMj9x9.2V.WA0i5dM8R1wTsZEvHqmsuGGXVaEUwhPVKtqzaX6qjeUDq+o7H9E9L8DGTaXihW9.oumlw5UQMth660JMFDgfcoUVDYg3HxOiOh6wGsdVj4EFAjLD4iGVElE8bxSuJe+zyJG8VLlduD21Mj2SkIQysmiaJTrvtT3HHOsh0EU3KKhaHAMDpMBnWyNHDlLBQopa4rFwo5aKWaYa3XHRQtgFRZHCtPtqbfCYGRJ3KYJX4dRALozJizXkwQdnPdwCixHcBDlbrGFRrXCFs1zvP5PP4yprQ00l3y4fNw+wE9bAizsuvUwkBhTXrr1BgR+Rtoa+Z.C76yJur8sKaSfg1DCLbIw8zr4TsNkJSVm3.VnngBmM3bPMCZ8ZwrbinTkM5n47cFNMyngFUByZP88u.x9KMNgKOCGaDSmsyUL0yRXZlaclQKsyoieEM1MyQF7XNQtDgo6HSRP8Fli+GKUrSDkJaeqcQ66rISJpa2oJKYy7YgSUrtDS3r.VRzO3BVXZLJ87m2kjHgrSZrpbrnDMzizjv6EKqkoid.1JR5y1nWHWGp7nJJwWBU.8HvBx38YkIQQ5JCIk36ToF+WpViu5pkGW9sSndRZqwHf2.7JNCkeds6q4DTJ1S3BO1.xJjUIb3yJu27yz8qbsw1j6ri+F9OTXZ7Je3GtxW9BytwIR4TTJZJ3pS5wDOT8PTR1GTYbgjiP3WJScweJotXaetGKDwgxe+.1jGiLmtIu07We6a+yGPSBd4zhp5yRC1kvwmqofWG+asO4XSAGRxWuqhY33r8lU1dysGsd0yQ2y.uHw.o2CL1343QWKFiivXo5n+r4dPph9QfDuFhD8XgJtNHasG6F3003mDJh2iEcsR1yDVRtTBmKOZfYPlAI0GlM4M0Q41mm8nwnb6yGysO0+b8H5Mrlh3dI.VW.pHH+ZZcgH8l1vmC+hbhveHZJV8QCbY19uY48gCqGPAYXKLLgqXAQZbN1aZ+Z6srqBshbumVgG3kd88opwe0W2pSh.n5wXOupeBUDwUCy2JzSRq.euz8k3Vbk6USmuElBegDrmZ9lzX0x3861k4pxH6h3C97SeWTn+P1WwEWdDUEx0oDG2OnMzmoKCXh.Rf0EsrJnKuDOuhdtNxzlI7LS9OXjHzQO2JQnSpPT.0MT1wM9Zut0skLq.bRX5fsH9H8bxna5XbkMpfBfNJ635pCEqCbe5X1bNv754.yVyAlpyAl2LGXd6bf4cyDitY9O1WIChul.KzZeSEWKq8ETHKyjQh9eTQDSV.
      

      thanks in advance! :-)

      1 Reply Last reply Reply Quote 0
      • David HealeyD
        David Healey
        last edited by

        What's the end goal here? Are you trying to store the values of knobs in a panel?

        Free HISE Bootcamp Full Course for beginners.
        YouTube Channel - Public HISE tutorials
        My Patreon - HISE tutorials

        toxonicT 1 Reply Last reply Reply Quote 0
        • toxonicT
          toxonic @David Healey
          last edited by

          @d-healey
          Yes, thats it. I know, i could use the sliderpack too, but i'm interested in using panels as storage objects, mainly to learn more about storing data in widgets in general.

          1 Reply Last reply Reply Quote 0
          • David HealeyD
            David Healey
            last edited by

            My next question. Why do you want to store knob values in panels? They are stored in presets by default anyway.

            Free HISE Bootcamp Full Course for beginners.
            YouTube Channel - Public HISE tutorials
            My Patreon - HISE tutorials

            toxonicT 1 Reply Last reply Reply Quote 0
            • toxonicT
              toxonic @David Healey
              last edited by

              @d-healey
              Yeah, but as far as i know, only a single value. I want to store an array of different values and recall these values according to a "preset" called by a ComboBox.

              David HealeyD 1 Reply Last reply Reply Quote 0
              • David HealeyD
                David Healey @toxonic
                last edited by

                @toxonic Each preset can have a different value, so if you want to store multiple values you just need to use multiple presets.

                Free HISE Bootcamp Full Course for beginners.
                YouTube Channel - Public HISE tutorials
                My Patreon - HISE tutorials

                toxonicT 1 Reply Last reply Reply Quote 0
                • toxonicT
                  toxonic @David Healey
                  last edited by toxonic

                  @d-healey
                  You mean each HISE preset? to clearify: in the end, i want to store different sets of start and end points of a Sample Loop an recall these on demand, in order to get different ranges of the loop to rearrange it. Finally i'd like to export a plugin.

                  edit: regarding the fact, that HISE' native file format is called "preset", my choice of words might be a bit confusing. maybe i should call it "snapshots" or whatever.

                  1 Reply Last reply Reply Quote 0
                  • toxonicT
                    toxonic
                    last edited by

                    all right, i know now, what i've done wrong. in the custom onControl callback for the knob, i did overwrite the values in the panel with the initial values of the array. i made a workaround, using a "Snapshot" button to store all values in the panel.

                    HiseSnippet 1257.3ocsW0saaaCElJIbM1cdnEnWMrKH5U1.owRNw4GXDTu3jL30kDu4thBzEXvHQGSDIRCI5jXTzK2a1dA1ywtYuAaGRIYI6ZGGDfnfXYd9SeeGd3QG2IT5xhhjgHqBue7PFx5awcGKTCZMfxEn1Ggr9dbWkLj0qSHKho50VzqCUv76Y6fNb7PZTDyCYYs5Oos2pvZHy0+91Co9TgKKSDB8AI2k8K7.tJSZmlui66eB0i8ddPNq2tYaWonkzWNBv1pXazPp60zqXmQ0lsBFY8MG6wAj0UQUrHj0ZGJ8F2cf7VQr8efGwuzmoW3f5BAJV7IReOMh0RQsFv885jlChPPT5jkQVMNi7J7obO9D4YYlWXTPx7He9vZk6CdN4gm8CGdV4f2Zwv6k3ttg7gpLMZr8bbaghE1mBaA4gUrsnU9q0vsjfEB0lAzqYmDBKl3Q4Z0s2f3XaWoQohv1PjhbCMjzRFbo7P4cNjCHoNeESAhGJEvhxudhEudZOemPd4h8xncFOL0XK1kX0y3SWAcXz.oZgdkZfwOsGzvP5Xv7OYuY8Ml4+KZPpV0i0mNxWGd+QrnRE0+UsJwc.UbEKwciNBUQtheCSP3BO1cjRE4BetfQ5OR3p3RAQJL7TirPoeY2TXsQb.pTp3mKUj.WZfEGjCxR4Zl7AsckqPdCwAveAyS+SFKu.L0DEP9WZnA48lo2LRK0fiVTe+KgSVkmFdUZLgqfsjqAUDkLkpttxPOt3JsnbjddbdBAtedWHOoiIV7yB35EZxZ.mF2wIAioUVBayUMNeFOK3xyZcOOBXZxVO.NxPcQ27HYZc0R3HuOobLqN3.hSkjZ7LRY38xHUVM774zLXQGtbH8LohctnbkhetXgheoHYVU86OWcIAymENW05V24zTsZHyMWpqenLN2AlBIVZnZzvoPUZdSLJ3RVXZRSGtzCnIoprCAMzOHnG3zMYwKtIa92A3FmYyYnTzVvUmOjIVTqWTx1g9cDI3ELUYZA+cIsf65y8XgHNzo8YXSEKxPkjWqQ9y+4ueKZVmKk1+VSQiuqiioapy+A9m6d9YPOJ6csiups+d101pVsMH1atWrHGm8qYues80hpUW+4t6ru9ZOP5N0c1ZWilYr9BzWgmWjfmzCGFH8b7jyJSQI35UMQKJeb3HkRJLAnHNsvbV+gqeu8QTEU+5sjjLj3GxBUb8dp0Qraf4FheYWA7QrnqUxglcgjCEv2W59vcYOvcaNNaAQi9Iw4YKcKIWbVOeb9glQzaXsEwSIAndE3.f71zClQ5f1xmCeibtveL5lzJSqUmC.V5dPFLZ5lGFNMCnfNrEFVvUr.3AWAG2zwoX78ZI22J491I2qitk6oFjE4ecpbC9gr2lK8zHOtNqIO5TY.DHZ3Xc1A80Cx.iSI8F4SUSOikdvxDEP2hoFlQOvhHhqFmevymjAudnv8k3Nbk6f4i2UlCdgh9mZ7lLFaI7w86ybUYfcM7Ie7oelUzuIGofgENkpB45ZyyFEzElp2kAHQ.Gpz8sgBBsql01505LSWlvyr3+fqDkN50VIJcRUhBntgxdtw8gzCJutQBfIg42KT.epdMYR2KLFZmhBf42645pSEuAv978o1ivmsdD9r8ivm5OBe14Q3ytOBe16d8Q+Sm9wQJYP7wDPPmiMuEvx5XAEpxLUjn+GPaAUA5�
                    
                    1 Reply Last reply Reply Quote 0
                    • David HealeyD
                      David Healey
                      last edited by

                      Yes unfortunately the HISE project file (.hip) is also called a preset which is confusing. I'm referring to the user presets and the preset browser. This is where every widget, including panels, have their data stored. So if you are just wanting to store the values of knobs I'd use the preset system. Add a preset browser floating tile to your interface and you're pretty much done.

                      Free HISE Bootcamp Full Course for beginners.
                      YouTube Channel - Public HISE tutorials
                      My Patreon - HISE tutorials

                      toxonicT 1 Reply Last reply Reply Quote 0
                      • toxonicT
                        toxonic @David Healey
                        last edited by

                        @d-healey
                        ah, okay - i must confess, i didn't think about that possibility and i didn't deal with the preset browser yet.
                        could i assign single keys from the keyboard to single presets, so i could for example hit
                        C4 on my keybord to play range from sample 0-40000 of the loop,
                        C#4 on my keybord to play range from sample 50000-60000 of the loop and so on?
                        would the performance of loading the presets be good enough for realtime tasks like that?
                        thank you for your reply, this was helpful either way! :-)

                        David HealeyD 1 Reply Last reply Reply Quote 0
                        • David HealeyD
                          David Healey @toxonic
                          last edited by

                          @toxonic Preset just store and recall the values of widgets. For key switches you will need to script. If you want different key switches for different presets then you can use a combination of scripting and widgets.

                          Free HISE Bootcamp Full Course for beginners.
                          YouTube Channel - Public HISE tutorials
                          My Patreon - HISE tutorials

                          toxonicT 1 Reply Last reply Reply Quote 0
                          • toxonicT
                            toxonic @David Healey
                            last edited by

                            @d-healey said in Storing data in widgets:

                            If you want different key switches for different presets then you can use a combination of scripting and widgets.

                            does "preset" in this case mean: preset via the presetbrowser? so you can control the selection of presets via keystrokes, (...but i need to script that (which i didn't find a method for yet))?
                            or am i back to the idea of storing widget values in panels?

                            David HealeyD 1 Reply Last reply Reply Quote 0
                            • David HealeyD
                              David Healey @toxonic
                              last edited by

                              @toxonic

                              does "preset" in this case mean: preset via the presetbrowser?

                              Yes, whenever I talk about presets this is what I mean, unless I specifically say otherwise. :)

                              so you can control the selection of presets via keystrokes

                              No. User selects the preset from the preset browser. Do you want different keyswitches for different presets?

                              Free HISE Bootcamp Full Course for beginners.
                              YouTube Channel - Public HISE tutorials
                              My Patreon - HISE tutorials

                              toxonicT 1 Reply Last reply Reply Quote 0
                              • toxonicT
                                toxonic @David Healey
                                last edited by toxonic

                                @d-healey

                                Yes, whenever I talk about presets this is what I mean, unless I specifically say otherwise. 🙂

                                okay, do not mind me, i wasn't sure! ;-) and if i'm honest, i don't really know what you mean with that sentence

                                If you want different key switches for different presets then you can use a combination of scripting and widgets.

                                since this somehow contradicts with

                                No. User selects the preset from the preset browser.

                                or did i misunderstand that?
                                but yes, i want to different presets with different keyswitches on my midi keyboard. ;-)

                                1 Reply Last reply Reply Quote 0
                                • David HealeyD
                                  David Healey
                                  last edited by David Healey

                                  The user selects a preset from the preset browser with the mouse - not the keyboard.

                                  i want to different presets with different keyswitches on my midi keyboard

                                  I don't quite understand what you want. You said this previously:

                                  C4 on my keybord to play range from sample 0-40000 of the loop,
                                  C#4 on my keybord to play range from sample 50000-60000 of the loop and so on?

                                  Will those keyswitches, C4 and C#4, be used for all presets or do you need each preset to have totally different keyswitches?

                                  Free HISE Bootcamp Full Course for beginners.
                                  YouTube Channel - Public HISE tutorials
                                  My Patreon - HISE tutorials

                                  toxonicT 1 Reply Last reply Reply Quote 0
                                  • toxonicT
                                    toxonic @David Healey
                                    last edited by

                                    @d-healey
                                    uhh, i really seem to express myself very awkward, i'm sorry for that. :-/
                                    i want to store different loopranges (AudioWaveForm) to different presets. by pressing a key on my midi keyboard i want to select a specific preset and play the looprange saved within that preset.
                                    C4 -> looprange a (saved in preset 1)
                                    C#4 -> looprange b (saved in preset 2)
                                    D4 -> looprange c (saved in preset 3)
                                    ....and so on
                                    got me now? thanks for your patience with me, my english is quite poor and my HISE knowledge as well.... :-/

                                    1 Reply Last reply Reply Quote 0
                                    • David HealeyD
                                      David Healey
                                      last edited by David Healey

                                      What do you want the combobox to do?

                                      Will you need to change the loopranges from the interface?

                                      Free HISE Bootcamp Full Course for beginners.
                                      YouTube Channel - Public HISE tutorials
                                      My Patreon - HISE tutorials

                                      toxonicT 2 Replies Last reply Reply Quote 0
                                      • toxonicT
                                        toxonic @David Healey
                                        last edited by

                                        @d-healey
                                        okay, my first problem was storing data (start and endpoints and maybe other values) persistenly and recalling it. the combo box was just to select the.... how should i call it..... snapshots? it was only for experimenting purposes, it seemed quite handy to me for that task.

                                        1 Reply Last reply Reply Quote 0
                                        • toxonicT
                                          toxonic @David Healey
                                          last edited by toxonic

                                          @d-healey said in Storing data in widgets:

                                          What do you want the combobox to do?

                                          Will you need to change the loopranges from the interface?

                                          later i wanted change this to control via midi keyboard

                                          1 Reply Last reply Reply Quote 0
                                          • David HealeyD
                                            David Healey
                                            last edited by

                                            We're going around in circles. But we'll get there! :)

                                            Why do you need to store data at all? Why can't you just hardcode the values?

                                            Free HISE Bootcamp Full Course for beginners.
                                            YouTube Channel - Public HISE tutorials
                                            My Patreon - HISE tutorials

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

                                            30

                                            Online

                                            2.1k

                                            Users

                                            13.0k

                                            Topics

                                            112.6k

                                            Posts