Hi everyone! I would like to share with you my "Quick add FX or track template" script.
As the title suggests, it is designed to streamline FX and track template insertion in REAPER.
Feature highlights:
- add track FX, input FX, take FX, FX chains and track templates all in one place;
- new clear relevant FX chains before adding FX;
- new apply track templates to existing tracks keeping original sends and other information (configurable);
- search for full and partial keywords with the ability to exclude unwanted terms;
- multiple tracks and takes support with floating of the first added FX only;
- ability to select tracks or items after you picked an FX;
- support for VST2/VST3/AU/JS.
How to use it with FX (see demo video above):
1. run the script;
2. search for an FX using (partial) keywords and optional /i flag to add input FX or /t for take FX (e.g. gate /i);
3. hit OK;
4. the first matching result will be added to the selected tracks / items.
Use optional:
a) 2/3/a/j/c first keyword to force searching for VST2/VST3/AU/JS/Chain only (e.g. query 3 pro-q to open the VST3 version of Pro-Q);
b) - (minus) prefix to exclude keywords (e.g. the query rvox -st would insert a mono instance of Waves Rvox compressor);
c) start a search query with a whitespace to clear relevant FX chains before adding FX.
How to use it with track templates (see demo video above):
1. run the script;
2. search for a track template using keywords and adding required . (period) prefix before the first search term (eg .soft piano);
3. hit OK;
4. the first matching result will be added to the project.
Use optional:
a) /number flag to insert multiple instances of a track template (e.g. query .bgv /4 will add four "bgv" track templates);
b) /a flag to apply a template to selected tracks (eg .violin /a);
c) - (minus) prefix to exclude keywords.
Track template insertion example:
The script is free, but donations are appreciated.
My repository index for ReaPack: https://github.com/Neutronic/ReaScripts/raw/master/index.xml
Quote:
[CHANGELOG]
v1.50 – December 05 2019
+ option to clear master track FX chain before adding FX
# open plugins inside FX Chains if chains are visible
v1.47 – October 31 2019
+ option to keep the track name when applying a track template (off by default)
v1.45 - October 13 2019
# insert track templates after the last selected track or at the end of the track list
# respect folder depth level if the last selected track is also the last track in folder
v1.40 – September 17 2019
+ start a search query with a whitespace to clear relevant FX chains before adding FX
+ ignore plugins that begin with #
# show FX chain when adding it (instead of floating last FX in chain)
v1.31 - August 07 2019
# improved FX listing logic
v1.30 - August 06 2019
+ AU format support
+ video processor support
+ option to reverse the /a flag behavior
+ option to preserve layouts when applying track templates
+ safeguard against false JS files
# improved JS instances naming in FX chains
v1.25 - June 09 2019
+ added "2", "3", "j" and "c" as shorthands for vst2/vst3/js/chain fx types
v1.2 - May 31 2019
+ ability to apply track templates to selected tracks
# moved in-script help to console
v1.1 - May 22 2019
+ 32-bit support
+ .RfxChain support
+ exact match search ability using quotes
+ ability to choose the FX search order
+ in-script help with complete syntax list
# improved overall script's logic
v1.01 - May 14 2019
+ Added input_ovrd option to allow users hardcode a search query
Is there a way to have individual lua from this ?
I maximised the number of templates and I can't put anymore on buttons.
I was able to go past the 99 number with fx chains on toolbars with this script: https://forum.cockos.com/showthread....39#post2134039
Is there a way to have individual lua from this ?
I maximised the number of templates and I can't put anymore on buttons.
I was able to go past the 99 number with fx chains on toolbars with this script: https://forum.cockos.com/showthread....39#post2134039
Thanks! But what do you mean by individual lua? The script is already a single lua file.
Simply download it, put it in your scripts folder and load it in REAPER.
Sorry for being unclear. Is it possible to duplicate the script many times to:
Edit and run the script to auto-load track template containing name: Repro-5. Edit the script to auto-load track template containing name: Synthmaster, etc.
It will allow to go past 99 Load track templates actions. And assign buttons to the individual duplicates of the script.
Just updated the script to v1.01 and added input_ovrd option to allow users hardcode a search query.
@Pinknoise this is your request.
Let's look at an example of how you would use the feature to hardcode a track template you called "Repro-5":
1. duplicate the script and rename it the way it fits you;
2. open it in the REAPER script editor and go to line 21;
3. type in .Repro-5 (period prefix is required for templates) inside the quotes for the input_ovrd local variable;
Hey Neutronic, very well designed and thought through precisely over all possibilities, thanks for sharing such a generally useful tool! I guess this is the most powerful solution I know of so far, just watched the youtube, did not test anything yet. Having a win32 version would be nice, e.g. I am using win32 in wine, mostly for testing around quickly.
This is a notification saying that the file browser needs to be open to create reaper-jsfx.ini file so that the script can scan the JS file list. You have probably recently updated REAPER to a newer version and when you do that REAPER recreates the .ini but only after the FX browser is open.
So now after the .ini is there, you need to simply run the script once again and it should launch as expected.
It keeps doing this. When the fx browser is opened, nothing else happens, I have to click cancel to quit. When I reopen the script it's the same again.
hmmm what OS are you using? The only reason why the script can possibly keep doing it is because the .ini does not get generated for some reason. Everything works perfectly fine here on Win10.
Anyway, I spent some time today completely rewriting the way the script lists JS plugins and now it does not check for the .ini at all. I have just updated it so please check it out here (right-click --> save as...)
EDIT: I think I caught the bug - redownload it again please.
Where do you store your track templates? The script is looking inside default REAPER\TrackTemplates folder and its sub-folders.
As of the error - it says there is no 64-bit plugin list .ini in your REAPER installation. Are you running 32-bit REAPER? If so, the script currently works with 64-bit REAPER only, as noted in the original post.
Here is v1.1 - download (right-click --> save as).
What's new:
+ 32-bit support
+ .RfxChain support
+ exact match search ability using quotes
+ ability to choose the FX search order (see code snippet)
+ in-script help with complete syntax list (see gif)
# improved overall script's logic
Code:
local fx_a = "VST2"
local fx_b = "VST3"
local fx_c = "JS"
local fx_d = "CHAIN"
local fx_type = {fx_d, fx_a, fx_b, fx_c} -- the search order of FX types
This script seems very practical and useful to a sound engineer, I look forward to testing it out hopefully soon.
Keep up the good work!
[Update]
I really like this script, its simple, yet great for when you know exactly why fx you want on a track but don't want to loose your groove by spending 15 seconds cycling through your oodles of plugins.
@Coachz thank you! the video should work embedded and if clicked twice bring viewers directly to YouTube. But here is the direct link: https://youtu.be/9XJO2OOtPtg
@timothys_monster thanks! Yes, I'm planning to bring the ReaPack support for my repo soon. The scripts are already hosted on GitHub and all I need to do now is to index the repository for ReaPack.
The "Quick add..." version 1.2 is on its way and it will bring support for applying track templates to existing tracks. Stay tuned!
@Coachz thanks for the report! The script supports subfolders. It was a buglet that should be fixed now.
I updated the script so please redownload it (right-click --> save as) and tell me how it goes.
@timothys_monster thanks for the link! Since I already have a GitHub repo I will go with the standard indexing procedure soon.
@Coachz awesome, thanks for reporting back! And the resource paths you specified are used indeed, but for VST the script also scans the corresponding .ini file, while for JS it searches the Effects folder.
@cool thanks, and no, when it comes to FX, the script uses your whole vst2/vst3/JS/chains/ library (you can turn off any of those). I've been contemplating adding the ability to search the favorites only, but in practice I haven't seen a real need for that yet. The script has a powerful search syntax to get any FX pretty easily.
This script is really great. I save a track template with a piano vsti on it, record enabled and the midi keyboard input selected. When I want a quick track with piano, I hit my shortcut key to open the script dialog, type .umx Enter and I have the live track ready to play all in about 2 seconds. That is productive.
I'm guessing it looks in
C:\Users\username\AppData\Roaming\REAPER\FXChains
and
C:\Users\username\AppData\Roaming\REAPER\TrackTemp lates
Thanks! But I meant something else. I want the script to open only plugins from my Favorites (or other specific) folder. Now the script adds to the track plugins from the "All Plugins" folder.
Quote:
Originally Posted by Neutronic
@cool thanks, and no, when it comes to FX, the script uses your whole vst2/vst3/JS/chains/ library (you can turn off any of those). I've been contemplating adding the ability to search the favorites only, but in practice I haven't seen a real need for that yet. The script has a powerful search syntax to get any FX pretty easily.
Ok, thank you! For me, a short list is first of all a convenience and the ability to add plugins by a short name.
For example, now, if I enter "250", I will load "api 2500" compressor instead of the expected "uad 250" reverb.
Similarly with other plugins. Dialing "1176", I expect my "uad 1176LN" compressor of the old version, but it loads a new one with a similar name.
Thanks! But I meant something else. I want the script to open only plugins from my Favorites (or other specific) folder. Now the script adds to the track plugins from the "All Plugins" folder.
Ok, thank you! For me, a short list is first of all a convenience and the ability to add plugins by a short name.
For example, now, if I enter "250", I will load "api 2500" compressor instead of the expected "uad 250" reverb.
Similarly with other plugins. Dialing "1176", I expect my "uad 1176LN" compressor of the old version, and a new one with a similar name is being loaded.
sounds like a feature request. maybe a comma could be used ",reacomp" could only look in favorites
Ok, thank you! For me, a short list is first of all a convenience and the ability to add plugins by a short name.
For example, now, if I enter "250", I will load "api 2500" compressor instead of the expected "uad 250" reverb.
Similarly with other plugins. Dialing "1176", I expect my "uad 1176LN" compressor of the old version, but it loads a new one with a similar name.
You can try to enter "u 25" / "u 250" and you should get the reverb, or "11 -l" / "117 -ln" (minus excludes terms) to get the correct 1176 version.
The favorites exclusivity is a good request though and still a possibility, it's just with partial word search I have yet to encounter a case where I didn't find a short query that works.