HISE Logo Forum
    • Categories
    • Register
    • Login

    New API: Server and FileSystem

    Scheduled Pinned Locked Moved General Questions
    71 Posts 8 Posters 5.3k 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.
    • A
      arminh
      last edited by arminh

      Im trying to get list of files by using

      var files = FileSystem.findFiles("AudioFiles", "*.wav", true);
      

      and in result im gettin empty array. Any tips? And yes, i have files in this folder. :P

      1 Reply Last reply Reply Quote 0
      • A
        arminh
        last edited by

        Being honest i can't scan any folder and can't find any file ...

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

          You need to create a reference to the folder first:

          const var audioFiles = FileSystem.getFolder(FileSystem.AudioFiles);
          
          FileSystem.findFiles(audioFiles, "*.wav", true);
          

          Also use the constant FileSystem.AudioFiles instead of "AudioFiles".

          A B 2 Replies Last reply Reply Quote 0
          • A
            arminh @Christoph Hart
            last edited by

            @Christoph-Hart said in New API: Server and FileSystem:

            const var audioFiles = FileSystem.getFolder(FileSystem.AudioFiles);

            FileSystem.findFiles(audioFiles, "*.wav", true);

            thanks, but i gettin error

            Interface:! Line 3, column 66: Function / constant not found: FileSystem.AudioFiles {SW50ZXJmYWNlfHwxMDZ8M3w2Ng==}
            
            1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart
              last edited by

              Ooops, my bad, I think this was in the second batch of constants which I forgot to add to the scripting object. Will fix it later. If you can't wait, goto

              hi_scripting/scripting/api/ScriptingApi.cpp
              

              and add

              addConstant("AudioFiles", (int)AudioFiles);
              

              at line 4381 (the constructor of the FileSystem object).

              1 Reply Last reply Reply Quote 0
              • A
                arminh
                last edited by

                @Christoph-Hart unfortunly it still not work. I tried use other place but still the same error. Im using latest scriptnode.

                constant not found: FileSystem.Desktop
                
                A 1 Reply Last reply Reply Quote 0
                • A
                  arminh @arminh
                  last edited by

                  @Christoph-Hart any solution?

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

                    I'll take a look tomorrow.

                    1 Reply Last reply Reply Quote 1
                    • B
                      BWSounds @Christoph Hart
                      last edited by

                      @Christoph-Hart said in New API: Server and FileSystem:

                      You need to create a reference to the folder first:

                      const var audioFiles = FileSystem.getFolder(FileSystem.AudioFiles);
                      
                      FileSystem.findFiles(audioFiles, "*.wav", true);
                      

                      Also use the constant FileSystem.AudioFiles instead of "AudioFiles".

                      Can we do this with MIDI FILES?

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

                        Are you talking about embedded Midi files or files on the user‘s disk?

                        Embedded files should be retrievable with MidiPlayer.getMidiFileList() - it‘s not implemented yet but it will follow the same logic as Sampler.getSampleMapList().

                        B 1 Reply Last reply Reply Quote 1
                        • A
                          arminh
                          last edited by

                          @Christoph-Hart you had a chance to check why consts not working properly?

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

                            @Christoph-Hart said in New API: Server and FileSystem:

                            Are you talking about embedded Midi files or files on the user‘s disk?

                            Embedded files should be retrievable with MidiPlayer.getMidiFileList() - it‘s not implemented yet but it will follow the same logic as Sampler.getSampleMapList().

                            Files on a user's disk. Really a way to save or create a path for midi files.

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

                              @arminh I've just committed the fix, it should work now.

                              @BWSounds Now you can pass in scriptfile objects into MidiPlayer.saveAsMidiFile / MidiPlayer.setFile (Plus you got MidiPlayer.getMidiFileList()` for all internal references).

                              A B 2 Replies Last reply Reply Quote 1
                              • A
                                arminh @Christoph Hart
                                last edited by arminh

                                @Christoph-Hart ok audio files work but desktop not :)

                                constant not found: FileSystem.Desktop {SW50ZXJmYWNlfHwyMzJ8MTB8NjU=}
                                
                                

                                Is there option to show file name of object?

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

                                  Damn that‘s annoying ;)

                                  Change line 4389 from 6 to 9, it ran out of the predefined slots...

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

                                    Never mind, I've fixed it, so you can just pull.

                                    A 1 Reply Last reply Reply Quote 1
                                    • A
                                      arminh @Christoph Hart
                                      last edited by arminh

                                      @Christoph-Hart thanks! :) And how to exctract name or path from object? I don't see any method in API to do this :)
                                      Using trace gives me empty Interface log.

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

                                        Link Preview Image
                                        HISE | Docs

                                        favicon

                                        (docs.hise.audio)

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          arminh @Christoph Hart
                                          last edited by arminh

                                          @Christoph-Hart thanks a lot. I also used Filename but the result is the same as with FullPath.

                                          Using this

                                          for (f in files)
                                          {
                                              var p = f.toString(Filename);
                                              audioArr.push(p);
                                          }
                                          

                                          gives me links like this

                                          "/Users/armin/Library/Application Support/My Company/test/filez/pluck5.wav",
                                          
                                          1 Reply Last reply Reply Quote 1
                                          • B
                                            BWSounds @Christoph Hart
                                            last edited by BWSounds

                                            This post is deleted!
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            14

                                            Online

                                            1.7k

                                            Users

                                            11.9k

                                            Topics

                                            103.5k

                                            Posts