|
|
|
04-10-2017, 02:45 AM
|
#1
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
Idea for envelope display - anyone interested ?
This is an idea for script. Maybe folks would find this useful, maybe not.
It will require work from all of us. I can't do GUI stuff for example, whereas a bunch of us are wizards at it.
Premise:
In Protools you could ALT+click on an envelope in the dropdown menu of Views which included envelopes, and the envelope would be shown on all tracks, if it existed.
For example, you'd ALT+click on the "Volume" entry and you'd see the volume envelope on all tracks. You could switch between almost anything with a single click and see what parameters did. I used this to check for errors and wipe certain types of automation from a session or an area of it.
A capture of how this works in Protools. I use the ALT+click method on the view menu twice, then use shortcuts, then the view menu again.
Here's an idea to do this in Reaper.
The script pops up a listbox, which one of our esteemed GUI writers probably finds easy to implement. That listbox shows all envelopes in a list on selected tracks by default. Each envelope name would only come up once, even if present on multiple tracks.
A filter box lets the user live-filter that list. Cursor up/down keys let the user select an envelope for display. Hitting "Return" or "Enter" then shows that envelope on the track (default) on all selected tracks (default, or all tracks with a checkbox).
Workflow.
It is not only important to show envelopes, but also to hide them all. Some folks will bind a keyboard shortcut to "Hide all envelopes", like I do, but some might not.
This is where the script will come in handy as well. By default it should hide all envelopes if the user hits the ESC key. That way the user can hide all the envelopes that were shown.
Benefits.
- TCP Track layout is not messed up
- Copy/pasting automation or automation items between tracks of a similar envelope.
- Checking envelopes for errors
- whatever comes to mind in the future
Summary.
- List box with envelopes (sorted by name)
- Live-filter for list box until you choose an entry, then script window closes. Live-filter-showing envelopes takes WAY too long. I've got over 1200 envelopes in a mixing session today. They take a very long time to show, so that's off the table right away.
- Cursor up/down or mouse selection of one entry
- Return/Enter key or mouse double-click to activate
- ESC key to hide all track envelopes currently on display on the tracks
- Options that are non-default include
- "Show on all tracks"
- "Show envelope in lane"(messy but maybe someone wants this).
- Do not hide all envelopes on ESCing from script
Last edited by airon; 04-10-2017 at 03:04 AM.
|
|
|
04-10-2017, 03:05 AM
|
#2
|
Human being with feelings
Join Date: Apr 2011
Posts: 3,451
|
Airon, see my actions in ReaPack!
Pro Tools "Show/hide Clip Gain Line" (Start+Shift+Hyphen) equivalent
One can easily modify the scripts (by changing "Volume" to "Pan" for example) and have the rest of the actions. What is missing is the GUI.
Sorry, I didn't pay attention that you were referring to *track* and not *item* envelopes..
|
|
|
04-10-2017, 07:08 AM
|
#3
|
Human being with feelings
Join Date: Jan 2015
Posts: 794
|
Quote:
Originally Posted by airon
This is an idea for script. Maybe folks would find this useful, maybe not.
It will require work from all of us. I can't do GUI stuff for example, whereas a bunch of us are wizards at it.
Premise:
In Protools you could ALT+click on an envelope in the dropdown menu of Views which included envelopes, and the envelope would be shown on all tracks, if it existed.
For example, you'd ALT+click on the "Volume" entry and you'd see the volume envelope on all tracks. You could switch between almost anything with a single click and see what parameters did. I used this to check for errors and wipe certain types of automation from a session or an area of it.
A capture of how this works in Protools. I use the ALT+click method on the view menu twice, then use shortcuts, then the view menu again.
Here's an idea to do this in Reaper.
The script pops up a listbox, which one of our esteemed GUI writers probably finds easy to implement. That listbox shows all envelopes in a list on selected tracks by default. Each envelope name would only come up once, even if present on multiple tracks.
A filter box lets the user live-filter that list. Cursor up/down keys let the user select an envelope for display. Hitting "Return" or "Enter" then shows that envelope on the track (default) on all selected tracks (default, or all tracks with a checkbox).
Workflow.
It is not only important to show envelopes, but also to hide them all. Some folks will bind a keyboard shortcut to "Hide all envelopes", like I do, but some might not.
This is where the script will come in handy as well. By default it should hide all envelopes if the user hits the ESC key. That way the user can hide all the envelopes that were shown.
Benefits.
- TCP Track layout is not messed up
- Copy/pasting automation or automation items between tracks of a similar envelope.
- Checking envelopes for errors
- whatever comes to mind in the future
Summary.
- List box with envelopes (sorted by name)
- Live-filter for list box until you choose an entry, then script window closes. Live-filter-showing envelopes takes WAY too long. I've got over 1200 envelopes in a mixing session today. They take a very long time to show, so that's off the table right away.
- Cursor up/down or mouse selection of one entry
- Return/Enter key or mouse double-click to activate
- ESC key to hide all track envelopes currently on display on the tracks
- Options that are non-default include
- "Show on all tracks"
- "Show envelope in lane"(messy but maybe someone wants this).
- Do not hide all envelopes on ESCing from script
|
+1
Very useful if well implemented BUT it would require a development on Reaper to be done: when a track has active hidden envelope it should show a mark or some sort of indicator, otherwise one might easily forget that *say* PAN has been slightly automated on track 134 and keep using the main knob with unpredicable results
Without it I prefer not to have too many hidden envelopes
g
|
|
|
04-10-2017, 11:09 AM
|
#4
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
My envelopes need to be hidden almost all the time.
|
|
|
04-10-2017, 12:24 PM
|
#5
|
Human being with feelings
Join Date: Jun 2015
Posts: 685
|
Envelope display management could use some workflow enhancement in my opinion too.
I'm not sure I quite grasp your concept, but how about this:
The script would open a list window, which would display all active envelopes for the selected track. If multiple tracks are selected, it would display only the envelopes that are common to all the selected tracks. Then you could click+drag routing matrix style to display/hide envelopes for all the selected tracks.
I think this would be easier to implement, while providing the functionality you're describing?
|
|
|
04-12-2017, 09:03 AM
|
#6
|
Human being with feelings
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
|
Ok, the first is to have a listbox.
Second is the filter box. Iirc Schwa posted a version of that a while ago but some GUI frameworks have this too.
Third are checkboxes.
Which GUI framework would we use for these ?
|
|
|
04-18-2017, 02:20 AM
|
#7
|
Human being with feelings
Join Date: Jul 2010
Location: Slovakia
Posts: 2,588
|
This whole thing does make sense to me.
I have recently started using envelopes in media lane and found it is currently visually hard to see.
A good thing is to lock items underneath the media-lane-envelope (scriptable).
When the items are locked, they grey out (fair enough). BUT the envelopes grey out as well and they are still editable (no good).
Solution - make envelopes in locked mode "Items (Full)" keed their original colors. This of course needs the devs to to that. This is very close to being able to set mute colors by theme. So I would suggest to support that FR alongside with this.
-------------------------------------------------------------------------
I have made a small script for myself, nothing fancy. It toggles ModWheel envelope in ReaControlMIDI, but you can configure that inside the script.
Code:
plugName = "ReaControlMIDI"
envName = "Mod Wheel"
forceMediaLane = true
lockMediaItems = true
-------------------------------------------------------------------------------------------------------
function lockOn()
--item locking
--[[
reaper.Main_OnCommand( 40595, 0 )
reaper.Main_OnCommand( 41849, 0 )
reaper.Main_OnCommand( 40598, 0 )
reaper.Main_OnCommand( 41852, 0 )
reaper.Main_OnCommand( 40577, 0 )
reaper.Main_OnCommand( 40580, 0 )
--]]
--lock items full
reaper.Main_OnCommand( 40574, 0 )
--overall lockin
reaper.Main_OnCommand( 40569, 0 )
end --function lockOn
--------------------------------------------------------------------------------------------------------
function lockOff()
--item locking
--[[
reaper.Main_OnCommand(40596, 0 )
reaper.Main_OnCommand(41850, 0 )
reaper.Main_OnCommand(40599, 0 )
reaper.Main_OnCommand(41853, 0 )
reaper.Main_OnCommand(40578, 0 )
reaper.Main_OnCommand(40581, 0 )
--]]
--overall lockin
reaper.Main_OnCommand(40570, 0 )
end --fucntion lockOff
------------------------------------------------------------------------------------------------------
fullName = envName.." / "..plugName
trackNum = reaper.CountTracks(0)
visibleNum = 0
hiddenNum = 0
--do we want to hide all or show all?
for t=0, trackNum-1 do
local track = reaper.GetTrack(0,t)
local env = reaper.GetTrackEnvelopeByName( track, fullName )
if env then
local brEnv = reaper.BR_EnvAlloc( env, 0 )
_, visibleOut = reaper.BR_EnvGetProperties( brEnv )
if visibleOut then
visibleNum=visibleNum+1
else
hiddenNum=hiddenNum+1
end --if
reaper.BR_EnvFree( brEnv, false )
end --if env
end --for t
--if we have envelope with such name, quit
if visibleNum+hiddenNum==0 then return end
if visibleNum>=hiddenNum then
showAll = false
lockOff()
else
showAll = true
if lockMediaItems then
lockOn()
end
end --if sivibleNum>=hiddenNum
reaper.PreventUIRefresh(1)
for t=0, trackNum-1 do
local track = reaper.GetTrack(0,t)
local env = reaper.GetTrackEnvelopeByName( track, fullName )
if env then
local brEnv = reaper.BR_EnvAlloc( env, 0 )
activeOut, visibleOut, armedOut, inLaneOut, laneHeightOut, defaultShapeOut,
minValueOut, maxValueOut, centerValueOut, typeOut,
faderScalingOut = reaper.BR_EnvGetProperties( brEnv )
if forceMediaLane then
inLaneOut = false
end
reaper.BR_EnvSetProperties
(brEnv, activeOut, showAll, armedOut, inLaneOut, laneHeightOut, defaultShapeOut,faderScalingOut)
reaper.BR_EnvFree( brEnv, true )
end --if env
end --for t
reaper.PreventUIRefresh(-1)
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 06:33 AM.
|