HISE Logo Forum
    • Categories
    • Register
    • Login

    Storing data in widgets

    Scheduled Pinned Locked Moved General Questions
    26 Posts 3 Posters 1.8k 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 @toxonic
      last edited by

      @toxonic

      okay, after hours of ripping off my hair, i finally got it managed to get it working for 5 presets for a knob.
      but although i have set the Panel to saveInPreset, the values are not persistent after relaunching HISE. any ideas?
      here's a snippet:

      HiseSnippet 1062.3ocsV80aaaCDmJNrsVcdnEnO0GFD5SN.oAR9+ACE0MNICdYIwXtKn.AAFzxzwbQhzPhNyFE8w88ZeT166k8MX6HkjkriiSfABeR7t62oe2wi2wNABWZXnH.Yj+yyFSQFeGt6LtbTqQDFG09Pjwawckh.ZuNAzPprWaduNDN0qmsC5fYiIggzAHCib+jxdi7aizq+8iGP7HbWZpHD5BAyk9KLelLUZmlmv77NlLf9YleFqqzrsqf2R3Il.bKG1FMl3dC4Z5YDkYagQFO6nALfYckDIMDYr8AhAy5NR7G7H6ufEx56QUabPcAGEI9Xg2.EiURQsFw7FzIIGDh.uzIMijKJi7F7orAr4xSyLuRqvJEQ17gwVqidNYom8imdFYn21Qz603ttArwxTMJt8RbatjFLj.GAYoUjsnsNMGtk.rfK2ymbC83.XybDEqVwYWKmp024GKXVvDNHBkV2RBrZI76KNPL0w5CVIvulJAwiEbXSw2M2h2ovlh7Dtn+8iRqcID5pr6GRj5kv3Nh5dSORP.YF.LxDEtKHdSnEWNZRr6xqzJJXx3dLN0Z3DtqjI3VBtlXJBDH7J5l722EfCNbmBlesfoErTdaplpwQelep06sb.+mW+2tb5UfYZzJYwLLLwXsMJZ9MMiVaxRgJlYsHdd8gqGEWjv6DGVqJvlyz0Gb4Shr6jKuTakJ3TYu75+aZfL8gBhL0IqNPVlfJGlg+mIjzy4E2w7ql4M+lo0xpFNbk5hclGMXkpU8fBVGvh7I98oAI4nDCgKiKdaGe+21y1LxMJ2jwPAuMmIOeLkee8.PwITnaPtXVAeI08B993dAc8XCnAHFbk+4X8QCRS339q+0O7m+yGQKCtPRiD0QsF6KvQG6If+c7O287ytzdu516qV0aTsRoxkpu+tV16U1wVuJUtQEmFUanjUKRlSkx1UcbpTWaWCM1FUqsekFMpVVIqQsEs6JzcX2qhYWRcglfuDOuLYg.DVuoI52ZeHQRTcMiSYPZbLMPxTmPFGRuEFGE0CMO9PZ3MRwXcNMtHENTevr5zzenUyYoap0DkwO3GLAmwOeJieZ9klgjaos4QCeAVuUV+9rGYpI06+MMKKOooOAzgMvvFlj5Gpv4XVxrrYEypvz46LsAl4IFLwiHWbPnZ5erB39xBSbTSU3gL4rruN3IY53iktuF2gIcGsZ9t0J3KTB8Ty232ZT.ezvgTWYJY2Fe7Wd5eXA5WESjL90mRjALUIwYS76BO8xkBLgCknpdZPwmBpdusZuJyzkxGn27evJVoiZuQrRmDkHehafnmazEa0qYdgVBvIt9Qc4wmp1aM+tLFaumMxGdjUOWWUp38.2WMlRa.lxa.lJa.lpa.lZa.l5a.lFqEi58seZhT3GcMADz4HcOUCii3DnJSWQh9efqPiUr�
      
      1 Reply Last reply Reply Quote 0
      • 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
        • d.healeyD
          d.healey
          last edited by

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

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

          toxonicT 1 Reply Last reply Reply Quote 0
          • toxonicT
            toxonic @d.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
            • d.healeyD
              d.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.

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

              toxonicT 1 Reply Last reply Reply Quote 0
              • toxonicT
                toxonic @d.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.

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.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.

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

                  toxonicT 1 Reply Last reply Reply Quote 0
                  • toxonicT
                    toxonic @d.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
                      • d.healeyD
                        d.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.

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

                        toxonicT 1 Reply Last reply Reply Quote 0
                        • toxonicT
                          toxonic @d.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! :-)

                          d.healeyD 1 Reply Last reply Reply Quote 0
                          • d.healeyD
                            d.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.

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

                            toxonicT 1 Reply Last reply Reply Quote 0
                            • toxonicT
                              toxonic @d.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?

                              d.healeyD 1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.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?

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

                                toxonicT 1 Reply Last reply Reply Quote 0
                                • toxonicT
                                  toxonic @d.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
                                  • d.healeyD
                                    d.healey
                                    last edited by d.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?

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

                                    toxonicT 1 Reply Last reply Reply Quote 0
                                    • toxonicT
                                      toxonic @d.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
                                      • d.healeyD
                                        d.healey
                                        last edited by d.healey

                                        What do you want the combobox to do?

                                        Will you need to change the loopranges from the interface?

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

                                        toxonicT 2 Replies Last reply Reply Quote 0
                                        • toxonicT
                                          toxonic @d.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 @d.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
                                            • First post
                                              Last post

                                            60

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            101.8k

                                            Posts