Advertisement
poulhoi

phoi_Hide all inactive envelopes.lua

Jan 27th, 2021
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.33 KB | None | 0 0
  1. -- Adapted by phoi from a script by mpl "Show all active track envelopes, hide unactive"
  2.  
  3. -- NAME
  4. local scriptName = ({reaper. get_action_context()})[2]:match("([^/\\]+)%.lua$") -- generate default scriptName from file
  5.  
  6. --FUNCTIONS FOR DEBUG
  7. function msg(msg)
  8.   reaper.ShowConsoleMsg(tostring(msg) .. "\n")
  9. end
  10.  
  11. function main()
  12.   reaper.Undo_BeginBlock()
  13.   for tr = 1, reaper.CountTracks(0) do
  14.     local track = reaper.GetTrack(0,tr-1)
  15.     if track then
  16.       for i = 1,  reaper.CountTrackEnvelopes( track ) do
  17.         local hide = false
  18.         local env = reaper.GetTrackEnvelope( track, i-1 )
  19.         local br_env = reaper.BR_EnvAlloc( env, false )
  20.         local active, visible, armed, inLane, laneHeight, defaultShape, _, _, _, _, faderScaling = reaper.BR_EnvGetProperties( br_env )
  21.         if not active then
  22.           hide = true
  23.         elseif reaper.CountEnvelopePoints(env) < 2 and reaper.CountAutomationItems(env) == 0 then
  24.           hide = true
  25.         end
  26.         if hide then visible = false end
  27.         reaper.BR_EnvSetProperties( br_env, active, visible, armed, inLane, laneHeight, defaultShape, faderScaling )
  28.         reaper.BR_EnvFree( br_env, true )
  29.       end
  30.     end
  31.   end
  32.   reaper.Undo_EndBlock(scriptName, -1)
  33. end
  34.  
  35. reaper.PreventUIRefresh(1)
  36. main()
  37. reaper.PreventUIRefresh(-1)
  38. reaper.UpdateArrange()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement