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.
    • Oli UllmannO
      Oli Ullmann
      last edited by

      Hello everyone,

      is there a way to write or unzip a file into the VST3 or AU folder (MAC)? I do NOT mean the user VST3/AU folder, but the general one.

      All threads in the forum on this topic have not yet had a solution.

      (I think under Windows it is possible if you check the “Admin Permissions” box in HISE and compile a standalone application)

      Thank you very much
      Oli

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

        I'm not aware of a way to do it but I'm using packages for installing my plugin files, I haven't tried extracting a zip for this purpose.

        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 thought you were using your own installer? Or is it a combination of your own installer and packages?

          And if I may ask - what are you using under Windows?

          d.healeyD 1 Reply Last reply Reply Quote 0
          • 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