HISE Logo Forum
    • Categories
    • Register
    • Login

    File.startAsProcess

    Scheduled Pinned Locked Moved Scripting
    20 Posts 2 Posters 381 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 @d.healey
      last edited by

      Oh I have an idea, let me test something

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

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

        @d-healey
        It says "zsh: command not found" so I guess it's not bash. But to be honest, I'm not really familiar with it.

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

          @Oli-Ullmann Yeah I checked, on MacOS now it defaults to zsh instead of bash, but actually it seems the issue is that you must use the open command.

          You might know this already but I'll give a little explainer just in case you don't. When you run a "command" from the terminal on any OS, most of the time that command is not actually a command but it's running a program. For example when you run cp to copy a file, you are actually running a program called cp.

          In the present situation you are running a program called open and passing the file you want to run as a parameter.

          So my idea is instead of trying to execute the pkg file, you instead execute open and pass the pkg as the parameter in the parenthesis.

          To do this you'll need to get the open program into a file object. Usually these stock programs are in /usr/bin, but you can use which open to find the location if you need to.

          Putting it together:

          inline function installPlugIns()
          {
            local openCommand = FileSystem.fromAbsolutePath("/usr/bin/open");
            openCommand.startAsProcess(fileNames[0]);
          }
          

          Let me know if it works.

          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 Oli Ullmann

            @d-healey
            Unfortunately, that doesn't work yet either. I have checked with “which open” where the open program is located and it is also located at the path you specified.

            I have also tried this variant, but it still does not work.

            inline function installPlugIns()
            {
              local installerApp = downloadsFolder.getChildFile(fileNames[0]);
              local openCommand = FileSystem.fromAbsolutePath("/usr/bin/open");
              openCommand.startAsProcess(installerApp.toString(0));
            }
            

            I also used if(openCommand.isFile()) to check whether the file really exists.

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

              @Oli-Ullmann Ok, I'll fire up my Mac VM and see if I can figure it out

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

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

                @d-healey
                Thank you very much David! As always, you are a great help!

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

                  Works here, make sure your installerApp path is correct

                  HiseSnippet 904.3ocsUE0aaaCDlxIJXVcaXEnOsmD7SJEEV1wI1AnXXI1IdyXyoFyoEaOUPQQEyFJRARprYLz+y6eP6QIkH4lfzVCL+fgNd2GuO9w6NtPIITsVpPNdWtNihb9V2kqElUSVgYBzryPN64ZnZCZ75LrVSiQNN67KVeNs2EU76+94wXNVPn0KgPuQxHzemkxL0qt3jeiw4SwwzKYoMh9vSlQjhIRtLG3wNt8PYXx03qnWfsg0xE8qX8JjyycSFN3viNlb.cvnAGPGEM53iiHC5czv3XJ9P7n9wjgQzQ.I267XlQpVZv.6gMcrLd8xUx+VTlf2vzrHN0ZzGsDxb4xnIqX73E2JJZDxY2E0RzNkRzybmyhY2sdsT8CEN7qQzTzbZ8XTp+WAkbZPocKozScWRTrLSsGKedh6LggpRvvcSSpTFKp0O1xchDhPX5lhulNUAF2gHXXuduvG9a+W54A2OZiuj3+S9SYb5x0ZCMsahRldZjVxyMzEXypfNg4ZUXDSDJynhNVjdLAmIn9I4BhgIE9Rw3biQJ5aSsRxCHxzLo.HwK7uAyyo668udsYI9AUVsaqnlbk3kvWds4RBl6y.5f4bpxlVfTcBeslpzguStRDdFUesQlEBhw6nDiNboTEyD3w4fRFdGzvnB6Jmcyt9pNPJ7ZKIcgHTlS0UpYvFYCNTuGNW2JbWQMSt8.Dzo5n0Y+tZ65EGvI.zHnfN3SO4vN0PUtPZnuRDTb58dum+m5JI4A8UsW.4dP21NM0iALPjmFQUM0dafPk0lkq68kUtRJkkFAJEyDLyqf5gR6oRdrsLz988KtQU5J70qmcF1fs06UqAwkQUFlkNNmQuAlvTV821s5JuH1pKCfxlBueeUuQo3iXwV.U2Dn+odLzecx5ZiKOQiugNSrPQgaRaSCSOWlB6KVAg4zBc+lPn8WFmywlMmIXmVV4.T9MZDsMaBMyrt4zzuhAE8dzAEeoT7otKXFxpGlisd.NB2I+evwpwqem64IIPeaMA20c5etsyR+Lo+Oj4Fl3p4XihA0BtWjmtDdFhPgrKDTNr4tvksEZgcOqsUAVREwEFe.9U4ru01oxY+achRwDk7sjx9M6.7uoXEfShhG3Z6N2Z62GUzC1TmSg2SdKgr4VcOfGrs.Grs.ObaAdz1Bb31Bbz1B73OOP6y8mlajoksMHz7EmWLzxw4bAFp.KpVQeDcyfp1B
                  

                  Peek 2024-11-16 15-53.gif

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

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

                    @d-healey

                    I used the time to try this out in an empty project:

                    const dlfolder = FileSystem.getFolder(FileSystem.Downloads);
                    
                    const f = dlfolder.getChildFile("QUADRIUM_0_9_Beta_r0002.pkg");
                    
                    if(f.isFile())
                    {
                    	f.startAsProcess("");
                    }
                    

                    It works! So there must be another problem in my code.
                    const dlfolder = FileSystem.getFolder(FileSystem.Downloads);

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

                      @d-healey
                      Yes, there must be a different problem!

                      Nevertheless, thank you very much for your help David!

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

                        @d-healey
                        Stupid mistake! I was referring to the zip file in startAsProcess(“”) and not the pkg file.
                        So the installer was not copied as I thought, but it was unpacked again.

                        Thank you very much, David. The correspondence with you helped me to find the error.

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

                        20

                        Online

                        1.8k

                        Users

                        12.1k

                        Topics

                        105.0k

                        Posts