Forum
    • Categories
    • Register
    • Login

    Using custom preset system - as in the actual presets themselves, not a browser

    Scheduled Pinned Locked Moved General Questions
    25 Posts 6 Posters 222 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.
    • ustkU
      ustk @DanH
      last edited by

      @DanH said in Using custom preset system - as in the actual presets themselves, not a browser:

      @ustk clever - but possibly running through all the presets every time you load a new preset is going to take a while.... I'd need to cache them somehow.

      No, only at init when for checking if new presets are present

      How does saving panel data work? Do you have to save the preset (bad for my use case)? Does it auto update / write to the .preset file?

      Yes true... but it should be possible to just write it in the preset dynamically without the need to save. but that would require some clever string handling, don't know if it's secure enough and/or doable, but that might worth a try...
      That might be where the already existing custom preset system is better...

      Where is the data in the .preset file?!

      Under the panel's value, like all other components

      EDIT - Oh it's not persistant... doh 😆

      Yes it is if in the preset..., it's recalled like any other value, that's what I do a lot in the things I've worked on

      Hise made me an F5 dude, any other app just suffers...

      DanHD 1 Reply Last reply Reply Quote 0
      • DanHD
        DanH @ustk
        last edited by

        @ustk said in Using custom preset system - as in the actual presets themselves, not a browser:

        that's what I do a lot in the things I've worked on

        of course 😆 Ok I'm obviously passing the data in wrong. Will take another look...

        DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
        https://dhplugins.com/ | https://dcbreaks.com/
        London, UK

        DanHD 1 Reply Last reply Reply Quote 0
        • DanHD
          DanH @DanH
          last edited by

          @ustk ok got it working. Is it possible to update the .preset file without using Engine.saveUserPreset ?

          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
          https://dhplugins.com/ | https://dcbreaks.com/
          London, UK

          ustkU OrvillainO 2 Replies Last reply Reply Quote 0
          • ustkU
            ustk @DanH
            last edited by

            @DanH Yeah that's where the biggest job resides.
            might doable with some XML parsing, and save as XML but the object might live as strings that are difficult to read/write. I won't be able to make tests within the next days so...

            Hise made me an F5 dude, any other app just suffers...

            DanHD 1 Reply Last reply Reply Quote 0
            • DanHD
              DanH @ustk
              last edited by

              @ustk I think it's too risky. One mistake in a preset file and it doesn't load.

              DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
              https://dhplugins.com/ | https://dcbreaks.com/
              London, UK

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

                @DanH what about with HISE's xml parser?

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

                DanHD 1 Reply Last reply Reply Quote 0
                • DanHD
                  DanH @David Healey
                  last edited by

                  @David-Healey don't know anything about it

                  DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                  https://dhplugins.com/ | https://dcbreaks.com/
                  London, UK

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

                    @DanH These two

                    45560452-a98c-43ef-b1fc-6123cf2a9e08-image.png

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

                    ustkU 1 Reply Last reply Reply Quote 0
                    • ustkU
                      ustk @David Healey
                      last edited by

                      @David-Healey I tried in during my testing and even if I could make it work, the parsing of an array that contains strings is bad bad bad. You need to rework the result to remove the escape char and other things.
                      This might just be normal, but then what about rewriting it back? Might work, might be risky, this I'm not sure until further testing it

                      Hise made me an F5 dude, any other app just suffers...

                      1 Reply Last reply Reply Quote 0
                      • OrvillainO
                        Orvillain @DanH
                        last edited by Orvillain

                        @DanH said in Using custom preset system - as in the actual presets themselves, not a browser:

                        @ustk ok got it working. Is it possible to update the .preset file without using Engine.saveUserPreset ?

                        Why do you want to do this?

                        I'm doing this when I save my custom fx chain format:

                        inline function saveFXChainPreset() {
                                FileSystem.browse(FileSystem.getFolder(FileSystem.UserPresets), true, "*.fxchain", function (f) {
                                    if (!isDefined(f) || f == 0) return;
                        
                                    PluginSharedData.presetMode = "FXChain";
                        
                                    // Get the data object directly from our custom save logic
                                    var data = PluginUserPresetHandling.onPresetSave();
                                    f.writeObject(data);
                                });
                            }
                        

                        the key being setup a file reference, and then call f.writeObject(blahblah) on it.

                        Musician - Instrument Designer - Sonic Architect - Creative Product Owner
                        Crafting sound at every level. From strings to signal paths, samples to systems.

                        DanHD 1 Reply Last reply Reply Quote 0
                        • DanHD
                          DanH @Orvillain
                          last edited by

                          @Orvillain said in Using custom preset system - as in the actual presets themselves, not a browser:

                          Why do you want to do this?

                          Because it kills voices and I want to silently update some metadata like tags and author for presets.

                          But.... your method seems to be working!!! I feel like I'm going to have to remove certain characters in case it messes up the preset code....

                          DHPlugins / DC Breaks | Artist / Producer / DJ / Developer
                          https://dhplugins.com/ | https://dcbreaks.com/
                          London, UK

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

                          30

                          Online

                          2.2k

                          Users

                          13.4k

                          Topics

                          116.4k

                          Posts