HISE Logo Forum
    • Categories
    • Register
    • Login

    Get list of midi files

    Scheduled Pinned Locked Moved Scripting
    19 Posts 3 Posters 698 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.
    • Dan KorneffD
      Dan Korneff @d.healey
      last edited by

      @d-healey here's my attempt:

      //hold file list
      var fileList = [];
      const var formattedNames = [];
      
      const var Browse = Content.getComponent("Browse");
      
      inline function onBrowseControl(component, value)
      {
          if(value) //if button clicked
          {
              //open file broswer
              FileSystem.browseForDirectory("", function(dir)
                  {
                      //push midi list into array
                      fileList = FileSystem.findFiles(dir, "*.mid", false);
                      
                      for (i = 0; i < fileList.length; i++)
                      {
                          var newName = fileList[i];
                          newName = newName.replace("File: ", "");
          
                          formattedNames.push(newName);
                      }
                      
                  });
          }
      	
      };
      
      Content.getComponent("Browse").setControlCallback(onBrowseControl);
      

      getting this error:

      function not found
      at
       newName = newName.replace("File: ", "");

      Dan Korneff - Producer / Mixer / Audio Nerd

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

        filelist is an array of objects. So filelist[i] is an object not a string. Try Console.print(trace(filelist[i])); to see what is contained within your object.

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

        Dan KorneffD 1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @d.healey
          last edited by

          @d-healey said in Get list of midi files:

          Console.print(trace(filelist[i]));

          It returns

          Interface: undefined
          

          Dan Korneff - Producer / Mixer / Audio Nerd

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

            @dustbro If you're going to copy and paste things that I write you should check that I've written it correctly ;) Your variable is called fileList, not filelist.

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

            Dan KorneffD 1 Reply Last reply Reply Quote 0
            • Dan KorneffD
              Dan Korneff @d.healey
              last edited by Dan Korneff

              @d-healey said in Get list of midi files:

              fileList

              giphy.gif

              I've been sitting at the computer for 13 hours... maybe I need a break.

              Now that I'm using variables that actually exist in my project, it returns empty:

              Interface: 
              

              Also, thanks for the help. 👍

              Dan Korneff - Producer / Mixer / Audio Nerd

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

                What do you get with Console.print(fileList.length);?

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

                Dan KorneffD 1 Reply Last reply Reply Quote 0
                • Dan KorneffD
                  Dan Korneff @d.healey
                  last edited by Dan Korneff

                  @d-healey 15, which is the amount of files in my test folder

                  Dan Korneff - Producer / Mixer / Audio Nerd

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

                    Try this in place of your loop

                    for (f in fileList)
                    {
                    	Console.print(f.toString(File.FullPath));
                    }
                    

                    I also notice you're using some vars, always use local in inline functions, and in on init use reg or const. 99% of the time var should not be used except in paint routines, mouse callbacks, timer callbacks, and occasionally a few other places.

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

                    Dan KorneffD 2 Replies Last reply Reply Quote 1
                    • Dan KorneffD
                      Dan Korneff @d.healey
                      last edited by

                      @d-healey said in Get list of midi files:

                      Try this in place of your loop

                      Now we're talking! that returns the file path correctly

                      Dan Korneff - Producer / Mixer / Audio Nerd

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

                        @dustbro Yeah it's late here :) the objects in your array are all file objects so you have access to all of the File class functions, like toString()

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

                        1 Reply Last reply Reply Quote 0
                        • Dan KorneffD
                          Dan Korneff @d.healey
                          last edited by

                          @d-healey said in Get list of midi files:

                          99% of the time var should not be used

                          Thanks for this advice as well.

                          Dan Korneff - Producer / Mixer / Audio Nerd

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

                          16

                          Online

                          1.8k

                          Users

                          12.1k

                          Topics

                          104.9k

                          Posts