HISE Logo Forum
    • Categories
    • Register
    • Login

    Write or unzip a file into the VST3 or AU folder (MAC)

    Scheduled Pinned Locked Moved Scripting
    16 Posts 3 Posters 444 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 @Oli Ullmann
      last edited by

      @Oli-Ullmann For installing plugins on Windows I use InnoSetup, on MacOS I use Packages, and on Linux I'm using MakeSelf.

      For installing instruments (Rhapsody expansions) I use my own installer within Rhapsody, but these go in the app data folder as they aren't plugins themselves.

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

      Oli UllmannO 1 Reply Last reply Reply Quote 1
      • Oli UllmannO
        Oli Ullmann @d.healey
        last edited by

        @d-healey
        I understand, thanks for the explanation! :-)

        orangeO 1 Reply Last reply Reply Quote 0
        • orangeO
          orange @Oli Ullmann
          last edited by

          @Oli-Ullmann Although it is not a very effective method, there is an API through which you can open the application via HISE.

          So you can run installers after downloading, or maybe even zip files.

          startAsProcess
          

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          Oli UllmannO 1 Reply Last reply Reply Quote 1
          • Oli UllmannO
            Oli Ullmann @orange
            last edited by

            @orange
            Yes, that was exactly my solution!

            I create the plug-in installer with Packages/InnoSetup and download it into the appData folder of my online content installer (which I am currently programming). This then starts the external Packages Installer after the complete sound content has been downloaded and installed.

            As you wrote, it's not the most effective solution, but it's the only one I can think of right now.

            I supply wavetables with my plug-in, which I download using my own online installer and unpack into the appData/Audiofiles folder of my plug-in. I have no idea how I could do this with packages. I'm sure it is possible, but I don't know anything about packages or InnoSeput.

            orangeO 1 Reply Last reply Reply Quote 0
            • orangeO
              orange @Oli Ullmann
              last edited by orange

              @Oli-Ullmann

              For Inno, it's easy. You can directly copy the samples to the user AppData folder with this.

              Source: TheProjectPath\Samples\*.*; DestDir: "{userappdata}\ YourCompany\YourPlugin\"; Flags: ignoreversion
              
              

              For Packages, you can't directly copy paste the files to the user AppData folder because of the permissions. For this, you need to create a bash script. This script first copies the sample files to a temporary folder, then move the content to the user AppData folder after the installation completed. The below is the template that I use. You need to create this bash script and put it into the Post Installation Script section in the Packages.

              #!/bin/sh
              # Created by Beyhan KILIC on 2022/12/03.
              
              sudo -u $USER mkdir -p $HOME/Library/Application\ Support/YourCompany/YourPlugin/
              
              /usr/bin/rsync -avurpE --remove-source-files /Library/Application\ Support/YourCompany/YourPlugin\ Temp\ Files/YourPlugin/ $HOME/Library/Application\ Support/YourCompany/YourPlugin/
              
              sudo find $HOME/Library/Application\ Support/YourCompany/YourPlugin\ Temp\ Files/ -type d -user root -exec sudo chown -R $USER: {} +
              
              rm -rf /Library/Application\ Support/YourCompany/YourPlugin\ Temp\ Files
              
              exit 0
              

              NOTE: You might want to copy the LinkOSX and LinkWindows files as well.

              Screen Shot 2024-10-25 at 12.48.11.png

              develop Branch / XCode 13.1
              macOS Monterey / M1 Max

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

                @orange said in Write or unzip a file into the VST3 or AU folder (MAC):

                For Packages, you can't directly copy paste the files to the user AppData folder because of the permissions. For this, you need to create a bash script. This script first copies the sample files to a temporary folder, then move the content to the user AppData folder after the installation completed. The below is the template that I use. You need to create this bash script and put it into the Post Installation Script section in the Packages.

                You can install into both the user and system folders with packages. There are instructions on the packages website and I made a video about it.

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

                orangeO 1 Reply Last reply Reply Quote 1
                • orangeO
                  orange @d.healey
                  last edited by orange

                  @d-healey said in Write or unzip a file into the VST3 or AU folder (MAC):

                  You can install into both the user and system folders with packages. There are instructions on the packages website and I made a video about it.

                  But as far as I can see, the method in this video does not make the process easier. You are creating 2 packages files and also still use a bash script like I mentioned above.

                  Why use 2 packages files and 1 bash script when we can use just 1 packages file and 1 bash script? :)

                  Frankly I wouldn't prefer that.

                  develop Branch / XCode 13.1
                  macOS Monterey / M1 Max

                  d.healeyD Oli UllmannO 2 Replies Last reply Reply Quote 0
                  • d.healeyD
                    d.healey @orange
                    last edited by

                    @orange The bash script is simpler as it just runs the second package, it doesn't need to copy files to a temp folder and move them to another location.

                    I find using two packages is a nice way to keep things organised and I generate them automatically from my build script so it's not extra work once it's setup.

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

                    1 Reply Last reply Reply Quote 0
                    • Oli UllmannO
                      Oli Ullmann @orange
                      last edited by

                      @orange @d-healey
                      But isn't the Packeges/Inno Installer then huge? My sample and wavatable content together is 14GB in size. Or can I deliver the content as Zips and Packages/Inno can then access these Zip files?

                      The samples can be copied anywhere. However, the wavetables must be copied to the appData/Audiofiles folder. I don't want the user to have to copy the files there manually. This can be problematic, especially for beginners.

                      I'll have to look for some packages/inno tutorials! :-)

                      Thank you very much
                      Oli

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

                        @Oli-Ullmann said in Write or unzip a file into the VST3 or AU folder (MAC):

                        But isn't the Packeges/Inno Installer then huge?

                        Don't include your samples in the installer, they can be delivered separately. I think @orange was referring to the files you need to put in AppData.

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

                        Oli UllmannO 1 Reply Last reply Reply Quote 0
                        • Oli UllmannO
                          Oli Ullmann @d.healey
                          last edited by

                          @d-healey
                          Ok, I'll give it a try.

                          Thank you guys!

                          orangeO 1 Reply Last reply Reply Quote 0
                          • orangeO
                            orange @Oli Ullmann
                            last edited by orange

                            @Oli-Ullmann I couldn't see a file size limitation in Packages. Are you getting an error while building a 14GB size installer with it?

                            For Inno, I believe there is no limitation too. Inno divides it into 2 GB packages, but ultimately an installer can be created.

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

                            Oli UllmannO 1 Reply Last reply Reply Quote 0
                            • Oli UllmannO
                              Oli Ullmann @orange
                              last edited by

                              @orange
                              I haven't tried it yet. I'm more interested in the fact that the user doesn't have to download a 14GB file...

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

                              21

                              Online

                              1.7k

                              Users

                              11.8k

                              Topics

                              102.6k

                              Posts