No internet connection
  1. Home
  2. How to

Open all pan automation lanes on selected track

By Martin Pavey @Martin_Pavey
    2022-05-21 16:29:19.142Z

    I hope everyone is well in Soundflow world.

    I've tried to write a script to get the above to work:

    sf.ui.proTools.selectedTrack.children.whoseTitle.is('Show/hide automation lanes').first.elementClick();
    
    sf.ui.proTools.mainWindow.groups.allItems[157].popupButtons.first.elementClick();
    
    sf.keyboard.press({
        keys: "down, down, down, down, right, return",
    });
    

    Admittedly no very elegant, but it gets the show hide automation lanes open and the menu selector clicked.
    I tried to get to the pan/all pan types pop up menu with keystrokes but they fail even with a wait command.
    I can't see why they fail, because if I do the final keystrokes manually it works?

    Anyhow any help gratefully received, it would be really great if it was a toggle that reverted back to the default- 'volume' state with the show hide automation lanes closed, but I'm afraid that is beyond my paltry skills.

    • 3 replies
    1. This should do it:
      This will only work on the first selected track.
      If there are less than two pans or no pans the script will throw an error.

      sf.ui.proTools.mainWindow.invalidate();
      
      const trackName = sf.ui.proTools.selectedTrackHeaders[0].title.value;
      
      //If any automation lane for selected tracks are hidden, show them.
      const showautomationLanesBtn = sf.ui.proTools.selectedTrack.children.whoseTitle.is('Show/hide automation lanes').first;
      if (showautomationLanesBtn.value.invalidate().value !== "Selected") {
          showautomationLanesBtn.mouseClickElement({
          });
      } else {
          showautomationLanesBtn.mouseClickElement();
          showautomationLanesBtn.mouseClickElement({
          });
      }
      
      let automationLanes = sf.ui.proTools.mainWindow.invalidate().children.whoseTitle.endsWith("Automation Lane").filter(f => f.title.invalidate().value.indexOf(trackName) === 0);
      
      try {
          automationLanes[0].popupButtons.whoseTitle.is("Lane view selector").first.popupMenuSelect({
              menuPath: ["pan", "all pan types"],
          });
      } catch (err) { log("There was a problem:","There is only one or no pan lanes on this track") }
      
      
      
      1. GGray Aletter @Gray_Aletter
          2022-11-18 19:09:07.969Z

          Is there a way to open all of the tracks you've got selected with cursor?
          Also yes having it close with the same key stroke would be amazing!
          Thanks for the help

        • M
          In reply toMartin_Pavey:
          Martin Pavey @Martin_Pavey
            2022-05-22 16:24:20.225Z

            Hi Chris,
            This works great, thanks so much!
            The icing on the cake for me would be if a second press toggled it back the way it was and closed the automation lanes dropdown.
            Is that possible?