HISE Logo Forum
    • Categories
    • Register
    • Login

    Expansion Tutorial

    Scheduled Pinned Locked Moved Blog Entries
    133 Posts 16 Posters 11.3k 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.
    • H
      HISEuser @Christoph Hart
      last edited by

      @Christoph-Hart Will that 1234 key work with any project that can load an extension? Without changes? If that's what I want to be the case.

      1 Reply Last reply Reply Quote 0
      • Y
        yall @Christoph Hart
        last edited by

        @Christoph-Hart great, when will this be possible?

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

          @yall said in Expansion Tutorial:

          @Christoph-Hart great, when will this be possible?

          It already is, that's what Christoph's announcement was for :)

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

          Y 1 Reply Last reply Reply Quote 0
          • Y
            yall @d.healey
            last edited by

            @d-healey 😂 do you have to recompile hise with the latest scriptnode branch?

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User
              last edited by

              Does this new expansion encryption includes simple serial protection stuff?

              Since Hise creates a json dump file while serial number validation, can we use this encryption method here too?

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

                @Christoph-Hart
                i just tried, so indeed the encryption works, but one thing i don't understand, the .hxi file created is only to "protect" the expansion? how to turn the "mini expansions project" into a single file? I must have missed something ^^

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

                  Lol the hxi file is the mini project. Everything is in there (except for the samples obviously)

                  Y 1 Reply Last reply Reply Quote 0
                  • Y
                    yall @Christoph Hart
                    last edited by

                    @Christoph-Hart it also includes the sample map folder?
                    so if I understand correctly, the end user either simply has in Appdata .... / expansionsName, a Sample folder and the .hxi file?
                    I ask because in fact, my hxi file has a size of 30kb it seemed really very small to me

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

                      Thats the power of zstd...

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

                        And the correct path is APPDATA/Expansions/ExpansionName/info.hxi

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

                          @Steve-Mohican said in Expansion Tutorial:

                          Does this new expansion encryption includes simple serial protection stuff?

                          Since Hise creates a json dump file while serial number validation, can we use this encryption method here too?

                          No the serial key restriction is totally unrelated to expansions

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

                          1 Reply Last reply Reply Quote 0
                          • Y
                            yall
                            last edited by

                            @Christoph-Hart ok great. I get it. in the expansionName folder there must be only the hxi file and the sample folder ok? and if i want to modify my expansion i have to remove the hxi because the expansion becomes unreadable in the sampler is that correct?

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

                              Yes. While you can still load the samplemaps that are embedded in the .hxi file using scripting calls, they will not show up in the sampler's dropdown anymore (because you would be operating on the embedded data and not the actual .xml files which would be terrible annoying to realize later)...

                              There's also a quick feature that removes the hxi / hxip files and bumps the "expansion level" back by one using this button on the expansion property popup:

                              7e6449f6-4ecf-41a7-9feb-86ad5094cd92-image.png

                              Y 1 Reply Last reply Reply Quote 0
                              • Y
                                yall @Christoph Hart
                                last edited by

                                @Christoph-Hart ok great. I get it. in the expansionName folder there must be only the hxi file and the sample folder ok? and if i want to modify my expansion i have to remove the hxi because the expansion becomes unreadable in the sampler is that correct?

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

                                  Yes. While you can still load the samplemaps that are embedded in the .hxi file using scripting calls, they will not show up in the sampler's dropdown anymore (because you would be operating on the embedded data and not the actual .xml files which would be terrible annoying to realize later)...

                                  There's also a quick feature that removes the hxi / hxip files and bumps the "expansion level" back by one using this button on the expansion property popup:

                                  6cf957fd-14c3-4436-a43f-c00dce718499-image.png

                                  Y 1 Reply Last reply Reply Quote 0
                                  • Y
                                    yall @Christoph Hart
                                    last edited by

                                    This post is deleted!
                                    1 Reply Last reply Reply Quote 0
                                    • Christoph HartC
                                      Christoph Hart
                                      last edited by

                                      @yall I see that you've pasted your question again and then deleted it :)

                                      Anyways I've just pushed a few changes to the system that smooth out some edges:

                                      • you don't have to call ExpansionHandler.setEncryptionKey() anymore. I don't remember exactly why I added it in the first place but I think that it was before I used the project-wide Encryption Key setting in the project settings and I can't think of a scenario where this call isn't 100% redudant.
                                      • you can now specify the target directory when installing an expansion with ExpansionHandler.installFromPackage(). You also get Expansion.setSampleFolder() and Expansion.getSampleFolder() so you can implement a way that the user can change the folders afterwards.
                                      • I backrolled the change that David added to FileSystem.browse. Using 5 parameters and remembering their correct order is a bit too much, so I used the old signature for browse and added a browseForDirectory() function to add the other functionality.
                                      d.healeyD LindonL 2 Replies Last reply Reply Quote 3
                                      • d.healeyD
                                        d.healey @Christoph Hart
                                        last edited by

                                        @Christoph-Hart Thanks Christoph!

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

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

                                          @Christoph-Hart said in Expansion Tutorial:

                                          @yall I see that you've pasted your question again and then deleted it :)

                                          Anyways I've just pushed a few changes to the system that smooth out some edges:

                                          • you don't have to call ExpansionHandler.setEncryptionKey() anymore. I don't remember exactly why I added it in the first place but I think that it was before I used the project-wide Encryption Key setting in the project settings and I can't think of a scenario where this call isn't 100% redudant.
                                          • you can now specify the target directory when installing an expansion with ExpansionHandler.installFromPackage(). You also get Expansion.setSampleFolder() and Expansion.getSampleFolder() so you can implement a way that the user can change the folders afterwards.
                                          • I backrolled the change that David added to FileSystem.browse. Using 5 parameters and remembering their correct order is a bit too much, so I used the old signature for browse and added a browseForDirectory() function to add the other functionality.

                                          Ok slightly confused about one or two things (likely more than that actually - knowing me).

                                          So I have an expansion : which I roll up into "something" (a .hxi file probably) that has everything in it that I need for my expansion(except the samples themselves)...

                                          OK so I put this file here:
                                          APPDATA/Expansions/ExpansionName/info.hxi

                                          where "APPDATA" includes my product name folder...

                                          Now I want to know where to put my Samples....

                                          So I think the best place is with all the original samples (lets call these the factory samples).

                                          So question: How do I get them there?

                                          Clearly my installer can take all the individual ch1 files and ask the user where they put the original set, but it might be a lot of files - so its messy, and the user might not recall...

                                          For the original install HISE has the hr1 file set and a process of unpacking them - is there a similar (planned) process for expansions? if not can we have one?

                                          So user buys expansion, installer puts the .hx1 file where it needs to be , product start - finds an expansion that isnt "configured" asks the user for the hr1 file equivalent for the expansion, and as it already KNOWS the SAMPLES location it unpacks the hr1 equivalent putting the ch1 files in the correct spot...

                                          Or can it do all this already?

                                          HISE Development for hire.
                                          www.channelrobot.com

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

                                            @Lindon Allow the user to select the location they want to install the samples and pass this to ExpansionHandler.installFromPackage().

                                            For the original install HISE has the hr1 file set and a process of unpacking them

                                            That's what ExpansionHandler.installFromPackage() does, you just pass it the .hr1 file (the user can select this with a file browser) and the destination to extract the samples to (user can select this with a directory browser) :)

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

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

                                            21

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.4k

                                            Posts