HISE Logo Forum
    • Categories
    • Register
    • Login

    Expansion User Presets

    Scheduled Pinned Locked Moved C++ Development
    60 Posts 5 Posters 4.2k 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.
    • d.healeyD
      d.healey
      last edited by d.healey

      Also it seems I was premature when I said my test show everything as fine. I've now tested it with my larger project (probably should have done that before) and the scripts are being called before create expansions. I'll look into this some more.

      This is the same with deferred callbacks enabled or disabled (which makes sense I guess since it's the init and control callbacks).

      Compiling all scripts
      Unknown function 'loadDataFile'
      This expression is not a function!
      no iterable type
      Adding plugin parameters
      Restoring global settings
      Setting disk mode
      Samples are validated. Skipping reference check
      Loading samples
      CREATE AVAILABLE EXPANSIONS
      

      Edit: Actually the get list function is being called first. I'll shut up now until I figure this out :p

      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

        Ok, after lots of poking around and head-scratching, I figured it out (as you thought) createAvailableExpansions() isn't being called until after getExpansionList(). So what I've done is put a call to rebuildExpansions(); inside the expansion handler constructor, do you think it would be more appropriate/better to call it from the getExpansionList() function, or somewhere else?

        The other piece of the puzzle was I had HISE_ENABLE_EXPANSIONS=1 but not HI_ENABLE_EXPANSION_EDITING. So the Helpers::isValidExpansion was returning false. I've modified this to check for file based expansions as well as encrypted without needing editing enabled. Let me know if there is a better way to handle this too.

        Also now I got around this issue I noticed my sample maps weren't loading again :( so I reverted to the previous format and it works, so not sure what was going on before but the correct format both in HISE and the exported app is "{EXP::" + expansionName + "}" + sampleMap + ".xml"

        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

          I've created a pull request. I noticed that my text editor seems to have saved every blank line as a change which unfortunately clogs up the changelog a bit :( I'm assuming this is due to the line ending difference between Windows and GNU/Linux so next time I make edits I'll switch to Windows style line endings and see if that solves it.

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

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

            Yeah I try to figure out how to show the actual diffs, because I can‘t check in stuff into the precious codebase without reviewing it ;)

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

              Not sure if you noticed, but I merged the request and ran the API generator over it so you can use your script functions now in the "official" branch.

              d.healeyD 1 Reply Last reply Reply Quote 1
              • d.healeyD
                d.healey @Christoph Hart
                last edited by

                @Christoph-Hart Oh excellent, I noticed the merge but forgot about the API generator :) I shall rebuild.

                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

                  Almost have my player plugin working, abusing the expansion system to the fullest!

                  Peek 2019-09-26 22-13.gif

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

                  C DalartD 2 Replies Last reply Reply Quote 6
                  • C
                    coreyu21 @d.healey
                    last edited by

                    I’m having trouble inheriting the presetbrowser class from the expansion handler(to show the updated user presets from the expansion folder) Would somebody be willing to help me in the right direction. Thank you lots!

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

                      This is in the scriptnode branch, no need to tinker with the C++

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

                      1 Reply Last reply Reply Quote 0
                      • A
                        arminh
                        last edited by

                        Im waiting for tutorial tutorial :D

                        1 Reply Last reply Reply Quote 1
                        • DalartD
                          Dalart
                          last edited by

                          Where do we find these settings in Scriptnode ?

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

                            @Dalart Yes. You need to compile with these options HI_ENABLE_EXPANSION_EDITING & HISE_ENABLE_EXPANSIONS. This is an unofficial feature though currently so you'll need to create your own method for users to install expansions. Once Christoph is back from his music writing vacation I hope we might see some of the expansion handling stuff from PercX make its way into HISE.

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

                            DalartD 2 Replies Last reply Reply Quote 1
                            • DalartD
                              Dalart @d.healey
                              last edited by

                              @d-healey Thanks again David, more stuff to tinker with. I appreciate the responses and help you give !

                              1 Reply Last reply Reply Quote 0
                              • DalartD
                                Dalart @d.healey
                                last edited by

                                @d-healey said in Expansion User Presets:

                                HI_ENABLE_EXPANSION_EDITING

                                I was able to find HISE_ENABLE_EXPANSIONS in the Projucer project file, I was unable to locate the HI_ENABLE_EXPANSION_EDITING setting though. Is there another location I need to look in ?

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

                                  @Dalart You have to add it as a Preprocessor definition.

                                  153c97e7-216c-4b9e-ba70-48b66d78b936-image.png

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

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    arminh @d.healey
                                    last edited by arminh

                                    @d-healey how i can get list of expansions? I tried something like this

                                    const var Viewport1 = Content.getComponent("Viewport1");
                                    
                                    var expList = Engine.getExpansionList();
                                    
                                    Viewport1.set("items", expList.join("\n"));
                                    

                                    It's not work for me, instead exp list im getting object code ;P

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

                                      @arminh You need to loop through the result. I'll make a video about the expansion system for next month.

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

                                      A 1 Reply Last reply Reply Quote 2
                                      • A
                                        arminh @d.healey
                                        last edited by

                                        @d-healey im waiting for this tutorial! I made simply for loop and yes i had arr with 2 values - 0 and 1, but i don't know what do next. I better wait for your guide :D

                                        1 Reply Last reply Reply Quote 2
                                        • DalartD
                                          Dalart @d.healey
                                          last edited by

                                          @d-healey I joined your patreon and watched the expansions 101 video, everything worked as you showed it would - however I really like this 4 column layout you have in your player is there a snippet or video that shows how you did this ?

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

                                            @Dalart There is no snippet, but don't worry, in the latest version of HISE scriptnode the 4th column is built into the preset browser - however the expansion system is currently broken so we need to wait for Christoph to fix it before it can be used.

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

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

                                            14

                                            Online

                                            1.7k

                                            Users

                                            11.8k

                                            Topics

                                            102.6k

                                            Posts