No internet connection
  1. Home
  2. Support

RX 8 into and out of Connect works - now want to work for RX 9 (Bets)

By John York @John_York
    2021-08-29 19:40:57.715Z

    I was hoping to just change the "RX8" and the "RX 8" by changing the 8 to "9"

    This is the code: (The line numbers don't copy and paste) but starts on Line 1:

    var rxVersion = sf.ui.izotope.activeBundleID.slice(-1);

    var shuttleBtn = sf.ui.izotope.invalidate().mainWindow.children.whoseDescription.contains(RX9 Main Window).first.getFirstWithDescription("Shuttle");
    shuttleBtn.elementClick();

    sf.ui.proTools.appActivateMainWindow();

    sf.wait({ intervalMs: 750 });

    var asWin = sf.ui.proTools.getAudioSuiteWindow(RX 9 Connect);

    asWin.audioSuiteRender()

    The notification come up with an 'Error on Line 1 read property slice of null'

    Of course the whole lot means nothing to me... but if I can't get a Soundflow shortcut into RX 9 Connect - I won't be doing any Beta testing - my fast route in and out is imperative more than any other up and coming groovy new features in RX 9 ( which I can't talk about )

    You guys sorted out my RX 7 to RX 8 - which also was not as simple as changing the number - of which is beyond my brain of why that would not work!

    Cheers

    John - big fan of Soundflow - even though I can not read or write scripts or code... is the difference

    • 65 replies

    There are 65 replies. Estimated reading time: 61 minutes

    1. Dustin Harris @Dustin_Harris
        2021-08-30 05:15:04.403Z

        For the time being, copy your scripts for RX8 and replace all instances of sf.ui.Izotope with sf.ui.app('com.izotope.RX9'), that should get you most of the way there :)

        1. JJohn York @John_York
            2021-08-30 08:31:23.631Z

            Hi Dustin

            Thank you for your speedy reply!

            Seems to come up with the same error

            Here is a copy and paste of what I have modified - in case I misinterpreted your suggestion:

            var rxVersion = sf.ui.app('com.izotope.RX9').activeBundleID.slice(-1);

            var shuttleBtn = sf.ui.app('com.izotope.RX9').invalidate().mainWindow.children.whoseDescription.contains(RX9 Main Window).first.getFirstWithDescription("Shuttle");
            shuttleBtn.elementClick();

            sf.ui.proTools.appActivateMainWindow();

            sf.wait({ intervalMs: 750 });

            var asWin = sf.ui.proTools.getAudioSuiteWindow(RX 9 Connect);

            asWin.audioSuiteRender()

            Thank you for giving this some thought with me!

            Kind regards

            John

            1. Dustin Harris @Dustin_Harris
                2021-08-30 12:25:55.024Z

                I think some code quotes were lost in the find/replace editing, this is working for me, let me know if it works for you too:

                var shuttleBtn = sf.ui.app('com.izotope.RX9').invalidate().mainWindow.children.whoseDescription.contains('RX9 Main Window').first.getFirstWithDescription("Shuttle");
                
                shuttleBtn.elementClick();
                
                sf.ui.proTools.appActivateMainWindow();
                
                sf.wait({ intervalMs: 750 });
                
                var asWin = sf.ui.proTools.getAudioSuiteWindow('RX 9 Connect');
                
                asWin.audioSuiteRender()
                
                1. JJohn York @John_York
                    2021-08-30 13:24:11.673Z

                    Thanks Dustin

                    The first line has changed with the

                    var rxVersion

                    to var shuttleBtn

                    on your version

                    I have copy and pasted in your script

                    But same error

                    When I have done the copy and paste or any changes should I do anything else like 'SAVE' or some form of initiation - just wondering gif I have missed something fundamental here

                    I definitely have RX 9 installed!

                    Kind regards

                    John

                    1. Dustin Harris @Dustin_Harris
                        2021-08-30 13:28:05.933Z

                        You shouldn't need to save or anything, the sound flow should just execute the new code.

                        click to show
                2. In reply toJohn_York:

                  This is tracked as SF-169

                  1. R
                    In reply toJohn_York:
                    Ricardo Cutz @Ricardo_Cutz
                      2021-10-14 16:38:17.415Z

                      Hello Guys with Rx9 out I would like to have fix the iZotope Rx - Render fixed.
                      this is the code:

                      
                      if (globalState.useOldIzotope)
                      {
                          sf.ui.izotope.izotopeExportToProTools();
                      }
                      else
                      {
                          var shuttleBtn = sf.ui.izotope.mainWindow.getFirstWithDescription('RX6 Main Window').getFirstWithDescription("Shuttle");
                          shuttleBtn.elementClick();
                      }
                      
                      

                      I have being using it with RX 8 but with 9 it stopped. I try to replace the RX8 to 9 but it does not work
                      This command returns from izotope and automatically renders the file.
                      Pretty nice.

                      There is anything in place to replace it?
                      thanks

                      1. Ddave johnson @dave_johnson
                          2021-10-14 19:40:49.752Z

                          This is mine and it appears to be working fine. Just make sure you've updated to the newest version of Sound Flow.

                          var shuttleBtn = sf.ui.izotope.mainWindow.children.whoseDescription.contains('Main Window').first.getFirstWithDescription("Shuttle");
                          shuttleBtn.elementClick();

                          sf.wait({ intervalMs: 500 });

                          sf.ui.proTools.appActivateMainWindow();

                          var win = sf.ui.proTools.getFloatingWindowWithTitleStartingWith("Audio Suite: RX 9 Connect");
                          var renderBtn = win.getFirstWithTitle("Render");
                          renderBtn.elementClick();

                        • In reply toJohn_York:
                          Dustin Harris @Dustin_Harris
                            2021-10-28 14:22:48.597Z

                            Hi @John_York try this one for sending from Pro Tools To RX9 and report what happens :)

                            
                            /**
                            * @param {string} message - message to display to user
                            */
                            function notify(message) {
                                sf.interaction.notify({
                                    title: "PT Send To RX",
                                    message: message,
                                });
                            }
                            
                            
                            function openRxConnect() {
                                var asWin = sf.ui.proTools.audioSuiteOpenPlugin({
                                    category: 'Noise Reduction',
                                    name: `RX 9 Connect`
                                }).window;
                                asWin.buttons.whoseTitle.is('Target button').first.elementClick();
                            
                                asWin.audioSuiteSetOptions({
                                    processingInputMode: "ClipByClip",
                                    processingOutputMode: "CreateIndividualFiles",
                            
                                });
                            
                                if (!asWin.popupButtons.whoseValue.is('mono mode').first.exists) {
                                    asWin.popupButtons.whoseTitle.is('input mode').first.popupMenuSelect({
                                        menuPath: ["mono mode"],
                                    });
                                }
                            
                                return asWin
                            
                            }
                            
                            
                            function main() {
                            
                                sf.ui.proTools.appActivateMainWindow();
                            
                                let asWin = sf.ui.proTools.getAudioSuiteWindow(`RX 9 Connect`);
                                if (!asWin.exists) {
                                    asWin = openRxConnect();
                                }
                            
                            
                                //This makes sure you've actually selected something to send to RX Editor
                                if (sf.ui.proTools.getMenuItem('Edit', 'Copy').isEnabled == false) {
                            
                                    notify('No Audio Selected');
                                    // this aborts the script if you haven't selected anything
                                    throw 0;
                            
                                }
                            
                                //this hits the send button on RX Connect
                                var renderBtn = asWin.getFirstWithTitle("Analyze");
                                renderBtn.elementClick();
                            
                                //this checks if RX Editor is already open. If it's not, it opens automatically. The script needs to wait for this to happen/
                                try {
                                    sf.ui.izotope.appActivateMainWindow();
                                }
                                catch (err) {
                                    notify('Waiting for Rx Editor To Open');
                                    sf.ui.izotope.appWaitForActive();
                                    sf.wait({ intervalMs: 200 });
                            
                                }
                            
                                sf.wait({ intervalMs: 1000 });
                            
                                while (!sf.ui.izotope.getMenuItem('Window', 'Pro Tools 1').exists) {
                                    sf.wait({ intervalMs: 200 });
                                }
                            
                                //If there is more than one clip from pro tools found, it activates composite mode automatically. I use this for boom/lav pairs. I deactivate composite view when needed with another script
                                if (sf.ui.izotope.getMenuItem('Window', 'Pro Tools 1').isEnabled && sf.ui.izotope.getMenuItem('Window', 'Pro Tools 2').isEnabled) {
                            
                                    var compositeViewBtn = sf.ui.izotope.mainWindow.getFirstWithDescription(`RX9 Main Window`).getFirstWithDescription("Composite View");
                            
                                    try {
                                        compositeViewBtn.elementClick();
                                    }
                                    catch (err) {
                            
                                    }
                                }
                            
                            }
                            
                            main();