RPR GetTrackAutomationMode

From CockosWiki

Jump to: navigation, search

Main Page > REAPER Documentation > ReaScript > ReaScript API, Functions > RPR GetTrackAutomationMode
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR GetTrackAutomationMode

Contents

GetTrackAutomationMode()

int GetTrackAutomationMode(MediaTrack* tr)

Parameters

MediaTrack* tr

Returns

int 

Examples

C++

 


Perl

 


Python

# envelope cycle TrimReadTouch.py
#
# Cycles automation mode of selected tracks between those three modes.
# Multiple selected tracks will also be cycld -- as long as they are 
# already set to the same mode. They won't be altered if they're set
# to different automation modes.
#
# Kindly written by Schwa (thanks again)
#
# comments by gofer. Which means, comments are from a complete
# scripting noob (not really - MikeLacey), made as I went along 
# trying to understand what the heck goes on in these lines. 
# Hope this helps others that are about to try and get a grip of 
# how logic shows up and works in Python scripts.
#
# Use at your own risk
 
# Initializing variables
MIXED_MODE=-1                                    # This seems to be a do-nothing value, calling SetTrackAutomationMode with -1 does nothing.
TRIMREAD_MODE=0                                  # These are the integer values returned from GetTrackAutomationMode, also used when
READ_MODE=1                                      # calling SetTrackAutomationMode
TOUCH_MODE=2                                     # Also: It kind of indicates latch mode would return 3 and write mode 4.
 
envmode = MIXED_MODE                             # This variable actually does all the work. Inits to MIXED_MODE, for reasons following.
 
n = RPR_CountSelectedTracks(0)
 
 
# Find out: do selected tracks share the same mode? if yes which?
for i in range(0,n):                             # loop through each selected track
  track = RPR_GetSelectedTrack(0,i)              # get a reference to a selected track
  tmode = RPR_GetTrackAutomationMode(track)      # Asking for automation modes of selected tracks
  if envmode == MIXED_MODE:
    envmode = tmode                              # First iteration of "for" loop always gives the current track mode, as envmode inits to MIXED_MODE.
  elif envmode != tmode:                         # If any of the following iterations results in any other track mode,
    envmode = MIXED_MODE                         # the variable is set to MIXED_MODE and
    break                                        # the script immediately leaves the "for" loop.
 
 
# Setting the envmode variable for actual mode-cycling
if envmode == TRIMREAD_MODE:
  envmode = READ_MODE
elif envmode == READ_MODE:
  envmode = TOUCH_MODE
else:
  envmode = TRIMREAD_MODE                        # Else can mean TOUCH, MIXED, latch or write, so they all cycle to trimread.
 
 
 
# Here the cycling is finally executed
for i in range(0,n):
  track = RPR_GetSelectedTrack(0,i)
  RPR_SetTrackAutomationMode(track, envmode)

See Also

track: GetLastTouchedTrack, GetMediaItemTake_Track, GetMediaItem_Track, GetMediaTrackInfo_Value, GetNumTracks, GetSelectedTrack, GetSelectedTrackEnvelope, GetSetMediaTrackInfo_String, GetSetTrackState, GetTrack, GetTrackAutomationMode, GetTrackEnvelope, GetTrackEnvelopeByName, GetTrackGUID, GetTrackMIDINoteName, GetTrackMIDINoteNameEx, GetTrackMediaItem, GetTrackNumMediaItems, GetTrackState, GetTrackUIVolPan, HasTrackMIDIPrograms, HasTrackMIDIProgramsEx, InsertTrackAtIndex, MoveMediaItemToTrack, MuteAllTracks, PlayTrackPreview, PlayTrackPreview2, SetMediaTrackInfo_Value, SetTrackAutomationMode, SetTrackMIDINoteName, SetTrackMIDINoteNameEx, SetTrackSelected, SoloAllTracks, StopTrackPreview, StopTrackPreview2, TrackFX_FormatParamValue, TrackFX_GetCount, TrackFX_GetFXName, TrackFX_GetNumParams, TrackFX_GetParam, TrackFX_GetParamName, TrackFX_SetParam, TrackList_AdjustWindows, TrackList_UpdateAllExternalSurfaces, Track_GetPeakInfo, AddMediaItemToTrack, BypassFxAllTracks, CSurf_NumTracks, CSurf_OnTrackSelection, CSurf_SetTrackListChange, CSurf_TrackFromID, CSurf_TrackToID, CountSelectedTracks, CountTrackEnvelopes, CountTrackMediaItems, CountTracks, DeleteTrack, DeleteTrackMediaItem, EnumTrackMIDIProgramNames, EnumTrackMIDIProgramNamesEx,

(Section automatically generated, edits may be overwritten.)

Stuff

Main Page > REAPER Documentation > ReaScript > ReaScript API, Functions > RPR GetTrackAutomationMode
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR GetTrackAutomationMode

Personal tools