No internet connection
  1. Home
  2. How to

A Better Temp Group System

By Philip weinrobe @Philip_weinrobe
    2024-09-30 22:15:19.900Z

    Hi Geniuses
    The "built in" soundflow temp group system has been busted since Pro Tools introduced the warning dialog that says "sure you wanna delete a group?" lol.

    someone real smart out there wanna spin up a custom one?
    Seems like it would be super easy...just like the built in but taking into account the automatic accepting of the warning dialog.

    thanks!
    Philip

    Solved in post #25, click to view
    • 22 replies

    There are 22 replies. Estimated reading time: 17 minutes

    1. S
      SoundFlow Bot @soundflowbot
        2024-10-01 02:25:47.490Z

        This report was now added to the internal issue tracked by SoundFlow as SF-1186

        1. In reply toPhilip_weinrobe:

          Hi Philip,

          We should have this fixed momentarily. The behavorial change stems from Pro Tools now oddly creating hidden temporary windows with empty titles. Since the confirmation dialog was previously located by finding the window with the empty title, this leads scripts that rely on pressing OK/Delete in a confirmation dialog to fail, since the code finds the wrong window (the hidden window with an empty title instead of the confirmation dialog with the empty title).

          In 5.8.3, we're introducing a new sf.ui.proTools.confirmationButtonDialog that specifically looks for a window with an empty title and any button with the title OK, Cancel or Delete. We've adjusted the Delete Active Group action to look for this confirmation dialog instead of the one which may incorrectly find one of the hidden windows. This fixes the bug in our internal testing.

          We apologize that it took some time to investigate this fix.

          Note, that the automatic accepting of the warning dialogs used to work just fine, but due to the change in Pro Tools where it creates hidden windows, the scripts got confused.
          Thanks to the changes we're making, this should be fixed completely.

          We'll share a preview build of 5.8.3-preview.1 to those interested, and should have it beta tested soon so it can come out as a general 5.8.3 release.

          1. Christian Scheuer @chrscheuer2024-10-01 18:54:20.325Z2024-10-03 00:48:28.934Z

            Please check this preview build of 5.8.3 to see if it fixes the issue for you. Note that this has not yet been beta-tested:

            https://downloads.soundflowcdn.com/5.8/5.8.3/0b589e0304f13ed7/SoundFlow_5.8.3.pkg

            1. Gary Philips @Gary_Philips
                2024-10-01 20:35:23.255Z

                Working! Thanks for bringing us in from the wilderness lol

                1. Haha :) Awesome, thank you so much for the quick testing & feedback! And again, apologies for the delay.

                  1. AAlexander Buck @Alexander_Buck
                      2024-10-02 10:12:34.727Z

                      Yes, I can also confirm. Thank you Christian for the quick fix!

                      1. Thanks guys! Link to the final 5.8.3 build (better to use this than the preview):

                        https://downloads.soundflowcdn.com/5.8/5.8.3/0b589e0304f13ed7/SoundFlow_5.8.3.pkg

                        1. PPhilip weinrobe @Philip_weinrobe
                            2024-10-18 15:08:41.315Z

                            hey guys
                            this script is working again but has a bug.
                            when you have a temp group assigned and then disable groups and select only some of the tracks that were in the existing temp group and try and run the script it fails.

                            here's a video
                            https://www.dropbox.com/scl/fi/urb37lrgqj59j8461pb7v/temp-group-fail.mov?rlkey=2q7xogebmxlmxw7lsj3i1ub59&st=spt4sz2w&dl=0

                            what i expect to happen is that the temp group is deleted and a new temp group is created from the newly selected tracks

                            1. Thanks, Philip. Tracking this as SF-1480.

                2. S
                  In reply toPhilip_weinrobe:
                  SoundFlow Bot @soundflowbot
                    2024-10-01 19:00:01.864Z

                    Linked issue SF-1186 updated: We apologize for the delay in addressing this issue. Please see Christian's post here for a root cause analysis and a link to download a build that should fix the issue: https://forum.soundflow.org/-13607#post-3

                    1. S
                      In reply toPhilip_weinrobe:
                      SoundFlow Bot @soundflowbot
                        2024-10-18 16:18:16.520Z2024-10-18 16:19:24.520Z

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

                        1. P
                          In reply toPhilip_weinrobe:
                          Philip weinrobe @Philip_weinrobe
                            2024-10-24 18:18:02.869Z

                            is anyone out there having success with temp groups?
                            i really went hard with temp groups and worked it into all my workflows and it still is soooo buggy now and i'm rethinking my whole relationship to it.

                            would love to know if I am on an island or are other people also struggling?

                            @Gary_Philips
                            @Alexander_Buck

                            1. Hi Philip,

                              Besides the bug you filed here:
                              A Better Temp Group System #post-13

                              Have you encountered any other problems?

                              1. worked it into all my workflows

                                It may be that you're just first to use it in a different way than it was originally intended (and designed, by me, many, many years ago). I do remember that Pro Tools over the years quite frequently changed how the groups list reacts to selection changes - what you're seeing, when you disable groups etc., might be part of that.
                                But any info you can share in addition to what you already shared, will help us make sure we test for all the right things when we work on this (soon)

                                1. PPhilip weinrobe @Philip_weinrobe
                                    2024-10-25 14:35:52.829Z

                                    hey @chrscheuer
                                    thanks for the response.
                                    i spent about 30 minutes just now trying to get the behavior to replicate, and i finally got it to replicate the issue every time.

                                    there are 2 issues, with one issue showing two different behaviors.
                                    these videos i made outline the issues and their behaviors.

                                    also, here is my "delete all groups" script, which comes into play with Issue # 2:

                                    sf.ui.proTools.appActivateMainWindow();
                                    sf.ui.proTools.invalidate();
                                    
                                    // Make sure we're on the Edit window.
                                    if (!sf.ui.proTools.getMenuItem("Window", "Edit").isMenuChecked) {
                                        sf.ui.proTools.menuClick({
                                            menuPath: ["Window", "Edit"],
                                        })
                                    };
                                    
                                    sf.ui.proTools.groupsEnsureGroupListIsVisible();
                                    
                                    const [allGroup, ...groupNames] = sf.ui.proTools.mainWindow.groupListView.children.whoseRole.is("AXRow").map(row =>
                                        row.children.whoseRole.is("AXCell").map(cell =>
                                            cell)[1].buttons.map(btn =>
                                                btn.title.invalidate().value)[0]).map(names => names.split(" - ").slice(1).join(" - "));
                                    
                                    if (groupNames.length > 0) {
                                    
                                        sf.ui.proTools.mainWindow.groupListPopupButton.popupMenuSelect({
                                            menuPath: ["Suspend All Groups"],
                                            targetValue: "Disable"
                                        });
                                    
                                        sf.ui.proTools.groupsActivate({ groupNames: groupNames });
                                    
                                        sf.ui.proTools.mainWindow.groupListPopupButton.popupMenuSelect({
                                            menuPath: ["Delete Active *"],
                                            useWildcards: true
                                        });
                                    
                                    
                                    };
                                    

                                    after this script runs, a macro is run with "press keys = return", fyi

                                    1. Thank you so much for the thorough investigation and report. I have this scheduled to be worked on top of my list after 5.9 drops.

                                      1. PPhilip weinrobe @Philip_weinrobe
                                          2024-10-25 19:42:25.452Z

                                          thanks christian!
                                          i just noticed that my "delete groups" script i posted suffers the same type of failures if I run it from a disabled groups state...
                                          that's not part of the videos/temp group situation but my guess is it's the same underlying thing...

                                          1. Yes, I bet so too. Thanks for the note, all info is helpful so we make sure to test properly.

                                            1. PPhilip weinrobe @Philip_weinrobe
                                                2024-11-25 14:53:19.500Z

                                                hi christian!
                                                wondering if there's any update here?

                                                1. Hi Philip,

                                                  I finally had a bit of time to look at your video and script (sorry, we're so busy with the next version of SF there's a lot going on right now).

                                                  It looks like what happens is that your script that deletes all groups probably leaves SF's UI element cache in a bad state, where it remembers an element that is no longer there.

                                                  If you add this to the end of your "delete all groups" script, it should help with the problem:

                                                  sf.ui.proTools.mainWindow.invalidate();
                                                  
                                                  1. PPhilip weinrobe @Philip_weinrobe
                                                      2024-12-05 16:15:26.175Z2024-12-05 18:48:02.232Z

                                                      dang, it didn't make a difference.
                                                      but i did build out a macro around your Temp Group script to force enable the groups before running your tool, and that has fixed it.

                                                      thew that into my delete script it as well and now that works too.
                                                      here's the DELETE ALL GROUPS script in case anyone wants it. this is 100% working as of 2024.10.1 and SF 5.9

                                                      sf.ui.proTools.appActivateMainWindow();
                                                      sf.ui.proTools.invalidate();
                                                      
                                                      sf.ui.proTools.mainWindow.groupListPopupButton.popupMenuSelect({
                                                              menuPath: ["Suspend All Groups"],
                                                              targetValue: "Disable"
                                                          });
                                                      
                                                      // Make sure we're on the Edit window.
                                                      if (!sf.ui.proTools.getMenuItem("Window", "Edit").isMenuChecked) {
                                                          sf.ui.proTools.menuClick({
                                                              menuPath: ["Window", "Edit"],
                                                          })
                                                      };
                                                      
                                                      
                                                      
                                                      sf.ui.proTools.groupsEnsureGroupListIsVisible();
                                                      
                                                      const [allGroup, ...groupNames] = sf.ui.proTools.mainWindow.groupListView.children.whoseRole.is("AXRow").map(row =>
                                                          row.children.whoseRole.is("AXCell").map(cell =>
                                                              cell)[1].buttons.map(btn =>
                                                                  btn.title.invalidate().value)[0]).map(names => names.split(" - ").slice(1).join(" - "));
                                                      
                                                      if (groupNames.length > 0) {
                                                      
                                                          sf.ui.proTools.mainWindow.groupListPopupButton.popupMenuSelect({
                                                              menuPath: ["Suspend All Groups"],
                                                              targetValue: "Disable"
                                                          });
                                                      
                                                          sf.ui.proTools.groupsActivate({ groupNames: groupNames });
                                                      
                                                          sf.ui.proTools.mainWindow.groupListPopupButton.popupMenuSelect({
                                                              menuPath: ["Delete Active *"],
                                                              useWildcards: true
                                                          });
                                                      
                                                      
                                                      };
                                                      
                                                      sf.keyboard.press({
                                                          keys: "return",
                                                      });
                                                      
                                                      
                                                      sf.ui.proTools.mainWindow.invalidate();
                                                      
                                                      
                                                      Reply1 LikeSolution
                                                      1. That's amazing, thank you for sharing!!