Go Back   Cockos Confederated Forums > Projects > REAPER > Feature Request

Automation System Panel - Display and Function Triggers Issue Tools
issueid=2893 08-21-2010 12:03 PM
Mortal
Automation System Panel - Display and Function Triggers
Control a powerful automation system from a simple panel before you move on to configure your own controls for it


Comments and ideas and pointing out bad things in this design is requested and encouraged in the
Discussion thread


This request is undergoing slight revisions to improve both explanation and visualization of the ideas presented here. -May 15th,2013.

Automation Button on TCP and floating panel v24

Please note that the panel documentation is being rewritten to improve the explanation and practical application of this design.

Happy new year folks.

-Janary 1st 2013

Goals
  • Default behaviour produces the same results as the old automation system in v4.15 (Jan13th 2012).
  • Safety of your existing automation data
  • Easy setup
  • Easy to write exactly what you need to where you need it
  • Easy to learn as you go

Practical workflow example of why this request is useful is described in these two posts: Part 1 and Part 2





Basic Functionality
  • Automation Recording Layer
    New automation is recorded to a layer that runs on top of the existing automation.The layer takes presedence over the existing automation whereever it has data until it is either purged or commited.

    What is recorded, written, read, captured and active is controlled from a simple control panel, built with simple, reusable images and text, with methods Reaper has already implemented. See the illustration further down for an illustration on what this control panel could look like.

  • Pass or State
    The user can record the state of parameters over time, which is referred to as an automation pass, or the user can record just a single state for the parameters in the automation recording layer.

    The profound difference between recording an automation pass and a state of parameters, is that an automation pass is bound to where it was recorded. A state of parameters is not. The recorded state can be held on to and applied (see Commit section) anywhere. The automation pass can only be commited to where it was recorded.

    A state of parameters cannot or rather should not be recorded in touch mode, but only in Latch or Write mode. In Touch mode, the user would have to hold on to the controls of parameters he/she wishes to change, because by letting go, the parameter would return to what is already present on the automation lanes within the set “return time” in the preferences, after which readout of the existing automation lanes would resume.

    An illustration of how things are played back in Pass and State mode.
  • Commit
    That newly recorded layer can be applied to the actual envelope lanes at will or automatically when transport stops. Several options give the user a choice of where to commit a pass or a state of parameters.A state of parameters can be commited to within the boundaries of a time selection. Commiting a pass can be limited to a specific area with the time selection option.A state can be written back to the first punch in point which is where the user first wrote data for a parameter in to the automation recording layer.

  • Write Enable
    The user can prevent certain groups of parameters from having automation from the layer being commited to the envelopes lanes by using the “Write Enable” buttons. The “Write Enable” states are absolute and global. For example, if “All” or the the “Volume” buttons are not lit, nothing can be written to any volume envelope lane in the session.

  • Commiting a Pass

    This automation recording buffer can be in multiple parts.




How to Commit

The user can commit, bypass or discard this recording with the Automation Button.


Switching between Pass and State mode
The automation recording layer can be switched to state mode (and back again). This switch between pass recording and state recording can be done in the context menu of the automation button, or the automation panel, detailed further down in this post.

When switching from pass mode to state mode, the current state of the parameters in the automation layer are used and held on to, effectively freezing them in place. The automation recording layer is purged except for this value for every parameter recorded to the layer.

This can only be done in either in the automation mode Latch or Write. In Touch mode, the user would need to hold on to the controls of the parameters, or they'd return to the values on the existing envelopes lanes within the return time set in the preferences.

When switching from state mode to pass mode, the state is used as a starting value, in which all parameters are considered touched by the user.

This way, using the automation mode Latch, a user could find starting values in state mode, locate transport to where he/she wants to start writing and perhaps ride those values, switch to pass mode and start playback. The automation recording layer would begin recording the parameters and the value previously set. The user can then dynamically change things, starting with a desired set of values.


The options to commit a state, which is one value for any parameter recorded, are determined in the context menu of the automation button for a track, or globally on the automation panel. Some of those options can apply to a pass(see below).

The default option to commit a recorded automation state is to commit it along the length of the time selection.


