View Single Post
Old 06-27-2019, 03:03 AM   #18
Human being with feelings
airon's Avatar
Join Date: Aug 2006
Location: City
Posts: 10,333

Originally Posted by Danijel Milosevic View Post
Right! Thanks guys, this works on my end! Ohhhh, this will save me a lot of clicking

Yes, I also made some track templates with armed EQ and COMP. And with Edgemeals script, I am pretty good, but it would be great if you can share your script for arming everything accross the selected tracks when you get the time! I am thrilled to see the code, I used to work as a programmer during highschool.... It's been 20 yrs since that

Also, I wanna say thank you Airon - I realize you're pushing Reaper development to be more suitable for post for years now, and I probably wouldn't be able to switch from PT were there not for your FRs, posts, etc. If you are ever in Budapest, let me know, I wanna buy you a lemonade!
Thanks . Our collective groping, whining, pushing and pleading had to work at some point.

Here's my script. Very simple. Take a look further down and comment out or add other track envelopes(volume & pan).

The thread for this script is here:

Edgemeal seems to have improved the script a bit in the last post.

I'd actually like to do a search box, but finding the time and will to do it is less easy.

-- Lua Script for Reaper 5.0 and up
-- Activate and arm all FX parameters on selected tracks
-- v1.01
-- Written by Anthony "Airon" Oetzmann
-- This script is public domain
-- Post your feedback and alternate versions at

-- ++ DEBUG ++++++++++++++++++++++++++++++++++++++++++++++++
function get_script_path()
  if reaper.GetOS() == "Win32" or reaper.GetOS() == "Win64" then
    return debug.getinfo(1,'S').source:match("(.*".."\\"..")"):sub(2) -- remove "@"
    return debug.getinfo(1,'S').source:match("(.*".."/"..")"):sub(2)

dbug_flag = 1 -- set to 0 for no debugging messages, 1 to get them
function dbug (text)
  if dbug_flag==1 then
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function main()

  selected_tracks_count = reaper.CountSelectedTracks(0) -- Get number of selected tracks
  if selected_tracks_count == 0 then ; dbug ("No tracks selected\n") ;
  for i = 0, selected_tracks_count-1  do                -- Loop over every selected track
    track = reaper.GetSelectedTrack(0, i)               -- Get a track
    track_fx_count = reaper.TrackFX_GetCount(track)     -- how many fx on that track ?
    for j = 0, track_fx_count-1  do
      track_fxparam_count = reaper.TrackFX_GetNumParams(track, j) -- Get number of fx in track
      for k = 0, track_fxparam_count-1  do               -- Loop over each parameter of this track
        envelope = reaper.GetFXEnvelope(track, j, k, 1)  -- This will create(& thus activate) and arm the FX envelope
      end -- ENDLOOP through FX parameters
    end -- ENDLOOP through FX

  end -- ENDLOOP through selected tracks

  -- track envelopes. Add more if needed or comment out these lines
  reaper.Main_OnCommand(40707,0) -- toggle pan visible
  reaper.Main_OnCommand(40706,0) -- toggle volume visible

  reaper.Undo_EndBlock("Activate and Arm all FX Parameter envelopes on selected tracks", 0)

main() -- Execute your main function
reaper.UpdateArrange() -- Update the arrangement
Dialogue/FX Editor & Re-Recording Mixer
(Video)Using Latch Preview
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote