ReaScript API

From CockosWiki

Revision as of 22:44, 25 November 2009 by MikeLacey (Talk | contribs)
Jump to: navigation, search

Back to main ReaScript page
Back to main REAPER API page

ReaScript API Documentation

Don't forget - Call API functions using RPR_functionname() - Don't forget the RPR_

Functions that cannot return information in the parameter list will return a single value, functions that can return information in the parameter list will return a list of values.

Using these functions.

These functions each map onto a C++ function. C++ allows "pass by reference", which lets you pass a variable to a function in the parameter list and have the function change that parameter, so after this function call:

x = MyFunc(&var);

the var variable might have a different value...

Perl and Python don't have compatible pass by reference mechanisms so when ReaScript sees a modifiable variable in the parameter list it returns all the values in the parameter list and the return value (if there is one) in an array, as in this example.

GetUserInputs()

Specific REAPER type pointers, like MediaItem*, are not considered modifiable by ReaScript when deciding whether to return a scalar or array from a particular function.

Anything in the API documentation that is marked with a '?' is an assumption or something the writer just isn't sure about. If you happen to know whatever it is for certain - please correct or confirm the entry.

Please add a brief note or correction if you see anything that's wrong or incomplete . Don't worry about making it look good if you don't have the time; someone will be along in a while with the time. Of course, don't hesitate to make it look cool if you *do* have the time... :o)

