No internet connection
  1. Home
  2. How to

Issue with "Choose a destination folder" Window

By Nathan Salefski @nathansalefski
    2023-07-26 20:39:00.983Z

    Simple import function as part of a larger prep script: all is functioning except I can't seem to get the value of the secondary pop-up window when importing audio -- where you choose the folder for the audio to be copied to. Anyone know why this (Line 36) isn't working?

    function importAudio() {
    
    //Refresh Cache
    sf.ui.proTools.mainWindow.invalidate();
    //File, Import, Audio
    sf.ui.proTools.menuClick({
        menuPath: ["File","Import","Audio..."],
    });
    //Define Import Audio Window
    const openWin = sf.ui.proTools.windows.whoseTitle.is('Open').first;
    //Wait for 'Open' Window
    openWin.elementWaitFor({waitType: "Appear"});
    //Open 'Go' Sheet
    sf.keyboard.type({ text: '/' });
    //Wait for 'Go' Sheet Window to Appear
    openWin.sheets.first.elementWaitFor({waitType: "Appear"});
    //Set Destination
    openWin.sheets.first.textFields.first.elementSetTextAreaValue({
        value: `${importDirectory}`,
    });
    //Press Return
    sf.keyboard.press({
        keys: "return",
    });
    //Wait for 'Go' Sheet Window to Disappear
    openWin.sheets.first.elementWaitFor({waitType: "Disappear"});
    //Select All
    sf.keyboard.press({
        keys: "cmd+a",
    });
    //Click "Copy"
    openWin.buttons.whoseTitle.is("Copy ->").first.elementClick();
    //Click "Open"
    openWin.buttons.whoseTitle.is('Open').first.elementClick();
    //Reference Folder Window
    const folderWin = sf.ui.proTools.windows.invalidate().getByTitle("Choose a destination folder");
    //Wait for Folder Window to Appear
    folderWin.elementWaitFor({waitType: "Appear"});
    //Click Open
    folderWin.buttons.whoseTitle.is('Open').first.elementClick();
    //Reference to Audio Import Options Window
    const aIOWin = sf.ui.proTools.windows.whoseTitle.is("Audio Import Options").first
    //Wait for 'Go' Sheet Window to Appear
    aIOWin.elementWaitFor({waitType: "Appear"});
    //Click "OK" to New Track
    aIOWin.buttons.whoseTitle.is("OK").first.elementClick();
    //Wait
    sf.ui.proTools.waitForNoModals();
    
    }
    
    • 1 replies
    1. Nathan Salefski @nathansalefski
        2023-07-26 20:46:44.756Z

        Looks like it's also part of the 'Open' Window so this seemed to do the trick

        function importAudio() {
        
        //Refresh Cache
        sf.ui.proTools.mainWindow.invalidate();
        //File, Import, Audio
        sf.ui.proTools.menuClick({
            menuPath: ["File","Import","Audio..."],
        });
        //Define Import Audio Window
        const openWin = sf.ui.proTools.windows.whoseTitle.is('Open').first;
        //Wait for 'Open' Window
        openWin.elementWaitFor({waitType: "Appear"});
        //Open 'Go' Sheet
        sf.keyboard.type({ text: '/' });
        //Wait for 'Go' Sheet Window to Appear
        openWin.sheets.first.elementWaitFor({waitType: "Appear"});
        //Set Destination
        openWin.sheets.first.textFields.first.elementSetTextAreaValue({
            value: `${importDirectory}`,
        });
        //Press Return
        sf.keyboard.press({
            keys: "return",
        });
        //Wait for 'Go' Sheet Window to Disappear
        openWin.sheets.first.elementWaitFor({waitType: "Disappear"});
        //Select All
        sf.keyboard.press({
            keys: "cmd+a",
        });
        //Click "Copy"
        openWin.buttons.whoseTitle.is("Copy ->").first.elementClick();
        //Click "Open"
        openWin.buttons.whoseTitle.is('Open').first.elementClick();
        //Wait for 'Open' Window
        openWin.elementWaitFor({waitType: "Appear"});
        //Click "Open"
        openWin.buttons.whoseTitle.is('Open').first.elementClick();
        //Reference to Audio Import Options Window
        const aIOWin = sf.ui.proTools.windows.whoseTitle.is("Audio Import Options").first
        //Wait for 'Go' Sheet Window to Appear
        aIOWin.elementWaitFor({waitType: "Appear"});
        //Click "OK" to New Track
        aIOWin.buttons.whoseTitle.is("OK").first.elementClick();
        //Wait
        sf.ui.proTools.waitForNoModals();
        
        }