HISE Logo Forum
    • Categories
    • Register
    • Login

    How to avoid users having to unpack an hr1 file on first run of an instrument

    Scheduled Pinned Locked Moved General Questions
    27 Posts 5 Posters 579 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 @pcs800
      last edited by

      @pcs800 are you copying the samples with your installer? You will then create the link file jn the app data folder that points to the location in the installer too.

      There is another preprocessor which deactivates the entire sample installation dialogue but I‘ve forgot how it‘s called. If you use this then you can implement your own sample location logic.

      pcs800P 1 Reply Last reply Reply Quote 0
      • pcs800P
        pcs800 @Christoph Hart
        last edited by

        @Christoph-Hart Installer? I do not see where HISE creates installers. Should I use inno setup or something?
        Where should the samples be placed? In the vst folder where the .vst3 file get placed?
        Can you explain this?
        You will then create the link file jn the app data folder that points to the location in the installer too.

        d.healeyD pcs800P 2 Replies Last reply Reply Quote 0
        • d.healeyD
          d.healey @pcs800
          last edited by

          @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

          Should I use inno setup or something

          Yes, on Windows. On MacOS use Packages or DMG Canvas.

          @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

          Where should the samples be placed?

          You should ask the user where they want to put them on their system.

          @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

          In the vst folder where the .vst3 file get placed?

          Probably not.

          @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

          Can you explain this?
          You will then create the link file jn the app data folder that points to the location in the installer too.

          In the plugin's app data folder there is a folder called Samples. In there you need to place a file called LinkWindows (or LinkOSX on Mac). And in that file you put the path to actual location of the samples. Then when your plugin runs it will find the samples at the correct location. - When you used the hr1 installer that's what it did.

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

          pcs800P 1 Reply Last reply Reply Quote 1
          • pcs800P
            pcs800 @d.healey
            last edited by

            @d-healey plugin's app data folder? Where is that?
            This plugin project resides here Documents\HISE Projects\project name (this is Windows).

            1 Reply Last reply Reply Quote 0
            • pcs800P
              pcs800 @pcs800
              last edited by

              @Christoph-Hart
              I was guessing so I created an inno setup script which puts everything from the project \Compiled folder, into C:\Program Files\Common Files\VST3\product name.
              It places the samples in {userdocs}\Company name\Product name.
              It also put a file with no file extension, called "LinkWindows", into C:\Program Files\Common Files\VST3\product name
              Obviously this is wrong, because the plugin still asks for the samples when I run it.

              Can you clarify?

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

                In HISE, use File -> show Project app data folder in Explorer. This should open the exact directory where you need to put the LinkWindows file.

                pcs800P 1 Reply Last reply Reply Quote 0
                • pcs800P
                  pcs800 @Christoph Hart
                  last edited by

                  @Christoph-Hart Ok, i set the right path in the LinkWindows file located at File -> show Project app data folder in Explorer.
                  re-exported the plugin, bundled it into an installer and tried it on another pc. Same result, it is asking for the path to the audio.
                  Can I not simply embedd the samples into the plugin?

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

                    @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                    Can I not simply embedd the samples into the plugin?

                    Nope, plugins have to be shipped separately. If you don't want to roll your own installer the simplest solution is to use the hr file and HISE's built in installer as you have been.

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

                    pcs800P 1 Reply Last reply Reply Quote 0
                    • pcs800P
                      pcs800 @d.healey
                      last edited by

                      @d-healey That is not what I have been doing. I have been using innosetup to create the installer. Including the plugin files and samples.
                      I do not see a built in installer maker in Hise.

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

                        @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                        That is not what I have been doing.

                        I'm referring to the thing in your first post. When you launch the plugin it asks you to locate the hr file, it then extracts it and create the link file automatically.

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

                        pcs800P 1 Reply Last reply Reply Quote 0
                        • pcs800P
                          pcs800 @d.healey
                          last edited by

                          @d-healey Ok, but i do not want customers to have to do that. How can i have them install the plugin, and it just works without further config?

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

                            @pcs800 You have to write a custom script that innosetup can launch after the plugin installation to create the link file. And you'll need a similar script on Mac.

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

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

                              @d-healey said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                              @pcs800 You have to write a custom script that innosetup can launch after the plugin installation to create the link file. And you'll need a similar script on Mac.

                              or you can write some sort of downloader, either independent stand alone or inside your plugin - but inno, standalone or in-plug you are going to have to have a location(path) that you can use - you cannot assume any given folder/directory will be available on your end users machine - which is why everyone asks the user where they want the samples saving....

                              HISE Development for hire.
                              www.channelrobot.com

                              pcs800P 1 Reply Last reply Reply Quote 0
                              • pcs800P
                                pcs800 @Lindon
                                last edited by

                                @Lindon I am obviously new at this, and coding is not my thing. which is why I chose Hise, most things can be done without coding. It floors me that something separate has to be written or downloaded just to include the samples.
                                Maybe if I understood the process better, I wouldn't be so intimidated.
                                Let's assume the following.

                                • I will not be making mac versions, only windows
                                • I will only be creating vst3 plugins, not stand alone or vst2
                                • I would like to place the sampels inside the plugin vst3 folder, like this C:\Program Files\Common Files|VST3\My plugin\Samples

                                Can someone explain how to do that? In noob terms please?

                                d.healeyD LindonL 2 Replies Last reply Reply Quote 0
                                • d.healeyD
                                  d.healey @pcs800
                                  last edited by d.healey

                                  @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                  Can someone explain how to do that? In noob terms please?

                                  You include the samples with inno setup and it puts them in the location you choose. You need to write a script for innosetup to run after installation to create the link file - or you could write a script in your plugin to make it create the link file on first load.

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

                                  pcs800P 1 Reply Last reply Reply Quote 0
                                  • LindonL
                                    Lindon @pcs800
                                    last edited by Lindon

                                    @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                    @Lindon I am obviously new at this, and coding is not my thing. which is why I chose Hise, most things can be done without coding. It floors me that something separate has to be written or downloaded just to include the samples.
                                    Maybe if I understood the process better, I wouldn't be so intimidated.
                                    Let's assume the following.

                                    • I will not be making mac versions, only windows
                                    • I will only be creating vst3 plugins, not stand alone or vst2
                                    • I would like to place the sampels inside the plugin vst3 folder, like this C:\Program Files\Common Files|VST3\My plugin\Samples

                                    Can someone explain how to do that? In noob terms please?

                                    Well - how many sample based products have you installed? Every Kontakt instrumetn has to install the samples somewhere, as does every other sampler-based product, so in this regard HISE is no different. But lets look at your assumptions:

                                    • I will not be making mac versions, only windows

                                    Why would you? There is nothing intrinsically harder or easier in adding in a 2nd platform - which is one of the great benefits of HISE

                                    • I will only be creating vst3 plugins, not stand alone or vst2

                                    Correct - I assume you didn't get a VST2 license when they were available - a few years ago now - and thus don't have a license and thus cannot release VST2 format...mostly we've all given up on VST2 anyway...

                                    • I would like to place the sampels inside the plugin vst3 folder, like this C:\Program Files\Common Files|VST3\My plugin\Samples

                                    Very, very bad idea. First you are assuming there's is a C: drive, and then you are assuming that Program Files is mapped there - if you know enough about windows, or have enough experience with audio end users both of these assumptions are untrue for between 5-10% of you customer base (maybe a little less). Hint: system drive location is set-able in the BIOS. So what are you going to do when there is no C drive or no path called C:\Program Files\Common Files|VST3\My plugin\Samples ??

                                    But worse than this is not recognising in 2024 there will be nearly zero room on the end users system drive(even if it is C:\Program Files) Users these days have small very very fast system drives that can just about hold the OS and core audio programs - there will be very very little room left and your customers will not thank you for chewing a very large amount of it with your Samples. Obviously you can do whatever you like so go ahead, but - last piece of advice:

                                    Ask. The. User. Where. They. Want. The. Samples. And. Put. Them. There. NOWHERE ELSE.

                                    HISE Development for hire.
                                    www.channelrobot.com

                                    pcs800P 1 Reply Last reply Reply Quote 0
                                    • pcs800P
                                      pcs800 @d.healey
                                      last edited by

                                      @d-healey said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                      You include the samples with inno setup and it puts them in the location you choose. You need to write a script for innosetup to run after installation to create the link file - or you could write a script in your plugin to make it create the link file on first load.

                                      If i write the script in innosetup, how do I know where it should place the linkwindows file?
                                      Or if I put the script in the plugin itself to create the link file on first run, where dos the file get placed?
                                      Should I ask chatgpt to write it for me, or is someone here going to get more specific?

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

                                        @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                        how do I know where it should place the linkwindows file?

                                        In the plugin's app data folder, that's the same on all systems. You'll need to create the sub-folder tree if it doesn't already exist.

                                        @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                        Should I ask chatgpt to write it for me,

                                        You can try, but I wouldn't run the code unless you know what it does. Scripts that mess with files can cause problems if not written correctly.

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

                                        1 Reply Last reply Reply Quote 0
                                        • pcs800P
                                          pcs800 @Lindon
                                          last edited by

                                          @Lindon Actually I am extremelmly familiar wth Windows IS,s. I am a retired IT pro and dealt with windows xp on up thorugh win10, and every server version in between. VN's and Linux as well.
                                          I have yet to see an OS hard drive so small, that nothing can be installed on it. In fact, isn't the vst3 standard that all vst3 plugins are placed at OS drive\Program Files\Common Files\VST3?

                                          As far as mac, maybe I will create those later, but for now,since I am new, I would like to create windows vst3's only.

                                          I do not know how to create a script that allows the user to set the samples location. SO assuming I put them in say [userdocs}\company name\product name\samples
                                          Couldn't I just include this linkwindows file with that path already defined?

                                          d.healeyD bendursoB 2 Replies Last reply Reply Quote 0
                                          • d.healeyD
                                            d.healey @pcs800
                                            last edited by

                                            @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                            I do not know how to create a script that allows the user to set the samples location.

                                            This is what the hr installer does already.

                                            @pcs800 said in How to avoid users having to unpack an hr1 file on first run of an instrument:

                                            Couldn't I just include this linkwindows file with that path already defined?

                                            I didn't even think of that but yeah, actually I think that would work since it's the same location on both systems. The only issue I see is how do you get it in the app data folder on the user's system because they will have a different username to you. It's possible Innosetup provides a wildcard for the username though, I can't remember, so check the documentation.

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

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

                                            15

                                            Online

                                            1.8k

                                            Users

                                            12.0k

                                            Topics

                                            104.4k

                                            Posts