Cool Things for Pro Tools & SoundFlow?
Soundflow has become indispensable when mixing with Pro Tools for me. I have a couple of 4 x 8 decks set up with an iPad and it's been a huge time saver.
What are your fav Soundflow and Pro Tools tips?
I particuarly like the Melodyne Helper, Copy Track Data and Auto Offline Stem Bounce. However the simpler route and colour tracks macros, strip silence across several tracks and one button load and process with Audiosite plugins are a huge boon!
Christian Scheuer @chrscheuer2022-01-05 16:30:02.458ZThank you so much for starting this thread! Great idea :) Just pinned it to the top here.
In reply toMatt_Foster⬆:Kitch Membery @Kitch2022-01-06 00:22:59.862ZLove this, Thanks for Sharing @Matt_Foster :-)
- MMatt Foster @Matt_Foster
Thank you!
The Bounce Go button bottom left is to start the exporting of stems using Auto Offline Stem Bounce, to add the stem groups I use the grouping assistant script with a key command :)
- MIn reply toMatt_Foster⬆:Matt Foster @Matt_Foster
I made a short video to demo the Strip Silence script across multiple tracks in SoundFlow :)
Christian Scheuer @chrscheuer2022-01-08 16:38:30.355ZLove it!! Thank you for making it & sharing
- In reply toMatt_Foster⬆:
Gary Philips @Gary_PhilipsWow. I need this! In addition, how would I follow this with selecting that same region again and then Compacting those remaining clips? Great time saver here, thank you
- MMatt Foster @Matt_Foster
It is a real time saver for me, one of many within SoundFlow!
For compacting, I do this manually. Just to save any errors when doing by a script, button or key command trigger. So it is a very deliberate choice to do something that is destructive and undoable.
Gary Philips @Gary_PhilipsMatt I'm looking for your strip silence script from the video, but can't find it. Can you help out a newb?
FWIW, I would like to automate the compacting also since the originals that I'm importing live on my editor's shared folder -- if I ever need to go back to them, they're there. Thank you!- MMatt Foster @Matt_Foster
Sure, if you go to the SoundFlow store and search for "strip silence' it is the only package that comes up when I search ;)
For compacting, how about just creating a macro with an associated Keyboard Trigger? As it is not a repetitive task, you could select the clips yourself and then use the Keyboard Trigger.
In reply toMatt_Foster⬆:Kris Crunk @Kris_CrunkI could post 50 posts at least, of cool things Soundflow does but I'm loving automated send routing to auxes. Just such a time saver. In the video I make an Aux and soundflow routes my track needing the efx automaticlly. (I only did it with one track but you can highlight as many tracks as you want)
With my verbs, I have skipped a step and it makes the Aux, adds the verb, and routes it.
Just a hugh time saver.
- Ppatrick @patrick
Cool! That is so dope. Looks like a huge QOL Improvement..Is there a way for you to share that script ??
Kris Crunk @Kris_CrunkSure just email me at Info@mountclearproductions.com
Reuven Amiel @Reuven_Amielthat is awesome Kris, can you share the script with me?
- In reply toKris_Crunk⬆:
Dana B @Dana_BI would love a copy of this automated send routing to auxes script!
- In reply toKris_Crunk⬆:
Todd Burke @Todd_Burke8I'd LOVE a copy of this script! Very cool.
- BIn reply toMatt_Foster⬆:Beau Burchell @Beau_Burchell
I see you are using the copy track data scripts. When I try to remove inserts or sends I get an error 100% of the time. Is this script working for you?
- MMatt Foster @Matt_Foster
Hey Beau, yes I am and it works well for me. Have you tried copying and pasting in the Pro Tools edit window?
Ont the current version os SF, Big Sur and the latest package it has stopped working when actioned from the Pro Tools mixer. I have not figured out why as yet, but no biggie as I only use it in the Pro Tools edit window.
I am only copying and pasting inserts/sends mind - you mention 'remove'?
Chris Shaw @Chris_Shaw2022-07-11 19:57:26.303ZI've made a few tweaks to the Track Data scripts for the mix window. Let me know if they are working.
If not, immediately after it fails, submit a bug report via the "Help / Issue" button from the SF menu bar icon.//CS//
- MIn reply toMatt_Foster⬆:Martin Pavey @Martin_Pavey
This is a cool thread, thanks Matt.
Here's my left hand Streamdeck.
One of my favourites on here is "Send get Return", which opens the plugin on the Aux related to
the currently opened Send window. Ie if you have a reverb send open it opens the reverb plugin the send is going to
without having to scroll to it and open it.
They've all become indispensable. If I have to work at a place where I can't use them, I feel like I'm going back to the stone age!- MMatt Foster @Matt_Foster
Hey, that is one very cool and useful-looking deck. Love the icon graphics!
- In reply toMartin_Pavey⬆:JJohn T @John_T
I like it! May I ask what the 'clip gain points' button does?
- MMartin Pavey @Martin_Pavey
Glad you like it John.
It's a shortcut to 'create boundary clip gain breakpoints' from the Soundflow package.
Makes breakpoint anchors on either side of a selection.
I must admit I don't use it much any more, I might swap it out for something a bit more everyday.
- In reply toMartin_Pavey⬆:LLes Cooper @Les_Cooper
Hey Martin.
Looks like a great deck!
Can you let me know where you got the Send Get Return? I'd love to integrate that one with mine - In reply toMartin_Pavey⬆:TTorsten Zumhof @Torsten_Zumhof
Hey Martin,
Looks like a great Deck for Post.
Can you please share the "send get return" script.Cheers,
Torsten
Sreejesh Nair @Sreejesh_NairHere is a variation of the send return plugin script
- In reply toMartin_Pavey⬆:MMartin Pavey @Martin_Pavey
Sorry All for not seeing these requests for so long.
Here's the 'send get return' script I'm using st the moment.
It opens the plugins on the return Aux of the currently open send of the attentioned track./** * @param {string} insertChar * @param {Object} track */ function getInsertWin(track, insertChar) { /* const insertChars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; const insertChar = insertChars[insertIndex]; */ const trackName = track.normalizedTrackName; return sf.ui.proTools.windows.whoseTitle.startsWith('Plug-in:').filter(w => { if (w.popupButtons.whoseTitle.is('Track Selector').first.value.value !== trackName) return false; if (w.popupButtons.whoseTitle.is('Insert Position selector').first.value.value !== insertChar) return false; return true; })[0]; } /** * @param {array} inserts * @param {Object} track */ function openInsertWin(track, inserts) { const insertChars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']; const winPositions = [] for (let i = 0; i < inserts.length; i++) { const insertN = insertChars.indexOf(inserts[i]) if (!track.insertButtons[insertN].invalidate().exists) continue; if (track.insertButtons[insertN].value.value === "unassigned") continue; let pluginWin = getInsertWin(track, inserts[i]); if (!pluginWin) { track.insertButtons[insertN].elementClick(); while (true) { pluginWin = getInsertWin(track, inserts[i]); if (pluginWin) break; sf.wait({ intervalMs: 100 }); }; const targetBtn = pluginWin.buttons.whoseTitle.is('Target button').first // The next lines will moove the plugin windows side by side // if (i === 0) winPositions.push(targetBtn.invalidate().position) // if (i > 0) { // pluginWin.windowMove({ position: { x: winPositions.slice(-1)[0].x + 21, y: pluginWin.position.y } }) //winPositions.push(targetBtn.invalidate().position) // }; //////////////////////////////////////////////////////////////////////////////// //Disable target mode on newly opened window targetBtn.elementClick(); }; }; }; function getSelectedSendNumber() { //Check if send is selected const outputWin = sf.ui.proTools.mainTrackOutputWindow const outputViewSelector = outputWin.buttons.whoseTitle.is("Output View selector").first if (!outputWin.exists || !outputViewSelector.value.invalidate().value.startsWith("send")) { alert("Please select a send."); throw 0 }; return outputViewSelector.value.invalidate().value.replace("send ", "").charCodeAt(0) - 96 }; sf.ui.proTools.selectedTrack.trackSendGotoReturn({ sendNumber: getSelectedSendNumber(), }); const returnTrack = sf.ui.proTools.selectedTrackHeaders[0]; openInsertWin(returnTrack, ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]);
In reply toMatt_Foster⬆:Hugo Silva @Hugo_SilvaCouple of questions:
-
How did you do the Vocalign Ultra buttons?
-
Is the A/B button for the Metric A/B plugin or is it just for illustration?
Thanks!
-
- Progress