RPR GetTrackState

From CockosWiki

Jump to: navigation, search

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

Contents

GetTrackState()

const char* GetTrackState(MediaTrack* track, int* flags)

Gets track state, returns track name. flags will be set to:

  • &1=folder
  • &2=selected
  • &4=has fx enabled
  • &8=muted
  • &16=soloed
  • &32=SIP'd (with &16)
  • &64=rec armed

Parameters

MediaTrack* track,
int* flags

Returns

An array, containing
 const char* Track Name
 MediaTrack* track,
 int* flags

Examples

C++

 


Perl

<pre>
#
# Track properties - Show state info.pl
#
 
use strict;
use warnings;
 
use constant CURR_PROJ => 0;
 
my $Track_ID;
my $Flags;
 
my $Name;
my $Selected;
my $Folder;
my $Mute;
my $Solo;
my $FX;
my $Arm;
 
my $Summary;
 
# Get track count
my $Track_Count = RPR_CountTracks(CURR_PROJ);
my $Track_Index = 0;
 
while ($Track_Index < $Track_Count) {
	# Get track ID for current index
	$Track_ID = RPR_GetTrack(CURR_PROJ, $Track_Index);
 
	# Get current track name and flags
	($Name, $Track_ID, $Flags) = RPR_GetTrackState($Track_ID, 0);
 
	# Check selection status
	if ($Flags & 2) {
		$Selected = 'Yes';
	} else {
		$Selected = 'No';
	}
 
	# Check folder status
	if ($Flags & 1) {
		$Folder = 'Yes';
	} else {
		$Folder = 'No';
	}
 
	# Check mute status
	if ($Flags & 8) {
		$Mute = 'Yes';
	} else {
		$Mute = 'No';
	}
 
	# Check solo status
	if ($Flags & 16) {
		# Check solo mode
		if ($Flags & 32) {
			$Solo = 'Yes (in place)';
		} else {
			$Solo = 'Yes (ignore routing)';
		}
	} else {
		$Solo = 'No';
	}
 
	# Check effects status
	if ($Flags & 4) {
		$FX = 'Enabled';
	} else {
		$FX = 'Disabled';
	}
 
	# Check arm status
	if ($Flags & 64) {
		$Arm = 'Yes';
	} else {
		$Arm = 'No';
	}
 
	# Create track summary string
	$Summary = "Name:\t$Name\n"
	         . "Selected:\t$Selected\n"
	         . "Folder:\t$Folder\n"
	         . "Arm:\t$Arm\n"
	         . "Mute:\t$Mute\n"
	         . "Solo:\t$Solo\n"
	         . "FX:\t$FX\n";
 
	# Show summary in message box
	RPR_ShowMessageBox($Summary, "Track $Track_Index", 0);
 
	$Track_Index++;
}


Python

 

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 GetTrackState
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR GetTrackState

Personal tools