Old 04-10-2017, 02:45 AM   #1
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default 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
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom

Last edited by airon; 04-10-2017 at 03:04 AM.
airon is offline   Reply With Quote
Old 04-10-2017, 03:05 AM   #2
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

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..
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 04-10-2017, 07:08 AM   #3
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Quote:
Originally Posted by airon View Post
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
Gianfini is offline   Reply With Quote
Old 04-10-2017, 11:09 AM   #4
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

My envelopes need to be hidden almost all the time.
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 04-10-2017, 12:24 PM   #5
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 685
Default

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?
Sju is offline   Reply With Quote
Old 04-12-2017, 09:03 AM   #6
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: Berlin
Posts: 11,817
Default

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 ?
__________________
Using Latch Preview (Video) - Faderport 16 setup for CSI 1.1 , CSI 3.10
Website
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 04-18-2017, 02:20 AM   #7
bFooz
Human being with feelings
 
Join Date: Jul 2010
Location: Slovakia
Posts: 2,588
Default

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)
bFooz is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:33 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.