HISE Logo Forum
    • Categories
    • Register
    • Login

    Load/Save Table(envelope) shapes

    Scheduled Pinned Locked Moved Feature Requests
    48 Posts 9 Posters 3.1k 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.
    • Christoph HartC
      Christoph Hart
      last edited by Christoph Hart

      Done:

      Link Preview Image
      - added TableProcessor.restoreFromBase64() & exportFromBase64(); · christophhart/HISE@a8b9072

      The open source framework for sample based instruments - - added TableProcessor.restoreFromBase64() & exportFromBase64(); · christophhart/HISE@a8b9072

      favicon

      GitHub (github.com)

      NatanN LindonL 2 Replies Last reply Reply Quote 3
      • NatanN
        Natan @Christoph Hart
        last edited by

        @Christoph-Hart Thank you dear Christoph
        But as a newbie , How we can use the New Feature?

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

          @Christoph-Hart wow you're on a streak...

          HISE Development for hire.
          www.channelrobot.com

          DanHD 1 Reply Last reply Reply Quote 0
          • ?
            A Former User @d.healey
            last edited by

            @d-healey said in Load/Save Table(envelope) shapes:

            HiseSnippet 1206.3oc4X80aaaCDmJNpn1cNXcnaXOJDrGbPyLrcSx5PwPchyefwhSLhRaGvdnfQhNlHRjZTTdyMHeW1Gk87dZeT52fsiTRVxoZN1oIaCXBFI9Ndm3O96Nd2kzWvcHggbAxn7oiCHHiOwzdLSNryPLkg5tKxXEyd3PIQXEqZmwA3vPhKxvnzAJEFkWFoed+K2A6gYNjLUHzq4TGxgTepLSa+1eO0yaerK4TpeNq2ncWGNqC2iGA3ojYCT.14B74jivJyVxDY7f8boRtvVhkjPjwx6vcGaOj+yrX6eMMjdlGQIzDYCunX06y8bUHV8cTmgTO29om6PDxvreFKTJlEdhYOpKch9L13S0KXk4Qd9vXoYAul2R3YjCdKGCuGaZ6HnAxrUTX6QlcYPfZ.FBA4gUrsnk98Rlc3fELYce7Ej8EfvDOpsUiFqasYiFq8hpUpVABDgRqQXg0qIdbGpbbOtajGFNcMs9NKcNR8yIxSwvAZBLpsZp0VYluZ7ajx7nLh0fHlijxYVb1NQRIm0TgIA2qlC2Ofy.zsNrudQj0pV4xpUJSGXUKU1BdtL9WpmODZ0EjPhrl9PLCqBSANmx.qW2J6S8MWTeal9oQ8meC9hccu19VeS0OZs1KztcU0JWoIqz3DvvcRokZqlPXqtlBDIzVGrm2Yv0jZWmOiY8+ddu0+c38leD7dZLa94uVyl+Zki+xQZGwkjiY0VqxkUJW4pJVWeoACJbsjWlGQT3xpBfhY4XMVj+YDQZnI0PnRvzkZdv7UpwIlWxYHm0kQkGGPRjyJF0rfhQnDhE91q5tKVhU0mRzA1EPDRpBNF6RFAE9iqVU1bWR3ERd.TCeRz.frTu5JI0xhYeD0U4PRpL5Wlzc32baOdhP6ers.6R4GH3QAwXMDOhzk0WmGpJ5gVncpUtc5WyuSVjadm9v5yPWhzD27sNT8KSV.BxSUiVUGlEBY746mt.8SZTX+jBCgyIberYepzYXw3coBvKjJbei2jtyUM2av.hiLCrKat+ObaaEe6fxJwP4Ql1P0Uc6PMP9Bsr0afbDqCHLhPW7ZFSM8Gy6TSAy8TSG6Hgs+TAlEFvCm5EaS7omB2JByq7Ugvr.je5DUTNu9Nbrnvkd+K2GNjE5iMVFIzoKa6yiXxoROJcqFOZ5aM4rufYkV9egQ4t6u58wWonz7Qs2vzlkSwnM0OvirGaDzVFznv3mAE0Gfi7joZmNIuGmwCFxYTm7Y.mPjB54mSD4wdgGnskRnobllmz9DhGAmOa9qZeHjEhE.OQt+4hYEu9RyX3ZotYZcOUg+V9WL7vXbWwLcjJMh+byBFT+lgKToPOC1zguQPWekSYw4cINzyHdSGYfxZI6o9cnmdvXSymsU8oeFcr5mO8cGN9vM5jJO3oJkeq83CG+tiQ2Yg36jlgk9+YyvS3QRJ67dX3NML8j4QQ91POHGBfDFi3AajowRp9HwxMTxwMgXtZg+DdRVroR1HYwloK9Oxd3icD725DOus55yC0ZfyMS++cnrYOkrUSjdF7XtwGZc7VGGEY+0.6TrGsVXOd1B6wFKrGatvdr0B6w2rvd77Y3gpO81QRte7UOPQ+8hKeXrGSUKQmki9KPSPOw+

            The snippet is not working. Nothing happens. can I get an updated snippet?

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

              @Lindon Is it possible to script a 'Save Table Shape' button and a 'Load Table Shape' button for simple porting of shapes between modules in the plugin?

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

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

                @DanH Could you explain "between modules" please?
                If you want other modules to change at the same time you could simply link them
                But if you actually want to store different shapes, then you could use exportAsBase64 and restore I guess (never tested)

                EDIT: in fact, that was the whole purpose of this thread...

                Can't help pressing F5 in the forum...

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

                  @ustk So for example, if I have two seperate LFOs in a plugin and I want to copy the shape from one to the other one.

                  I think though what I really want is the ability to save an LFO shape in one instance of a plugin and be able to import that shape into a different instance of the same plugin.

                  Does that make sense?!

                  I have been trying to sript the buttons using those API's but I don't quite know how to make it work

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

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

                    @DanH Ok so you have to use the fileSystem and save/restore the base64 shape to/from the external file you've created
                    https://docs.hise.audio/scripting/scripting-api/filesystem/index.html

                    Can't help pressing F5 in the forum...

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

                      @ustk Thanks mate, will take a look! No doubt I will be messaging you again soon! :face_with_tears_of_joy:

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

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

                        What's wrong with copy/paste?
                        Peek 2020-12-17 17-44.gif

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

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

                          @d-healey Thanks David, this is great for working within Hise, but I want the User to be able to do the same within the plugin... and even across plugins if possible!

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

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

                            @DanH @ustk's answer is the way to go then, save the string to a file.

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

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

                              @d-healey Do you think it would be possible to create a mini preset browser for it like this https://forum.hise.audio/topic/3273/custom-mini-preset-browser-example-using-filesystem-api

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

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

                                @ustk Can't see how to 'save' a file from that link.. do you know how? Do I need to wrap it in a callback function from a button?

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

                                1 Reply Last reply Reply Quote 0
                                • Casey KolbC
                                  Casey Kolb
                                  last edited by

                                  Did you load the snippet from that post into HISE? There's everything in there that you'd need to make what you're describing. You just need to export the table as base64 and save that string to a file. When you load the file, you restore the table from the base64 string like @ustk said.

                                  Casey Kolb
                                  Founder & CEO of Lunacy Audio
                                  Composer | Producer | Software Developer

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

                                    @Lunacy-Audio I took a look at it the other day, thanks for posting it up :)

                                    I'm a bit at a loss trying to work these base64 API's but will take another look at that snippet and see if any clues are inside!

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

                                    1 Reply Last reply Reply Quote 0
                                    • Casey KolbC
                                      Casey Kolb
                                      last edited by Casey Kolb

                                      The table's are definitely confusing! Took me a while to get a hang of them.

                                      This is where you'll need to start:

                                      // retrieve table processor from backend synth
                                      var tableProcessor = Synth.getTableProcessor("Velocity Modulator1");
                                      
                                      // export backend table as base 64 - this is what you save in the preset file
                                      var tableData = tableProcessor.exportAsBase64(0);
                                      
                                      // restore backend table from base 64
                                      tableProcessor.restoreFromBase64(0, tableData);
                                      

                                      Casey Kolb
                                      Founder & CEO of Lunacy Audio
                                      Composer | Producer | Software Developer

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

                                        @Lunacy-Audio Aaaaaahhh... ok that makes more sense! Brilliant, thanks mate :)

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

                                        1 Reply Last reply Reply Quote 1
                                        • Casey KolbC
                                          Casey Kolb
                                          last edited by Casey Kolb

                                          Also note: You never actually need to do anything with the visible table in the UI. It should just be linked to the backend table and you do all of the processing on the backend table.

                                          Casey Kolb
                                          Founder & CEO of Lunacy Audio
                                          Composer | Producer | Software Developer

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

                                            @Lunacy-Audio How do you mean? The UI table is just a dummy? In this case my visible table in the UI is a global LFO. So I need to create a new table to replace this one, and link it to the Global LFO?

                                            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

                                            12

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            105.5k

                                            Posts