Top to bottom, Automation Recording Buffer is empty , filled and bypassed.

  • Button states indicate Automation Pass buffer filled, empty or bypassed

    The Automation Button will indicate whether an automation pass has been recorded on a track or not, by lighting up or being dark, similar to how the record-arm button indicates armed status.

    Click to commit the automation pass or state (manual mode only)

    ALT+click to empty the automation pass buffer. (only matters in manual mode)

    SHIFT+click to bypass the automation pass buffer, just like you do for sends.(manual mode only)

    CTRL+click to commit to all tracks (manual mode only)

  • The Context menu revieals the Commit Options first, of which there are two for selected and all tracks. The mode is indicated with a symbol on the button.

    • Manual
      The user has to click this button to commit an active pass to the track envelopes. If no automation pass has been recorded on the track, nothing will be commited, i.e. nothing happens.

    • Commit on stop
      The user doesn't have to do anything. Any recorded pass is commited as soon as the user stops transport. The user can loop around an area, playing with the parameters as he/she sees fit, and whatever was recorded.

      Special Note: Latch mode will not start reading back the existing recorded pass when coming around for a loop, but keep writing with the value the user has set so far, unlike Reaper v4.14 Latch mode, which will start reading track data as soon as playback loops around.

    • Manual (global)
      Set manual commit mode for all tracks. Clean slate.

    • Commit on stop (global) (default)
      Set Commit on stop for all tracks. Clean slate.
    • Commit source -> submenu
      • Automation pass (default)
      • Automation state (current values)

    • Commit target -> submenu
      • Automation pass area(default)
      • Time Selection
      • To Punch In (where the first parameter was touched)
      • To Session Start
      • To Session End

    • Auto Parameter Grouping -> submenu

      This is what Nuendo calls Touch-Assist. Maybe we should use that name for consistency.

      Sometimes the user may wish to write to all the parameters of a plugin. Thus, in order to write automation data, they'd have to touch each parameter at least once. This is not effective in some instances, which is why this function HAS TO EXIST.

      If "Auto Parameter Grouping"(or whatever its name will be) is ON, the user only has to touch one parameter of a plugin to put all of them in to a "touched" state.

      All parameter will then be recorded in to the automation pass buffer. If in Latch mode, they will stay there until transport stops. If in Touch mode, they will stay there for the duration of the match-out time after the user lets go of the controls. Thus, to write to all parameters briefly, only touch mode is necessary, but for writing contiously Latch mode should be used, so the user doesn't have to hold on to any one of the parameters all the time.

      • Off (default)
        When off, only the parameters you touch will be recorded.

      • On
        If one parameter of a plugin is touched, ALL parameters of that plugin are put in a touched state. This is also why Nuendo calls it Touch-Assist.

        It lets users quickly write a bunch of parameters of a reverb for example. Highly efficient.

    • Touch All Parameters and Touch All Parameters On All Tracks

      This function can be used to do what the automation mode WRITE used to do. It is almost never used. This can be done during playback and in STOP mode.

      The function puts all parameters of a track(or all tracks) in to the automation pass buffer. If the user wants to write a clean slate to a small area, all he/she needs to do is make a loop selection, activate this action, and hit play.

      To do this in non-realtime, use of the automation panel is recommended.


Commit logs and snapshots

Every commit is logged in the automation history, and can be named for later recall or reuse.

In addition, buffer contents can be saved away as snapshots for recall and commit. The user can capture specific states, such as the plugin states for selected tracks (button command "Ins"), for example.

The commit log, the automation history (with branching !!!!!!!!!!) and snapshots should be part of the project bay.



The Automation Panel

This panel is mainly used for setting state commit options, read/write enable control and snapshot handling.

v24 redesign of main panel to accomodate a more intuitive use, plus additional practical commands for putting parameters in to the Automation Recording Layer, plus the brand new pass-recording options.

These options will be explained in detail. The panel documentation will be re-written as well.




Panel Documentation
Automation Recording Buffer section
Commit section
Buffer Slots
These slots are for quick-store and recall of automation recording buffer contents. They are session specific and thus saved in the session file (.RPP).

