No internet connection
  1. Home
  2. Macro and Script Help

macOS Sonoma: Exporting an AIFF file to my desktop brings up an error message.

By Dean Landon @Dean
    2023-09-18 20:01:32.266Z

    Title

    Exporting an AIFF file to my desktop brings up an error message.

    What do you expect to happen when you run the script/macro?

    The script is supposed to Export an AIFF 24/48 to my desktop.

    Are you seeing an error?

    When I click on my iPad to run the command, the PT Export Selected window pops up and immediately after, I get the Default Preset failed message: Could not open popup menu (Export Clips as AIFF Files...: Line 124

    What happens when you run this script?

    1) Select Audio Clip in Pro Tools and run command 2) Export Selected window pops up 3) Error message pops up

    How were you running this script?

    Other

    How important is this issue to you?

    5

    Details

    {
        "inputExpected": "The script is supposed to Export an AIFF 24/48 to my desktop.",
        "inputIsError": true,
        "inputError": "When I click on my iPad to run the command, the PT Export Selected window pops up and immediately after, I get the Default Preset failed message: Could not open popup menu (Export Clips as AIFF Files...: Line 124",
        "inputWhatHappens": "1) Select Audio Clip in Pro Tools and run command\n2) Export Selected window pops up\n3) Error message pops up",
        "inputHowRun": {
            "key": "-MpfwoFyZNOpBC3X5xGI",
            "title": "Other"
        },
        "inputImportance": 5,
        "inputTitle": "Exporting an AIFF file to my desktop brings up an error message."
    }

    Source

    ////////////////////////////////////////  props  ///////////////////////////////////////////////////
    ////////////////////////////////////////  props  ///////////////////////////////////////////////////
    ////////////////////////////////////////  props  ///////////////////////////////////////////////////
    const {
        fileType,
        format,
        bitDepth,
        sampleRate,
        enforceAvid,
        publishingOptionsDismiss,
        resolveDuplicate,
        otherSampleRate,
        destinationOther,
        bouncedFilesFolder
    
    } = event.props
    
    //////////////////////////////////////////////////////////////////////////////////////////////////
    
    
    function isCurrentDestinationCorrect(path, win) {
        let volumeName
        const volume = path.split('/')
        volume[1] === 'Volumes' ? volumeName = volume.slice(0, 3).join('/') : volumeName = ''
        const destinationValue = win.childrenByRole('AXStaticText')[5].value.invalidate().value
        const currentDestination = volumeName + '/' + destinationValue.split(':').slice(1).join('/').slice(0, -1)
    
        return path === currentDestination
    }
    
    
    /// If Export clips win doesn't open, try to show audio and Auto-Created & try again
    function setClipListViews() {
        function clipListPopupMenu(path) {
            sf.ui.proTools.mainWindow.popupButtons.whoseTitle.is('Clip List').first.popupMenuSelect({
                menuPath: path, targetValue: "Enable"
            });
        }
        // Get clip list open/closed
        const clipListWasClosed = sf.ui.proTools.getMenuItem("View", "Other Displays", "Clip List").isMenuChecked
    
        /// Show audio and auto-created
        sf.ui.proTools.menuClick({ menuPath: ["View", "Other Displays", "Clip List"], targetValue: "Enable" });
    
        let enableViewMenus = [
            ["Clear Find"],
            ["Show", "Audio"],
            ["Show", "Auto-Created"],
        ]
        enableViewMenus.forEach(clipListPopupMenu)
    
        //  If clear find was needed, the clips need to be selected again so they get selected on the clip list
        const selectedTracks = sf.ui.proTools.selectedTrackNames
        sf.ui.proTools.trackDeselectAll()
        sf.ui.proTools.trackSelectByName({ names: selectedTracks })
    
        // Set clip list open/closed as it was
        if (!clipListWasClosed) sf.ui.proTools.menuClick({ menuPath: ["View", "Other Displays", "Clip List"], targetValue: "Disable" });
        // reset menus
        sf.keyboard.press({ keys: 'n', fast: true, repetitions: 2 });
        // Open export clips as files
        sf.keyboard.press({ keys: 'shift+command+k' });
    }
    
    
    function navigateToInDialog(path) {
        //Get a reference to the focused window in the frontmost app:
        const win = sf.ui.frontmostApp.focusedWindow;
    
        //Open the Go to... sheet
        sf.keyboard.type({ text: '/' });
    
        //Wait for the sheet to appear
        const sheet = win.sheets.first.elementWaitFor({ timeout: 500 }, 'Could not find "Go to" sheet in the Save/Open dialog').element;
    
        //Set the value of the combo box
        sheet.comboBoxes.first.value.value = path;
    
        //Press OK
        sheet.buttons.whoseTitle.is('Go').first.elementClick({}, 'Could not click "Go"');
    
        //Wait for sheet to close
        win.sheets.first.elementWaitFor({ waitForNoElement: true, timeout: 500 }, '"Go to" sheet didn\'t close in time');
    }
    
    
    ///   Export clips as files Function with settings
    function exportClipsAsFiles({ fileType, format, bitDepth, sampleRate, userLocation, enforceAvid, publishingOptionsDismiss, resolveDuplicate, otherSampleRate, dismissMP3Window }) {
    
        // reset menus
        sf.keyboard.press({ keys: 'n', fast: true, repetitions: 2 });
        // Open export clips as files
        sf.keyboard.press({ keys: 'shift+command+k' });
    
        const exportSelectedWin = sf.ui.proTools.windows.whoseTitle.is('Export Selected').first;
    
        exportSelectedWin.elementWaitFor({ waitType: "Appear", timeout: 100 }, function () {
            setClipListViews()
            exportSelectedWin.elementWaitFor({ waitType: "Appear" }, 'Export selected Win didn\'t open')
        });
    
        ///  Get all children into variables
        const [
            sampleRateBtn, bitDepthBtn, formatBtn, fileTypeBtn,
            enforceAvidCompatibilityCbx,
            chooseBtn,
            replacingWithNewFiles,
            autoRenaming,
            promptingForEachDuplicate,
            cancelBtn,
            exportBtn
        ] = exportSelectedWin.children.filter(child => child.title.value)
    
        // Disable Enforce Avid Compatibility
        if (fileType === 'MP3') {
            enforceAvidCompatibilityCbx.checkboxSet({ targetValue: "Disable" });
    
        } else {
            enforceAvidCompatibilityCbx.checkboxSet({ targetValue: enforceAvid });
        };
    
        // FILE TYPE    allItems[3]
        if (fileTypeBtn.title.value != fileType) {
            fileTypeBtn.popupMenuSelect({ menuPath: [fileType] })
        };
    
        // FORMAT    allItems[2]
        if (formatBtn.title.value != format) {
            formatBtn.popupMenuSelect({ menuPath: [format] })
        };
    
        // BIT DEPTH    allItems[1]
        if (fileType != "MP3" && bitDepthBtn.title.value != bitDepth) {
            bitDepthBtn.popupMenuSelect({ menuPath: [bitDepth] })
        };
    
        // SAMPLE RATE Other
        if (sampleRate === "Other") {
            if (sampleRateBtn.title.value != otherSampleRate) {
    
                sampleRateBtn.popupMenuSelect({ menuPath: ["Custom..."] });
                if (sf.ui.proTools.confirmationDialog.invalidate().buttons.whoseTitle.is('OK').first.exists) {
                    sf.ui.proTools.confirmationDialog.textFields.first.elementSetTextFieldWithAreaValue({ value: otherSampleRate });
                    sf.ui.proTools.confirmationDialog.buttons.whoseTitle.is('OK').first.elementClick();
                };
            };
        };
        // SAMPLE RATE    allItems[0]
        if (sampleRate != "Other") {
            if (sampleRateBtn.title.value != sampleRate) {
                sampleRateBtn.popupMenuSelect({ menuPath: [sampleRate] }, function () {
                    if (enforceAvid === "Enable" && sampleRate.split(' ')[0] > 48) {
                        sampleRateBtn.popupMenuSelect({ menuPath: ['48 kHz'] });
                        alert('Maximum sample rate allowed using enforce avid compatibility is 48 kHz.')
                    }
                });
            };
        };
    
        // Resolve Duplicate
        if (resolveDuplicate === "prompting") { promptingForEachDuplicate.elementClick() }
        else if (resolveDuplicate === "autoRenaming") { autoRenaming.elementClick() }
        else if (resolveDuplicate === "replacing") { replacingWithNewFiles.elementClick() }
    
    
        // If destination is not correct, choose correct one
        if (!isCurrentDestinationCorrect(userLocation, exportSelectedWin)) {
    
            /// Choose... location
            chooseBtn.elementClick();
    
            const openWin = sf.ui.proTools.windows.whoseTitle.is('Open').first.elementWaitFor({}, 'Open Win didn\'t open.').element
    
            navigateToInDialog(userLocation);
    
            openWin.buttons.getByTitle('Open').elementClick()
    
            openWin.elementWaitFor({ waitType: "Disappear" }, 'Open Win didn\'t close.')
    
        };
    
    
        /// Export...  Btn
        exportBtn.elementClick();
    
        if (fileType === "MP3" && dismissMP3Window) {
    
            const mp3Win = sf.ui.proTools.windows.whoseTitle.is("MP3").first.elementWaitFor().element
    
            mp3Win.buttons.whoseTitle.is("OK").first.elementClick();
        }
    
        if (publishingOptionsDismiss && enforceAvid === "Enable") {
    
            let publishingOptionsWin = sf.ui.proTools.windows.whoseTitle.is("Publishing Options").first
            if (publishingOptionsWin.exists) {
                publishingOptionsWin.buttons.whoseTitle.is("OK").first.elementClick();
            }
    
        } else if (enforceAvidCompatibilityCbx.isEnabled && enforceAvid === 'Enable') {
    
            let publishingOptionsWin = sf.ui.proTools.windows.whoseTitle.is("Publishing Options").first.elementWaitFor().element
            alert('SoundFlow will wait while you fill in the options.')
            publishingOptionsWin.elementWaitFor({ waitType: "Disappear", timeout: -1 })
        };
    };
    
    
    
    /////////////////////////////////////////    MAIN   //////////////////////////////////////////////
    sf.ui.proTools.appActivateMainWindow()
    
    
    const bouncedFolderPath = sf.ui.proTools.mainWindow.sessionPath.split('/').slice(0, -1).join('/') + '/Bounced Files';
    
    const dismissMP3Window = event.props.dismissMP3Window
    
    let userLocation
    bouncedFilesFolder ? userLocation = bouncedFolderPath : userLocation = destinationOther
    
    
    
    exportClipsAsFiles({
        fileType,
        format,
        bitDepth,
        sampleRate,
        userLocation,
        enforceAvid,
        publishingOptionsDismiss,
        resolveDuplicate,
        otherSampleRate,
        dismissMP3Window
    });
    

    Links

    User UID: S45xHsbBfQb9iI0ItOGS2OnVpod2

    Feedback Key: sffeedback:S45xHsbBfQb9iI0ItOGS2OnVpod2:-NedsZ7m3sf-wY7KFdi8

    Feedback ZIP: 7UcSa7zYo3eXdoSP1Oh59sT5POCd8m8SHeEOp/jOieqpflVsMhQ+Gu5AFC0b3g5dsZON8ABSHco5Yfnr7EkOwJ9KNLkEnBWMASAciCtKZ1pUF0X1RLdMwURbunDbOz9RaCMeCboB9Bna4aOa1873g9Kx8qf9/mE8GOn3Qm7X1+G1MxhqXmnWitJZHtAvh5EDez7sjiy/Tt07s4IAHUH1YxgbBNY+nyMLm0jvYWlvdWeVAT9OcxvW2EZO0kZvt+3Xgf62EhT0ybDAFf6QLYyB7EYLKeghOFt9f1Np31di6xMP1XQUxstEXrzbGxc3nVmdvCSNTeP4RJ0krZAFnkbwaA==

    • 9 replies
    1. Thanks, Dean!

      1. DDean Landon @Dean
          2023-09-19 06:11:26.353Z

          No problem, Christian.

        • S
          In reply toDean:
          SoundFlow Bot @soundflowbot
            2023-09-19 06:04:04.666Z

            This issue is now tracked internally by SoundFlow as SF-916

            1. In reply toDean:
              Kitch Membery @Kitch2024-03-07 22:16:26.690Z

              Hi @Dean

              I'm pleased to let you know that SoundFlow now supports using Pro Tools on macOS Sonoma.

              To get full Sonoma support, SoundFlow 5.7+, Pro Tools 2024.3+ and macOS Sonoma 14.3+ are required.

              You can download SoundFlow 5.7.0 today from our website at https://my.soundflow.org

              Read more at https://soundflow.org/docs/getting-started/install-soundflow/system-requirements](https://soundflow.org/docs/getting-started/install-soundflow/system-requirements)

              1. D
                In reply toDean:
                Dean Landon @Dean
                  2024-03-07 22:45:42.544Z

                  Hi Christian and Kitch, thank you so much. Great to know that SoundFLow now supports PT in Sonoma. I just updated the macOS to 14.4. I'll let you know if I run into a snag. Thanks again guys! :)

                  1. D
                    In reply toDean:
                    Dean Landon @Dean
                      2024-03-07 22:57:59.897Z

                      Hey guys, I'm still getting the black screens on my iPad Pros.

                      After reinstalling 5.7.0, I rebooted the Mac Studio Ultra and both iPads, but that didn't help.

                      Any thoughts?

                      Thanks!

                      UPDATE: I just deleted SoundFlow from the iPads and reinstalled it. That may have fixed the problem. I'll let you know if it doesn't. Thanks guys!

                      1. If not, please open up a new bug report so we'll have fresh logs and we can take a look from there :)

                        1. DDean Landon @Dean
                            2024-03-07 23:27:07.484Z

                            Will do, thanks Christian.

                        2. D
                          In reply toDean:
                          Dean Landon @Dean
                            2024-03-08 00:05:40.519Z

                            I was hoping it wouldn't happen again, but it is.

                            Convo continues here: 5.7.0 RC still causing iPad blank/black window