No internet connection
  1. Home
  2. How to

Problem restoring a track selection after opening or closing a folder track.

By TK_Delay @TK_Delay
    2024-03-07 09:15:31.750Z

    Hello, I am having difficulty restoring a saved track selection after I have closed or opened a folder track.
    This is my script for it:

    sf.ui.proTools.appActivateMainWindow();
    sf.ui.proTools.mainWindow.invalidate();
    
    globalState.selectedTracks = sf.ui.proTools.selectedTrackNames
    
    sf.ui.proTools.trackGetByName({ name: "HALL REC", makeVisible: true }).track.trackSelect();
    
    sf.keyboard.press({
        keys: "shift+f",
    });
    
    sf.ui.proTools.trackSelectByName({ names: globalState.selectedTracks })
    
    

    What could be the problem? And is there a solution for this?
    I am grateful for any help. Best regards,

    Tobi

    Solved in post #6, click to view
    • 7 replies
    1. Jack Green @Jack_Green
        2024-03-07 14:16:09.912Z

        Someone much better than me will be along but ....

        Try ...

        sf.ui.proTools.invalidate();
        

        on line 11

        1. TTK_Delay @TK_Delay
            2024-03-09 20:10:38.874Z

            That's the solution, great job! Thank you so much..!

            1. In reply toJack_Green:

              Whenever possible you should only invalidate what nneds to be invalidate. sf.ui.proTools.invalidate() invalidates everything in PT when changing the way tracks are displayed in the editor window it's best to use sf.ui.proTools.mainWindow.invalidate()
              For a full explanation of invalidating see this article: When to use invalidate()

              Reply1 LikeSolution
            2. In reply toTK_Delay:
              Nathan Salefski @nathansalefski
                2024-03-07 18:01:48.650Z

                What @Jack_Green said will work but if you can also open and close folders without changing the track selection like this:

                sf.ui.proTools.appActivateMainWindow();
                sf.ui.proTools.mainWindow.invalidate();
                
                let folderTrack = sf.ui.proTools.trackGetByName({ name: "HALL REC", makeVisible: true }).track;
                
                folderTrack.openCloseFolderButton.elementClick({ executionMode: "Background" });
                
                1. TTK_Delay @TK_Delay
                    2024-03-09 20:12:52.154Z

                    Nice! Thank you for your fast answer, great!

                    1. In reply tonathansalefski:

                      If you're running PT 2024.12 or later and SF 5.7 or later you can use the new SDK command to open and close a folder:

                      sf.app.proTools.setTrackOpenState({
                          enabled:true, //false to close,
                          trackNames:["HALL REC"]
                      })
                      
                      1. TTK_Delay @TK_Delay
                          2024-03-10 11:00:48.185Z

                          Oh nice! Thanks!