GetUserInputs() AddMediaItemToTrack AddProjectMarker AddTakeToMediaItem
adjustZoom APITest Audio_IsPreBuffer Audio_IsRunning
Audio_RegHardwareHook BypassFxAllTracks CalculatePeaks ClearAllRecArmed
ClearPeakCache CountMediaItems CountSelectedMediaItems CountSelectedTracks
CountTakes CountTrackEnvelopes CountTrackMediaItems CountTracks
CreateMIDIInput CreateMIDIOutput CSurf_FlushUndo CSurf_GetTouchState
CSurf_GoEnd CSurf_GoStart CSurf_NumTracks CSurf_OnArrow
CSurf_OnFwd CSurf_OnFXChange 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 DB2SLIDER DeleteProjectMarker DeleteTrack
DeleteTrackMediaItem DockWindowActivate DockWindowAdd DockWindowRemove
EnsureNotCompletelyOffscreen EnumPitchShiftModes EnumPitchShiftSubModes EnumProjectMarkers
EnumProjectMarkers2 EnumProjects EnumTrackMIDIProgramNames EnumTrackMIDIProgramNamesEx
format_timestr format_timestr_len format_timestr_pos genGuid
get_config_var get_ini_file GetActiveTake GetColorThemeStruct
GetCursorPosition GetCursorPositionEx GetEnvelopeName GetExePath
GetHZoomLevel GetIconThemePointer GetIconThemeStruct GetInputChannelName
GetItemProjectContext GetLastTouchedTrack GetMainHwnd GetMasterMuteSoloFlags
GetMaxMidiInputs GetMaxMidiOutputs GetMediaItem GetMediaItem_Track
GetMediaItemInfo_Value GetMediaItemNumTakes GetMediaItemTake GetMediaItemTake_Item
GetMediaItemTake_Source GetMediaItemTake_Track GetMediaItemTakeInfo_Value GetMediaTrackInfo_Value
GetMidiInput GetMIDIInputName GetMidiOutput GetMIDIOutputName
GetNumMIDIInputs GetNumMIDIOutputs GetNumTracks GetOutputChannelName
GetOutputLatency GetPeakFileName GetPeaksBitmap GetPlayPosition
GetPlayPosition2 GetPlayPosition2Ex GetPlayPositionEx GetPlayState
GetPlayStateEx GetProjectPath GetProjectPathEx GetProjectTimeSignature
GetProjectTimeSignature2 GetSelectedMediaItem GetSelectedTrack GetSelectedTrackEnvelope
GetSet_ArrangeView2 GetSet_LoopTimeRange GetSet_LoopTimeRange2 GetSetEnvelopeState
GetSetItemState GetSetMediaItemTakeInfo_String GetSetMediaTrackInfo_String GetSetRepeat
GetSetRepeatEx GetSetTrackState GetTake GetTakeEnvelopeByName
GetTooltipWindow GetTrack GetTrackAutomationMode GetTrackEnvelope
GetTrackEnvelopeByName GetTrackGUID GetTrackMediaItem GetTrackMIDINoteName
GetTrackMIDINoteNameEx GetTrackNumMediaItems GetTrackState GetTrackUIVolPan
GetUserInputs GSC_mainwnd guidToString HasTrackMIDIPrograms
HasTrackMIDIProgramsEx HiresPeaksFromSource InsertMedia InsertTrackAtIndex
IsInRealTimeAudio IsMediaExtension kbd_OnMidiEvent kbd_OnMidiList
LICE_Blit LICE_ClipLine LICE_Line LICE_LineInt
Main_OnCommand Main_OnCommandEx Main_openProject Main_UpdateLoopInfo
Master_GetPlayRateAtTime MB MIDI_eventlist_Create MIDI_eventlist_Destroy
MIDIEditor_GetActive MIDIEditor_GetMode MIDIEditor_OnCommand mkpanstr
mkvolpanstr mkvolstr MoveEditCursor MoveMediaItemToTrack
MuteAllTracks my_getViewport OnPauseButton OnPauseButtonEx
OnPlayButton OnPlayButtonEx OnStopButton OnStopButtonEx
parse_timestr parse_timestr_len parse_timestr_pos parsepanstr
PCM_Sink_Create PCM_Sink_CreateEx PCM_Sink_CreateMIDIFile PCM_Sink_CreateMIDIFileEx
PCM_Sink_Enum PCM_Sink_GetExtension PCM_Sink_ShowConfig PCM_Source_CreateFromFile
PCM_Source_CreateFromFileEx PCM_Source_CreateFromSimple PCM_Source_CreateFromType PeakBuild_Create
PeakGet_Create PlayPreview PlayTrackPreview PlayTrackPreview2
plugin_getFilterList plugin_getImportableProjectFilterList PluginWantsAlwaysRunFx projectconfig_var_addr
projectconfig_var_getoffs ReaperGetPitchShiftAPI relative_fn Resample_EnumModes
Resampler_Create resolve_fn screenset_register screenset_unregister
screenset_unregisterByParam SelectProjectInstance SetAutomationMode SetEditCurPos
SetEditCurPos2 SetMediaItemInfo_Value SetMediaItemTakeInfo_Value SetMediaTrackInfo_Value
SetProjectMarker SetProjectMarker2 SetTrackAutomationMode SetTrackMIDINoteName
SetTrackMIDINoteNameEx SetTrackSelected ShowActionList ShowConsoleMsg
ShowMessageBox SLIDER2DB SoloAllTracks SplitMediaItem
StopPreview StopTrackPreview StopTrackPreview2 stringToGuid
TimeMap2_beatsToTime TimeMap2_GetDividedBpmAtTime TimeMap2_GetNextChangeTime TimeMap2_QNToTime
TimeMap2_timeToBeats TimeMap2_timeToQN TimeMap_GetDividedBpmAtTime TimeMap_QNToTime
TimeMap_timeToQN Track_GetPeakInfo TrackFX_FormatParamValue TrackFX_GetCount
TrackFX_GetFXName TrackFX_GetNumParams TrackFX_GetParam TrackFX_GetParamName
TrackFX_SetParam TrackList_AdjustWindows TrackList_UpdateAllExternalSurfaces Undo_BeginBlock
Undo_BeginBlock2 Undo_CanRedo2 Undo_CanUndo2 Undo_DoRedo2
Undo_DoUndo2 Undo_EndBlock Undo_EndBlock2 Undo_OnStateChange
Undo_OnStateChange2 Undo_OnStateChange_Item Undo_OnStateChangeEx Undo_OnStateChangeEx2
UpdateItemInProject UpdateTimeline ValidatePtr WDL_VirtualWnd_ScaledBlitBG
Personal tools