Hello , i'm trying to make an UI to import my presets .ffx
I have a main folder named MyPresetFolder ,and inside ,two other folders named Preset_Files_01 and Preset_Files_02 .
and inside each Presets_Files ,a lot of .ffx
What i want to do with my ui is when i choose the file 1 or 2 ,the seconde line update the list to load ...
with my code, it's works only at the beginning ..i dont know how to said if i change the select folder,update the folder preset.....
if someboy can help me ??
Thanks everyone...
Here is my code
function FFX(obj)
//===============================================
//================= UI============================
//===============================================
{
function addHGroup(conteneur){
var groupe = conteneur.add("group");
groupe.alignChildren = ["fill","fill"];
groupe.orientation = "row";
groupe.spacing = 1;
groupe.margins = 0;
return groupe;
}
function addVGroup(conteneur){
var groupe = conteneur.add("group");
groupe.alignChildren = ["fill","fill"];
groupe.orientation = "column";
groupe.spacing = 1;
groupe.margins = 0;
return groupe;
}
var fenetre = obj instanceof Panel ? obj : new Window("window","MyPresets",undefined,{resizeable:true});
fenetre.alignChildren = ["fill", "top"];
fenetre.spacing = 2;
fenetre.margins = 3;
var versionGroup3 = addHGroup(fenetre);
versionGroup3.alignment = ["fill","bottom"];
var widthGroup = addHGroup(fenetre);
widthGroup.alignChildren = ["fill","center"];
var PATH_Button = widthGroup.add("button",undefined,"Load");
//________________________________________________________________________________________ ________________________________________________
var presetsFolder = Folder("~/Desktop/MyPresetFolder");
var arrayPresets = presetsFolder.getFiles('Preset*');
var fileNames = getFileNames(arrayPresets);
function getFileNames(arrayPresets) {
var fileNames = [],
baseName = "";
for (var i = 0, il = arrayPresets.length; i < il; i++) {
baseName = arrayPresets[i].displayName.split("_")[0];
fileNames.push(baseName);
}
return fileNames;
}
var widthGroup = addHGroup(fenetre);
widthGroup.add("statictext", [0,0,80,18], "Select Folder:");
var Chemin1 = widthGroup.add('dropdownlist', [0,0,200,18], fileNames);
Chemin1.selection = 0;
//alert(Chemin1.selection.text)
//________________________________________________________________________________________ ________________________________________________
var presetsFolder2 = Folder("~/Desktop/MyPresetFolder/"+(Chemin1.selection.text));
//alert(presetsFolder2)
var arrayPresets2 = presetsFolder2.getFiles('*.ffx');
var fileNames2 = getFileNames(arrayPresets2);
function getFileNames(arrayPresets2) {
var fileNames2 = [],
baseName2 = "";
for (var i = 0, il = arrayPresets2.length; i < il; i++) {
baseName2 = arrayPresets2[i].displayName.split(".")[0];
fileNames2.push(baseName2);
}
return fileNames2;
}
var widthGroup = addHGroup(fenetre);
widthGroup.add("statictext", [0,0,80,18], "Select Preset:");
var Chemin2 = widthGroup.add('dropdownlist', [0,0,200,18], fileNames2);
Chemin2.selection = 0;
//CLICK ALL____________________________________________________________________
PATH_Button.onClick = function (){
}
//================= AFFICHAGE DE L'UI ============
fenetre.layout.layout(true);
fenetre.layout.resize();
fenetre.onResizing = fenetre.onResize = function () {fenetre.layout.resize()};
if (fenetre != null ) if (fenetre instanceof Window) fenetre.show();
}
FFX(this);