No internet connection
  1. Home
  2. How to

Search Track Preset

By Mixed By D LLC. @Mixed_By_D_LLC
    2020-10-03 21:50:38.773Z

    Is there a script to search for a track preset of a selected trck? Where Soundflow can populate a search window and populate it with all your track presets in a folder.

    Ex. I have multiple vocal channel strip variations as starting point for an artist and I can see which is the closest starting point for the song I am working on.

    • 12 replies

    There are 12 replies. Estimated reading time: 11 minutes

    1. Hi,

      This would be for existing tracks right - not for creating new tracks from track presets?

      1. Mixed By D LLC. @Mixed_By_D_LLC
          2020-10-04 20:49:44.328Z

          Yes existing tracks.

          1. To be clear, for example, you'd like to search all of your track presets with a search term like "Vocal" or "Channel Strip"?

            1. Mixed By D LLC. @Mixed_By_D_LLC
                2020-10-04 22:11:08.841Z

                Yes very similar to the script for searching an insert on a track or Audiosuite search, where SoundFlow populates a search window you can type the name of your track preset, or even work on the tags generated with most track presets.

                1. Chad Wahlbrink @Chad2022-01-04 14:55:06.440Z

                  @chrscheuer & @Chris_Shaw - I'd be curious to get your input on this script I'm working on! I believe it's roughly the same idea as what @Mixed_By_D_LLC was trying to accomplish with this post.

                  My goal would be to search, and select track presets for the currently selected track. I often load up my "LV Sends" on new vocal tracks, but there are dozens of track presets I'd like to be able to recall similarly. It would be nice to have a key command option to trigger a search in the same way I can search for audio suite plugins, inserts, I/O, memory locations, etc.

                  I have pieced together this rough script that I think is in the right direction. I believe I took a large portion of the bones of this script from @Chris_Shaw 's "search audio suite preset" script. Right now, the search menu populates with all of the options for the current track, but it seems like it's moving too fast after that point and errors out.

                  sf.ui.proTools.appActivate();
                  
                  var selectedTrack = sf.ui.proTools.selectedTrack;
                  var btn = sf.ui.proTools.selectedTrack.titleButton;
                  
                  var items = btn.popupMenuFetchAllItems({
                      isRightClick: true,
                  }).menuItems.map(function (item) {
                      return {
                          name: item.names.join(' -> '),
                          path: item.names
                      };
                  });
                  
                  var chosenPath = sf.interaction.popupSearch({
                      items: items,
                      title: 'Select Track Preset'
                  }).item.path;
                  
                  btn.popupMenuSelect({
                      isRightClick: true,
                      menuPath: chosenPath,
                  });
                  
                  1. Chad Wahlbrink @Chad2022-01-04 15:20:19.853Z

                    Oooh. Okay, I added in that "get focus back" section from @Chris_Shaw 's audio suite search script and it seemed to solve the issue. The updated script is below.

                    Follow-up question, can anyone suggest a way to filter the menu items to only show me the "Recall Track Preset" results in the search?

                    sf.ui.proTools.appActivate();
                    
                    // Declare selected Track
                    var btn = sf.ui.proTools.selectedTrack.titleButton;
                    
                    // Fetch all menu items
                    var items = btn.popupMenuFetchAllItems({
                        isRightClick: true,
                    }).menuItems.map(function (item) {
                        return {
                            name: item.names.join(' > '),
                            path: item.names
                        };
                    });
                    
                    // Search for a Track Preset
                    var chosenPath = sf.interaction.popupSearch({
                        items: items,
                        title: 'Select Track Preset'
                    }).item.path;
                    
                    //Get focus back
                    sf.wait({ intervalMs: 100 });
                    sf.ui.proTools.appActivate();
                    sf.wait({ intervalMs: 50 });
                    
                    // Select Chosen Path
                    btn.popupMenuSelect({
                        isRightClick: true,
                        menuPath: chosenPath
                    });
                    
                    
                    1. Chad Wahlbrink @Chad2022-01-04 15:54:28.957Z

                      I keep answering my own questions 🤪. I found some filtering examples on stack overflow and I think I cracked it. I'd still be curious if there is a better approach, but after hacking this together, it seems to be working!

                      // Search Track Presets
                      // This script will search and select Track Presets on the currently selected track.
                      
                      sf.ui.proTools.appActivate();
                      
                      // Declare selected Track
                      var btn = sf.ui.proTools.selectedTrack.titleButton;
                      
                      // Fetch all menu items
                      var items = btn.popupMenuFetchAllItems({
                          isRightClick: true,
                      }).menuItems.map(function (item) {
                          return {
                              name: item.names.join(' > '),
                              path: item.names
                          };
                      });
                      
                      // Filter Results
                      var TrackPresets = 'Recall Track Preset', 
                          chosenPathFiltered = items.filter(function (str) { return str.name.includes(TrackPresets); });
                      
                      // Search for a Track Preset
                      var chosenPath = sf.interaction.popupSearch({
                          items: chosenPathFiltered,
                          title: 'Select Track Preset'
                      }).item.path;
                      
                      //Get focus back
                      sf.wait({ intervalMs: 100 });
                      sf.ui.proTools.appActivate();
                      sf.wait({ intervalMs: 50 });
                      
                      // Select Chosen Path
                      btn.popupMenuSelect({
                          isRightClick: true,
                          menuPath: chosenPath
                      });
                      
                      1. Chad Wahlbrink @Chad2022-01-04 16:46:19.271Z

                        https://soundflow.org/store/cw-pro-tools-utilities

                        I posted a little package to the store including the script to search Track Presets, as well as a second script to search existing folders and move tracks to the selected folder

                        The search existing folders and move tracks script are below. It's roughly the same as track presets, except filtering for the "Move to..." submenu.

                        // Move Tracks to Exisiting Folder
                        // This script will search for an exisiting Folder to move tracks into. 
                        
                        sf.ui.proTools.appActivate();
                        
                        // Declare selected Track
                        var btn = sf.ui.proTools.selectedTrack.titleButton;
                        
                        // Fetch all menu items
                        var items = btn.popupMenuFetchAllItems({
                            isRightClick: true,
                        }).menuItems.map(function (item) {
                            return {
                                name: item.names.join(' > '),
                                path: item.names
                            };
                        });
                        
                        // Filter Results
                        var TrackPresets = 'Move to...', 
                            chosenPathFiltered = items.filter(function (str) { return str.name.includes(TrackPresets); });
                        
                        // Search for an existing Folder
                        var chosenPath = sf.interaction.popupSearch({
                            items: chosenPathFiltered,
                            title: 'Move to Folder'
                        }).item.path;
                        
                        //Get focus back
                        sf.wait({ intervalMs: 100 });
                        sf.ui.proTools.appActivate();
                        sf.wait({ intervalMs: 50 });
                        
                        // Select Chosen Path
                        btn.popupMenuSelect({
                            isRightClick: true,
                            menuPath: chosenPath
                        });
                        
                        1. Chad Wahlbrink @Chad2022-01-05 18:20:14.171Z

                          Last reply here! I made a quick video demoing how I'm using my most recent scripts outlined above. After making this video, I also made a script to create tracks from track presets - although it requires you first search your desired track preset folder, and then search your track presets.

                          The scripts are all up in the store now.

                          <3

                          Chad

                          1. GGeorge Nicholas @George_Nicholas
                              2023-03-11 11:36:02.466Z

                              Hi @chadwahlbrink sorry digging up an old thread here. Just using your "CW PT Load Track Preset for Selected Track (Searchable)" script which is great. Just wondering if there's any way to define a particular track preset folder (so as to ommit all the avid default presets) and just search my own ones? Eg the GN Track Presets folder in the screenshot. Thanks in advance!

                              G

                              1. Chad Wahlbrink @Chad2024-09-11 18:52:37.237Z

                                Hey @George_Nicholas,

                                I wanted to let you know that as of Version 1.0.95, this should now be possible using the "Load Track Preset for Selected Track (Searchable)" command. Create a preset for the command template, set it to "search filtered track presets," and then enter "GN Track Presets" as the Filter.

                                1. GGeorge Nicholas @George_Nicholas
                                    2024-09-18 12:59:56.439Z

                                    Hi @Chad thanks so much! Will take a look :)