HISE Logo Forum
    • Categories
    • Register
    • Login

    File.startAsProcess

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

      @d-healey
      If I just type "QUADRIUM_0_9_Beta_r0002.pkg" it says "command not found".
      Maybe because it is a pkg file?
      And if so is there a way to start/open pkg files from within HISE?

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

        @Oli-Ullmann Seems strange, are you using a bash terminal?

        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
          I work on the Mac and use the build in terminal.

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

            @Oli-Ullmann But is it using bash or a different shell?

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

            d.healeyD Oli UllmannO 2 Replies Last reply Reply Quote 0
            • 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

                                18

                                Online

                                1.7k

                                Users

                                11.8k

                                Topics

                                102.4k

                                Posts