CTRL+click on a slot to save, Click to load. In detail :
  • CTRL+Click on a slot to replace the contents of the slot with the contents of the automation recording buffer (yellow section).

  • Click to replace the contents of the automation recording buffer with the contents of the slot.


Capture section



These are all command buttons, not options. All but the camera button performs a capture operation.

A left-click on Ins, Snd(send), Vol, Pan and Track performs a capture of selected tracks.

A SHIFT+left-click performs on those buttons performs the same capture from all tracks.

The "Session" button always captures all enabled parameters from all tracks.

The buttons will be grey if there is nothing in the Capture buffer. The Capture buffer stays occupied for as long as the session is open or the user performs another parameter capture.



  • Camera Symbol
    Creates a snapshot entry in the snapshot list. The user is asked to enter a name with a reasonable default given so the user can just hit return.

  • Punch
    Copies the contents of the Capture buffer in to the automation recording buffer, replacing anything previously in the automation recording buffer.

  • Session
    Captures the state of every enabled parameter in the session in to the capture buffer. Some folks will use this to save away alternate static mixes, and others to save away section settings.

  • Track
    All parameters on the selected track(s) are captured.

  • Ins
    All parameters of the plugin inserts from the selected track(s) are captured.

  • Snd
    All send parameters from the selected track(s) are captured.

  • Vol
    The volume parameter from the selected track(s) are captured.

  • Pan
    The pan parameters from the selected track(s) are captured.

On Stop and Manual commit modes are not represented in the mockups. The horizontal mockup displays the manual setting, which when clicked on would toggle to the On Stop setting, as displayed in the vertical mockup.

The On Stop setting is grey and dark because it's the default.

Automation Modes, Read/Write enables, Show envelope commands and Enabling parameters on selected tracks





About the state commits

This is in fact better handled with the larger panel. That's what it was designed for. The Automation Button on each TCP is the quick and easy way to basically have a preview-always-on method of recording and commiting automation.

The majority of users may be quite happy with commiting automation passes, and may commit states(static values) to a time selection from time to time. For simple state commits, the automation button is all it takes with its options.

The current way the automation behaves can be achieve by keeping to the default settings as suggested above.

One of the most important advances, even if a user only uses the default however, is the saving away of a separate automation history. This auto-logging of automatin commits makes using the vanilla UNDO history unnecessary for the recording of actual automation data. Only a commit would require that, and even then the automation history would save that data away.


The Project Bay

It could display the autoamation commits and let users organize, explore and use them with drag'n'drop functionality.


Visual Indicators for automation pass boundaries

It could be as simple as a red line on the track itself indicating the punch in and punch out point. It would be an additional way for the user to know where he/she would be commiting data.


Performance Advantages

Reaper no longer has to record to the actual envelope lanes, but to a temporary RAM buffer that can be created and destroyed as needed. Only commit actions would write to the lanes. I hope it makes a difference.



Issue Details
Issue Type Feature Request
Project REAPER
Category Audio recording and playback
Status Suggested
Priority 1 - Highest
Suggested Version 3.66
Implemented Version (none)
Users who would use this feature 175
Users who would not use this feature 3
Assigned Users (none)
Tags (none)

02-28-2011 02:24 PM
Mortal
 
This is basically completely useless for people who don't own high end control surfaces, right? Or is there any argument this is useful for anyone else?
Reply
02-28-2011 07:04 PM
Mortal
 
Quote:
Originally Posted by Xenakios
This is basically completely useless for people who don't own high end control surfaces, right? Or is there any argument this is useful for anyone else?
Quite on the contrary. This is a reasonable substitute for an actual control surface.

It provides state readout and button access to all the necessary functions. A control surface or something equivalent just provides this in a more ergonomic fashion to a degree. That, and this is actually low-brow stuff for most consoles. We're starting with the simple things in automation life.
Reply
04-12-2012 12:33 PM
Mörtel
 
I guess it's a good idea to repeat the link to the
discussion thread
down here :)
Reply
Reply

Issue Tools
Subscribe to this issue

All times are GMT -7. The time now is 07:39 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.