Get list of midi files
-
@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: ", ""); -
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. -
@d-healey said in Get list of midi files:
Console.print(trace(filelist[i]));
It returns
Interface: undefined -
@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.
-
@d-healey said in Get list of midi files:
fileList

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.

-
What do you get with
Console.print(fileList.length);? -
@d-healey 15, which is the amount of files in my test folder
-
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 uselocalin inline functions, and in on init use reg or const. 99% of the timevarshould not be used except in paint routines, mouse callbacks, timer callbacks, and occasionally a few other places. -
@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
-
@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() -
@d-healey said in Get list of midi files:
99% of the time var should not be used
Thanks for this advice as well.