No internet connection
  1. Home
  2. Packages
  3. Melodyne Helpers

Melodyne Helpers not working anymore.

By Jav Lakambra @Jav_Lakambra
    2024-07-01 18:06:03.982Z

    Title

    Melodyne Helpers not working anymore.

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

    Melodyne Prep

    Are you seeing an error?

    Popup menu was not found ( -Common: Line 454) Popup window was not found after waiting 2000 ms

    What happens when you run this script?

    Popup menu was not found ( -Common: Line 454) Popup window was not found after waiting 2000 ms

    How were you running this script?

    I clicked the "Run Script" or "Run Macro" button in SoundFlow

    How important is this issue to you?

    5

    Details

    {
        "inputExpected": "Melodyne Prep",
        "inputIsError": true,
        "inputError": "Popup menu was not found (\n-Common: Line 454)\nPopup window was not found after waiting 2000 ms",
        "inputWhatHappens": "Popup menu was not found (\n-Common: Line 454)\nPopup window was not found after waiting 2000 ms",
        "inputHowRun": {
            "key": "-MpfwYA4I6GGlXgvp5j1",
            "title": "I clicked the \"Run Script\" or \"Run Macro\" button in SoundFlow"
        },
        "inputImportance": 5,
        "inputTitle": "Melodyne Helpers not working anymore."
    }

    Source

    /* 
    This script will place Melodyne on all selected tracks and then transfer all audio on those tracks into Melodyne offline
    Here are the steps:
    1)  Melodyne needs to be in the first insert slot before other processing.  The script goes through the selected tracks, makes sure there is at least one free insert, 
        and moves existing inserts to free up slot A if it's in use.  If any selected track has all 10 inserts full the script will exit with an error message.
    2)  Melodyne is insert in slot A of each track, the transfer button is clicked and the window is closed
    3)  The selected tracks are committed, which will transfer the audio into Melodyne offline, usually at very high speed.
    4)  Committing the tracks creates un-needed tracks and audio.  The script then goes through and deletes the audio, then the tracks
    5)  The first instance of Melodyne is then opened so you're ready to work!
    
    */
    
    const {
        checkBoxes,
        getUserMemLocSettings,
        saveUserWinConfig,
        recallUserMemLocSettings,
        recallAndDeleteWinConfig,
        setAllTracksToSmall,
        saveCurrentTrackView,
        recallAndDeleteTrackView,
        ensureDirectory,
        ensureIcon,
        setupScreen,
        makeRoomForMelodyne,
        addMelodyne,
        commitTheTracks,
        cleanupCommittedTracks
    
    } = require('package:ckyykzoei0002h010tvongs24');
    
    
    
    
    
    
    function main() {
        // ---------- Initialise Variables ---------------
        // Refresh PTs track list
        sf.ui.proTools.appActivateMainWindow();
        sf.ui.proTools.invalidate();
        //Get selected tracks
        var trackCount = sf.ui.proTools.selectedTrackCount;
        var trackList = sf.ui.proTools.selectedTrackNames;
        var commitTrackList = new Array(trackCount)
    
        //Make sure we have our package directory and the search image
        ensureDirectory();
        ensureIcon();
        var numEnab = 0
        var tNum = sf.ui.proTools.getMenuItem('View', 'Track Number').isMenuChecked;
        if (tNum) {
            numEnab = 1;
            sf.ui.proTools.menuClick({
                menuPath: ["View", "Track Number"],
            });
        }
        // Save the way the user has the screen set up
        let userMemLocSettings = getUserMemLocSettings();
        var winConfigNum = saveUserWinConfig();
        var tracksViewNum = saveCurrentTrackView();
        //Close all floating windows
        sf.ui.proTools.viewCloseFloatingWindows();
        setupScreen();
    
        sf.ui.proTools.trackSelectByName({ names: [trackList[0]], deselectOthers: true });
    
        sf.ui.proTools.selectedTrack.trackScrollToView();
    
        sf.ui.proTools.trackSelectByName({ names: trackList, deselectOthers: true });
    
        setAllTracksToSmall();
    
        // Array holding text for coordinate hunting later
        var insertSlots = new Array(10);
        for (var i = 0; i < insertSlots.length; i++) {
            insertSlots[i] = [];
        }
        for (i = 0; i < insertSlots.length; i++) {
            insertSlots[i][0] = String.fromCharCode(i + 65);
            if (i < 5) {
                insertSlots[i][1] = "Inserts A-E";
            } else { insertSlots[i][1] = "Inserts F-J"; }
        }
        for (i = 0; i < trackCount; i++) {
            commitTrackList[i] = trackList[i] + ".cm"
        }
    
        for (var j = 0; j < trackCount; j++) {
            var firstFreeInsert = -1;                                       // Holds the first free insert number if there is any, initialized to -1 which is no free insert
            var targetTrack = trackList[j];                                 // Selected track name for later
    
            sf.ui.proTools.trackSelectByName({ names: [targetTrack], deselectOthers: true });
            sf.ui.proTools.selectedTrack.trackScrollToView();
            // Populate the currentInserts array
    
            var currentInserts = sf.ui.proTools.selectedTrack.invalidate().insertButtons;  // Array to hold the names of the existing inserts so we can find an unassigned slot
            // Find out if there is a free insert slot and assign the first free slot number to a variable
            for (var i = 0; i < 10; i++) {
                if (currentInserts[i].value.invalidate().value === 'unassigned') {
                    firstFreeInsert = i;
                    break
                }
            };
            // Make sure there's a free insert slot somewhere
            if (firstFreeInsert == -1) {
                log("Track: " + targetTrack + " has no free insert slots");
                throw (0)
            };
            // If the free slot isn't slot 0 then move plugins to free up slot 0
    
            if (firstFreeInsert != 0) {
                makeRoomForMelodyne(firstFreeInsert, insertSlots, targetTrack);
    
            };
        }
        for (j = 0; j < trackCount; j++) {
            targetTrack = trackList[j];
            addMelodyne(targetTrack);
        }
    
        // Reselect the original tracks
    
        sf.ui.proTools.trackSelectByName({
            names: trackList,
        });
    
        // freezeTheTracks();
        commitTheTracks();
    
        // deleteTrackAudio(commitTrackList);
        cleanupCommittedTracks();
    
        sf.ui.proTools.trackSelectByName({
            names: commitTrackList,
        });
    
        sf.ui.proTools.trackDelete();
    
    
        if (numEnab) {
            sf.ui.proTools.menuClick({
                menuPath: ["View", "Track Number"],
            });
        }
        recallAndDeleteTrackView(tracksViewNum);
        recallAndDeleteWinConfig(winConfigNum);
        recallUserMemLocSettings(userMemLocSettings)
        sf.ui.proTools.trackGetByName({ name: trackList[0], makeVisible: true }).track.trackInsertToggleShow({
            targetValue: "Enable",
        });
    }
    
    main();
    

    Links

    User UID: a3D2eRUS5Tgl0kK9KyD9xuM6R6P2

    Feedback Key: sffeedback:a3D2eRUS5Tgl0kK9KyD9xuM6R6P2:-O0jTPtmk8n1NicYV_uk

    Feedback ZIP: Wn9NR0kbHyxOpSKPZJCRb+P0Vi0noEoOrs8V4p4KXaaHhypk1/g8KRMMOqrsuwFGgEUtPkC56uGwovTHL+lvNjVttImaRB6MxntXglwfDdn+he68pRh8u24gkVLIXfdriUB/9MOXvEV00KUiAC/jKnuMVahy6gg73QDImHjyKw4Nr8Ne7hxqpVyiNWH9fOy0ZL3ZFlkjBCWZ0nPeRvmQKziZTlSy8kdje/3D8dgkKYSVBYI6FutzPre9Z2fdcgSsq97m5l4uklY0iYzrHZciMsD6++i31BnAJ7AM9FEOemrfSgTbqAFw5YVGSxY1ytAT+2QQtmmNZIAgQ/DTxrTFmjEdHMvozwnrklxp6cbgoNE=

    • 5 replies
    1. S
      SoundFlow Bot @soundflowbot
        2024-07-01 18:06:06.114Z

        Thanks for posting a question or an issue related to the 'Melodyne Helpers' package.
        This package is made by @Andrew_Scheps. We're auto-tagging them here so that they will hopefully be able to help you.

        1. In reply toJav_Lakambra:
          Andrew Scheps @Andrew_Scheps
            2024-07-01 18:59:45.508Z

            Hi @Jav_Lakambra ,

            I don't really have time to test but I've published version 1.2.3 which might fix the problem. I don't support this script anymore since Melodyne is now ARA inside Pro Tools.

            Thanks!
            Andrew

            1. JJav Lakambra @Jav_Lakambra
                2024-07-01 19:17:02.598Z

                Hey Andrew, thanks for replying.
                I'm actually not using the ARA version, just simple all school way Melodyne Studio 5, on Pro Tools 2023.3.0.
                I only see a Version 1.2.2 tho.

                Thanks

              • In reply toJav_Lakambra:
                Andrew Scheps @Andrew_Scheps
                  2024-07-02 07:53:07.875Z

                  Just published 1.2.4 with a couple tweaks. I'm seeing it in the update button for the package. If you're still not seeing it try quitting and restarting SoundFlow

                  1. JJav Lakambra @Jav_Lakambra
                      2024-07-02 13:48:42.858Z

                      Dope !!! will try that.
                      Big Thanks !!!