ReaScript API

From CockosWiki

(Difference between revisions)
Jump to: navigation, search
Line 17: Line 17:
Specific Reaper type pointers like MediaItem* are '''not''' considered modifiable by ReaScript when deciding whether to return a scalar or list value.
Specific Reaper type pointers like MediaItem* are '''not''' considered modifiable by ReaScript when deciding whether to return a scalar or list value.
-
''Anything in the API documentation that is marked with a '?' is an assumption or something I'm just not sure about. If you happen to know whatever it is for certain - please correct or confirm the entry.
+
''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.
-
''Anything you see that's wrong or incomplete - and there's certainly plenty incomplete - please add a brief note saying what needs to be done. Someone will be along in a while with the time to make the change look good if you don't have the time.
+
''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)''
{|class="wikitable"
{|class="wikitable"

Revision as of 09:53, 9 November 2009

Back to main ReaScript 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.

If a function takes a void* argument in the parameter list, which ReaScript thinks (correctly) is a modifiable variable, or any other modifiable variables in the parameter list, the function will return an array (return, parm1, parm2, ...).

This is a little counter-intuitive to Perl programmers but stick with me and read the example please.

e.g GetUserInputs()

Specific Reaper type pointers like MediaItem* are not considered modifiable by ReaScript when deciding whether to return a scalar or list value.

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)

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