RPR CSurf TrackToID

From CockosWiki

Jump to: navigation, search

Main Page > REAPER Documentation > ReaScript > ReaScript API, Functions > RPR CSurf TrackToID
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR CSurf TrackToID



int CSurf_TrackToID(MediaTrack* track, bool mcpView)

track index 0 always = master track note these indices in mcpView can be tracks in any order (mixer view), if !mcpView, 1->n = tracks (note the 1-based which differs from "GetTrackInfo"'s indices which are 0 based

This is a short summary of the available Control Surface functions, it is included in each CSurf function page.

Function Type Example(s) Description
“On” CSurf_OnPlay, CSurf_OnStop Called from the plugin in response to a h/w event. e.g. The user presses the physical Play button on the control surface and CSurf_OnPlay() is called by the plugin to set REAPER playing the current project
“Set”, “Get” CSurf_SetSurfaceRecArm Called by the plugin to to set the state of a track inside reaper (mute it, solo it etc.)
Utility CSurf_TrackFromID, CSurf_TrackToID, Not triggered by a h/w or REAPER event but used within the plugin. e.g. To translate between REAPER and h/w track indexes.

CSurf_ScrubAmt, CSurf_ResetAllCachedVolPanStates

MIDI CreateMIDIInput, CreateMIDIOutput Functions to create objects which control MIDI devices, including control surfaces.

REAPER calls a control surface through the IReaperControlSurface interface (defined in reaper_plugin.h) which a plugin has to register on startup. The function names of this interface are very similar to the CSurf_* functions, they just work the other way round (from REAPER to the plugin).


MediaTrack* track,
bool mcpView





void RestoreSelected()
	int iSel = 1;
	for (int i = 0; i < g_iNumSel; i++)
		if (CSurf_TrackToID(g_pSelTracks[i], false) >= 0)			GetSetMediaTrackInfo(g_pSelTracks[i], "I_SELECTED", &iSel);





See Also

csurf: CSurf_FlushUndo, CSurf_GetTouchState, CSurf_GoEnd, CSurf_GoStart, CSurf_NumTracks, CSurf_OnArrow, CSurf_OnFXChange, CSurf_OnFwd, CSurf_OnMuteChange, CSurf_OnPanChange, CSurf_OnPanChangeEx, CSurf_OnPlay, CSurf_OnRecArmChange, CSurf_OnRecord, CSurf_OnRew, CSurf_OnSelectedChange, CSurf_OnSoloChange, CSurf_OnStop, CSurf_OnTrackSelection, CSurf_OnVolumeChange, CSurf_OnVolumeChangeEx, CSurf_ResetAllCachedVolPanStates, CSurf_ScrubAmt, CSurf_SetAutoMode, CSurf_SetPlayState, CSurf_SetRepeatState, CSurf_SetSurfaceMute, CSurf_SetSurfacePan, CSurf_SetSurfaceRecArm, CSurf_SetSurfaceSelected, CSurf_SetSurfaceSolo, CSurf_SetSurfaceVolume, CSurf_SetTrackListChange, CSurf_TrackFromID, CSurf_TrackToID,

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.)


Main Page > REAPER Documentation > ReaScript > ReaScript API, Functions > RPR CSurf TrackToID
Main Page > REAPER Documentation > REAPER API > REAPER API Functions > RPR CSurf TrackToID

Personal tools