No internet connection
  1. Home
  2. Support

Forced to downgrade to Pro Tools 2024.6 - Now Soundflow does not work

By Jeremy Kittel @Jeremy_Kittel
    2026-04-09 19:54:16.585Z

    Forced to downgrade to Pro Tools 2024.6 - Now Soundflow does not work

    System Information

    SoundFlow 6.0.9

    OS: darwin 24.5.0

    ProductName: macOS
    ProductVersion: 15.5
    BuildVersion: 24F74

    Steps to Reproduce

    1. Because of a severe MIDI recording issue, Avid Support strongly encouraged me to downgrade to PT 2024.6 to avoid unreliable MIDI recording in later versions. I had been working in PT 2025.12.1.133 with Soundflow integrated for a couple months.
    2. Now, in PT 2024.6, Soundflow, including the dozens of custom commands I now rely on, does not work. One error message I see pops up in the upper right of my monitor and begins with "Couldn't locate the UI for Pro Tools Edit Window with expressions sf.ui.app("). (Solo"
    3. This occurs with any command I have tested so far.

    Expected Result

    I would guess that if you also downgraded from the newest version of Pro Tools to PT 2024.6, you would also have difficulties with any Soundflow commands working in your sessions.

    Actual Result

    This question doesn't really apply here...? I have restarted my computer and trashed prefs twice and still experiencing this issue.

    Workaround

    No

    Other Notes

    FYI I am under a tight deadline so I hope you can help resolve this! I rely heavily on both Soundflow and accurate MIDI recording (which again, Avid Support insists is unreliable for my purposes after PT 2024.6) - hoping you can get me back up and running with Soundflow and PT 2024.6 asap!


    Links

    User UID: tbCyN23sV0ah2BtWplCXPpOMgCJ3

    Feedback Key: sffeedback:tbCyN23sV0ah2BtWplCXPpOMgCJ3:-OpnnoFwqqM_S-_dBj4h

    Feedback ZIP: hA4HjLFcDJSnu2HwFa9oPNnAvY7g5KHYrXd4ZRuBQJ03xOjeZLx2/dINdouVnUV7OTR92PLdhvj4qphdAiFKW4dieNiHbY35x6HWMzKGMTTA3oyMIIeG4zX4Ow6lPqJq5SmmGERyLNjbJMFbA8DrfTJUMyg00ipTyoNk2Kw0zQItrPq1SY+MYUbBoLpCLThHpls9CisxyGvTslxt5oghzgZmM+hwKhms2FPUdFHfEwBZ5+RzmvUfgcSjgetakHUx9d+JUl9Hg/LeH2CjEuaxuHmeTRYoN/+4yuhaZ3xWospHf2jfa7IxzwrfZgOWm9LrZzLgOdscF8oNHTOqREVhlhiiQKbgpAfQoKE9a1UId/E=

    • 8 replies
    1. Chad Wahlbrink @Chad2026-04-09 21:27:06.661Z

      Hi, @Jeremy_Kittel,

      As a first troubleshooting step, could you please manually update to the latest version of SoundFlow here and see if that resolves your issue?

      https://soundflow.org/account/install

      Next, I would confirm whether the issue persists if you quit SoundFlow and Pro Tools and then relaunch both.

      Then, could you share an example of a script you are using for one or all of these commands:

      • Solo Woodwinds Bus
      • Solo Brass Bus
      • Solo Harps

      If these are macros, you can use the red "Need Help" button to share one of these on the Forum.

      It seems these specific commands are failing, but more generic SF commands like Duplicate Selected Tracks are completing for you.

      1. J
        In reply toJeremy_Kittel:
        Jeremy Kittel @Jeremy_Kittel
          2026-04-10 00:08:29.985Z

          Hi Chad! I updated to the newest version of Soundflow and restarted both SF and Pro Tools, but the issues persist.

          I scheduled a zoom with you for tomorrow morning - thanks and looking forward.

          Below I'll share the script for "Solo Woodwinds Bus" - and they are all the exact same, just with the track names changed. It worked perfectly until Pro Tools 2024.6 downgrade.

          Also FYI:

          Activate / Inactivate track is the only command I've found that is still working.

          Also, contrary to what you wrote in your response, "Duplicate Selected Tracks" is actually crashing Pro Tools completely... :-( You can see the Pro Tools error message below - it shows this and then freezes / crashes completely... But if I duplicate a track the normal / non-Soundflow way, it works fine...

          Really hope we can resolve this in the morning!!! Thanks.

          1. Chad Wahlbrink @Chad2026-04-10 14:18:52.628Z

            Thanks for the call, @Jeremy_Kittel!

            To Recap:

            For a script to work with both Pro Tools 2025.10+ and earlier versions, remove sf.ui.proTools.sfx... and instead put this at the beginning of the script:

            if (sf.ui.useSfx) sf.ui.useSfx();
            

            If it seems that SoundFlow is not seeing tracks in your session, it's likely due to an invalidation issue.

            Most often, this can be fixed by adding an invalidation call like:

            sf.ui.proTools.mainWindow.invalidate();
            
            1. JJeremy Kittel @Jeremy_Kittel
                2026-04-10 19:47:59.629Z

                Hi Chad! Thanks for the call this morning. Unfortunately I'm experiencing some odd issues at the moment. When I try the "solo woodwinds" script we worked on this morning, sometimes it works, especially if the track is visible - but sometimes it just opens up the Pro Tools "Audiosuite" drop-down in the menu bar. And just now, when I was trying the "solo brass" script, for some reason it was opening up a different application on my computer, Claude... (?). I made a short 6 MB video of this happening (link below). I will restart now and see if anything improves but due to this strange behavior I wanted to share right away... Thanks.
                https://www.dropbox.com/scl/fi/u9v13w02y72cp00ftki1p/Screen-Recording-2026-04-10-at-3.39.15-PM.mp4?rlkey=pk27kz7rqfevz24a5ip56moq6&st=wxoxx68x&dl=0

                1. Chad Wahlbrink @Chad2026-04-11 01:47:42.096Z2026-04-11 02:02:51.178Z

                  Hi, @Jeremy_Kittel,

                  Sorry to hear you are having more issues.

                  The issue is that the scripts you were using for soloing were really designed to take full advantage of the advancements from SFX in Pro Tools 2025.10+. Namely, they use mouseClickElement() which simulates a mouse click. In Pro Tools 2025.10+, this works regardless of whether the track is scrolled into view because it leverages the SFX connection. However, on older versions of Pro Tools, SoundFlow uses accessibility to simulate mouse clicks - meaning that Pro Tools has to be in focus and the track has to be scrolled into view to work. This is likely why you are experiencing issues where the mouse seems to click randomly - it's technically trying to click on the track, which is currently off-screen, etc.

                  So yes, on Pro Tools 2025.10+, your scripts worked great with the more modern setup.

                  With all this, I think the best option is to approach this workflow using the Pro Tools SDK rather than accessibility and mouse clicks.

                  Here's the script structure you would use:

                  // Add or remove named track from soloed tracks - Pro Tools 2023.12+
                  
                  function soloAdd(trackName) {
                      const currentlySoloedTracks = sf.app.proTools.tracks.invalidate().allItems
                          .filter(track => track.isSoloed)
                          .map(track => track.name);
                  
                      const isAlreadySoloed = currentlySoloedTracks.includes(trackName);
                  
                      if (isAlreadySoloed) {
                          // Un-solo just the named track; all other soloed tracks remain
                          sf.app.proTools.setTrackSoloState({
                              trackNames: [trackName],
                              enabled: false
                          });
                      } else {
                          // Add the named track to the current solo set
                          sf.app.proTools.setTrackSoloState({
                              trackNames: [...currentlySoloedTracks, trackName],
                              enabled: true
                          });
                      }
                  }
                  
                  soloAdd('EGT');
                  

                  You can replace your current script with this setup - changing soloAdd('EGT'); at the end of each script, and it should work on Pro Tools 2023.12+

                  1. Chad Wahlbrink @Chad2026-04-11 01:59:34.970Z

                    I think you had another script to do toggle solo for the currently selected tracks, so here's an all SDK-version for that:

                    // Toggle Solo for Selected Tracks without Cancelling Previous Solos - Pro Tools 2023.12+
                    
                    function toggleSoloSelectedTracks() {
                        // Fetch all tracks
                        const allTracks = sf.app.proTools.tracks.invalidate().allItems;
                    
                        // Get selected tracks
                        const selectedTrackNames = allTracks
                            .filter(t => t.selectedState === "SetExplicitly")
                            .map(t => t.name);
                    
                        if (selectedTrackNames.length === 0) return;
                    
                        // Get all soloed tracks
                        const currentlySoloedTracks = allTracks
                            .filter(track => track.isSoloed)
                            .map(track => track.name);
                    
                        // Check if Already Soloed
                        const allAlreadySoloed = selectedTrackNames.every(function(name) {
                            return currentlySoloedTracks.indexOf(name) !== -1;
                        });
                    
                        // If already soloed - toggle off solo
                        if (allAlreadySoloed) {
                            sf.app.proTools.setTrackSoloState({
                                trackNames: selectedTrackNames,
                                enabled: false
                            });
                        } else {
                            // Else - enable solo 
                            const toAdd = selectedTrackNames.filter(function(name) {
                                return currentlySoloedTracks.indexOf(name) === -1;
                            });
                            sf.app.proTools.setTrackSoloState({
                                trackNames: [...currentlySoloedTracks, ...toAdd],
                                enabled: true
                            });
                        }
                    }
                    
                    toggleSoloSelectedTracks();
                    
                    1. Chad Wahlbrink @Chad2026-04-11 02:03:47.573Z

                      And a mute script for named tracks:

                      // Toggle Mute on Named Track - Pro Tools 2023.12+
                      
                      function toggleMute(trackName) {
                          const currentlyMutedTracks = sf.app.proTools.tracks.invalidate().allItems
                              .filter(track => track.isMuted)
                              .map(track => track.name);
                      
                          const isAlreadyMuted = currentlyMutedTracks.indexOf(trackName) !== -1;
                      
                          if (isAlreadyMuted) {
                              // Un-mute just the named track; all other muted tracks remain
                              sf.app.proTools.setTrackMuteState({
                                  trackNames: [trackName],
                                  enabled: false
                              });
                          } else {
                              // Add the named track to the current mute set
                              sf.app.proTools.setTrackMuteState({
                                  trackNames: [...currentlyMutedTracks, trackName],
                                  enabled: true
                              });
                          }
                      }
                      
                      toggleMute('Lead Vocal');
                      
            2. J
              In reply toJeremy_Kittel:
              Jeremy Kittel @Jeremy_Kittel
                2026-04-11 16:28:09.249Z

                Thanks so much Chad!