Ultraschall Internals Documentation Reaper Internals Documentation Downloads Changelog of documentation Impressum and Contact
Reaper internals logo Documentation
  Filetype Descriptions    Config Variables 
   ReaScript-Api-Docs     Video-Api-Docs    WebRC-Api-Docs 


View: [all] [C/C++] [EEL] [Lua] [Python] Automatically generated by Ultraschall-API 4.00 Beta 2.77 - 1343 functions available (Reaper, SWS and JS)


Reaper Reascript-Api-Documentation 5.983
"Sincerity is the key to success. Once you learn to fake that, you've got it made."

The Functions Reference


API-Documentation

1.Introduction2.1.cpp_desc2.2.eel_desc2.3.python_desc

Additional C++ Functions

reaper_plugin_functions.h
AddCustomizableMenuAddExtensionsMainMenuAudio_RegHardwareHookCSurf_OnOscControlMessage
CalculatePeaksCalculatePeaksFloatSrcPtrCountActionShortcutsCreateLocalOscHandler
CreateMIDIInputCreateMIDIOutputDeleteActionShortcutDestroyLocalOscHandler
DoActionShortcutDialogDuplicateCustomizableMenuFreeHeapPtrGetActionShortcutDesc
GetColorThemeGetColorThemeStructGetContextMenuGetIconThemePointer
GetIconThemeStructGetPeaksBitmapGetPreferredDiskReadModeGetPreferredDiskReadModePeak
GetPreferredDiskWriteModeGetSetMediaItemInfoGetSetMediaItemTakeInfoGetSetMediaTrackInfo
GetSetObjectStateGetSetObjectState2GetSetTrackMIDISupportFileGetSetTrackSendInfo
GetToggleCommandState2GetToggleCommandStateThroughHooksGetTrackInfoHiresPeaksFromSource
IsInRealTimeAudioIsItemTakeActiveForPlaybackIsREAPERKBD_OnMainActionEx
LICE_ArcLICE_BlitLICE_BlurLICE_BorderedRect
LICE_CircleLICE_ClearLICE_ClearRectLICE_Copy
LICE_CreateBitmapLICE_CreateFontLICE_DrawCBezierLICE_DrawChar
LICE_DrawGlyphLICE_DrawRectLICE_DrawTextLICE_FillCBezier
LICE_FillCircleLICE_FillConvexPolygonLICE_FillRectLICE_FillTrapezoid
LICE_FillTriangleLICE_GetPixelLICE_GradRectLICE_Line
LICE_LineIntLICE_LoadPNGLICE_LoadPNGFromResourceLICE_MeasureText
LICE_MultiplyAddRectLICE_PutPixelLICE_RotatedBlitLICE_RoundRect
LICE_ScaledBlitLICE_SimpleFillLICE__DestroyLICE__DestroyFont
LICE__DrawTextLICE__GetBitsLICE__GetDCLICE__GetHeight
LICE__GetRowSpanLICE__GetWidthLICE__IsFlippedLICE__SetBkColor
LICE__SetFromHFontLICE__SetTextColorLICE__SetTextCombineModeLICE__resize
MIDI_eventlist_CreateMIDI_eventlist_DestroyPCM_Sink_CreatePCM_Sink_CreateEx
PCM_Sink_CreateMIDIFilePCM_Sink_CreateMIDIFileExPCM_Source_CreateFromSimplePeakBuild_Create
PeakBuild_CreateExPeakGet_CreatePitchShiftSubModeMenuPlayPreview
PlayPreviewExPlayTrackPreviewPlayTrackPreview2PlayTrackPreview2Ex
REAPERAPI_LoadAPIReaperGetPitchShiftAPIResampler_CreateSectionFromUniqueID
SendLocalOscMessageSetRenderLastErrorStopPreviewStopTrackPreview
StopTrackPreview2WDL_VirtualWnd_ScaledBlitBG__mergesortget_config_var
get_midi_config_varkbd_OnMidiEventkbd_OnMidiListkbd_ProcessActionsMenu
kbd_RunCommandThroughHookskbd_enumerateActionskbd_formatKeyNamekbd_getCommandName
kbd_getTextFromCmdkbd_processMidiEventActionExkbd_reprocessMenukbd_translateAccelerator
kbd_translateMouseplugin_getFilterListplugin_getImportableProjectFilterListplugin_getapi
plugin_registerprojectconfig_var_addrprojectconfig_var_getoffsscreenset_register
screenset_registerNewscreenset_unregisterscreenset_unregisterByParamscreenset_updateLastFocus

Additional EEL-Functions

eel_abseel_acoseel_asineel_atan
eel_atan2eel_atexiteel_ceileel_convolve_c
eel_coseel_defereel_evaleel_exp
eel_extension_apieel_fcloseeel_feofeel_fflush
eel_ffteel_fft_ipermuteeel_fft_permuteeel_fft_real
eel_fgetceel_fgetseel_flooreel_fopen
eel_fprintfeel_freadeel_freembufeel_fseek
eel_ftelleel_fwriteeel_get_action_contexteel_gfx_arc
eel_gfx_bliteel_gfx_bliteel_gfx_blitexteel_gfx_blurto
eel_gfx_circleeel_gfx_clienttoscreeneel_gfx_deltabliteel_gfx_dock
eel_gfx_drawchareel_gfx_drawnumbereel_gfx_drawstreel_gfx_getchar
eel_gfx_getdropfileeel_gfx_getfonteel_gfx_getimgdimeel_gfx_getpixel
eel_gfx_gradrecteel_gfx_initeel_gfx_lineeel_gfx_lineto
eel_gfx_loadimgeel_gfx_measurechareel_gfx_measurestreel_gfx_muladdrect
eel_gfx_printfeel_gfx_quiteel_gfx_recteel_gfx_rectto
eel_gfx_roundrecteel_gfx_screentoclienteel_gfx_seteel_gfx_setcursor
eel_gfx_setfonteel_gfx_setimgdimeel_gfx_setpixeleel_gfx_showmenu
eel_gfx_transformbliteel_gfx_triangleeel_gfx_updateeel_gfx_variables
eel_iffteel_ifft_realeel_invsqrteel_log
eel_log10eel_loopeel_matcheel_matchi
eel_maxeel_mem_get_valueseel_mem_set_valueseel_memcpy
eel_memseteel_mineel_printfeel_rand
eel_runloopeel_signeel_sineel_sleep
eel_sprintfeel_sqreel_sqrteel_stack_exch
eel_stack_peekeel_stack_popeel_stack_pusheel_str_delsub
eel_str_getchareel_str_inserteel_str_setchareel_str_setlen
eel_strcateel_strcmpeel_strcpyeel_strcpy_from
eel_strcpy_substreel_stricmpeel_strleneel_strncat
eel_strncmpeel_strncpyeel_strnicmpeel_tan
eel_tcp_closeeel_tcp_connecteel_tcp_listeneel_tcp_listen_end
eel_tcp_recveel_tcp_sendeel_tcp_set_blockeel_time

Additional Lua-Functions

lua_atexitlua_deferlua_get_action_contextlua_gfx.arc
lua_gfx.blitlua_gfx.blit_simplifiedlua_gfx.blitextlua_gfx.blurto
lua_gfx.circlelua_gfx.clienttoscreenlua_gfx.deltablitlua_gfx.dock
lua_gfx.drawcharlua_gfx.drawnumberlua_gfx.drawstrlua_gfx.getchar
lua_gfx.getdropfilelua_gfx.getfontlua_gfx.getimgdimlua_gfx.getpixel
lua_gfx.gradrectlua_gfx.initlua_gfx.linelua_gfx.lineto
lua_gfx.loadimglua_gfx.measurecharlua_gfx.measurestrlua_gfx.muladdrect
lua_gfx.printflua_gfx.quitlua_gfx.rectlua_gfx.rectto
lua_gfx.roundrectlua_gfx.screentoclientlua_gfx.setlua_gfx.setcursor
lua_gfx.setfontlua_gfx.setimgdimlua_gfx.setpixellua_gfx.showmenu
lua_gfx.transformblitlua_gfx.trianglelua_gfx.updatelua_gfx_variables
lua_gmem_attachlua_gmem_readlua_gmem_writelua_new_array
lua_runlooplua_{reaper.array}.clearlua_{reaper.array}.convolvelua_{reaper.array}.copy
lua_{reaper.array}.fftlua_{reaper.array}.fft_reallua_{reaper.array}.get_alloclua_{reaper.array}.ifft
lua_{reaper.array}.ifft_reallua_{reaper.array}.multiply  

Additional Python-Functions

python_atexit   

Api-Helper-Functions

APIExistsAPITestAddRemoveReaScriptBR_Win32_GetConstant
BR_Win32_HIBYTEBR_Win32_HIWORDBR_Win32_LOBYTEBR_Win32_LOWORD
BR_Win32_MAKELONGBR_Win32_MAKELPARAMBR_Win32_MAKELRESULTBR_Win32_MAKEWORD
BR_Win32_MAKEWPARAMBR_Win32_ShellExecuteCF_EnumerateActionsCF_GetClipboard
CF_GetClipboardBigCF_GetCommandTextCF_GetSWSVersionCF_SetClipboard
ClearConsoleClearPeakCacheColorFromNativeColorToNative
DB2SLIDERExecProcessGetAppVersionGetExePath
GetOSGetResourcePathGetToggleCommandStateGetToggleCommandStateEx
IsMediaExtensionMain_OnCommandMain_OnCommandExNamedCommandLookup
ReaScriptErrorRecursiveCreateDirectoryReverseNamedCommandLookupSLIDER2DB
SNM_CreateFastStringSNM_DeleteFastStringSNM_GetDoubleConfigVarSNM_GetFastString
SNM_GetFastStringLengthSNM_GetIntConfigVarSNM_SetDoubleConfigVarSNM_SetFastString
SNM_SetIntConfigVarSetToggleCommandStateShowActionListShowConsoleMsg
ToggleTrackSendUIMuteValidatePtrValidatePtr2format_timestr
format_timestr_lenformat_timestr_posgenGuidget_config_var_string
get_ini_fileguidToStringimage_resolve_fnmkpanstr
mkvolpanstrmkvolstrparse_timestrparse_timestr_len
parse_timestr_posparsepanstrrelative_fnresolve_fn
resolve_fn2stringToGuid  

Arrangeview Management

BR_GetArrangeViewCSurf_OnArrowCSurf_OnScrollCSurf_OnZoom
GetCursorContextGetCursorContext2GetHZoomLevelGetSet_ArrangeView2
SetCursorContextUpdateArrangeUpdateTimeline 

Audio Management

AudioAccessorValidateStateCF_EnumMediaSourceCuesCF_ExportMediaSourceCF_GetMediaSourceBitDepth
CF_GetMediaSourceMetadataCF_GetMediaSourceOnlineCF_GetMediaSourceRPPCF_SetMediaSourceOnline
CreateTakeAudioAccessorCreateTrackAudioAccessorDestroyAudioAccessorGetAudioAccessorEndTime
GetAudioAccessorHashGetAudioAccessorSamplesGetAudioAccessorStartTimeGetItemEditingTime2
GetMediaSourceFileNameGetMediaSourceLengthGetMediaSourceNumChannelsGetMediaSourceParent
GetMediaSourceSampleRateGetMediaSourceTypeGetPeakFileNameGetPeakFileNameEx
GetPeakFileNameEx2GetSubProjectFromSourceGetTempoMatchPlayRateInsertMedia
InsertMediaSectionNF_AnalyzeMediaItemPeakAndRMSNF_AnalyzeTakeLoudnessNF_AnalyzeTakeLoudness2
NF_AnalyzeTakeLoudness_IntegratedOnlyNF_GetMediaItemAverageRMSNF_GetMediaItemMaxPeakNF_GetMediaItemPeakRMS_NonWindowed
NF_GetMediaItemPeakRMS_WindowedPCM_Sink_EnumPCM_Sink_GetExtensionPCM_Sink_ShowConfig
PCM_Source_CreateFromFilePCM_Source_CreateFromFileExPCM_Source_CreateFromTypePCM_Source_Destroy
PCM_Source_GetPeaksPCM_Source_GetSectionInfo  

AudioMidi Devicemanagement

AudioAccessorStateChangedAudioAccessorUpdateAudio_InitAudio_IsPreBuffer
Audio_IsRunningAudio_QuitGetAudioDeviceInfoGetInputChannelName
GetInputOutputLatencyGetMIDIInputNameGetMIDIOutputNameGetMaxMidiInputs
GetMaxMidiOutputsGetNumAudioInputsGetNumAudioOutputsGetNumMIDIInputs
GetNumMIDIOutputsGetOutputChannelNameGetOutputLatency 

Automation Management

CountAutomationItemsGetSetAutomationItemInfo  

Envelope Management

BR_EnvAllocBR_EnvCountPointsBR_EnvDeletePointBR_EnvFind
BR_EnvFindNextBR_EnvFindPreviousBR_EnvFreeBR_EnvGetParentTake
BR_EnvGetParentTrackBR_EnvGetPointBR_EnvGetPropertiesBR_EnvSetPoint
BR_EnvSetPropertiesBR_EnvSortPointsCSurf_SetAutoModeCountEnvelopePoints
CountEnvelopePointsExCountTrackEnvelopesDeleteEnvelopePointExDeleteEnvelopePointRange
DeleteEnvelopePointRangeExEnvelope_EvaluateEnvelope_FormatValueEnvelope_GetParentTake
Envelope_GetParentTrackEnvelope_SortPointsEnvelope_SortPointsExGetEnvelopeInfo_Value
GetEnvelopeNameGetEnvelopePointGetEnvelopePointByTimeGetEnvelopePointByTimeEx
GetEnvelopePointExGetEnvelopeScalingModeGetEnvelopeStateChunkGetFXEnvelope
GetGlobalAutomationOverrideGetSelectedEnvelopeGetSelectedTrackEnvelopeGetSetEnvelopeInfo_String
GetSetEnvelopeStateGetSetEnvelopeState2GetTakeEnvelopeGetTakeEnvelopeByName
GetTrackAutomationModeGetTrackEnvelopeGetTrackEnvelopeByChunkNameGetTrackEnvelopeByName
InsertEnvelopePointInsertEnvelopePointExScaleFromEnvelopeModeScaleToEnvelopeMode
SetAutomationModeSetEnvelopePointSetEnvelopePointExSetEnvelopeStateChunk
SetGlobalAutomationOverride   

Extended States

DeleteExtStateGetExtState  

FX Management

BR_GetTakeFXCountBR_TrackFX_GetFXModuleNameCF_EnumSelectedFXCF_GetFocusedFXChain
CF_GetTakeFXChainGetFocusedFXGetLastTouchedFXGetTCPFXParm
PluginWantsAlwaysRunFxSNM_AddTCPFXParmSNM_MoveOrRemoveTrackFXTakeFX_AddByName
TakeFX_CopyToTakeTakeFX_CopyToTakeTakeFX_CopyToTrackTakeFX_CopyToTrack
TakeFX_DeleteTakeFX_EndParamEditTakeFX_FormatParamValueTakeFX_FormatParamValueNormalized
TakeFX_GetChainVisibleTakeFX_GetCountTakeFX_GetEnabledTakeFX_GetEnvelope
TakeFX_GetFXGUIDTakeFX_GetFXNameTakeFX_GetFloatingWindowTakeFX_GetFormattedParamValue
TakeFX_GetIOSizeTakeFX_GetNamedConfigParmTakeFX_GetNumParamsTakeFX_GetOffline
TakeFX_GetOpenTakeFX_GetParamTakeFX_GetParamExTakeFX_GetParamName
TakeFX_GetParamNormalizedTakeFX_GetParameterStepSizesTakeFX_GetPinMappingsTakeFX_GetPreset
TakeFX_GetPresetIndexTakeFX_GetUserPresetFilenameTakeFX_NavigatePresetsTakeFX_SetEnabled
TakeFX_SetNamedConfigParmTakeFX_SetOfflineTakeFX_SetOpenTakeFX_SetParam
TakeFX_SetParamNormalizedTakeFX_SetPinMappingsTakeFX_SetPresetTakeFX_SetPresetByIndex
TakeFX_ShowTrackFX_AddByNameTrackFX_CopyToTakeTrackFX_CopyToTrack
TrackFX_DeleteTrackFX_EndParamEditTrackFX_FormatParamValueTrackFX_FormatParamValueNormalized
TrackFX_GetByNameTrackFX_GetChainVisibleTrackFX_GetCountTrackFX_GetEQ
TrackFX_GetEQBandEnabledTrackFX_GetEQParamTrackFX_GetEnabledTrackFX_GetFXGUID
TrackFX_GetFXNameTrackFX_GetFloatingWindowTrackFX_GetFormattedParamValueTrackFX_GetIOSize
TrackFX_GetInstrumentTrackFX_GetNamedConfigParmTrackFX_GetNumParamsTrackFX_GetOffline
TrackFX_GetParamTrackFX_GetParamExTrackFX_GetParamNameTrackFX_GetParamNormalized
TrackFX_GetParameterStepSizesTrackFX_GetPinMappingsTrackFX_GetPresetTrackFX_GetPresetIndex
TrackFX_GetRecChainVisibleTrackFX_GetRecCountTrackFX_GetUserPresetFilenameTrackFX_NavigatePresets
TrackFX_SetEQBandEnabledTrackFX_SetEQParamTrackFX_SetEnabledTrackFX_SetNamedConfigParm
TrackFX_SetOfflineTrackFX_SetParamTrackFX_SetParamNormalizedTrackFX_SetPinMappings
TrackFX_SetPresetTrackFX_SetPresetByIndex  

File Management

BR_Win32_GetPrivateProfileStringBR_Win32_WritePrivateProfileStringEnumerateFilesEnumerateSubdirectories
SNM_ReadMediaFileTag   

JS_Plugin

JS_ByteJS_CompositeJS_Composite_ListBitmapsJS_Composite_Unlink
JS_Dialog_BrowseForFolderJS_Dialog_BrowseForOpenFilesJS_Dialog_BrowseForSaveFileJS_Double
JS_GDI_BlitJS_GDI_CreateFillBrushJS_GDI_CreateFontJS_GDI_CreatePen
JS_GDI_DeleteObjectJS_GDI_DrawTextJS_GDI_FillEllipseJS_GDI_FillPolygon
JS_GDI_FillRectJS_GDI_FillRoundRectJS_GDI_GetClientDCJS_GDI_GetScreenDC
JS_GDI_GetSysColorJS_GDI_GetTextColorJS_GDI_GetWindowDCJS_GDI_Line
JS_GDI_PolylineJS_GDI_ReleaseDCJS_GDI_SelectObjectJS_GDI_SetPixel
JS_GDI_SetTextBkColorJS_GDI_SetTextBkModeJS_GDI_SetTextColorJS_GDI_StretchBlit
JS_IntJS_LICE_AlterBitmapHSVJS_LICE_AlterRectHSVJS_LICE_Arc
JS_LICE_BezierJS_LICE_BlitJS_LICE_CircleJS_LICE_Clear
JS_LICE_CreateBitmapJS_LICE_CreateFontJS_LICE_DestroyBitmapJS_LICE_DestroyFont
JS_LICE_DrawCharJS_LICE_DrawTextJS_LICE_FillCircleJS_LICE_FillPolygon
JS_LICE_FillRectJS_LICE_FillTriangleJS_LICE_GetDCJS_LICE_GetHeight
JS_LICE_GetPixelJS_LICE_GetWidthJS_LICE_GradRectJS_LICE_IsFlipped
JS_LICE_LineJS_LICE_LoadPNGJS_LICE_MeasureTextJS_LICE_ProcessRect
JS_LICE_PutPixelJS_LICE_ResizeJS_LICE_RotatedBlitJS_LICE_RoundRect
JS_LICE_ScaledBlitJS_LICE_SetAlphaFromColorMaskJS_LICE_SetFontBkColorJS_LICE_SetFontColor
JS_LICE_SetFontFromGDIJS_LICE_WritePNGJS_ListView_EnsureVisibleJS_ListView_EnumSelItems
JS_ListView_GetFocusedItemJS_ListView_GetItemJS_ListView_GetItemCountJS_ListView_GetItemState
JS_ListView_GetItemTextJS_ListView_GetSelectedCountJS_ListView_ListAllSelItemsJS_Localize
JS_MIDIEditor_ArrayAllJS_MIDIEditor_ListAllJS_Mem_AllocJS_Mem_Free
JS_Mem_FromStringJS_Mouse_GetCursorJS_Mouse_GetStateJS_Mouse_LoadCursor
JS_Mouse_LoadCursorFromFileJS_Mouse_SetCursorJS_Mouse_SetPositionJS_PtrFromStr
JS_ReaScriptAPI_VersionJS_StringJS_VKeys_ClearHistoryJS_VKeys_GetDown
JS_VKeys_GetHistoryJS_VKeys_GetStateJS_VKeys_GetUpJS_VKeys_Intercept
JS_WindowMessage_InterceptJS_WindowMessage_InterceptListJS_WindowMessage_ListInterceptsJS_WindowMessage_PassThrough
JS_WindowMessage_PeekJS_WindowMessage_PostJS_WindowMessage_ReleaseJS_WindowMessage_ReleaseAll
JS_WindowMessage_ReleaseWindowJS_WindowMessage_SendJS_Window_AddressFromHandleJS_Window_ArrayAllChild
JS_Window_ArrayAllTopJS_Window_ArrayFindJS_Window_AttachResizeGripJS_Window_AttachTopmostPin
JS_Window_ClientToScreenJS_Window_CreateJS_Window_DestroyJS_Window_Enable
JS_Window_FindJS_Window_FindChildJS_Window_FindChildByIDJS_Window_FindEx
JS_Window_FindTopJS_Window_FromPointJS_Window_GetClassNameJS_Window_GetClientRect
JS_Window_GetFocusJS_Window_GetForegroundJS_Window_GetLongPtrJS_Window_GetParent
JS_Window_GetRectJS_Window_GetRelatedJS_Window_GetScrollInfoJS_Window_GetTitle
JS_Window_GetViewportFromRectJS_Window_HandleFromAddressJS_Window_InvalidateRectJS_Window_IsChild
JS_Window_IsVisibleJS_Window_IsWindowJS_Window_ListAllChildJS_Window_ListAllTop
JS_Window_ListFindJS_Window_MonitorFromRectJS_Window_MoveJS_Window_OnCommand
JS_Window_RemoveXPStyleJS_Window_ResizeJS_Window_ScreenToClientJS_Window_SetFocus
JS_Window_SetForegroundJS_Window_SetLongJS_Window_SetOpacityJS_Window_SetPosition
JS_Window_SetScrollPosJS_Window_SetTitleJS_Window_SetZOrderJS_Window_Show
JS_Window_UpdateXen_AudioWriter_CreateXen_AudioWriter_DestroyXen_AudioWriter_Write
Xen_GetMediaSourceSamples   

Joystick Management

joystick_createjoystick_destroyjoystick_enumjoystick_getaxis
joystick_getbuttonmaskjoystick_getinfo  

MIDI Management

BR_GetMidiSourceLenPPQBR_GetMidiTakePoolGUIDBR_GetMidiTakeTempoInfoBR_IsMidiOpenInInlineEditor
BR_IsTakeMidiBR_MIDI_CCLaneRemoveBR_MIDI_CCLaneReplaceBR_SetMidiTakeTempoInfo
EnumTrackMIDIProgramNamesEnumTrackMIDIProgramNamesExFNG_AddMidiNoteFNG_AllocMidiTake
FNG_CountMidiNotesFNG_FreeMidiTakeFNG_GetMidiNoteFNG_GetMidiNoteIntProperty
GetTrackMIDILyricsGetTrackMIDINoteNameGetTrackMIDINoteNameExGetTrackMIDINoteRange
HasTrackMIDIProgramsHasTrackMIDIProgramsExMIDIEditor_GetActiveMIDIEditor_GetMode
MIDIEditor_GetSetting_intMIDIEditor_GetSetting_strMIDIEditor_GetTakeMIDIEditor_LastFocused_OnCommand
MIDIEditor_OnCommandMIDIEditor_SetSetting_intMIDI_CountEvtsMIDI_DeleteCC
MIDI_DeleteEvtMIDI_DeleteNoteMIDI_DeleteTextSysexEvtMIDI_DisableSort
MIDI_EnumSelCCMIDI_EnumSelEvtsMIDI_EnumSelNotesMIDI_EnumSelTextSysexEvts
MIDI_GetAllEvtsMIDI_GetCCMIDI_GetEvtMIDI_GetGrid
MIDI_GetHashMIDI_GetNoteMIDI_GetPPQPosFromProjQNMIDI_GetPPQPosFromProjTime
MIDI_GetPPQPos_EndOfMeasureMIDI_GetPPQPos_StartOfMeasureMIDI_GetProjQNFromPPQPosMIDI_GetProjTimeFromPPQPos
MIDI_GetScaleMIDI_GetTextSysexEvtMIDI_GetTrackHashMIDI_InsertCC
MIDI_InsertEvtMIDI_InsertNoteMIDI_InsertTextSysexEvtMIDI_SelectAll
MIDI_SetAllEvtsMIDI_SetCCMIDI_SetEvtMIDI_SetItemExtents
MIDI_SetNoteMIDI_SetTextSysexEvtMIDI_SortSetMIDIEditorGrid
SetTrackMIDILyricsSetTrackMIDINoteNameSetTrackMIDINoteNameExStuffMIDIMessage
TakeIsMIDI   

Marker Management

AddProjectMarkerAddProjectMarker2AddTempoTimeSigMarkerCountProjectMarkers
CountTempoTimeSigMarkersDeleteProjectMarkerDeleteProjectMarkerByIndexDeleteTakeStretchMarkers
DeleteTempoTimeSigMarkerEditTempoTimeSigMarkerEnumProjectMarkersEnumProjectMarkers2
EnumProjectMarkers3FindTempoTimeSigMarkerGetLastMarkerAndCurRegionGetProjectTimeSignature
GetProjectTimeSignature2GetTakeNumStretchMarkersGetTakeStretchMarkerGetTakeStretchMarkerSlope
GetTempoTimeSigMarkerNF_GetSWSMarkerRegionSubSNM_GetProjectMarkerNameSNM_SetProjectMarker
SetProjectMarkerSetProjectMarker2SetProjectMarker3SetProjectMarker4
SetProjectMarkerByIndexSetProjectMarkerByIndex2SetTakeStretchMarkerSetTakeStretchMarkerSlope

Mediaitem Management

AddMediaItemToTrackAddTakeToMediaItemApplyNudgeBR_GetMediaItemByGUID
BR_GetMediaItemGUIDBR_GetMediaItemImageResourceBR_GetMediaItemTakeGUIDBR_GetMediaSourceProperties
BR_GetMediaTrackFreezeCountBR_SetItemEdgesBR_SetMediaItemImageResourceBR_SetMediaSourceProperties
BR_SetTakeSourceFromFileBR_SetTakeSourceFromFile2CountMediaItemsCountSelectedMediaItems
CountTakeEnvelopesCountTakesCountTrackMediaItemsCreateNewMIDIItemInProj
DeleteTrackMediaItemGetActiveTakeGetDisplayedMediaItemColorGetDisplayedMediaItemColor2
GetItemFromPointGetItemProjectContextGetItemStateChunkGetMediaItem
GetMediaItemInfo_ValueGetMediaItemNumTakesGetMediaItemTakeGetMediaItemTakeByGUID
GetMediaItemTakeInfo_ValueGetMediaItemTake_ItemGetMediaItemTake_PeaksGetMediaItemTake_Source
GetMediaItemTake_TrackGetSelectedMediaItemGetSetItemStateGetSetItemState2
GetSetMediaItemInfo_StringGetSetMediaItemTakeInfo_StringGetTakeGetTakeName
GetTrackMediaItemIsMediaItemSelectedMoveMediaItemToTrackSNM_GetMediaItemTakeByGUID
SNM_GetSetSourceStateSNM_GetSetSourceState2SNM_GetSourceTypeSelectAllMediaItems
SetActiveTakeSetItemStateChunkSetMediaItemInfo_ValueSetMediaItemLength
SetMediaItemPositionSetMediaItemSelectedSetMediaItemTakeInfo_ValueSetMediaItemTake_Source
SplitMediaItemULT_GetMediaItemNote  

Miscellaneous

ArmCommandCSurf_FlushUndoCSurf_SetTrackListChangeEnsureNotCompletelyOffscreen
GetArmedCommandHelp_SetMain_UpdateLoopInfoMarkTrackItemsDirty
MediaItemDescendsFromTrackRenderFileSectionSNM_GetSetObjectStateSNM_SelectResourceBookmark
SetRegionRenderMatrixSplash_GetWndTimeMap2_GetDividedBpmAtTimeTimeMap2_GetNextChangeTime
TimeMap2_QNToTimeTimeMap2_beatsToTimeTimeMap2_timeToBeatsTimeMap2_timeToQN
TimeMap_GetDividedBpmAtTimeTimeMap_GetMeasureInfoTimeMap_GetMetronomePatternTimeMap_GetTimeSigAtTime
TimeMap_QNToMeasuresTimeMap_QNToTimeTimeMap_QNToTime_absTimeMap_curFrameRate
TimeMap_timeToQNTimeMap_timeToQN_abs  

Pitchshifting

EnumPitchShiftModes   

Project Management

BR_GetClosestGridDivisionBR_GetNextGridDivisionCSurf_OnTempoChangeEnumProjExtState
EnumProjectsEnumRegionRenderMatrixGetCurrentProjectInLoadSaveGetFreeDiskSpaceForRecordPath
GetProjExtStateGetProjectLengthGetProjectNameGetProjectPath
GetProjectPathExGetProjectStateChangeCountGetProjectTimeOffsetGetSetProjectAuthor
GetSetProjectGridGetSetProjectInfoGetSetProjectInfo_StringGetSetProjectNotes
IsProjectDirtyMain_SaveProjectMain_openProjectMarkProjectDirty
SelectProjectInstanceSetCurrentBPMSetProjExtStateSetProjectGrid
SnapToGridUndo_BeginBlockUndo_BeginBlock2Undo_CanRedo2
Undo_CanUndo2Undo_DoRedo2Undo_DoUndo2Undo_EndBlock
Undo_EndBlock2Undo_OnStateChangeUndo_OnStateChange2Undo_OnStateChangeEx
Undo_OnStateChangeEx2   

ReaPack

ReaPack_AboutInstalledPackageReaPack_AboutRepositoryReaPack_AddSetRepositoryReaPack_BrowsePackages
ReaPack_CompareVersionsReaPack_EnumOwnedFilesReaPack_FreeEntryReaPack_GetEntryInfo
ReaPack_GetOwner   

Theme management

ThemeLayout_GetLayoutThemeLayout_GetParameterThemeLayout_RefreshAll 

Track Management

AnyTrackSoloBR_GetMediaTrackByGUIDBR_GetMediaTrackGUIDBR_GetMediaTrackSendInfo_Envelope
BR_GetMediaTrackSendInfo_TrackBR_GetSetTrackSendInfoBypassFxAllTracksCSurf_GetTouchState
CSurf_NumTracksCSurf_OnFXChangeCSurf_OnInputMonitorChangeCSurf_OnInputMonitorChangeEx
CSurf_OnMuteChangeCSurf_OnMuteChangeExCSurf_OnPanChangeCSurf_OnPanChangeEx
CSurf_OnRecArmChangeCSurf_OnRecArmChangeExCSurf_OnRecvPanChangeCSurf_OnRecvVolumeChange
CSurf_OnSelectedChangeCSurf_OnSendPanChangeCSurf_OnSendVolumeChangeCSurf_OnSoloChange
CSurf_OnSoloChangeExCSurf_OnStopCSurf_OnTrackSelectionCSurf_OnVolumeChange
CSurf_OnVolumeChangeExCSurf_OnWidthChangeCSurf_OnWidthChangeExCSurf_ResetAllCachedVolPanStates
CSurf_SetSurfaceMuteCSurf_SetSurfacePanCSurf_SetSurfaceRecArmCSurf_SetSurfaceSelected
CSurf_SetSurfaceSoloCSurf_SetSurfaceVolumeCSurf_TrackFromIDCSurf_TrackToID
ClearAllRecArmedCountSelectedTracksCountSelectedTracks2CountTCPFXParms
CountTracksCreateTrackSendDeleteTrackGetLastTouchedTrack
GetMasterMuteSoloFlagsGetMasterTrackGetMasterTrackVisibilityGetMediaItemTrack
GetMediaItem_TrackGetMediaTrackInfo_ValueGetNumTracksGetParentTrack
GetSelectedTrackGetSelectedTrack2GetSetMediaTrackInfo_StringGetSetTrackGroupMembership
GetSetTrackGroupMembershipHighGetSetTrackSendInfo_StringGetSetTrackStateGetSetTrackState2
GetTrackGetTrackColorGetTrackDepthGetTrackFromPoint
GetTrackGUIDGetTrackNameGetTrackNumMediaItemsGetTrackNumSends
GetTrackReceiveNameGetTrackReceiveUIMuteGetTrackReceiveUIVolPanGetTrackSendInfo_Value
GetTrackSendNameGetTrackSendUIMuteGetTrackSendUIVolPanGetTrackState
GetTrackStateChunkGetTrackUIMuteGetTrackUIPanGetTrackUIVolPan
InsertTrackAtIndexIsTrackSelectedIsTrackVisibleNF_GetSWSTrackNotes
RemoveTrackSendReorderSelectedTracksSNM_AddReceiveSNM_RemoveReceive
SNM_RemoveReceivesFromSetMasterTrackVisibilitySetMediaTrackInfo_ValueSetOnlyTrackSelected
SetTrackColorSetTrackSelectedSetTrackSendInfo_ValueSetTrackSendUIPan
SetTrackSendUIVolSetTrackStateChunkSoloAllTracksTrackFX_GetOpen
TrackFX_SetOpenTrackFX_ShowTrack_GetPeakHoldDB 

Transport Management

CSurf_GoEndCSurf_GoStartCSurf_OnFwdCSurf_OnPause
CSurf_OnPlayCSurf_OnPlayRateChangeCSurf_OnRecordCSurf_OnRew
CSurf_OnRewFwdCSurf_ScrubAmtCSurf_SetPlayStateCSurf_SetRepeatState
GetAllProjectPlayStatesGetCursorPositionGetCursorPositionExGetPlayPosition
GetPlayPosition2GetPlayPosition2ExGetPlayPositionExGetPlayState
GetPlayStateExGetSetRepeatGetSetRepeatExGetSet_LoopTimeRange
GetSet_LoopTimeRange2GoToMarkerGoToRegionLoop_OnArrow
Master_GetPlayRateMaster_GetPlayRateAtTimeMaster_GetTempoMaster_NormalizePlayRate
Master_NormalizeTempoMoveEditCursorMuteAllTracksOnPauseButton
OnPauseButtonExOnPlayButtonOnPlayButtonExOnStopButton
OnStopButtonEx   

User Interface

BR_GetCurrentThemeBR_GetMediaTrackLayoutsBR_GetMouseCursorContextBR_GetMouseCursorContext_Envelope
BR_GetMouseCursorContext_ItemBR_GetMouseCursorContext_MIDIBR_GetMouseCursorContext_PositionBR_GetMouseCursorContext_StretchMarker
BR_GetMouseCursorContext_TakeBR_GetMouseCursorContext_TrackBR_ItemAtMouseCursorBR_PositionAtMouseCursor
BR_SetMediaTrackLayoutsBR_TakeAtMouseCursorBR_TrackAtMouseCursorBR_Win32_GetCursorPos
CF_LocateInExplorerDockIsChildOfDockDockWindowActivateDockWindowAdd
DockWindowAddExDockWindowRefreshDockWindowRefreshForHWNDDockWindowRemove
Dock_UpdateDockIDGR_SelectColorGSC_mainwndGetConfigWantsDock
GetLastColorThemeFileGetMainHwndGetMixerScrollGetMouseModifier
GetMousePositionGetTooltipWindowGetUserFileNameForReadGetUserInputs
LICE_ClipLineMBOpenColorThemeFileOpenMediaExplorer
PreventUIRefreshRefreshToolbarRefreshToolbar2SN_FocusMIDIEditor
SetMixerScrollSetMouseModifierShowMessageBoxShowPopupMenu
TrackCtl_SetToolTipViewPrefs  
Window Management
BR_Win32_CB_FindStringBR_Win32_CB_FindStringExactBR_Win32_ClientToScreenBR_Win32_FindWindowEx
BR_Win32_GET_X_LPARAMBR_Win32_GET_Y_LPARAMBR_Win32_GetFocusBR_Win32_GetForegroundWindow
BR_Win32_GetMainHwndBR_Win32_GetMixerHwndBR_Win32_GetMonitorRectFromRectBR_Win32_GetParent
BR_Win32_GetWindowBR_Win32_GetWindowLongBR_Win32_GetWindowRectBR_Win32_GetWindowText
BR_Win32_HwndToStringBR_Win32_IsWindowBR_Win32_IsWindowVisibleBR_Win32_MIDIEditor_GetActive
BR_Win32_ScreenToClientBR_Win32_SendMessageBR_Win32_SetFocusBR_Win32_SetForegroundWindow
BR_Win32_SetWindowLongBR_Win32_SetWindowPosBR_Win32_ShowWindow 


^ 1 Introduction to ReaScript

ReaScript API as of Reaper 5.983


REAPER provides an API (advanced programming interface) for users and third parties to create extended functionality. API functions can be called from a compiled C/C++ dynamic library that is loaded by REAPER, or at run-time by user-created ReaScripts that can be written using REAPER's own editor.

ReaScripts can be written in EEL2, a specialized language that is also used to write JSFX; Lua, a popular scripting language; or Python, another scripting language. EEL and Lua are embedded within REAPER and require no additional downloads or settings. Python must be downloaded and installed separately, and enabled in REAPER preferences.

A script named "__startup.lua|.eel" will be started automatically by Reaper at startup. You can have both; Reaper will run __startup.eel first, __startup.lua second.
This __startup-script doesn't need to be registered into the actionlist of Reaper; it's pure existence in the scripts-folder of the resources-folder of Reaper is sufficient for it to be run.

Learn more about ReaScript: http://www.cockos.com/reaper/sdk/reascript/reascript.php.

This documentation includes the functions provided by SWS: sws-extension.org as well as Julian Sader's plugin, that can be installed via ReaPack.

The IDE in Reaper has some limitations, as every line must not exceed 4095 characters, or they will be split when the script is loaded the next time.

The base-directory for ReaScript can be read from the reaper.ini -> [REAPER] -> lastcwd=
That means, if you create a new file without giving it a path, it will be created in the path set in lastcwd.



^ 2.1 CPP Api-Description

Usage of the Reaper Api in C++

Note: the C++ pure virtual interfaces used require the MSVC-compatible C++ ABI on Win32. Sorry, mingw users.

Reaper extensions: see http://www.cockos.com/reaper/sdk/plugin/plugin.php and reaper_plugin.h.
The API functions in this header can be retrieved using reaper_plugin_info_t.GetFunc() or by using the Action "[developer] Write C++ API functions header" directly in Reaper.

VST plugins: see http://www.cockos.com/reaper/sdk/vst/vst_ext.php
The API functions in this header can be retrieved using audioMasterCallback.

Because the API is dynamic, callers should never assume a function exists.
Check that a non-NULL function pointer was returned before using it (unless
loaded functions are verified using REAPERAPI_LoadAPI(), see note below).

New (4.76+) usage of this file:
- 1) most source files should just #include "reaper_plugin_functions.h" as is.
- 2) one file should #define REAPERAPI_IMPLEMENT before including this file.
- 3) the plug-in should call REAPERAPI_LoadAPI(rec->GetFunc) from REAPER_PLUGIN_ENTRYPOINT
- and check the return value for errors (REAPERAPI_LoadAPI will return 0 on success).

By default, all functions listed in this file are loaded. This means that an older version
of REAPER may not succeed in loading, and also it may bloat your plug-in. If you wish to only load
needed functions, #define REAPERAPI_MINIMAL and various #define REAPERAPI_WANT_ lines
before including this file. You must put these definitions where REAPERAPI_IMPLEMENT is defined
and you can optionally put them elsewhere (to detect needed REAPERAPI_WANT_xxx lines at compile-
time rather than link-time).




^ 2.2 EEL Api-Description

ReaScript/EEL API


For information on the EEL2 language, please see the EEL2 User Guide

ReaScript/EEL scripts can call API functions using functionname().

Parameters that return information are effectively passed by reference, not value. If an API returns a string value, it will usually be as the first parameter.

Examples:
// function returning a single (scalar) value:
sec = parse_timestr("1:12");

// function returning information in the first parameter (function returns void):
GetProjectPath(#string);

// lower volume of track 3 by half:
tr = GetTrack(0, 2);
GetTrackUIVolPan(tr, vol, pan);
SetMediaTrackInfo_Value(tr, "D_VOL", vol*0.5);

ReaScript/EEL can import functions from other reascripts using @import filename.eel -- note that only the file's functions will be imported, normal code in that file will not be executed.



^ 2.3 Python Api-Description

ReaScript/Python API


ReaScript/Python requires a recent version of Python installed on this machine. Python is available from multiple sources as a free download. After installing Python, REAPER may detect the Python dynamic library automatically. If not, you can enter the path in the ReaScript preferences page, at Options/Preferences/Plug-Ins/ReaScript.

ReaScript/Python scripts can call API functions using RPR_functionname().

All parameters are passed by value, not reference. API functions that cannot return information in the parameter list will return a single value. API functions that can return any information in the parameter list will return a list of values; The first value in the list will be the function return value (unless the function is declared to return void).

Examples:
# function returning a single (scalar) value:
sec = RPR_parse_timestr("1:12")

# function returning information in the first parameter (function returns void):
(str) = RPR_GetProjectPath("", 512)

# lower volume of track 3 by half (RPR_GetTrackUIVolPan returns Bool):
tr = RPR_GetTrack(0, 2)
(ok, tr, vol, pan) = RPR_GetTrackUIVolPan(tr, 0, 0)
# this also works, if you only care about one of the returned values:
vol = RPR_GetTrackUIVolPan(tr, 0, 0)[2]
RPR_SetMediaTrackInfo_Value(tr, "D_VOL", vol*0.5)

You can create and save modules of useful functions that you can import into other ReaScripts. For example, if you create a file called reascript_utility.py that contains the function helpful_function(), you can import that file into any Python ReaScript with the line:
import reascript_utility
and call the function by using:
reascript_utility.helpful_function()

Note that ReaScripts must explicitly import the REAPER python module, even if the script is imported into another ReaScript:
from reaper_python import *



^ 2.4 Lua Api-Description

ReaScript/Lua API


ReaScript/Lua scripts can call API functions using reaper.functionname().

Some functions return multiple values. In many cases, some function parameters are ignored, especially when similarly named parameters are present in the returned values.

Examples:
-- function returning a single (scalar) value:
sec = reaper.parse_timestr("1:12")

-- function with an ignored (dummy) parameter:
path = reaper.GetProjectPath("")

-- lower volume of track 3 by half:
tr = reaper.GetTrack(0, 2)
ok, vol, pan = reaper.GetTrackUIVolPan(tr, 0, 0)
reaper.SetMediaTrackInfo_Value(tr, "D_VOL", vol*0.5)

ReaScript/Lua can import functions from other ReaScripts using require. If the files are not being found, it is probably a path problem (remember that lua paths are wildcard patterns, not just directory listings, see details here).



^ 3 Datatypes used in this document

Datatypes used in this document


boolean - accepts only true or false as values
optional boolean - a boolean, that can be given, but is not required
number - can be integer, double or a floating-point-number
optional number - a number, that can be given, but is not required
integer - only integer numbers allowed
reaper.array - a special array, that Reaper provides
string - a string of characters/text
optional string - a string, that can be given, but is not required

AudioAccessor - Audio Accessor object for a track or a media-item
BR_Envelope (BR) - an envelope-object, created from a track or take-envelope
HWND - a window
IReaperControlSurface - a ControlSurface, e.g. OSC-devices
joystick_device - a joystick-device
KbdSectionInfo - Keyboard Section Info,
- 0, Main
- 100, Main (alt recording)
- 32060, MIDI Editor
- 32061, MIDI Event List Editor
- 32062, MIDI Inline Editor
- 32063, Media Explorer
PCM_source - the audiosource of a MediaItem
ReaProject - a project within Reaper; 0 for current open project(-tab); in EnumProjects, it is an object, not a number!
RprMidiTake (FNG) - ReaperMidiTake as object
RprMidiNote (FNG) - RprMidiNote as object
MediaTrack - a Reaper-Track as object
MediaItem - a Reaper-MediaItem like audio,video, Midi, etc as object
MediaItem_Take - a take within a MediaItem as object
TrackEnvelope - an envelope of a track as object
WDL_FastString(S&M) - a different kind of a string, made into a Reaper-object

deviceHDC - get it using function JS_GDI_GetWindowDC



^ Reaper version 5.62Lua version 5.3 AddMediaItemToTrack

Functioncall:

C: MediaItem* item AddMediaItemToTrack(MediaTrack* tr)

EEL: MediaItem item AddMediaItemToTrack(MediaTrack tr)

Lua: MediaItem item = reaper.AddMediaItemToTrack(MediaTrack tr)

Python: MediaItem item RPR_AddMediaItemToTrack(MediaTrack tr)

Description:
Creates a new media item. It will be empty and therefore not be shown in the arrange-view, until you associate a mediafile(audio, picture, video, etc) or a length and position to it using SetMediaItemInfo_Value

Parameters:
          MediaTrack tr - tracknumber(zero based), with 0 for track 1, 1 for track 2, etc.
Returnvalues:
          MediaItem item - the newly created MediaItem-object


^ Reaper version 5.62Lua version 5.3 AddProjectMarker

Functioncall:

C: int AddProjectMarker(ReaProject* proj, bool isrgn, double pos, double rgnend, const char* name, int wantidx)

EEL: int AddProjectMarker(ReaProject proj, bool isrgn, pos, rgnend, "name", int wantidx)

Lua: integer = reaper.AddProjectMarker(ReaProject proj, boolean isrgn, number pos, number rgnend, string name, integer wantidx)

Python: Int RPR_AddProjectMarker(ReaProject proj, Boolean isrgn, Float pos, Float rgnend, String name, Int wantidx)

Description:
Creates a new Projectmarker/Region.
Returns the index of the created marker/region, or -1 on failure. Supply wantidx>=0 if you want a particular index number, but you'll get a different index number a region and wantidx is already in use.

Parameters:
          ReaProject proj - the project, in which to add the new marker; use 0 for the current project; can also be a ReaProject-object, as returned by EnumProjects
          boolean isrgn - true, if it shall be a region; false, if a normal marker
          number pos - the position of the newly created marker/region in seconds
          number rgnend - if the marker is a region, this is the end of the region in seconds
          string name - the shown name of the marker
          integer wantidx - the shown number of the marker/region. Markers can have the same shown marker multiple times. Regions will get another number, if wantidx is already given.
Returnvalues:
          integer - the shown-number of the newly created marker/region


^ Reaper version 5.62Lua version 5.3 AddProjectMarker2

Functioncall:

C: int AddProjectMarker2(ReaProject* proj, bool isrgn, double pos, double rgnend, const char* name, int wantidx, int color)

EEL: int AddProjectMarker2(ReaProject proj, bool isrgn, pos, rgnend, "name", int wantidx, int color)

Lua: integer = reaper.AddProjectMarker2(ReaProject proj, boolean isrgn, number pos, number rgnend, string name, integer wantidx, integer color)

Python: Int RPR_AddProjectMarker2(ReaProject proj, Boolean isrgn, Float pos, Float rgnend, String name, Int wantidx, Int color)

Description:
Returns the index of the created marker/region, or -1 on failure. Supply wantidx>=0 if you want a particular index number, but you'll get a different index number a region and wantidx is already in use. color should be 0 (default color), or ColorToNative(r,g,b)|0x1000000

Parameters:
          ReaProject proj - the project, in which to add the new marker; use 0 for the current project; can also be a ReaProject-object, as returned by EnumProjects
          boolean isrgn - true, if it shall be a region; false, if a normal marker
          number pos - the position of the newly created marker/region in seconds
          number rgnend - if the marker is a region, this is the end of the region in seconds
          string name - the shown name of the marker
          integer wantidx - the shown number of the marker/region. Markers can have the same shown marker multiple times. Regions will get another number, if wantidx is already given.
          integer color - the color as returned by the function ColorToNative(r,g,b)|0x1000000
Returnvalues:
          integer - the shown-number of the newly created marker/region


^ Reaper version 5.62Lua version 5.3 AddRemoveReaScript

Functioncall:

C: int AddRemoveReaScript(bool add, int sectionID, const char* scriptfn, bool commit)

EEL: int AddRemoveReaScript(bool add, int sectionID, "scriptfn", bool commit)

Lua: integer = reaper.AddRemoveReaScript(boolean add, integer sectionID, string scriptfn, boolean commit)

Python: Int RPR_AddRemoveReaScript(Boolean add, Int sectionID, String scriptfn, Boolean commit)

Description:
Adds a ReaScript (returns the new command ID, or 0 if failed) or removes a ReaScript
Returns >0 on success.
Use commit==true when adding/removing a single script.
When bulk adding/removing multiple scripts, you can optimize the n-1 first calls with commit==false and commit==true for the last call.
The commandID returned, might change, when addng this script into an other Reaper-installation.
To be sure to use the right command-id, use ReverseNamedCommandLookup() to get the ActionCommandID, which will never change, until you remove the script.

If you want to add a script to several sections, you need to add them individually, by calling the function again with the changed section-number.

Parameters:
          boolean add - true, if it shall be added, false if it shall be removed
          integer sectionID - the section, in which this script shall appear(e.g. in the Show Actions-Dialog)
0, Main
100, Main (alt recording) Note: If you already added to main(section 0), this function automatically adds the script to Main(alt) as well.
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          string scriptfn - the filename of the Reascript to be added
          boolean commit - true, if it shall be committed, false, if you want to add new scripts first.
Committing means, that Reaper stores the Reascript-information into the reaper-kb.ini for permanent use.
It will be committed at Reaper's exit as well, but if Reaper crashes before exiting properly, your added
script might get lost. When adding many Reascripts to Reaper, setting commit to false might help prevail
ressources, as you don't rewrite the reaper-kb.ini file over and over again. However, if you only add a
few scripts, this might not be of importance to you.
Returnvalues:
          integer - the command ID for this script.


^ Reaper version 5.62Lua version 5.3 AddTakeToMediaItem

Functioncall:

C: MediaItem_Take* AddTakeToMediaItem(MediaItem* item)

EEL: MediaItem_Take AddTakeToMediaItem(MediaItem item)

Lua: MediaItem_Take = reaper.AddTakeToMediaItem(MediaItem item)

Python: MediaItem_Take RPR_AddTakeToMediaItem(MediaItem item)

Description:
creates a new take in an item

Parameters:
          MediaItem item - a MediaItem-object, in which you want to add the new take
Returnvalues:
          MediaItem_Take - the newly created MediaItem_Take-object


^ Reaper version 5.62Lua version 5.3 AddTempoTimeSigMarker

Functioncall:

C: bool AddTempoTimeSigMarker(ReaProject* proj, double timepos, double bpm, int timesig_num, int timesig_denom, bool lineartempochange)

EEL: bool AddTempoTimeSigMarker(ReaProject proj, timepos, bpm, int timesig_num, int timesig_denom, bool lineartempochange)

Lua: boolean = reaper.AddTempoTimeSigMarker(ReaProject proj, number timepos, number bpm, integer timesig_num, integer timesig_denom, boolean lineartempochange)

Python: Boolean RPR_AddTempoTimeSigMarker(ReaProject proj, Float timepos, Float bpm, Int timesig_num, Int timesig_denom, Boolean lineartempochange)

Description:
Deprecated. Use SetTempoTimeSigMarker with ptidx=-1.

Parameters:
          ReaProject proj - the project in which to add the TempoTimesigMarker, 0 for the current project; can also be a ReaProject-object, as returned by EnumProjects
          number timepos - the position in seconds
          number bpm - the speed in bpm
          integer timesig_num - timesignature number : timesig_num/timesig_denom, e.g. 3/4
          integer timesig_denom - timesignature denominator : timesig_num/timesig_denom, e.g. 3/4
          boolean lineartempochange - true, linear tempo change, false not
Returnvalues:
          boolean - true, if adding was successful; false, if not


^ Reaper version 5.62Lua version 5.3 adjustZoom

Functioncall:

C: void adjustZoom(double amt, int forceset, bool doupd, int centermode)

EEL: adjustZoom(amt, int forceset, bool doupd, int centermode)

Lua: reaper.adjustZoom(number amt, integer forceset, boolean doupd, integer centermode)

Python: RPR_adjustZoom(Float amt, Int forceset, Boolean doupd, Int centermode)

Description:
Sets horizontal zoom in track view.

Parameters:
          number amt - the zoom factor, positive values=zoom in, negative values=zoom out, 0=no zoom
          integer forceset - forces one amt-zoomfactor(non zero) or allows repeatable zoom-in/zoomout(0)
          boolean doupd - true, updates the track-view instantly; false, or only when mouse hovers over trackview
          integer centermode - decides, what shall be in the center of the view. The following are available:
  -1, default selection, as set in the reaper-prefs,
   0, edit-cursor or playcursor(if it's in the current zoomfactor of the view during playback/recording) in center,
   1, keeps edit-cursor in center of zoom
   2, keeps center of view in the center during zoom
   3, keeps in center of zoom, what is beneath the mousecursor


^ Reaper version 5.62Lua version 5.3 AnyTrackSolo

Functioncall:

C: bool AnyTrackSolo(ReaProject* proj)

EEL: bool AnyTrackSolo(ReaProject proj)

Lua: boolean = reaper.AnyTrackSolo(ReaProject proj)

Python: Boolean RPR_AnyTrackSolo(ReaProject proj)

Description:
returns, whether any of the tracks is solo in Project proj

Parameters:
          ReaProject proj - the project to be checked for. 0 for current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          boolean - true if any track is solo; false if not. Covers all solo-states(solo in place, ignore routing, exclusive solo, solo defeat).


^ Reaper version 5.62Lua version 5.3 APIExists

Functioncall:

C: bool APIExists(const char* function_name)

EEL: bool APIExists("function_name")

Lua: boolean = reaper.APIExists(string function_name)

Python: Boolean RPR_APIExists(String function_name)

Description:
Returns true if function_name exists in the REAPER API

Parameters:
          string function_name - the name of the function you want to check the existence for
Returnvalues:
          boolean - true, if function_name exists, false if not


^ Reaper version 5.62Lua version 5.3 APITest

Functioncall:

C: void APITest()

EEL: APITest()

Lua: reaper.APITest()

Python: RPR_APITest()

Description:
Displays a message window with "Hello World", if the API was successfully called.



^ Reaper version 5.62Lua version 5.3 ApplyNudge

Functioncall:

C: bool ApplyNudge(ReaProject* project, int nudgeflag, int nudgewhat, int nudgeunits, double value, bool reverse, int copies)

EEL: bool ApplyNudge(ReaProject project, int nudgeflag, int nudgewhat, int nudgeunits, value, bool reverse, int copies)

Lua: boolean = reaper.ApplyNudge(ReaProject project, integer nudgeflag, integer nudgewhat, integer nudgeunits, number value, boolean reverse, integer copies)

Python: Boolean RPR_ApplyNudge(ReaProject project, Int nudgeflag, Int nudgewhat, Int nudgeunits, Float value, Boolean reverse, Int copies)

Description:
Nudges elements like items, cursor, contents, etc to or by a value you want. Nudges only selected mediaitems.

Parameters:
          ReaProject project - the project, in which to nudge; 0 for the current project
          integer nudgeflag - the way to nudge
&1, set to value(otherwise nudge by values)
&2, snap
          integer nudgewhat - what to nudge
0, position
1, left trim
2, left edge
3, right edge
4, contents
5, duplicate
6, editcursor
          integer nudgeunits - the unit, in which to nudge
0, ms
1, seconds
2, grid
3, 256th notes
...
15, whole notes
16, measures.beats (1.15 = 1 measure + 1.5 beats)
17, samples
18, frames
19, pixels
20, item lengths
21, item selections
          number value - amount to nudge by, or value to set to(depending on the settings in nudgeflag and the unit in nudgeunits)
          boolean reverse - in nudge mode: true nudges left; right doesn't nudge to left
          integer copies - in nudge duplicate mode, number of copies (otherwise ignored)
Returnvalues:
          boolean - true, if it worked; false, if it didn't


^ Reaper version 5.62Lua version 5.3 Audio_Init

Functioncall:

C: void Audio_Init()

EEL: Audio_Init()

Lua: reaper.Audio_Init()

Python: RPR_Audio_Init()

Description:
open all audio and MIDI devices, if not open



^ Reaper version 5.62Lua version 5.3 Audio_IsPreBuffer

Functioncall:

C: int Audio_IsPreBuffer()

EEL: int Audio_IsPreBuffer()

Lua: integer = reaper.Audio_IsPreBuffer()

Python: Int RPR_Audio_IsPreBuffer()

Description:
is in pre-buffer? threadsafe

Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 Audio_IsRunning

Functioncall:

C: int Audio_IsRunning()

EEL: int Audio_IsRunning()

Lua: integer = reaper.Audio_IsRunning()

Python: Int RPR_Audio_IsRunning()

Description:
is audio running at all? threadsafe

Returnvalues:
          integer - 0, audio is not running; 1, audio is running


^ Reaper version 5.62Lua version 5.3 Audio_Quit

Functioncall:

C: void Audio_Quit()

EEL: Audio_Quit()

Lua: reaper.Audio_Quit()

Python: RPR_Audio_Quit()

Description:
close all audio and MIDI devices, if open



^ Reaper version 5.97Lua version 5.3 AudioAccessorStateChanged

Functioncall:

C: bool AudioAccessorStateChanged(AudioAccessor* accessor)

EEL: bool AudioAccessorStateChanged(AudioAccessor accessor)

Lua: boolean reaper.AudioAccessorStateChanged(AudioAccessor accessor)

Python: Boolean RPR_AudioAccessorStateChanged(AudioAccessor accessor)

Description:
Returns true if the underlying samples (track or media item take) have changed, but does not update the audio accessor, so the user can selectively call AudioAccessorValidateState only when needed.

See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, GetAudioAccessorEndTime, GetAudioAccessorSamples.



^ Reaper version 5.97Lua version 5.3 AudioAccessorUpdate

Functioncall:

C: void AudioAccessorUpdate(AudioAccessor* accessor)

EEL: AudioAccessorUpdate(AudioAccessor accessor)

Lua: reaper.AudioAccessorUpdate(AudioAccessor accessor)

Python: RPR_AudioAccessorUpdate(AudioAccessor accessor)

Description:
Force the accessor to reload its state from the underlying track or media item take.

See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorEndTime, GetAudioAccessorSamples.



^ Reaper version 5.62Lua version 5.3 AudioAccessorValidateState

Functioncall:

C: bool AudioAccessorValidateState(AudioAccessor* accessor)

EEL: bool AudioAccessorValidateState(AudioAccessor accessor)

Lua: boolean = reaper.AudioAccessorValidateState(AudioAccessor accessor)

Python: Boolean RPR_AudioAccessorValidateState(AudioAccessor accessor)

Description:
Validates the current state of the audio accessor -- must ONLY call this from the main thread. Returns true if the state changed.

Parameters:
          AudioAccessor accessor - the AudioAccessor for a MediaTrack or a MediaItem_take
Returnvalues:
          boolean - true, if state has changed; false, if state hasn't changed


^ Reaper version 5.62Lua version 5.3 BypassFxAllTracks

Functioncall:

C: void BypassFxAllTracks(int bypass)

EEL: BypassFxAllTracks(int bypass)

Lua: reaper.BypassFxAllTracks(integer bypass)

Python: RPR_BypassFxAllTracks(Int bypass)

Description:
Does bypassing of the fx of all tracks.

Parameters:
          integer bypass - -1, bypass all if not all bypassed,otherwise unbypass all


^ Reaper version 5.62Lua version 5.3 ClearAllRecArmed

Functioncall:

C: void ClearAllRecArmed()

EEL: ClearAllRecArmed()

Lua: reaper.ClearAllRecArmed()

Python: RPR_ClearAllRecArmed()

Description:
Clears all armed states of all tracks.



^ Reaper version 5.62Lua version 5.3 ClearConsole

Functioncall:

C: void ClearConsole()

EEL: ClearConsole()

Lua: reaper.ClearConsole()

Python: RPR_ClearConsole()

Description:
Clear the ReaScript console. See ShowConsoleMsg



^ Reaper version 5.62Lua version 5.3 ClearPeakCache

Functioncall:

C: void ClearPeakCache()

EEL: ClearPeakCache()

Lua: reaper.ClearPeakCache()

Python: RPR_ClearPeakCache()

Description:
resets the global peak caches



^ Reaper version 5.62Lua version 5.3 ColorFromNative

Functioncall:

C: void ColorFromNative(int col, int* rOut, int* gOut, int* bOut)

EEL: ColorFromNative(int col, int &r, int &g, int &b)

Lua: integer r, integer g, integer b = reaper.ColorFromNative(integer col)

Python: (Int col, Int rOut, Int gOut, Int bOut) = RPR_ColorFromNative(col, rOut, gOut, bOut)

Description:
Extract RGB values from an OS dependent color. See ColorToNative.

As Reaper treats colors differently on Mac and Windows, you should always use ColorFromNative and ColorToNative.

Parameters:
          integer col - the colorvalue to convert from
Returnvalues:
          integer r - the value for red, from 0 to 255
          integer g - the value for green, from 0 to 255
          integer b - the value for blue, from 0 to 255


^ Reaper version 5.62Lua version 5.3 ColorToNative

Functioncall:

C: int ColorToNative(int r, int g, int b)

EEL: int ColorToNative(int r, int g, int b)

Lua: integer = reaper.ColorToNative(integer r, integer g, integer b)

Python: Int RPR_ColorToNative(Int r, Int g, Int b)

Description:
Make an OS dependent color from RGB values (e.g. RGB() macro on Windows). r,g and b are in [0..255]. See ColorFromNative
As Reaper treats colors differently on Mac and Windows, you should always use ColorFromNative and ColorToNative.

When using the returned colorvalue, you need to add |0x1000000 at the end of it, like ColorToNative(20,30,40)|0x1000000.

Parameters:
          integer r - the value for red, from 0 to 255
          integer g - the value for green, from 0 to 255
          integer b - the value for blue, from 0 to 255
Returnvalues:
          integer col - the correct colorvalue, fitting to your system.


^ Reaper version 5.62Lua version 5.3 CountAutomationItems

Functioncall:

C: int CountAutomationItems(TrackEnvelope* env)

EEL: int CountAutomationItems(TrackEnvelope env)

Lua: integer = reaper.CountAutomationItems(TrackEnvelope env)

Python: Int RPR_CountAutomationItems(TrackEnvelope env)

Description:
Returns the number of automation items on this envelope. See GetSetAutomationItemInfo.

Parameters:
          TrackEnvelope env - the envelope-object for the envelope-lane
Returnvalues:
          integer - number of automation items


^ Reaper version 5.979Lua version 5.3 CountEnvelopePoints

Functioncall:

C: int CountEnvelopePoints(TrackEnvelope* envelope)

EEL: int CountEnvelopePoints(TrackEnvelope envelope)

Lua: integer = reaper.CountEnvelopePoints(TrackEnvelope envelope)

Python: Int RPR_CountEnvelopePoints(TrackEnvelope envelope)

Description:
Returns the number of points in the envelope. See #CountEnvelopePointsEx

Parameters:
          TrackEnvelope envelope - the TrackEnvelope-object, in which to count for the envelope-points
Returnvalues:
          integer - the number of envelope-points in the envelopeobject envelope


^ Reaper version 5.979Lua version 5.3 CountEnvelopePointsEx

Functioncall:

C: int CountEnvelopePointsEx(TrackEnvelope* envelope, int autoitem_idx)

EEL: int CountEnvelopePointsEx(TrackEnvelope envelope, int autoitem_idx)

Lua: integer = reaper.CountEnvelopePointsEx(TrackEnvelope envelope, integer autoitem_idx)

Python: Int RPR_CountEnvelopePointsEx(TrackEnvelope envelope, Int autoitem_idx)

Description:
Returns the number of points in the envelope.
autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc.
For automation items, pass autoitem_idx|0x10000000 to base ptidx on the number of points in one full loop iteration,
even if the automation item is trimmed so that not all points are visible.
Otherwise, ptidx will be based on the number of visible points in the automation item, including all loop iterations.

See GetEnvelopePointEx, SetEnvelopePointEx, InsertEnvelopePointEx, DeleteEnvelopePointEx.

Parameters:
          TrackEnvelope envelope - the TrackEnvelope-object, in which to count for the envelope-points
          integer autoitem_idx - -1, for the underlying envelope, 0, for the first automation item on the envelope, etc.
Returnvalues:
          integer - the number of envelope-points in the envelopeobject envelope


^ Reaper version 5.62Lua version 5.3 CountMediaItems

Functioncall:

C: int CountMediaItems(ReaProject* proj)

EEL: int CountMediaItems(ReaProject proj)

Lua: integer = reaper.CountMediaItems(ReaProject proj)

Python: Int RPR_CountMediaItems(ReaProject proj)

Description:
count the number of items in the project (proj=0 for active project)

Parameters:
          ReaProject proj - the project, in which to count for the number of items; 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the number of MediaItems in a project


^ Reaper version 5.62Lua version 5.3 CountProjectMarkers

Functioncall:

C: int CountProjectMarkers(ReaProject* proj, int* num_markersOut, int* num_regionsOut)

EEL: int CountProjectMarkers(ReaProject proj, int &num_markers, int &num_regions)

Lua: integer retval, number num_markers, number num_regions = reaper.CountProjectMarkers(ReaProject proj)

Python: (Int retval, ReaProject proj, Int num_markersOut, Int num_regionsOut) = RPR_CountProjectMarkers(proj, num_markersOut, num_regionsOut)

Description:
returns the number of all markers and regions, as well as all markers and all regions in a project.
num_markersOut and num_regionsOut may be NULL.

Parameters:
          ReaProject proj - the project, in which to count the markers; 0 for current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer retval - all markers and regions in the project
          integer num_markers - the number of markers in the project
          integer num_regions - the number of regions in the project


^ Reaper version 5.62Lua version 5.3 CountSelectedMediaItems

Functioncall:

C: int CountSelectedMediaItems(ReaProject* proj)

EEL: int CountSelectedMediaItems(ReaProject proj)

Lua: integer = reaper.CountSelectedMediaItems(ReaProject proj)

Python: Int RPR_CountSelectedMediaItems(ReaProject proj)

Description:
count the number of selected items in the project (proj=0 for active project)

Parameters:
          ReaProject proj - the project, in which to count for the selected mediaitems; 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the number of selected items in the project


^ Reaper version 5.62Lua version 5.3 CountSelectedTracks

Functioncall:

C: int CountSelectedTracks(ReaProject* proj)

EEL: int CountSelectedTracks(ReaProject proj)

Lua: integer = reaper.CountSelectedTracks(ReaProject proj)

Python: Int RPR_CountSelectedTracks(ReaProject proj)

Description:
Count the number of selected tracks in the project.
This function ignores the master track, see CountSelectedTracks2

Parameters:
          ReaProject proj - the project in which to count the selected tracks; 0 for current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the number of selected tracks in the project


^ Reaper version 5.62Lua version 5.3 CountSelectedTracks2

Functioncall:

C: int CountSelectedTracks2(ReaProject* proj, bool wantmaster)

EEL: int CountSelectedTracks2(ReaProject proj, bool wantmaster)

Lua: integer = reaper.CountSelectedTracks2(ReaProject proj, boolean wantmaster)

Python: Int RPR_CountSelectedTracks2(ReaProject proj, Boolean wantmaster)

Description:
Count the number of selected tracks in the project.
if you set wantmaster to true, it will include the master track as well.

Parameters:
          ReaProject proj - the number of the project in which to count the selected tracks; 0 for current project. Can also be a ReaProject-object, as returned by EnumProjects
          boolean wantmaster - true, if you want to count the master-track as well; false, if you don't want to count it
Returnvalues:
          integer - the number of selected tracks in your project


^ Reaper version 5.62Lua version 5.3 CountTakeEnvelopes

Functioncall:

C: int CountTakeEnvelopes(MediaItem_Take* take)

EEL: int CountTakeEnvelopes(MediaItem_Take take)

Lua: integer = reaper.CountTakeEnvelopes(MediaItem_Take take)

Python: Int RPR_CountTakeEnvelopes(MediaItem_Take take)

Description:
See GetTakeEnvelope

Parameters:
          MediaItem_Take take - the mediaitem-object for a certain take
Returnvalues:
          integer - number of envelopes of this take of a mediaitem


^ Reaper version 5.62Lua version 5.3 CountTakes

Functioncall:

C: int CountTakes(MediaItem* item)

EEL: int CountTakes(MediaItem item)

Lua: integer = reaper.CountTakes(MediaItem item)

Python: Int RPR_CountTakes(MediaItem item)

Description:
count the number of takes in the item

Parameters:
          MediaItem item - the mediaitem to count the takes of
Returnvalues:
          integer - the number of takes in a mediaitem


^ Reaper version 5.62Lua version 5.3 CountTCPFXParms

Functioncall:

C: int CountTCPFXParms(ReaProject* project, MediaTrack* track)

EEL: int CountTCPFXParms(ReaProject project, MediaTrack track)

Lua: integer = reaper.CountTCPFXParms(ReaProject project, MediaTrack track)

Python: Int RPR_CountTCPFXParms(ReaProject project, MediaTrack track)

Description:
Count the number of FX parameter knobs displayed on the track control panel.

Parameters:
          ReaProject project - the project, in which to count the knobs
          MediaTrack track - the track of which to count the knobs
Returnvalues:
          integer - the number of FX-parameter-knobs


^ Reaper version 5.62Lua version 5.3 CountTempoTimeSigMarkers

Functioncall:

C: int CountTempoTimeSigMarkers(ReaProject* proj)

EEL: int CountTempoTimeSigMarkers(ReaProject proj)

Lua: integer = reaper.CountTempoTimeSigMarkers(ReaProject proj)

Python: Int RPR_CountTempoTimeSigMarkers(ReaProject proj)

Description:
Count the number of tempo/time signature markers in the project. See GetTempoTimeSigMarker, SetTempoTimeSigMarker, AddTempoTimeSigMarker, DeleteTempoTimeSigMarker.

Parameters:
          ReaProject proj - project number; 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the number of tempo/time-signature markers in the project.


^ Reaper version 5.62Lua version 5.3 CountTrackEnvelopes

Functioncall:

C: int CountTrackEnvelopes(MediaTrack* track)

EEL: int CountTrackEnvelopes(MediaTrack track)

Lua: integer = reaper.CountTrackEnvelopes(MediaTrack track)

Python: Int RPR_CountTrackEnvelopes(MediaTrack track)

Description:
Counts the number of track-envelopes of a certain track.
see GetTrackEnvelope

Parameters:
          MediaTrack track - the object of the track to count it's envelopes
Returnvalues:
          integer - the number of track-envelopes in a track


^ Reaper version 5.62Lua version 5.3 CountTrackMediaItems

Functioncall:

C: int CountTrackMediaItems(MediaTrack* track)

EEL: int CountTrackMediaItems(MediaTrack track)

Lua: integer = reaper.CountTrackMediaItems(MediaTrack track)

Python: Int RPR_CountTrackMediaItems(MediaTrack track)

Description:
count the number of items in the track

Parameters:
          MediaTrack track - the MediaTrack to count the items of
Returnvalues:
          integer - the number of mediaitems in the track


^ Reaper version 5.62Lua version 5.3 CountTracks

Functioncall:

C: int CountTracks(ReaProject* proj)

EEL: int CountTracks(ReaProject proj)

Lua: integer = reaper.CountTracks(ReaProject proj)

Python: Int RPR_CountTracks(ReaProject proj)

Description:
count the number of tracks in the project (proj=0 for active project)

Parameters:
          ReaProject proj - the project in which to count the tracks; 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the number of tracks in the project, excluding the master-track.


^ Reaper version 5.62Lua version 5.3 CreateNewMIDIItemInProj

Functioncall:

C: MediaItem* CreateNewMIDIItemInProj(MediaTrack* track, double starttime, double endtime, const bool* qnInOptional)

EEL: MediaItem CreateNewMIDIItemInProj(MediaTrack track, starttime, endtime, optional bool qnIn)

Lua: MediaItem = reaper.CreateNewMIDIItemInProj(MediaTrack track, number starttime, number endtime, optional boolean qnIn)

Python: MediaItem RPR_CreateNewMIDIItemInProj(MediaTrack track, Float starttime, Float endtime, const bool qnInOptional)

Description:
Create a new MIDI media item, containing no MIDI events. Time is in seconds unless qn is set.

Parameters:
          MediaTrack track - the object of the track, in which to create this mediaitem
          number starttime - starttime of the item in seconds, unless qnIn is set to true
          number endtime - endtime of the item in seconds, unless qnIn is set to true
          boolean qnIn - unknown; can be set to true, or false or be omitted
Returnvalues:
          MediaItem - the newly created MIDI-mediaitem.


^ Reaper version 5.97Lua version 5.3 CreateTakeAudioAccessor

Functioncall:

C: AudioAccessor* CreateTakeAudioAccessor(MediaItem_Take* take)

EEL: AudioAccessor CreateTakeAudioAccessor(MediaItem_Take take)

Lua: AudioAccessor = reaper.CreateTakeAudioAccessor(MediaItem_Take take)

Python: AudioAccessor RPR_CreateTakeAudioAccessor(MediaItem_Take take)

Description:
Create an audio accessor object for this take. Must only call from the main thread.

See CreateTrackAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorEndTime, GetAudioAccessorSamples.

Parameters:
          MediaItem_Take take - the take from a MediaItem-object, of which you want to create a new AudioAccessor
Returnvalues:
          AudioAccessor - the newly created AudioAccessor


^ Reaper version 5.97Lua version 5.3 CreateTrackAudioAccessor

Functioncall:

C: AudioAccessor* CreateTrackAudioAccessor(MediaTrack* track)

EEL: AudioAccessor CreateTrackAudioAccessor(MediaTrack track)

Lua: AudioAccessor = reaper.CreateTrackAudioAccessor(MediaTrack track)

Python: AudioAccessor RPR_CreateTrackAudioAccessor(MediaTrack track)

Description:
Create an audio accessor object for this track. Must only call from the main thread. See CreateTakeAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorEndTime, GetAudioAccessorSamples.

Parameters:
          MediaTrack track - the MediaTrack, of which you want to create an AudioAccessor
Returnvalues:
          AudioAccessor - the newly created AudioAccessor for this MediaTrack


^ Reaper version 5.62Lua version 5.3 CreateTrackSend

Functioncall:

C: int CreateTrackSend(MediaTrack* tr, MediaTrack* desttrInOptional)

EEL: int CreateTrackSend(MediaTrack tr, MediaTrack desttrIn)

Lua: integer = reaper.CreateTrackSend(MediaTrack tr, MediaTrack desttrIn)

Python: Int RPR_CreateTrackSend(MediaTrack tr, MediaTrack desttrInOptional)

Description:
Create a send/receive (desttrInOptional!=NULL), or a hardware output (desttrInOptional==NULL) with default properties, return >=0 on success (== new send/receive index). See RemoveTrackSend, GetSetTrackSendInfo, GetTrackSendInfo_Value, SetTrackSendInfo_Value.

Parameters:
          MediaTrack tr - the MediaTrack in which to create the send/hwout
          MediaTrack desttrIn - destination track input;
a MediaTrack-object, creates a new send to tr from MediaTrack-object;
nil(or no MediaTrack-object), creates a new hardware-output
Returnvalues:
          integer - the id of the new HWOut or Send created. HWOut and Send have their own individual index-numbering.


^ Reaper version 5.62Lua version 5.3 CSurf_FlushUndo

Functioncall:

C: void CSurf_FlushUndo(bool force)

EEL: CSurf_FlushUndo(bool force)

Lua: reaper.CSurf_FlushUndo(boolean force)

Python: RPR_CSurf_FlushUndo(Boolean force)

Description:
call this to force flushing of the undo states after using CSurf_On*Change()

Parameters:
          boolean force -


^ Reaper version 5.62Lua version 5.3 CSurf_GetTouchState

Functioncall:

C: bool CSurf_GetTouchState(MediaTrack* trackid, int isPan)

EEL: bool CSurf_GetTouchState(MediaTrack trackid, int isPan)

Lua: boolean = reaper.CSurf_GetTouchState(MediaTrack trackid, integer isPan)

Python: Boolean RPR_CSurf_GetTouchState(MediaTrack trackid, Int isPan)

Description:


Parameters:
          MediaTrack trackid -
          integer isPan -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 CSurf_GoEnd

Functioncall:

C: void CSurf_GoEnd()

EEL: CSurf_GoEnd()

Lua: reaper.CSurf_GoEnd()

Python: RPR_CSurf_GoEnd()

Description:
Moves the cursor to the end of the last item in the project.



^ Reaper version 5.62Lua version 5.3 CSurf_GoStart

Functioncall:

C: void CSurf_GoStart()

EEL: CSurf_GoStart()

Lua: reaper.CSurf_GoStart()

Python: RPR_CSurf_GoStart()

Description:
Moves the cursor to the start of the project.



^ Reaper version 5.62Lua version 5.3 CSurf_NumTracks

Functioncall:

C: int CSurf_NumTracks(bool mcpView)

EEL: int CSurf_NumTracks(bool mcpView)

Lua: integer = reaper.CSurf_NumTracks(boolean mcpView)

Python: Int RPR_CSurf_NumTracks(Boolean mcpView)

Description:
counts the number of tracks, or the number of visible tracks, when mcpView is set to true.

Parameters:
          boolean mcpView - true, only return the number of tracks visible in MCP; false, count all tracks, incl. invisible
Returnvalues:
          integer - number of tracks


^ Reaper version 5.62Lua version 5.3 CSurf_OnArrow

Functioncall:

C: void CSurf_OnArrow(int whichdir, bool wantzoom)

EEL: CSurf_OnArrow(int whichdir, bool wantzoom)

Lua: reaper.CSurf_OnArrow(integer whichdir, boolean wantzoom)

Python: RPR_CSurf_OnArrow(Int whichdir, Boolean wantzoom)

Description:
Zoom or scroll the Arrangeview vertically.
The stepsize with scrolling is track by track.

Parameters:
          integer whichdir - into which (zoom-)direction to change
   0, move arrangeview upward(one track each step)/zoom in
   1, move arrangeview downward(one track each step)/zoom out
          boolean wantzoom - true, adjust vertical zoom; false, adjust vertical scrolling


^ Reaper version 5.62Lua version 5.3 CSurf_OnFwd

Functioncall:

C: void CSurf_OnFwd(int seekplay)

EEL: CSurf_OnFwd(int seekplay)

Lua: reaper.CSurf_OnFwd(integer seekplay)

Python: RPR_CSurf_OnFwd(Int seekplay)

Description:
Moves editcursor forward, and optionally with seekplay.

Parameters:
          integer seekplay - how to move the editcursor forward
   0, move cursor forward in small steps. Stepsize depends on horizontal zoomfactor.
   1, move cursor forward, in half-second steps when stopped; when playing it jumps ahead with playing restarting at editcursor


^ Reaper version 5.62Lua version 5.3 CSurf_OnFXChange

Functioncall:

C: bool CSurf_OnFXChange(MediaTrack* trackid, int en)

EEL: bool CSurf_OnFXChange(MediaTrack trackid, int en)

Lua: boolean = reaper.CSurf_OnFXChange(MediaTrack trackid, integer en)

Python: Boolean RPR_CSurf_OnFXChange(MediaTrack trackid, Int en)

Description:
Sets/toggles activation of FX-Chain.

Parameters:
          MediaTrack trackid - the MediaTrack, whose FX-chain you want to de-/activate
          integer en - activation state of FX-chain
   -1, toggle FX-chain on/off
    0, set FX-chain off
    1, set FX-chain on
Returnvalues:
          boolean - true, if FX-chain is activated; false, if FX-chain is deactivated


^ Reaper version 5.62Lua version 5.3 CSurf_OnInputMonitorChange

Functioncall:

C: int CSurf_OnInputMonitorChange(MediaTrack* trackid, int monitor)

EEL: int CSurf_OnInputMonitorChange(MediaTrack trackid, int monitor)

Lua: integer = reaper.CSurf_OnInputMonitorChange(MediaTrack trackid, integer monitor)

Python: Int RPR_CSurf_OnInputMonitorChange(MediaTrack trackid, Int monitor)

Description:
sets rec-monitoring of a specific track.

Parameters:
          MediaTrack trackid - the MediaTrack, of which you want to toggle the monitor-button
          integer monitor - monitor-input-state
   -1, monitor input on(tape auto style) (can be set with negative values, and 2 as well)
    0, monitor off (can be set with 3 and higher as well)
    1, monitor input on
Returnvalues:
          integer - the new input-monitor-state (refer to parameter monitor for description)


^ Reaper version 5.62Lua version 5.3 CSurf_OnInputMonitorChangeEx

Functioncall:

C: int CSurf_OnInputMonitorChangeEx(MediaTrack* trackid, int monitor, bool allowgang)

EEL: int CSurf_OnInputMonitorChangeEx(MediaTrack trackid, int monitor, bool allowgang)

Lua: integer = reaper.CSurf_OnInputMonitorChangeEx(MediaTrack trackid, integer monitor, boolean allowgang)

Python: Int RPR_CSurf_OnInputMonitorChangeEx(MediaTrack trackid, Int monitor, Boolean allowgang)

Description:
Sets monitor-input-state. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Parameters:
          MediaTrack trackid - the MediaTrack, whose monitor-input-state you want to set
          integer monitor - monitor-input-state
   -1, monitor input on(tape auto style) (can be set with negative values, and 2 as well)
    0, monitor off (can be set with 3 and higher as well)
    1, monitor input on
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          integer - the new input-monitor-state (refer to parameter monitor for description)


^ Reaper version 5.62Lua version 5.3 CSurf_OnMuteChange

Functioncall:

C: bool CSurf_OnMuteChange(MediaTrack* trackid, int mute)

EEL: bool CSurf_OnMuteChange(MediaTrack trackid, int mute)

Lua: boolean = reaper.CSurf_OnMuteChange(MediaTrack trackid, integer mute)

Python: Boolean RPR_CSurf_OnMuteChange(MediaTrack trackid, Int mute)

Description:
Sets mute state of a MediaTrack.

Parameters:
          MediaTrack trackid - the MediaTrack to be muted
          integer mute - mute state
   0, mute off
   1 and higher, mute on
   negative values toggle mute-state
Returnvalues:
          boolean - the new mute-state; true, mute is on; false, mute is off


^ Reaper version 5.62Lua version 5.3 CSurf_OnMuteChangeEx

Functioncall:

C: bool CSurf_OnMuteChangeEx(MediaTrack* trackid, int mute, bool allowgang)

EEL: bool CSurf_OnMuteChangeEx(MediaTrack trackid, int mute, bool allowgang)

Lua: boolean = reaper.CSurf_OnMuteChangeEx(MediaTrack trackid, integer mute, boolean allowgang)

Python: Boolean RPR_CSurf_OnMuteChangeEx(MediaTrack trackid, Int mute, Boolean allowgang)

Description:
Sets/toggles mute-state for a MediaTrack. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Parameters:
          MediaTrack trackid - the MediaTrack to be muted
          integer mute - mute state
   0, mute off
   1, and higher, mute on
   negative values toggle mute-state
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          boolean - the new mute-state; true, mute is on; false, mute is off


^ Reaper version 5.62Lua version 5.3 CSurf_OnPanChange

Functioncall:

C: double CSurf_OnPanChange(MediaTrack* trackid, double pan, bool relative)

EEL: double CSurf_OnPanChange(MediaTrack trackid, pan, bool relative)

Lua: number = reaper.CSurf_OnPanChange(MediaTrack trackid, number pan, boolean relative)

Python: Float RPR_CSurf_OnPanChange(MediaTrack trackid, Float pan, Boolean relative)

Description:
Changes the pan-value of a track.

Parameters:
          MediaTrack trackid - the MediaTrack in which to change the pan
          number pan - -1, full pan left; 1, full pan right; 0, pan centered
          boolean relative - true, add/subtract pan to the currently set pan-value
Returnvalues:
          number - the new pan-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnPanChangeEx

Functioncall:

C: double CSurf_OnPanChangeEx(MediaTrack* trackid, double pan, bool relative, bool allowGang)

EEL: double CSurf_OnPanChangeEx(MediaTrack trackid, pan, bool relative, bool allowGang)

Lua: number = reaper.CSurf_OnPanChangeEx(MediaTrack trackid, number pan, boolean relative, boolean allowGang)

Python: Float RPR_CSurf_OnPanChangeEx(MediaTrack trackid, Float pan, Boolean relative, Boolean allowGang)

Description:
Changes the pan-value of a track. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Parameters:
          MediaTrack trackid - the MediaTrack in which to change the pan
          number pan - -1, full pan left; 1, full pan right; 0, pan centered
          boolean relative - true, add/subtract pan to the currently set pan-value
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          number - the new pan-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnPause

Functioncall:

C: void CSurf_OnPause()

EEL: CSurf_OnPause()

Lua: reaper.CSurf_OnPause()

Python: RPR_CSurf_OnPause()

Description:
Toggles between pause and play or when recording has started between pause and rec. Unlike CSurf_OnPlay() it toggles pause first, then plays.



^ Reaper version 5.62Lua version 5.3 CSurf_OnPlay

Functioncall:

C: void CSurf_OnPlay()

EEL: CSurf_OnPlay()

Lua: reaper.CSurf_OnPlay()

Python: RPR_CSurf_OnPlay()

Description:
Toggles between play and pause or, when recording, rec and pause. Unlike CSurf_OnPause() it toggles play first, then pauses.



^ Reaper version 5.62Lua version 5.3 CSurf_OnPlayRateChange

Functioncall:

C: void CSurf_OnPlayRateChange(double playrate)

EEL: CSurf_OnPlayRateChange(playrate)

Lua: reaper.CSurf_OnPlayRateChange(number playrate)

Python: RPR_CSurf_OnPlayRateChange(Float playrate)

Description:
Sets the playbackrate of the current project. Can be between 0.25x to 4x.

Parameters:
          number playrate - the playbackrate of the current project. 0.25 to 4.00


^ Reaper version 5.62Lua version 5.3 CSurf_OnRecArmChange

Functioncall:

C: bool CSurf_OnRecArmChange(MediaTrack* trackid, int recarm)

EEL: bool CSurf_OnRecArmChange(MediaTrack trackid, int recarm)

Lua: boolean = reaper.CSurf_OnRecArmChange(MediaTrack trackid, integer recarm)

Python: Boolean RPR_CSurf_OnRecArmChange(MediaTrack trackid, Int recarm)

Description:
Sets a MediaTrack's armed state.

Parameters:
          MediaTrack trackid - the MediaTrack in which to set the armed-state
          integer recarm - the armstate;
    0, set to unarmed
    1 and higher, set to armed
   -1 and lower, toggle recarm
Returnvalues:
          boolean - true, if set to armed; false, if not


^ Reaper version 5.62Lua version 5.3 CSurf_OnRecArmChangeEx

Functioncall:

C: bool CSurf_OnRecArmChangeEx(MediaTrack* trackid, int recarm, bool allowgang)

EEL: bool CSurf_OnRecArmChangeEx(MediaTrack trackid, int recarm, bool allowgang)

Lua: boolean = reaper.CSurf_OnRecArmChangeEx(MediaTrack trackid, integer recarm, boolean allowgang)

Python: Boolean RPR_CSurf_OnRecArmChangeEx(MediaTrack trackid, Int recarm, Boolean allowgang)

Description:
Sets a MediaTrack's armed state. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Parameters:
          MediaTrack trackid - the MediaTrack in which to set the armed-state
          integer recarm - the armstate;
    0, set to unarmed
    1 and higher, set to armed
   -1 and lower, toggle recarm
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          boolean - true, if set to armed; false, if not


^ Reaper version 5.62Lua version 5.3 CSurf_OnRecord

Functioncall:

C: void CSurf_OnRecord()

EEL: CSurf_OnRecord()

Lua: reaper.CSurf_OnRecord()

Python: RPR_CSurf_OnRecord()

Description:
Toggles recording on and off. Starts recording from edit-cursor-position.



^ Reaper version 5.62Lua version 5.3 CSurf_OnRecvPanChange

Functioncall:

C: double CSurf_OnRecvPanChange(MediaTrack* trackid, int recv_index, double pan, bool relative)

EEL: double CSurf_OnRecvPanChange(MediaTrack trackid, int recv_index, pan, bool relative)

Lua: number = reaper.CSurf_OnRecvPanChange(MediaTrack trackid, integer recv_index, number pan, boolean relative)

Python: Float RPR_CSurf_OnRecvPanChange(MediaTrack trackid, Int recv_index, Float pan, Boolean relative)

Description:
Sets/alters a pan-value for a received-track. Will also change pan in the accompanying send-track!

Parameters:
          MediaTrack trackid - the MediaTrack-object whose receive-pan you want to change
          integer recv_index - the receive to be changed. 0 for the first receive, 1 for the second, etc
          number pan - the new pan value; -1, full left; 1, full right; 0, center
          boolean relative - false, set pan to new value; true, alter pan by new value
Returnvalues:
          number - the new receive-pan-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnRecvVolumeChange

Functioncall:

C: double CSurf_OnRecvVolumeChange(MediaTrack* trackid, int recv_index, double volume, bool relative)

EEL: double CSurf_OnRecvVolumeChange(MediaTrack trackid, int recv_index, volume, bool relative)

Lua: number = reaper.CSurf_OnRecvVolumeChange(MediaTrack trackid, integer recv_index, number volume, boolean relative)

Python: Float RPR_CSurf_OnRecvVolumeChange(MediaTrack trackid, Int recv_index, Float volume, Boolean relative)

Description:
Sets/alters the volume-value of a received track. Will also change volume in the accompanying send-track!

Note: You can't(!) use SLIDER2DB or DB2SLIDER for getting the volume-values, you want to set here! Use mkvolstr instead.

Parameters:
          MediaTrack trackid - the MediaTrack-object whose receive-pan you want to change
          integer recv_index - the receive to be changed. 0 for the first receive, 1 for the second, etc
          number volume - the volume-level of the receive; 0, -inf; 1, 0dB; 4, ca +12 db; higher values are possible, though fader will not reflect them. but higher values will still be applied.
          boolean relative - false, set volume to new value; true, alter volume by new value
Returnvalues:
          number - the new receive-volume-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnRew

Functioncall:

C: void CSurf_OnRew(int seekplay)

EEL: CSurf_OnRew(int seekplay)

Lua: reaper.CSurf_OnRew(integer seekplay)

Python: RPR_CSurf_OnRew(Int seekplay)

Description:
Moves editcursor backward, and optionally with seekplay.

Parameters:
          integer seekplay - how to move the editcursor backward
   0, move cursor backward in small steps. Stepsize depends on horizontal zoomfactor.
   1, move cursor backward, in half-second steps when stopped; when playing, playing will restart at playcursor


^ Reaper version 5.62Lua version 5.3 CSurf_OnRewFwd

Functioncall:

C: void CSurf_OnRewFwd(int seekplay, int dir)

EEL: CSurf_OnRewFwd(int seekplay, int dir)

Lua: reaper.CSurf_OnRewFwd(integer seekplay, integer dir)

Python: RPR_CSurf_OnRewFwd(Int seekplay, Int dir)

Description:
Will move editcursor for or backward, depending on parameter dir.
During play and whith seekplay set, the movement of the editcursor depends on the playcursor-position at the time of calling CSurf_OnRewFwd.

Parameters:
          integer seekplay - turns seekplay on or off; has no effect during recording
   0, when stopped, jump for/backwards in small steps(stepsize depending on zoom-factor)
   1, when stopped, jump for/backwards in 0.5 seconds steps. When play/rec
          integer dir - the direction; -1, move backwards; 0, keep the position; 1, move forwards


^ Reaper version 5.62Lua version 5.3 CSurf_OnScroll

Functioncall:

C: void CSurf_OnScroll(int xdir, int ydir)

EEL: CSurf_OnScroll(int xdir, int ydir)

Lua: reaper.CSurf_OnScroll(integer xdir, integer ydir)

Python: RPR_CSurf_OnScroll(Int xdir, Int ydir)

Description:
Scroll arrangeview relative to it's current view-settings.

Parameters:
          integer xdir - scroll horizontally(timeline) through the project.
Negative values toward the beginning, positive toward the end. The higher the values, the farther the movement.
          integer ydir - scroll vertically(tracks) through the project.
Negative values toward the top, positive toward the bottom. The higher the values, the farther the movement.


^ Reaper version 5.62Lua version 5.3 CSurf_OnSelectedChange

Functioncall:

C: bool CSurf_OnSelectedChange(MediaTrack* trackid, int selected)

EEL: bool CSurf_OnSelectedChange(MediaTrack trackid, int selected)

Lua: boolean = reaper.CSurf_OnSelectedChange(MediaTrack trackid, integer selected)

Python: Boolean RPR_CSurf_OnSelectedChange(MediaTrack trackid, Int selected)

Description:
Sets a track selected or not.

Parameters:
          MediaTrack trackid - the MediaTrack to be selected/unselected
          integer selected - select-state; 0, track is selected; 1, track is unselected
Returnvalues:
          boolean - true, track is selected; false, track is unselected


^ Reaper version 5.62Lua version 5.3 CSurf_OnSendPanChange

Functioncall:

C: double CSurf_OnSendPanChange(MediaTrack* trackid, int send_index, double pan, bool relative)

EEL: double CSurf_OnSendPanChange(MediaTrack trackid, int send_index, pan, bool relative)

Lua: number = reaper.CSurf_OnSendPanChange(MediaTrack trackid, integer send_index, number pan, boolean relative)

Python: Float RPR_CSurf_OnSendPanChange(MediaTrack trackid, Int send_index, Float pan, Boolean relative)

Description:
Sets/alters the pan-volume of a send-track. Will also change the volume of the accompanying receive-track!

Parameters:
          MediaTrack trackid - the MediaTrackObject, whose pan-value you want to change
          integer send_index - the index-number of the send-track. 0 for the first, 2 for the second, etc
          number pan - the pan value; -1 for hard left; 1 for hard right; 0 for center
          boolean relative - false, set pan to new value; true, alter pan by new value
Returnvalues:
          number - the new pan-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnSendVolumeChange

Functioncall:

C: double CSurf_OnSendVolumeChange(MediaTrack* trackid, int send_index, double volume, bool relative)

EEL: double CSurf_OnSendVolumeChange(MediaTrack trackid, int send_index, volume, bool relative)

Lua: number = reaper.CSurf_OnSendVolumeChange(MediaTrack trackid, integer send_index, number volume, boolean relative)

Python: Float RPR_CSurf_OnSendVolumeChange(MediaTrack trackid, Int send_index, Float volume, Boolean relative)

Description:
Sets/alters the volume-value of a send-track. Will also alter the volume of the accompanying receive-track.

Note: You can't(!) use SLIDER2DB or DB2SLIDER for getting the volume-values, you want to set here!

Parameters:
          MediaTrack trackid - the MediaTrackObject, whose volume-value you want to change
          integer send_index - the index-number of the send-track. 0 for the first, 2 for the second, etc
          number volume - the volume-level of the receive; 0, -inf; 1, 0dB; 4, ca +12 db;
higher values are possible, though fader will not reflect them. but higher values will still be applied.
          boolean relative - false, set volume to new value; true, alter volume by new value
Returnvalues:
          number - the new volume-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnSoloChange

Functioncall:

C: bool CSurf_OnSoloChange(MediaTrack* trackid, int solo)

EEL: bool CSurf_OnSoloChange(MediaTrack trackid, int solo)

Lua: boolean = reaper.CSurf_OnSoloChange(MediaTrack trackid, integer solo)

Python: Boolean RPR_CSurf_OnSoloChange(MediaTrack trackid, Int solo)

Description:
Sets/toggles solo state of a track.

Parameters:
          MediaTrack trackid - the MediaTrack in which to toggle solo state
          integer solo - solo state.
    0, solo off
    1 and higher, solo on
   -1 and lower, toggle solo on/off
Returnvalues:
          boolean - true, solo has been turned on; false, solo has been turned off


^ Reaper version 5.62Lua version 5.3 CSurf_OnSoloChangeEx

Functioncall:

C: bool CSurf_OnSoloChangeEx(MediaTrack* trackid, int solo, bool allowgang)

EEL: bool CSurf_OnSoloChangeEx(MediaTrack trackid, int solo, bool allowgang)

Lua: boolean retval = reaper.CSurf_OnSoloChangeEx(MediaTrack trackid, integer solo, boolean allowgang)

Python: Boolean RPR_CSurf_OnSoloChangeEx(MediaTrack trackid, Int solo, Boolean allowgang)

Description:
Sets/toggles solo state of a track. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Parameters:
          MediaTrack trackid - the MediaTrack in which to toggle solo state
          integer solo - solo state.
   0, solo off
   1 and higher, solo on
  -1 and lower, toggle solo on/off
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          boolean retval - true, solo has been turned on; false, solo has been turned off


^ Reaper version 5.62Lua version 5.3 CSurf_OnStop

Functioncall:

C: void CSurf_OnStop()

EEL: CSurf_OnStop()

Lua: reaper.CSurf_OnStop()

Python: RPR_CSurf_OnStop()

Description:
Stops playing/recording in current project.



^ Reaper version 5.62Lua version 5.3 CSurf_OnTempoChange

Functioncall:

C: void CSurf_OnTempoChange(double bpm)

EEL: CSurf_OnTempoChange(bpm)

Lua: reaper.CSurf_OnTempoChange(number bpm)

Python: RPR_CSurf_OnTempoChange(Float bpm)

Description:
Sets the tempo of the project in beats per minute.

Parameters:
          number bpm - the beats per minute value; 1 to 1000


^ Reaper version 5.62Lua version 5.3 CSurf_OnTrackSelection

Functioncall:

C: void CSurf_OnTrackSelection(MediaTrack* trackid)

EEL: CSurf_OnTrackSelection(MediaTrack trackid)

Lua: reaper.CSurf_OnTrackSelection(MediaTrack trackid)

Python: RPR_CSurf_OnTrackSelection(MediaTrack trackid)

Description:


Parameters:
          MediaTrack trackid -


^ Reaper version 5.62Lua version 5.3 CSurf_OnVolumeChange

Functioncall:

C: double CSurf_OnVolumeChange(MediaTrack* trackid, double volume, bool relative)

EEL: double CSurf_OnVolumeChange(MediaTrack trackid, volume, bool relative)

Lua: number = reaper.CSurf_OnVolumeChange(MediaTrack trackid, number volume, boolean relative)

Python: Float RPR_CSurf_OnVolumeChange(MediaTrack trackid, Float volume, Boolean relative)

Description:
Sets or alters volume of a track to a new value.

Use DB2SLIDER to convert dB-value to fitting numbers of the volume-parameter.

Parameters:
          MediaTrack trackid - the MediaTrack, whose volume you want to change.
          number volume - volume-value; 3.1622776601684e-008(minimum) to 3.981071705535(maximum). Higher values are possible to set but are out of fader-range.
          boolean relative - false, set volume to new value; true, alter volume by new value
Returnvalues:
          number - the new volume-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnVolumeChangeEx

Functioncall:

C: double CSurf_OnVolumeChangeEx(MediaTrack* trackid, double volume, bool relative, bool allowGang)

EEL: double CSurf_OnVolumeChangeEx(MediaTrack trackid, volume, bool relative, bool allowGang)

Lua: number = reaper.CSurf_OnVolumeChangeEx(MediaTrack trackid, number volume, boolean relative, boolean allowGang)

Python: Float RPR_CSurf_OnVolumeChangeEx(MediaTrack trackid, Float volume, Boolean relative, Boolean allowGang)

Description:
Sets or alters volume of a track to a new value. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Use DB2SLIDER to convert dB-value to fitting numbers of the volume-parameter.

Parameters:
          MediaTrack trackid - the MediaTrack, whose volume you want to change.
          number volume - volume-value; 3.1622776601684e-008(minimum) to 3.981071705535(maximum). Higher values are possible to set but are out of fader-range.
          boolean relative - false, set volume to new value; true, alter volume by new value
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          number - the new volume-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnWidthChange

Functioncall:

C: double CSurf_OnWidthChange(MediaTrack* trackid, double width, bool relative)

EEL: double CSurf_OnWidthChange(MediaTrack trackid, width, bool relative)

Lua: number = reaper.CSurf_OnWidthChange(MediaTrack trackid, number width, boolean relative)

Python: Float RPR_CSurf_OnWidthChange(MediaTrack trackid, Float width, Boolean relative)

Description:
Sets/alters the width-value of a track.

Parameters:
          MediaTrack trackid - the MediaItem, whose width you want to change
          number width - the width-value; -1 to 1; 0 is no width/mono
          boolean relative - false, set width to the new width-value; true, alter width by the new width-value
Returnvalues:
          number - the new width-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnWidthChangeEx

Functioncall:

C: double CSurf_OnWidthChangeEx(MediaTrack* trackid, double width, bool relative, bool allowGang)

EEL: double CSurf_OnWidthChangeEx(MediaTrack trackid, width, bool relative, bool allowGang)

Lua: number = reaper.CSurf_OnWidthChangeEx(MediaTrack trackid, number width, boolean relative, boolean allowGang)

Python: Float RPR_CSurf_OnWidthChangeEx(MediaTrack trackid, Float width, Boolean relative, Boolean allowGang)

Description:
Sets/alters the width-value of a track. If MediaTrack is selected, among others, and allowgang is set to true, the new state will be set to them as well.

Parameters:
          MediaTrack trackid - the MediaItem, whose width you want to change
          number width - the width-value; -1 to 1; 0 is no width/mono
          boolean relative - false, set width to the new width-value; true, alter width by the new width-value
          boolean allowgang - true, if trackid is selected with other tracks, set new state to them as well; false, set new state only to trackid
Returnvalues:
          number - the new width-value


^ Reaper version 5.62Lua version 5.3 CSurf_OnZoom

Functioncall:

C: void CSurf_OnZoom(int xdir, int ydir)

EEL: CSurf_OnZoom(int xdir, int ydir)

Lua: reaper.CSurf_OnZoom(integer xdir, integer ydir)

Python: RPR_CSurf_OnZoom(Int xdir, Int ydir)

Description:
Changes horizontal/vertical zoom.

Parameters:
          integer xdir - horizontal zoom; 0, no change; negative values, zoom out; positive values, zoom in; the higher the values, the bigger the zoom-stepsize.
          integer ydir - vertical zoom; 0, no change; negative values, zoom out; positive values, zoom in; the higher the values, the bigger the zoom-stepsize.


^ Reaper version 5.62Lua version 5.3 CSurf_ResetAllCachedVolPanStates

Functioncall:

C: void CSurf_ResetAllCachedVolPanStates()

EEL: CSurf_ResetAllCachedVolPanStates()

Lua: reaper.CSurf_ResetAllCachedVolPanStates()

Python: RPR_CSurf_ResetAllCachedVolPanStates()

Description:
Resets all cached vol-pan-states.



^ Reaper version 5.62Lua version 5.3 CSurf_ScrubAmt

Functioncall:

C: void CSurf_ScrubAmt(double amt)

EEL: CSurf_ScrubAmt(amt)

Lua: reaper.CSurf_ScrubAmt(number amt)

Python: RPR_CSurf_ScrubAmt(Float amt)

Description:
Changes position of the editcursor by amt-value in seconds. When playing, the playposition changes to the editcursor-position.
During recording, it changes only the position of the editcursor.

Parameters:
          number amt - how far to change position of the editcursor in seconds. Positive values toward the end, negative toward the beginning of the project.


^ Reaper version 5.62Lua version 5.3 CSurf_SetAutoMode

Functioncall:

C: void CSurf_SetAutoMode(int mode, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetAutoMode(int mode, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetAutoMode(integer mode, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetAutoMode(Int mode, IReaperControlSurface ignoresurf)

Description:


Parameters:
          integer mode -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetPlayState

Functioncall:

C: void CSurf_SetPlayState(bool play, bool pause, bool rec, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetPlayState(bool play, bool pause, bool rec, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetPlayState(boolean play, boolean pause, boolean rec, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetPlayState(Boolean play, Boolean pause, Boolean rec, IReaperControlSurface ignoresurf)

Description:


Parameters:
          boolean play -
          boolean pause -
          boolean rec -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetRepeatState

Functioncall:

C: void CSurf_SetRepeatState(bool rep, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetRepeatState(bool rep, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetRepeatState(boolean rep, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetRepeatState(Boolean rep, IReaperControlSurface ignoresurf)

Description:


Parameters:
          boolean rep -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetSurfaceMute

Functioncall:

C: void CSurf_SetSurfaceMute(MediaTrack* trackid, bool mute, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetSurfaceMute(MediaTrack trackid, bool mute, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetSurfaceMute(MediaTrack trackid, boolean mute, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetSurfaceMute(MediaTrack trackid, Boolean mute, IReaperControlSurface ignoresurf)

Description:


Parameters:
          MediaTrack trackid -
          integer mute -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetSurfacePan

Functioncall:

C: void CSurf_SetSurfacePan(MediaTrack* trackid, double pan, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetSurfacePan(MediaTrack trackid, pan, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetSurfacePan(MediaTrack trackid, number pan, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetSurfacePan(MediaTrack trackid, Float pan, IReaperControlSurface ignoresurf)

Description:


Parameters:
          MediaTrack trackid -
          number pan -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetSurfaceRecArm

Functioncall:

C: void CSurf_SetSurfaceRecArm(MediaTrack* trackid, bool recarm, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetSurfaceRecArm(MediaTrack trackid, bool recarm, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetSurfaceRecArm(MediaTrack trackid, boolean recarm, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetSurfaceRecArm(MediaTrack trackid, Boolean recarm, IReaperControlSurface ignoresurf)

Description:


Parameters:
          MediaTrack trackid -
          boolean recarm -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetSurfaceSelected

Functioncall:

C: void CSurf_SetSurfaceSelected(MediaTrack* trackid, bool selected, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetSurfaceSelected(MediaTrack trackid, bool selected, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetSurfaceSelected(MediaTrack trackid, boolean selected, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetSurfaceSelected(MediaTrack trackid, Boolean selected, IReaperControlSurface ignoresurf)

Description:


Parameters:
          MediaTrack trackid -
          boolean selected -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetSurfaceSolo

Functioncall:

C: void CSurf_SetSurfaceSolo(MediaTrack* trackid, bool solo, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetSurfaceSolo(MediaTrack trackid, bool solo, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetSurfaceSolo(MediaTrack trackid, boolean solo, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetSurfaceSolo(MediaTrack trackid, Boolean solo, IReaperControlSurface ignoresurf)

Description:


Parameters:
          MediaTrack trackid -
          boolean solo -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetSurfaceVolume

Functioncall:

C: void CSurf_SetSurfaceVolume(MediaTrack* trackid, double volume, IReaperControlSurface* ignoresurf)

EEL: CSurf_SetSurfaceVolume(MediaTrack trackid, volume, IReaperControlSurface ignoresurf)

Lua: reaper.CSurf_SetSurfaceVolume(MediaTrack trackid, number volume, IReaperControlSurface ignoresurf)

Python: RPR_CSurf_SetSurfaceVolume(MediaTrack trackid, Float volume, IReaperControlSurface ignoresurf)

Description:


Parameters:
          MediaTrack trackid -
          number volume -
          IReaperControlSurface ignoresurf -


^ Reaper version 5.62Lua version 5.3 CSurf_SetTrackListChange

Functioncall:

C: void CSurf_SetTrackListChange()

EEL: CSurf_SetTrackListChange()

Lua: reaper.CSurf_SetTrackListChange()

Python: RPR_CSurf_SetTrackListChange()

Description:




^ Reaper version 5.62Lua version 5.3 CSurf_TrackFromID

Functioncall:

C: MediaTrack* CSurf_TrackFromID(int idx, bool mcpView)

EEL: MediaTrack CSurf_TrackFromID(int idx, bool mcpView)

Lua: MediaTrack = reaper.CSurf_TrackFromID(integer idx, boolean mcpView)

Python: MediaTrack RPR_CSurf_TrackFromID(Int idx, Boolean mcpView)

Description:
Gets a MediaTrack-object by it's number.

Parameters:
          integer idx - the tracknumber of the track you want to have; 0 for track 1, 1 for track 2, etc.
          boolean mcpView - true, count only tracks, that are visible in MixerControlPanel
Returnvalues:
          MediaTrack - the MediaTrack-object of the track you requested


^ Reaper version 5.62Lua version 5.3 CSurf_TrackToID

Functioncall:

C: int CSurf_TrackToID(MediaTrack* track, bool mcpView)

EEL: int CSurf_TrackToID(MediaTrack track, bool mcpView)

Lua: integer = reaper.CSurf_TrackToID(MediaTrack track, boolean mcpView)

Python: Int RPR_CSurf_TrackToID(MediaTrack track, Boolean mcpView)

Description:
Get the tracknumber of a MediaTrack-object.

Parameters:
          MediaTrack track - the MediaTrack-object, whose number you want to know
          boolean mcpView - true, only tracks visible in MixerControlPanel; false, all tracks visible in MixerControlPanel
Returnvalues:
          integer - the tracknumber of the MediaTrack; when mcpView is true, invisible tracks will return -1 as number


^ Reaper version 5.62Lua version 5.3 DB2SLIDER

Functioncall:

C: double DB2SLIDER(double x)

EEL: double DB2SLIDER(x)

Lua: number = reaper.DB2SLIDER(number x)

Python: Float RPR_DB2SLIDER(Float x)

Description:
Converts dB-value into a slider-value. Good for converting envelope-point-values.

Parameters:
          number x - the dB-value to be converted. Minimum -332db for position 0
Returnvalues:
          number - the slider-value


^ Reaper version 5.979Lua version 5.3 DeleteEnvelopePointEx

Functioncall:

C: bool DeleteEnvelopePointEx(TrackEnvelope* envelope, int autoitem_idx, int ptidx)

EEL: bool DeleteEnvelopePointEx(TrackEnvelope envelope, int autoitem_idx, int ptidx)

Lua: boolean reaper.DeleteEnvelopePointEx(TrackEnvelope envelope, integer autoitem_idx, integer ptidx)

Python: Boolean RPR_DeleteEnvelopePointEx(TrackEnvelope envelope, Int autoitem_idx, Int ptidx)

Description:
Delete an envelope point. If setting multiple points at once, set noSort=true, and call Envelope_SortPoints when done.
autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc.
For automation items, pass autoitem_idx|0x10000000 to base ptidx on the number of points in one full loop iteration,
even if the automation item is trimmed so that not all points are visible.
Otherwise, ptidx will be based on the number of visible points in the automation item, including all loop iterations.

See CountEnvelopePointsEx, GetEnvelopePointEx, SetEnvelopePointEx, InsertEnvelopePointEx.

Parameters:
          TrackEnvelope envelope - the envelope, in which the point lies, that you want to delete
          integer autoitem_idx - -1, the underlying envelope;
0 to x, the 1st to x-1th automation-item
|0x10000000 to base ptidx on the number of points in one full loop iteration,
even if the automation item is trimmed so that not all points are visible.
Otherwise, ptidx will be based on the number of visible points in the automation item, including all loop iterations.
          integer ptidx - the envelope-point to delete
Returnvalues:
          boolean - true, deleting was successful; false, deleting was unsuccessful


^ Reaper version 5.979Lua version 5.3 DeleteEnvelopePointRange

Functioncall:

C: bool DeleteEnvelopePointRange(TrackEnvelope* envelope, double time_start, double time_end)

EEL: bool DeleteEnvelopePointRange(TrackEnvelope envelope, time_start, time_end)

Lua: boolean = reaper.DeleteEnvelopePointRange(TrackEnvelope envelope, number time_start, number time_end)

Python: Boolean RPR_DeleteEnvelopePointRange(TrackEnvelope envelope, Float time_start, Float time_end)

Description:
Delete a range of envelope points.

See DeleteEnvelopePointRangeEx, DeleteEnvelopePointEx.

Parameters:
          TrackEnvelope envelope - the envelope-point-object, in which to delete the envelope-points
          number time_start - the starttime of the deletionrange in seconds
          number time_end - the endtime of the deletionrange in seconds
Returnvalues:
          boolean - true, if it succeeded


^ Reaper version 5.975Lua version 5.3 DeleteEnvelopePointRangeEx

Functioncall:

C: bool DeleteEnvelopePointRangeEx(TrackEnvelope* envelope, int autoitem_idx, double time_start, double time_end)

EEL: bool DeleteEnvelopePointRangeEx(TrackEnvelope envelope, int autoitem_idx, time_start, time_end)

Lua: boolean = reaper.DeleteEnvelopePointRangeEx(TrackEnvelope envelope, integer autoitem_idx, number time_start, number time_end)

Python: Boolean RPR_DeleteEnvelopePointRangeEx(TrackEnvelope envelope, Int autoitem_idx, Float time_start, Float time_end)

Description:
Delete a range of envelope points. autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc.



Parameters:
          TrackEnvelope envelope - the envelope-point-object, in which to delete the envelope-points
          integer autoitem_idx - the automation item to be affected by deletion; -1, for the underlying envelope itself; 0, for the first automation item on the envelope; 1 for the second, etc
          number time_start - the starttime of the deletionrange in seconds
          number time_end - the endtime of the deletionrange in seconds
Returnvalues:
          boolean - true, if deleting was successful; false, if not


^ Reaper version 5.62Lua version 5.3 DeleteExtState

Functioncall:

C: void DeleteExtState(const char* section, const char* key, bool persist)

EEL: DeleteExtState("section", "key", bool persist)

Lua: reaper.DeleteExtState(string section, string key, boolean persist)

Python: RPR_DeleteExtState(String section, String key, Boolean persist)

Description:
Delete the extended state value for a specific section and key. persist=true means the value should remain deleted the next time REAPER is opened. If persistent, the value will be deleted from the file reaper-extstate.ini in the ressources-folder.
See SetExtState, GetExtState, HasExtState.

Parameters:
          string section - the section, in which the value is stored
          string key - the key, with which the value is stored
          boolean persist - true, the value shall be deleted permanently; false, delete it only temporarily.


^ Reaper version 5.62Lua version 5.3 DeleteProjectMarker

Functioncall:

C: bool DeleteProjectMarker(ReaProject* proj, int markrgnindexnumber, bool isrgn)

EEL: bool DeleteProjectMarker(ReaProject proj, int markrgnindexnumber, bool isrgn)

Lua: boolean = reaper.DeleteProjectMarker(ReaProject proj, integer markrgnindexnumber, boolean isrgn)

Python: Boolean RPR_DeleteProjectMarker(ReaProject proj, Int markrgnindexnumber, Boolean isrgn)

Description:
Deletes a marker or a region. proj==NULL for the active project.

Does not delete tempo/timesignature markers!

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer markrgnindexnumber - the shown number of the marker to be deleted
          boolean isrgn - true, marker is a region; false, marker is a normal marker
Returnvalues:
          boolean - true, deleting was successful; false, deleting was unsuccessful.


^ Reaper version 5.62Lua version 5.3 DeleteProjectMarkerByIndex

Functioncall:

C: bool DeleteProjectMarkerByIndex(ReaProject* proj, int markrgnidx)

EEL: bool DeleteProjectMarkerByIndex(ReaProject proj, int markrgnidx)

Lua: boolean = reaper.DeleteProjectMarkerByIndex(ReaProject proj, integer markrgnidx)

Python: Boolean RPR_DeleteProjectMarkerByIndex(ReaProject proj, Int markrgnidx)

Description:
Differs from DeleteProjectMarker only in that markrgnidx is 0 for the first marker/region in the project, 1 for the next, etc, rather than representing the displayed marker/region ID number.
See EnumProjectMarkers3) and SetProjectMarker4.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer markrgnidx - the id of the marker within the project, 0 for the first, 1 for the second, etc. Ignores the shown marker-index!
Returnvalues:
          boolean - true, deleting was successful; false, deleting was unsuccessful.


^ Reaper version 5.62Lua version 5.3 DeleteTakeStretchMarkers

Functioncall:

C: int DeleteTakeStretchMarkers(MediaItem_Take* take, int idx, const int* countInOptional)

EEL: int DeleteTakeStretchMarkers(MediaItem_Take take, int idx, optional int countIn)

Lua: integer = reaper.DeleteTakeStretchMarkers(MediaItem_Take take, integer idx, optional number countIn)

Python: Int RPR_DeleteTakeStretchMarkers(MediaItem_Take take, Int idx, const int countInOptional)

Description:
Deletes one or more stretch markers. Returns number of stretch markers deleted.

Parameters:
          MediaItem_Take take -
          integer idx -
          optional number countIn -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 DeleteTempoTimeSigMarker

Functioncall:

C: bool DeleteTempoTimeSigMarker(ReaProject* project, int markerindex)

EEL: bool DeleteTempoTimeSigMarker(ReaProject project, int markerindex)

Lua: boolean = reaper.DeleteTempoTimeSigMarker(ReaProject project, integer markerindex)

Python: Boolean RPR_DeleteTempoTimeSigMarker(ReaProject project, Int markerindex)

Description:
Delete a tempo/time signature marker.

See CountTempoTimeSigMarkers, GetTempoTimeSigMarker, SetTempoTimeSigMarker, AddTempoTimeSigMarker.

Parameters:
          ReaProject project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer markerindex -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 DeleteTrack

Functioncall:

C: void DeleteTrack(MediaTrack* tr)

EEL: DeleteTrack(MediaTrack tr)

Lua: reaper.DeleteTrack(MediaTrack tr)

Python: RPR_DeleteTrack(MediaTrack tr)

Description:
deletes a track

Parameters:
          MediaTrack tr - the MediaTrack to be deleted


^ Reaper version 5.62Lua version 5.3 DeleteTrackMediaItem

Functioncall:

C: bool DeleteTrackMediaItem(MediaTrack* tr, MediaItem* it)

EEL: bool DeleteTrackMediaItem(MediaTrack tr, MediaItem it)

Lua: boolean = reaper.DeleteTrackMediaItem(MediaTrack tr, MediaItem it)

Python: Boolean RPR_DeleteTrackMediaItem(MediaTrack tr, MediaItem it)

Description:
Deletes a MediaItem.

Parameters:
          MediaTrack tr - the MediaTrack, in which the MediaItem lies, that you want to delete
          MediaItem it - the MediaItem-object you want to delete
Returnvalues:
          boolean - true, deleting was successful; false, deleting was unsuccessful


^ Reaper version 5.97Lua version 5.3 DestroyAudioAccessor

Functioncall:

C: void DestroyAudioAccessor(AudioAccessor* accessor)

EEL: DestroyAudioAccessor(AudioAccessor accessor)

Lua: reaper.DestroyAudioAccessor(AudioAccessor accessor)

Python: RPR_DestroyAudioAccessor(AudioAccessor accessor)

Description:
Destroy an audio accessor. Must only call from the main thread. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorEndTime, GetAudioAccessorSamples.

Parameters:
          AudioAccessor accessor - the AudioAccessor to be destroyed


^ Reaper version 5.62Lua version 5.3 Dock_UpdateDockID

Functioncall:

C: void Dock_UpdateDockID(const char* ident_str, int whichDock)

EEL: Dock_UpdateDockID("ident_str", int whichDock)

Lua: reaper.Dock_UpdateDockID(string ident_str, integer whichDock)

Python: RPR_Dock_UpdateDockID(String ident_str, Int whichDock)

Description:
updates preference for docker window ident_str to be in dock whichDock on next open

Parameters:
          string ident_str -
          integer whichDock -


^ Reaper version 5.62Lua version 5.3 DockIsChildOfDock

Functioncall:

C: int DockIsChildOfDock(HWND hwnd, bool* isFloatingDockerOut)

EEL: int DockIsChildOfDock(HWND hwnd, bool &isFloatingDocker)

Lua: integer retval, boolean isFloatingDocker = reaper.DockIsChildOfDock(HWND hwnd)

Python: (Int retval, HWND hwnd, Boolean isFloatingDockerOut) = RPR_DockIsChildOfDock(hwnd, isFloatingDockerOut)

Description:
returns dock index that contains hwnd, or -1

Parameters:
          HWND hwnd -
Returnvalues:
          integer retval -
          boolean isFloatingDocker -


^ Reaper version 5.62Lua version 5.3 DockWindowActivate

Functioncall:

C: void DockWindowActivate(HWND hwnd)

EEL: DockWindowActivate(HWND hwnd)

Lua: reaper.DockWindowActivate(HWND hwnd)

Python: RPR_DockWindowActivate(HWND hwnd)

Description:


Parameters:
          HWND hwnd -


^ Reaper version 5.62Lua version 5.3 DockWindowAdd

Functioncall:

C: void DockWindowAdd(HWND hwnd, const char* name, int pos, bool allowShow)

EEL: DockWindowAdd(HWND hwnd, "name", int pos, bool allowShow)

Lua: reaper.DockWindowAdd(HWND hwnd, string name, integer pos, boolean allowShow)

Python: RPR_DockWindowAdd(HWND hwnd, String name, Int pos, Boolean allowShow)

Description:


Parameters:
          HWND hwnd -
          string name -
          integer pos -
          boolean allowShow -


^ Reaper version 5.62Lua version 5.3 DockWindowAddEx

Functioncall:

C: void DockWindowAddEx(HWND hwnd, const char* name, const char* identstr, bool allowShow)

EEL: DockWindowAddEx(HWND hwnd, "name", "identstr", bool allowShow)

Lua: reaper.DockWindowAddEx(HWND hwnd, string name, string identstr, boolean allowShow)

Python: RPR_DockWindowAddEx(HWND hwnd, String name, String identstr, Boolean allowShow)

Description:


Parameters:
          HWND hwnd -
          string name -
          string identstr -
          boolean allowShow -


^ Reaper version 5.62Lua version 5.3 DockWindowRefresh

Functioncall:

C: void DockWindowRefresh()

EEL: DockWindowRefresh()

Lua: reaper.DockWindowRefresh()

Python: RPR_DockWindowRefresh()

Description:
Refreshes docked windows.



^ Reaper version 5.62Lua version 5.3 DockWindowRefreshForHWND

Functioncall:

C: void DockWindowRefreshForHWND(HWND hwnd)

EEL: DockWindowRefreshForHWND(HWND hwnd)

Lua: reaper.DockWindowRefreshForHWND(HWND hwnd)

Python: RPR_DockWindowRefreshForHWND(HWND hwnd)

Description:


Parameters:
          HWND hwnd -


^ Reaper version 5.62Lua version 5.3 DockWindowRemove

Functioncall:

C: void DockWindowRemove(HWND hwnd)

EEL: DockWindowRemove(HWND hwnd)

Lua: reaper.DockWindowRemove(HWND hwnd)

Python: RPR_DockWindowRemove(HWND hwnd)

Description:


Parameters:
          HWND hwnd -


^ Reaper version 5.62Lua version 5.3 EditTempoTimeSigMarker

Functioncall:

C: bool EditTempoTimeSigMarker(ReaProject* project, int markerindex)

EEL: bool EditTempoTimeSigMarker(ReaProject project, int markerindex)

Lua: boolean = reaper.EditTempoTimeSigMarker(ReaProject project, integer markerindex)

Python: Boolean RPR_EditTempoTimeSigMarker(ReaProject project, Int markerindex)

Description:
Open the tempo/time signature marker editor dialog.

Parameters:
          ReaProject project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer markerindex -
Returnvalues:
          boolean - true, if user clicked OK button; false if user clicked cancel


^ Reaper version 5.978Lua version 5.3 EnsureNotCompletelyOffscreen

Functioncall:

C: void EnsureNotCompletelyOffscreen(RECT* rInOut)

EEL: EnsureNotCompletelyOffscreen(int &r.left, int &r.top, int &r.right, int &r.bot)

Lua: integer r.left, integer r.top, integer r.right, integer r.bot = reaper.EnsureNotCompletelyOffscreen(integer r.left, integer r.top, integer r.right, integer r.bot)

Python: RPR_EnsureNotCompletelyOffscreen(RECT rInOut)

Description:
call with a saved window rect for your window and it'll correct any positioning info.

Parameters:
          integer r.left -
          integer r.top -
          integer r.right -
          integer r.bot -
Returnvalues:
          integer r.left -
          integer r.top -
          integer r.right -
          integer r.bot -


^ Reaper version 5.62Lua version 5.3 EnumerateFiles

Functioncall:

C: const char* EnumerateFiles(const char* path, int fileindex)

EEL: bool EnumerateFiles(#retval, "path", int fileindex)

Lua: string = reaper.EnumerateFiles(string path, integer fileindex)

Python: String RPR_EnumerateFiles(String path, Int fileindex)

Description:
List the files in the "path" directory. Returns NULL (or empty string, in Lua) when all files have been listed. See EnumerateSubdirectories

Parameters:
          string path - the path, where the filenames will be read from
          integer fileindex - the number of the file, with 0 the first file. Ordered by first letter in ascending order.
Returnvalues:
          string - the filename in path, with index fileindex


^ Reaper version 5.62Lua version 5.3 EnumerateSubdirectories

Functioncall:

C: const char* EnumerateSubdirectories(const char* path, int subdirindex)

EEL: bool EnumerateSubdirectories(#retval, "path", int subdirindex)

Lua: string = reaper.EnumerateSubdirectories(string path, integer subdirindex)

Python: String RPR_EnumerateSubdirectories(String path, Int subdirindex)

Description:
List the subdirectories in the "path" directory. Returns NULL (or empty string, in Lua) when all subdirectories have been listed. See EnumerateFiles

Parameters:
          string path - the path, where the directorynames will be read from
          integer subdirindex - the number of the directory, with 0 the first directory. Ordered by first letter in ascending order.
Returnvalues:
          string - the filename in path, with index fileindex


^ Reaper version 5.62Lua version 5.3 EnumPitchShiftModes

Functioncall:

C: bool EnumPitchShiftModes(int mode, const char** strOut)

EEL: bool EnumPitchShiftModes(int mode, #str)

Lua: boolean retval, string str = reaper.EnumPitchShiftModes(integer mode)

Python: Boolean RPR_EnumPitchShiftModes(Int mode, String strOut)

Description:
Start querying modes at 0, returns FALSE when no more modes possible, sets strOut to NULL if a mode is currently unsupported

Parameters:
          integer mode -
Returnvalues:
          boolean retval -
          string str -


^ Reaper version 5.62Lua version 5.3 EnumPitchShiftSubModes

Functioncall:

C: const char* EnumPitchShiftSubModes(int mode, int submode)

EEL: bool EnumPitchShiftSubModes(#retval, int mode, int submode)

Lua: string = reaper.EnumPitchShiftSubModes(integer mode, integer submode)

Python: String RPR_EnumPitchShiftSubModes(Int mode, Int submode)

Description:
Returns submode name, or NULL

Parameters:
          integer mode -
          integer submode -
Returnvalues:
          string -


^ Reaper version 5.62Lua version 5.3 EnumProjectMarkers

Functioncall:

C: int EnumProjectMarkers(int idx, bool* isrgnOut, double* posOut, double* rgnendOut, const char** nameOut, int* markrgnindexnumberOut)

EEL: int EnumProjectMarkers(int idx, bool &isrgn, &pos, &rgnend, #name, int &markrgnindexnumber)

Lua: integer retval, boolean isrgn, number pos, number rgnend, string name, integer markrgnindexnumber = reaper.EnumProjectMarkers(integer idx)

Python: (Int retval, Int idx, Boolean isrgnOut, Float posOut, Float rgnendOut, String nameOut, Int markrgnindexnumberOut) = RPR_EnumProjectMarkers(idx, isrgnOut, posOut, rgnendOut, nameOut, markrgnindexnumberOut)

Description:
Returns the values of a given marker or region idx.

Parameters:
          integer idx - the number of the marker, beginning with 0 for the first marker
Returnvalues:
          integer retval - number of marker beginning with 1 for the first marker ignore the order of first,second,etc creation of markers but counts from position 00:00:00 to end of project. So if you created a marker at position 00:00:00 and move the first created marker to the end of the timeline, it will be the last one, NOT the first one in the retval!
          boolean isgrn - is the marker a region?
          number pos - the time-position in seconds with 12 digits precision (1.123456789012)
          number rgnend - if it's a region, the position of the end of the region in seconds with 12 digits precision(123.123456789012); if it's just a marker it's 0.0
          string name - name of the marker
          integer markrgnindexnumber - marker/region index number. Note: the numbering of markers and regions is independent. If you have one region and one marker, both share the number 1, even though you have 2 in your project(one marker and one region).


^ Reaper version 5.62Lua version 5.3 EnumProjectMarkers2

Functioncall:

C: int EnumProjectMarkers2(ReaProject* proj, int idx, bool* isrgnOut, double* posOut, double* rgnendOut, const char** nameOut, int* markrgnindexnumberOut)

EEL: int EnumProjectMarkers2(ReaProject proj, int idx, bool &isrgn, &pos, &rgnend, #name, int &markrgnindexnumber)

Lua: integer retval, boolean isrgn, number pos, number rgnend, string name, integer markrgnindexnumber = reaper.EnumProjectMarkers2(ReaProject proj, integer idx)

Python: (Int retval, ReaProject proj, Int idx, Boolean isrgnOut, Float posOut, Float rgnendOut, String nameOut, Int markrgnindexnumberOut) = RPR_EnumProjectMarkers2(proj, idx, isrgnOut, posOut, rgnendOut, nameOut, markrgnindexnumberOut)

Description:
Returns the values of a given marker or region idx from a given project proj.

Parameters:
          ReaProject proj - Projectnumber. 0, current project;
1 to x the first(1) to the last project(x) (in tabs for example);
can also be a ReaProject-object, as returned by EnumProjects
          integer idx - the number of the marker, beginning with 0 for the first marker
Returnvalues:
          integer retval - number of marker beginning with 1 for the first marker
ignore the order of first,second,etc creation of markers but counts from position 00:00:00 to end of project.
So if you created a marker at position 00:00:00 and move the first created marker to the end of the timeline, it will be the last one, NOT the first one in the retval!
          boolean isgrn - is the marker a region?
          number pos - the time-position in seconds with 12 digits precision (1.123456789012)
          number rgnend - if it's a region, the end of the region in seconds with 12 digits precision(123.123456789012); if just marker it's 0.0
          string name - name of the marker
          integer markrgnindexnumber - marker/region index number.
Note: the numbering of markers and regions is independent. If you have one region and one marker,
both share the number 1, even though you have 2 in your project(one marker and one region).


^ Reaper version 5.62Lua version 5.3 EnumProjectMarkers3

Functioncall:

C: int EnumProjectMarkers3(ReaProject* proj, int idx, bool* isrgnOut, double* posOut, double* rgnendOut, const char** nameOut, int* markrgnindexnumberOut, int* colorOut)

EEL: int EnumProjectMarkers3(ReaProject proj, int idx, bool &isrgn, &pos, &rgnend, #name, int &markrgnindexnumber, int &color)

Lua: integer retval, boolean isrgn, number pos, number rgnend, string name, integer markrgnindexnumber, integer color = reaper.EnumProjectMarkers3(ReaProject proj, integer idx)

Python: (Int retval, ReaProject proj, Int idx, Boolean isrgnOut, Float posOut, Float rgnendOut, String nameOut, Int markrgnindexnumberOut, Int colorOut) = RPR_EnumProjectMarkers3(proj, idx, isrgnOut, posOut, rgnendOut, nameOut, markrgnindexnumberOut, colorOut)

Description:
Returns the values of a given marker or region idx from a given project proj.

Parameters:
          ReaProject proj - Projectnumber. 0, current project; 1 to x the first(1) to the last project(x) (in tabs for example); can also be a ReaProject-object, as returned by EnumProjects
          integer idx - the number of the marker, beginning with 0 for the first marker
Returnvalues:
          integer retval - number of marker beginning with 1 for the first marker;
ignore the order of first,second,etc creation of markers but counts from
position 00:00:00 to end of project.
So if you created a marker at position 00:00:00 and move the first created marker
to the end of the timeline, it will be the last one, NOT the first one in the retval!
          boolean isgrn - is the marker a region?
          number pos - the time-position in seconds with 12 digits precision (1.123456789012)
          number rgnend - if it's a region, the end of the region in seconds with 12 digits precision(123.123456789012); if just marker it's 0.0
          string name - name of the marker
          integer markrgnindexnumber - marker/region index number.
Note: the numbering of markers and regions is independent. If you have one region and one marker,
both share the number 1, even though you have 2 in your project(one marker and one region).
          integer color - number of color of the marker/region


^ Reaper version 5.982Lua version 5.3 EnumProjects

Functioncall:

C: ReaProject* EnumProjects(int idx, char* projfnOutOptional, int projfnOutOptional_sz)

EEL: ReaProject EnumProjects(int idx, optional #projfn)

Lua: ReaProject retval, optional string projfn = reaper.EnumProjects(integer idx)

Python: (ReaProject retval, Int idx, String projfnOutOptional, Int projfnOutOptional_sz) = RPR_EnumProjects(idx, projfnOutOptional, projfnOutOptional_sz)

Description:
Get ReaProject-object and filename of a project.
idx=-1 for current project,projfn can be NULL if not interested in filename. use idx 0x40000000 for currently rendering project, if any.

If you need the path to the recording-folder, use GetProjectPath instead.

Parameters:
          integer idx - -1 for current project; 0 and higher for the projects; 0x40000000 for currently rendering project, if any.
Returnvalues:
          ReaProject retval - a ReaProject-object of the project you requested
          optional string projfn - the path+filename.rpp of the project. returns nil if no filename exists


^ Reaper version 5.62Lua version 5.3 EnumProjExtState

Functioncall:

C: bool EnumProjExtState(ReaProject* proj, const char* extname, int idx, char* keyOutOptional, int keyOutOptional_sz, char* valOutOptional, int valOutOptional_sz)

EEL: bool EnumProjExtState(ReaProject proj, "extname", int idx, optional #key, optional #val)

Lua: boolean retval, optional string key, optional string val = reaper.EnumProjExtState(ReaProject proj, string extname, integer idx)

Python: (Boolean retval, ReaProject proj, String extname, Int idx, String keyOutOptional, Int keyOutOptional_sz, String valOutOptional, Int valOutOptional_sz) = RPR_EnumProjExtState(proj, extname, idx, keyOutOptional, keyOutOptional_sz, valOutOptional, valOutOptional_sz)

Description:
Enumerate the data stored with the project for a specific extname. Returns false when there is no more data. See SetProjExtState, GetProjExtState.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          string extname - the section of the extended-states
          integer idx - the id of the entry within "extname"-section to be returned; 0 for the first, 1 for the second, etc.
Returnvalues:
          boolean retval - true, key and value to this section exist; false, no such key and value exists
          string key - the idx'th key in the section
          string val - the accompanying value to key


^ Reaper version 5.62Lua version 5.3 EnumRegionRenderMatrix

Functioncall:

C: MediaTrack* EnumRegionRenderMatrix(ReaProject* proj, int regionindex, int rendertrack)

EEL: MediaTrack EnumRegionRenderMatrix(ReaProject proj, int regionindex, int rendertrack)

Lua: MediaTrack = reaper.EnumRegionRenderMatrix(ReaProject proj, integer regionindex, integer rendertrack)

Python: MediaTrack RPR_EnumRegionRenderMatrix(ReaProject proj, Int regionindex, Int rendertrack)

Description:
Enumerate which tracks will be rendered within this region when using the region render matrix. When called with rendertrack==0, the function returns the first track that will be rendered (which may be the master track); rendertrack==1 will return the next track rendered, and so on. The function returns NULL when there are no more tracks that will be rendered within this region.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer regionindex -
          integer rendertrack -
Returnvalues:
          MediaTrack -


^ Reaper version 5.62Lua version 5.3 EnumTrackMIDIProgramNames

Functioncall:

C: bool EnumTrackMIDIProgramNames(int track, int programNumber, char* programName, int programName_sz)

EEL: bool EnumTrackMIDIProgramNames(int track, int programNumber, #programName)

Lua: boolean retval, string programName = reaper.EnumTrackMIDIProgramNames(integer track, integer programNumber, string programName)

Python: (Boolean retval, Int track, Int programNumber, String programName, Int programName_sz) = RPR_EnumTrackMIDIProgramNames(track, programNumber, programName, programName_sz)

Description:
returns false if there are no plugins on the track that support MIDI programs,or if all programs have been enumerated

Parameters:
          integer track -
          string programNumber -
          string programName -
Returnvalues:
          boolean retval -
          string programName -


^ Reaper version 5.62Lua version 5.3 EnumTrackMIDIProgramNamesEx

Functioncall:

C: bool EnumTrackMIDIProgramNamesEx(ReaProject* proj, MediaTrack* track, int programNumber, char* programName, int programName_sz)

EEL: bool EnumTrackMIDIProgramNamesEx(ReaProject proj, MediaTrack track, int programNumber, #programName)

Lua: boolean retval, string programName = reaper.EnumTrackMIDIProgramNamesEx(ReaProject proj, MediaTrack track, integer programNumber, string programName)

Python: (Boolean retval, ReaProject proj, MediaTrack track, Int programNumber, String programName, Int programName_sz) = RPR_EnumTrackMIDIProgramNamesEx(proj, track, programNumber, programName, programName_sz)

Description:
returns false if there are no plugins on the track that support MIDI programs,or if all programs have been enumerated

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          MediaTrack track -
          integer programNumber -
          string programName -
Returnvalues:
          boolean retval -
          string programName -


^ Reaper version 5.62Lua version 5.3 Envelope_Evaluate

Functioncall:

C: int Envelope_Evaluate(TrackEnvelope* envelope, double time, double samplerate, int samplesRequested, double* valueOutOptional, double* dVdSOutOptional, double* ddVdSOutOptional, double* dddVdSOutOptional)

EEL: int Envelope_Evaluate(TrackEnvelope envelope, time, samplerate, int samplesRequested, optional &value, optional &dVdS, optional &ddVdS, optional &dddVdS)

Lua: integer retval, optional number value, optional number dVdS, optional number ddVdS, optional number dddVdS = reaper.Envelope_Evaluate(TrackEnvelope envelope, number time, number samplerate, integer samplesRequested)

Python: (Int retval, TrackEnvelope envelope, Float time, Float samplerate, Int samplesRequested, Float valueOutOptional, Float dVdSOutOptional, Float ddVdSOutOptional, Float dddVdSOutOptional) = RPR_Envelope_Evaluate(envelope, time, samplerate, samplesRequested, valueOutOptional, dVdSOutOptional, ddVdSOutOptional, dddVdSOutOptional)

Description:
Get the effective envelope value at a given time position. samplesRequested is how long the caller expects until the next call to Envelope_Evaluate (often, the buffer block size). The return value is how many samples beyond that time position that the returned values are valid.
See GetEnvelopeScalingMode.

Parameters:
          TrackEnvelope envelope -
          number time -
          number samplerate -
          integer samplesRequested -
Returnvalues:
          integer retval -
          optional number value -
          optional number dVdS - the change in value per sample (first derivative)
          optional number ddVdS - the second derivative
          optional number dddVdS - is the third derivative


^ Reaper version 5.62Lua version 5.3 Envelope_FormatValue

Functioncall:

C: void Envelope_FormatValue(TrackEnvelope* env, double value, char* bufOut, int bufOut_sz)

EEL: Envelope_FormatValue(TrackEnvelope env, value, #buf)

Lua: string buf = reaper.Envelope_FormatValue(TrackEnvelope env, number value)

Python: (TrackEnvelope env, Float value, String bufOut, Int bufOut_sz) = RPR_Envelope_FormatValue(env, value, bufOut, bufOut_sz)

Description:
Formats the value of an envelope to a user-readable form

Parameters:
          TrackEnvelope env -
          number value -
Returnvalues:
          string buf -


^ Reaper version 5.62Lua version 5.3 Envelope_GetParentTake

Functioncall:

C: MediaItem_Take* Envelope_GetParentTake(TrackEnvelope* env, int* indexOutOptional, int* index2OutOptional)

EEL: MediaItem_Take Envelope_GetParentTake(TrackEnvelope env, optional int &index, optional int &index2)

Lua: MediaItem_Take retval, optional number index, optional number index2 = reaper.Envelope_GetParentTake(TrackEnvelope env)

Python: (MediaItem_Take retval, TrackEnvelope env, Int indexOutOptional, Int index2OutOptional) = RPR_Envelope_GetParentTake(env, indexOutOptional, index2OutOptional)

Description:
If take envelope, gets the take from the envelope. If FX, indexOutOptional set to FX index, index2OutOptional set to parameter index, otherwise -1.

Parameters:
          TrackEnvelope env -
Returnvalues:
          MediaItem_Take retval -
          optional number index -
          optional number index2 -


^ Reaper version 5.62Lua version 5.3 Envelope_GetParentTrack

Functioncall:

C: MediaTrack* Envelope_GetParentTrack(TrackEnvelope* env, int* indexOutOptional, int* index2OutOptional)

EEL: MediaTrack Envelope_GetParentTrack(TrackEnvelope env, optional int &index, optional int &index2)

Lua: MediaTrack retval, optional number index, optional number index2 = reaper.Envelope_GetParentTrack(TrackEnvelope env)

Python: (MediaTrack retval, TrackEnvelope env, Int indexOutOptional, Int index2OutOptional) = RPR_Envelope_GetParentTrack(env, indexOutOptional, index2OutOptional)

Description:
If track envelope, gets the track from the envelope. If FX, indexOutOptional set to FX index, index2OutOptional set to parameter index, otherwise -1.

Parameters:
          TrackEnvelope env -
Returnvalues:
          MediaTrack retval -
          optional number index -
          optional number index2 -


^ Reaper version 5.62Lua version 5.3 Envelope_SortPoints

Functioncall:

C: bool Envelope_SortPoints(TrackEnvelope* envelope)

EEL: bool Envelope_SortPoints(TrackEnvelope envelope)

Lua: boolean = reaper.Envelope_SortPoints(TrackEnvelope envelope)

Python: Boolean RPR_Envelope_SortPoints(TrackEnvelope envelope)

Description:
Sort envelope points by time. See SetEnvelopePoint, InsertEnvelopePoint.

Parameters:
          TrackEnvelope envelope -
Returnvalues:
          boolean -


^ Reaper version 5.975Lua version 5.3 Envelope_SortPointsEx

Functioncall:

C: bool Envelope_SortPointsEx(TrackEnvelope* envelope, int autoitem_idx)

EEL: bool Envelope_SortPointsEx(TrackEnvelope envelope, int autoitem_idx)

Lua: boolean = reaper.Envelope_SortPointsEx(TrackEnvelope envelope, integer autoitem_idx)

Python: Boolean RPR_Envelope_SortPointsEx(TrackEnvelope envelope, Int autoitem_idx)

Description:
Sort envelope points by time. autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc. See SetEnvelopePoint, InsertEnvelopePoint.

Parameters:
          TrackEnvelope envelope -
          integer autoitem_idx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 ExecProcess

Functioncall:

C: const char* ExecProcess(const char* cmdline, int timeoutmsec)

EEL: bool ExecProcess(#retval, "cmdline", int timeoutmsec)

Lua: string = reaper.ExecProcess(string cmdline, integer timeoutmsec)

Python: String RPR_ExecProcess(String cmdline, Int timeoutmsec)

Description:
Executes command line, returns NULL on total failure, otherwise the return value, a newline, and then the output of the command.            

Commands executed with ExecProcess() don't benefit from PATH-system-variables. That said, you must give the full path to a command, even if you can usually just type the command into a shell. You also may need to set a codepage manually to get the correct character-encoding. So in some cases, writing a batch-script and executing it with ExecProcess() might be a good idea.

The base-directory is Reaper's appdirectory.

On Windows, you can not use command-line-internal commands, like dir or cd, directly. To use them, you need to use cmd.exe.
You can do it like:

-    "$Path_to_Command_Exe\\cmd.exe /Q /C command"

where "/Q" executes cmd.exe silently(otherwise a command-line-window pops up; but output of commands will show anyway) and "/C command" executes command.

To get a full directory-listing of c:\\ in a file c:\\directorylisting.txt, you can use:
-   "c:\\windows\\system32\\cmd.exe /Q /C dir c:\\ >c:\\directorylisting.txt"

Parameters:
          string cmdline - the command to execute
          integer timeoutmsec - how long to wait, until termination of execution
positive value, the time to wait for execution in milliseconds
    0, command will be allowed to run indefinitely (recommended for large amounts of returned output).
   -1, for no wait/terminate
   -2, for no wait and minimize
Returnvalues:
          string - return value, newline and output of the command; otherwise nil


^ Reaper version 5.62Lua version 5.3 file_exists

Functioncall:

C: bool file_exists(const char* path)

EEL: bool file_exists("path")

Lua: boolean = reaper.file_exists(string path)

Python: Boolean RPR_file_exists(String path)

Description:
Checks, if a specified file exists and is readable.

returns true if path points to a valid, readable file

Parameters:
          string path - filename with path
Returnvalues:
          boolean - true, if file exists; false, if it doesn't


^ Reaper version 5.62Lua version 5.3 FindTempoTimeSigMarker

Functioncall:

C: int FindTempoTimeSigMarker(ReaProject* project, double time)

EEL: int FindTempoTimeSigMarker(ReaProject project, time)

Lua: integer = reaper.FindTempoTimeSigMarker(ReaProject project, number time)

Python: Int RPR_FindTempoTimeSigMarker(ReaProject project, Float time)

Description:
Find the tempo/time signature marker that falls at or before this time position (the marker that is in effect as of this time position).

Parameters:
          ReaProject project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          number time -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 format_timestr

Functioncall:

C: void format_timestr(double tpos, char* buf, int buf_sz)

EEL: format_timestr(tpos, #buf)

Lua: string buf = reaper.format_timestr(number tpos, string buf)

Python: (Float tpos, String buf, Int buf_sz) = RPR_format_timestr(tpos, buf, buf_sz)

Description:
Creates a timestring and formats it as hh:mm:ss.sss. See format_timestr_pos, format_timestr_len.

Parameters:
          number tpos - the position in seconds, that you want to have formatted
          string buf - unknown
Returnvalues:
          string buf - the formatted timestring


^ Reaper version 5.62Lua version 5.3 format_timestr_len

Functioncall:

C: void format_timestr_len(double tpos, char* buf, int buf_sz, double offset, int modeoverride)

EEL: format_timestr_len(tpos, #buf, offset, int modeoverride)

Lua: string buf = reaper.format_timestr_len(number tpos, string buf, number offset, integer modeoverride)

Python: (Float tpos, String buf, Int buf_sz, Float offset, Int modeoverride) = RPR_format_timestr_len(tpos, buf, buf_sz, offset, modeoverride)

Description:
ime formatting mode overrides: -1=proj default.
0=time
1=measures.beats + time
2=measures.beats
3=seconds
4=samples
5=h:m:s:f
offset is start of where the length will be calculated from

Parameters:
          number tpos -
          string buf -
          number offset -
          integer modeoverride -
Returnvalues:
          string buf -


^ Reaper version 5.62Lua version 5.3 format_timestr_pos

Functioncall:

C: void format_timestr_pos(double tpos, char* buf, int buf_sz, int modeoverride)

EEL: format_timestr_pos(tpos, #buf, int modeoverride)

Lua: string buf = reaper.format_timestr_pos(number tpos, string buf, integer modeoverride)

Python: (Float tpos, String buf, Int buf_sz, Int modeoverride) = RPR_format_timestr_pos(tpos, buf, buf_sz, modeoverride)

Description:
ime formatting mode overrides: -1=proj default.
   0=time
   1=measures.beats + time
   2=measures.beats
   3=seconds
   4=samples
   5=h:m:s:f

Parameters:
          number tpos -
          string buf -
          integer modeoverride -
Returnvalues:
          string buf -


^ Reaper version 5.62Lua version 5.3 genGuid

Functioncall:

C: void genGuid(GUID* g)

EEL: genGuid(#gGUID)

Lua: string gGUID = reaper.genGuid(string gGUID)

Python: RPR_genGuid(GUID g)

Description:
Generates a GUID.

Parameters:
          string gGUID - unknown
Returnvalues:
          string gGUID - the generated GUID


^ Reaper version 5.972Lua version 5.3 get_config_var_string

Functioncall:

C: bool get_config_var_string(const char* name, char* bufOut, int bufOut_sz)

EEL: bool get_config_var_string("name", #buf)

Lua: boolean retval, string buf = reaper.get_config_var_string(string name)

Python: (Boolean retval, String name, String bufOut, Int bufOut_sz) = RPR_get_config_var_string(name, bufOut, bufOut_sz)

Description:
gets ini configuration variable value as string

see the configuration-variable documentation for more details

Parameters:
          string name - the config-var, whose value you want
Returnvalues:
          boolean retval - true, the configuration-variable is a valid string variable
          string buf - the current value of the configuration-variable


^ Reaper version 5.62Lua version 5.3 get_ini_file

Functioncall:

C: const char* get_ini_file()

EEL: bool get_ini_file(#retval)

Lua: string = reaper.get_ini_file()

Python: String RPR_get_ini_file()

Description:
Get reaper.ini full filename+path.

Returnvalues:
          string - the reaper.ini with path


^ Reaper version 5.62Lua version 5.3 GetActiveTake

Functioncall:

C: MediaItem_Take* GetActiveTake(MediaItem* item)

EEL: MediaItem_Take GetActiveTake(MediaItem item)

Lua: MediaItem_Take = reaper.GetActiveTake(MediaItem item)

Python: MediaItem_Take RPR_GetActiveTake(MediaItem item)

Description:
get the active take in this item

Parameters:
          MediaItem item - the MediaItem, whose active take you want to have returned
Returnvalues:
          MediaItem_Take - the active take of the MediaItem


^ Reaper version 5.62Lua version 5.3 GetAllProjectPlayStates

Functioncall:

C: int GetAllProjectPlayStates(ReaProject* ignoreProject)

EEL: int GetAllProjectPlayStates(ReaProject ignoreProject)

Lua: integer = reaper.GetAllProjectPlayStates(ReaProject ignoreProject)

Python: Int RPR_GetAllProjectPlayStates(ReaProject ignoreProject)

Description:
returns the bitwise OR of all project play states, eg. and project is playing/pausing/recording (1=playing, 2=pause, 4=recording)

Parameters:
          ReaProject ignoreProject - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the bitwise play-state of alle projects
&1, at least one project is playing
&2, at least one project is paused
&4, at least one project is recording


^ Reaper version 5.62Lua version 5.3 GetAppVersion

Functioncall:

C: const char* GetAppVersion()

EEL: bool GetAppVersion(#retval)

Lua: string = reaper.GetAppVersion()

Python: String RPR_GetAppVersion()

Description:
Returns the current version of Reaper, e.g "5.62/x64"

Returnvalues:
          string - the returned version-number of Reaper


^ Reaper version 5.97Lua version 5.3 GetAudioAccessorEndTime

Functioncall:

C: double GetAudioAccessorEndTime(AudioAccessor* accessor)

EEL: double GetAudioAccessorEndTime(AudioAccessor accessor)

Lua: number = reaper.GetAudioAccessorEndTime(AudioAccessor accessor)

Python: Float RPR_GetAudioAccessorEndTime(AudioAccessor accessor)

Description:
Get the end time of the audio that can be returned from this accessor. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorSamples.

Parameters:
          AudioAccessor accessor - the AudioAccessor, whose end-time you want to have
Returnvalues:
          number - the length of the AudioAccessor


^ Reaper version 5.97Lua version 5.3 GetAudioAccessorHash

Functioncall:

C: void GetAudioAccessorHash(AudioAccessor* accessor, char* hashNeed128)

EEL: GetAudioAccessorHash(AudioAccessor accessor, #hashNeed128)

Lua: string hashNeed128 = reaper.GetAudioAccessorHash(AudioAccessor accessor, string hashNeed128)

Python: (AudioAccessor accessor, String hashNeed128) = RPR_GetAudioAccessorHash(accessor, hashNeed128)

Description:
Get a short hash string (128 chars or less) that will change only if the underlying samples change. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, GetAudioAccessorStartTime, GetAudioAccessorEndTime, GetAudioAccessorSamples.

Deprecated. See AudioAccessorStateChanged instead.

Parameters:
          AudioAccessor accessor -
          string hashNeed128 -
Returnvalues:
          string hashNeed128 -


^ Reaper version 5.97Lua version 5.3 GetAudioAccessorSamples

Functioncall:

C: int GetAudioAccessorSamples(AudioAccessor* accessor, int samplerate, int numchannels, double starttime_sec, int numsamplesperchannel, double* samplebuffer)

EEL: int GetAudioAccessorSamples(AudioAccessor accessor, int samplerate, int numchannels, starttime_sec, int numsamplesperchannel, buffer_ptr samplebuffer)

Lua: integer = reaper.GetAudioAccessorSamples(AudioAccessor accessor, integer samplerate, integer numchannels, number starttime_sec, integer numsamplesperchannel, reaper.array samplebuffer)

Python: (Int retval, AudioAccessor accessor, Int samplerate, Int numchannels, Float starttime_sec, Int numsamplesperchannel, Float samplebuffer) = RPR_GetAudioAccessorSamples(accessor, samplerate, numchannels, starttime_sec, numsamplesperchannel, samplebuffer)

Description:
Get a block of samples from the audio accessor. Samples are extracted immediately pre-FX, and returned interleaved (first sample of first channel, first sample of second channel...). Returns 0 if no audio, 1 if audio, -1 on error. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorStartTime, GetAudioAccessorEndTime.

This function has special handling in Python, and only returns two objects, the API function return value, and the sample buffer. Example usage:

tr = RPR_GetTrack(0, 0)
aa = RPR_CreateTrackAudioAccessor(tr)
buf = list([0]*2*1024) # 2 channels, 1024 samples each, initialized to zero
pos = 0.0
(ret, buf) = GetAudioAccessorSamples(aa, 44100, 2, pos, 1024, buf)
# buf now holds the first 2*1024 audio samples from the track.
# typically GetAudioAccessorSamples() would be called within a loop, increasing pos each time.


Parameters:
          AudioAccessor accessor -
          integer samplerate -
          integer numchannels -
          number starttime_sec -
          integer numsamplesperchannel -
Returnvalues:
          integer -


^ Reaper version 5.97Lua version 5.3 GetAudioAccessorStartTime

Functioncall:

C: double GetAudioAccessorStartTime(AudioAccessor* accessor)

EEL: double GetAudioAccessorStartTime(AudioAccessor accessor)

Lua: number = reaper.GetAudioAccessorStartTime(AudioAccessor accessor)

Python: Float RPR_GetAudioAccessorStartTime(AudioAccessor accessor)

Description:
Get the start time of the audio that can be returned from this accessor. See CreateTakeAudioAccessor, CreateTrackAudioAccessor, DestroyAudioAccessor, AudioAccessorStateChanged, GetAudioAccessorEndTime, GetAudioAccessorSamples.

Parameters:
          AudioAccessor accessor -
Returnvalues:
          number -


^ Reaper version 5.96Lua version 5.3 GetAudioDeviceInfo

Functioncall:

C: bool GetAudioDeviceInfo(const char* attribute, char* desc, int desc_sz)

EEL: bool GetAudioDeviceInfo("attribute", #desc)

Lua: boolean retval, string desc = reaper.GetAudioDeviceInfo(string attribute, string desc)

Python: (Boolean retval, String attribute, String desc, Int desc_sz) = RPR_GetAudioDeviceInfo(attribute, desc, desc_sz)

Description:
get information about the currently open audio device.
Attribute can be MODE, IDENT_IN, IDENT_OUT, BSIZE, SRATE, BPS.

returns false if unknown attribute or device not open.

Parameters:
          string attribute - the attribute to get, as set in Preferences -> Device
MODE - the Audio system selected
IDENT_IN - the selected Input device
IDENT_OUT - the selected Output device
BSIZE - the Buffer-sample-size (not the multiplier!)
SRATE - the samplerate in Hz
BPS - the sample-format (e.g 16, 24, 32 bit)
          string desc - a string the API needs to return the value; in Lua set it to ""
Returnvalues:
          boolean retval - true, if returning a value is possible; false, if not(unknown attribute or device not open)
          string desc - the returned value; will not return a value, if Preferences are opened


^ Reaper version 5.62Lua version 5.3 GetConfigWantsDock

Functioncall:

C: int GetConfigWantsDock(const char* ident_str)

EEL: int GetConfigWantsDock("ident_str")

Lua: integer = reaper.GetConfigWantsDock(string ident_str)

Python: Int RPR_GetConfigWantsDock(String ident_str)

Description:
gets the dock ID desired by ident_str, if any

Parameters:
          string ident_str -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 GetCurrentProjectInLoadSave

Functioncall:

C: ReaProject* GetCurrentProjectInLoadSave()

EEL: ReaProject GetCurrentProjectInLoadSave()

Lua: ReaProject = reaper.GetCurrentProjectInLoadSave()

Python: ReaProject RPR_GetCurrentProjectInLoadSave()

Description:
returns current project if in load/save (usually only used from project_config_extension_t)

Returnvalues:
          ReaProject -


^ Reaper version 5.62Lua version 5.3 GetCursorContext

Functioncall:

C: int GetCursorContext()

EEL: int GetCursorContext()

Lua: integer = reaper.GetCursorContext()

Python: Int RPR_GetCursorContext()

Description:
return the current cursor context.

Returnvalues:
          integer - the cursor context -1, unknown 0, track panels 1, items 2, envelopes


^ Reaper version 5.62Lua version 5.3 GetCursorContext2

Functioncall:

C: int GetCursorContext2(bool want_last_valid)

EEL: int GetCursorContext2(bool want_last_valid)

Lua: integer = reaper.GetCursorContext2(boolean want_last_valid)

Python: Int RPR_GetCursorContext2(Boolean want_last_valid)

Description:
0 if track panels, 1 if items, 2 if envelopes, otherwise unknown (unlikely when want_last_valid is true)

Parameters:
          boolean want_last_valid - true, get the last valid context; false, get the current context
Returnvalues:
          integer - the cursor context -1, unknown 0, track panels 1, items 2, envelopes


^ Reaper version 5.62Lua version 5.3 GetCursorPosition

Functioncall:

C: double GetCursorPosition()

EEL: double GetCursorPosition()

Lua: number = reaper.GetCursorPosition()

Python: Float RPR_GetCursorPosition()

Description:
edit cursor position

Returnvalues:
          number - the editcursor-position in seconds


^ Reaper version 5.62Lua version 5.3 GetCursorPositionEx

Functioncall:

C: double GetCursorPositionEx(ReaProject* proj)

EEL: double GetCursorPositionEx(ReaProject proj)

Lua: number = reaper.GetCursorPositionEx(ReaProject proj)

Python: Float RPR_GetCursorPositionEx(ReaProject proj)

Description:
Get the edit cursor position in a given project

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          number - the position in seconds


^ Reaper version 5.62Lua version 5.3 GetDisplayedMediaItemColor

Functioncall:

C: int GetDisplayedMediaItemColor(MediaItem* item)

EEL: int GetDisplayedMediaItemColor(MediaItem item)

Lua: integer = reaper.GetDisplayedMediaItemColor(MediaItem item)

Python: Int RPR_GetDisplayedMediaItemColor(MediaItem item)

Description:
see GetDisplayedMediaItemColor2.

Parameters:
          MediaItem item -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 GetDisplayedMediaItemColor2

Functioncall:

C: int GetDisplayedMediaItemColor2(MediaItem* item, MediaItem_Take* take)

EEL: int GetDisplayedMediaItemColor2(MediaItem item, MediaItem_Take take)

Lua: integer = reaper.GetDisplayedMediaItemColor2(MediaItem item, MediaItem_Take take)

Python: Int RPR_GetDisplayedMediaItemColor2(MediaItem item, MediaItem_Take take)

Description:
Returns the custom take, item, or track color that is used (according to the user preference) to color the media item. The returned color is OS dependent|0x01000000 (i.e. ColorToNative(r,g,b)|0x01000000), so a return of zero means "no color", not black.

Parameters:
          MediaItem item -
          MediaItem_Take take -
Returnvalues:
          integer -


^ Reaper version 5.982Lua version 5.3 GetEnvelopeInfo_Value

Functioncall:

C: double GetEnvelopeInfo_Value(TrackEnvelope* tr, const char* parmname)

EEL: double GetEnvelopeInfo_Value(TrackEnvelope tr, "parmname")

Lua: number retval = reaper.GetEnvelopeInfo_Value(TrackEnvelope tr, string parmname)

Python: Float RPR_GetEnvelopeInfo_Value(TrackEnvelope tr, String parmname)

Description:
Gets an envelope numerical-value attribute:
    I_TCPY : int *, Y offset of envelope relative to parent track (may be separate lane or overlap with track contents)
    I_TCPH : int *, visible height of envelope
    I_TCPY_USED : int *, Y offset of envelope relative to parent track, exclusive of padding
    I_TCPH_USED : int *, visible height of envelope, exclusive of padding
    P_TRACK : MediaTrack *, parent track pointer (if any)
    P_ITEM : MediaItem *, parent item pointer (if any)
    P_TAKE : MediaItem_Take *, parent take pointer (if any)

Parameters:
          TrackEnvelope tr - the TrackEnvelope, of which you want to retrieve the attribute-value
          string parmname - the attribute, whose value you want;
can be I_TCPY, I_TCPH, I_TCPY_USED, I_TCPH_USED, P_TRACK, P_ITEM, P_TAKE
see description for more details
Returnvalues:
          number retval - the returned value of the attribute


^ Reaper version 5.974Lua version 5.3 GetEnvelopeName

Functioncall:

C: bool GetEnvelopeName(TrackEnvelope* env, char* bufOut, int bufOut_sz)

EEL: bool GetEnvelopeName(TrackEnvelope env, #buf)

Lua: boolean retval, string buf = reaper.GetEnvelopeName(TrackEnvelope env, string buf)

Python: (Boolean retval, TrackEnvelope env, String bufOut, Int bufOut_sz) = RPR_GetEnvelopeName(env, bufOut, bufOut_sz)

Description:


Parameters:
          TrackEnvelope env -
          string buf -
Returnvalues:
          boolean retval -
          string buf -


^ Reaper version 5.979Lua version 5.3 GetEnvelopePoint

Functioncall:

C: bool GetEnvelopePoint(TrackEnvelope* envelope, int ptidx, double* timeOutOptional, double* valueOutOptional, int* shapeOutOptional, double* tensionOutOptional, bool* selectedOutOptional)

EEL: bool GetEnvelopePoint(TrackEnvelope envelope, int ptidx, optional &time, optional &value, optional int &shape, optional &tension, optional bool &selected)

Lua: boolean retval, optional number time, optional number value, optional number shape, optional number tension, optional boolean selected = reaper.GetEnvelopePoint(TrackEnvelope envelope, integer ptidx)

Python: (Boolean retval, TrackEnvelope envelope, Int ptidx, Float timeOutOptional, Float valueOutOptional, Int shapeOutOptional, Float tensionOutOptional, Boolean selectedOutOptional) = RPR_GetEnvelopePoint(envelope, ptidx, timeOutOptional, valueOutOptional, shapeOutOptional, tensionOutOptional, selectedOutOptional)

Description:
Get the attributes of an envelope point. See GetEnvelopePointEx

Parameters:
          TrackEnvelope envelope -
          integer ptidx -
Returnvalues:
          boolean retval -
          optional number time -
          optional number value -
          optional number shape -
          optional number tension -
          optional boolean selected -


^ Reaper version 5.979Lua version 5.3 GetEnvelopePointByTime

Functioncall:

C: int GetEnvelopePointByTime(TrackEnvelope* envelope, double time)

EEL: int GetEnvelopePointByTime(TrackEnvelope envelope, time)

Lua: integer = reaper.GetEnvelopePointByTime(TrackEnvelope envelope, number time)

Python: Int RPR_GetEnvelopePointByTime(TrackEnvelope envelope, Float time)

Description:
Returns the envelope point at or immediately prior to the given time position.

See GetEnvelopePointByTimeEx

Parameters:
          TrackEnvelope envelope -
          number time -
Returnvalues:
          integer -


^ Reaper version 5.979Lua version 5.3 GetEnvelopePointByTimeEx

Functioncall:

C: int GetEnvelopePointByTimeEx(TrackEnvelope* envelope, int autoitem_idx, double time)

EEL: int GetEnvelopePointByTimeEx(TrackEnvelope envelope, int autoitem_idx, time)

Lua: integer = reaper.GetEnvelopePointByTimeEx(TrackEnvelope envelope, integer autoitem_idx, number time)

Python: Int RPR_GetEnvelopePointByTimeEx(TrackEnvelope envelope, Int autoitem_idx, Float time)

Description:
Returns the envelope point at or immediately prior to the given time position.
autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc.
For automation items, pass autoitem_idx|0x10000000 to base ptidx on the number of points in one full loop iteration,
even if the automation item is trimmed so that not all points are visible.
Otherwise, ptidx will be based on the number of visible points in the automation item, including all loop iterations.

See GetEnvelopePointEx, SetEnvelopePointEx, InsertEnvelopePointEx, DeleteEnvelopePointEx.

Parameters:
          TrackEnvelope envelope -
          integer autoitem_idx -
          number time -
Returnvalues:
          integer -


^ Reaper version 5.979Lua version 5.3 GetEnvelopePointEx

Functioncall:

C: bool GetEnvelopePointEx(TrackEnvelope* envelope, int autoitem_idx, int ptidx, double* timeOutOptional, double* valueOutOptional, int* shapeOutOptional, double* tensionOutOptional, bool* selectedOutOptional)

EEL: bool GetEnvelopePointEx(TrackEnvelope envelope, int autoitem_idx, int ptidx, optional &time, optional &value, optional int &shape, optional &tension, optional bool &selected)

Lua: boolean retval, optional number time, optional number value, optional number shape, optional number tension, optional boolean selected = reaper.GetEnvelopePointEx(TrackEnvelope envelope, integer autoitem_idx, integer ptidx)

Python: (Boolean retval, TrackEnvelope envelope, Int autoitem_idx, Int ptidx, Float timeOutOptional, Float valueOutOptional, Int shapeOutOptional, Float tensionOutOptional, Boolean selectedOutOptional) = RPR_GetEnvelopePointEx(envelope, autoitem_idx, ptidx, timeOutOptional, valueOutOptional, shapeOutOptional, tensionOutOptional, selectedOutOptional)

Description:
Get the attributes of an envelope point.
autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc.
For automation items, pass autoitem_idx|0x10000000 to base ptidx on the number of points in one full loop iteration,
even if the automation item is trimmed so that not all points are visible.
Otherwise, ptidx will be based on the number of visible points in the automation item, including all loop iterations.

See CountEnvelopePointsEx, SetEnvelopePointEx, InsertEnvelopePointEx, DeleteEnvelopePointEx.

Parameters:
          TrackEnvelope envelope -
          integer autoitem_idx -
          integer ptidx -
Returnvalues:
          boolean retval -
          optional number time -
          optional number value -
          optional number shape -
          optional number tension -
          optional boolean selected -


^ Reaper version 5.62Lua version 5.3 GetEnvelopeScalingMode

Functioncall:

C: int GetEnvelopeScalingMode(TrackEnvelope* env)

EEL: int GetEnvelopeScalingMode(TrackEnvelope env)

Lua: integer = reaper.GetEnvelopeScalingMode(TrackEnvelope env)

Python: Int RPR_GetEnvelopeScalingMode(TrackEnvelope env)

Description:
Returns the envelope scaling mode: 0=no scaling, 1=fader scaling. All API functions deal with raw envelope point values, to convert raw from/to scaled values see ScaleFromEnvelopeMode, ScaleToEnvelopeMode.

Parameters:
          TrackEnvelope env -
Returnvalues:
          integer -


^ Reaper version 5.982Lua version 5.3 GetEnvelopeStateChunk

Functioncall:

C: bool GetEnvelopeStateChunk(TrackEnvelope* env, char* strNeedBig, int strNeedBig_sz, bool isundoOptional)

EEL: bool GetEnvelopeStateChunk(TrackEnvelope env, #str, bool isundo)

Lua: boolean retval, string str = reaper.GetEnvelopeStateChunk(TrackEnvelope env, string str, boolean isundo)

Python: (Boolean retval, TrackEnvelope env, String strNeedBig, Int strNeedBig_sz, Boolean isundoOptional) = RPR_GetEnvelopeStateChunk(env, strNeedBig, strNeedBig_sz, isundoOptional)

Description:
Gets the RPPXML state of an envelope.

Parameters:
          TrackEnvelope env - the Track-Envelope-object, whose trackstate you want to have
          string str - unknown
          boolean isundo - Undo flag is a performance/caching hint.
Returnvalues:
          boolean retval - true, if it's successful; false, if unsuccessful
          string str - the state-chunk


^ Reaper version 5.62Lua version 5.3 GetExePath

Functioncall:

C: const char* GetExePath()

EEL: bool GetExePath(#retval)

Lua: string = reaper.GetExePath()

Python: String RPR_GetExePath()

Description:
returns path of REAPER.exe (not including EXE), i.e. C:\Program Files\REAPER

Returnvalues:
          string - the path to the reaper.exe or reaper.app


^ Reaper version 5.62Lua version 5.3 GetExtState

Functioncall:

C: const char* GetExtState(const char* section, const char* key)

EEL: bool GetExtState(#retval, "section", "key")

Lua: string = reaper.GetExtState(string section, string key)

Python: String RPR_GetExtState(String section, String key)

Description:
Get the extended state value for a specific section and key. See SetExtState, DeleteExtState, HasExtState.

Parameters:
          string section - the section, in which the key and value is stored
          string key - the key, that contains the value
Returnvalues:
          string - the value


^ Reaper version 5.979Lua version 5.3 GetFocusedFX

Functioncall:

C: int GetFocusedFX(int* tracknumberOut, int* itemnumberOut, int* fxnumberOut)

EEL: int GetFocusedFX(int &tracknumber, int &itemnumber, int &fxnumber)

Lua: integer retval, integer tracknumber, integer itemnumber, integer fxnumber = reaper.GetFocusedFX()

Python: (Int retval, Int tracknumberOut, Int itemnumberOut, Int fxnumberOut) = RPR_GetFocusedFX(tracknumberOut, itemnumberOut, fxnumberOut)

Description:
Get focused FX.

See GetLastTouchedFX.

Returnvalues:
          integer retval - 0, if no FX window has focus
1, if a track FX window has focus or was the last focused and still open
2, if an item FX window has focus or was the last focused and still open
          integer tracknumber - tracknumber; 0, master track; 1, track 1; etc.
          integer itemnumber - -1, if it's a track-fx; 0 and higher, the mediaitem-number
          integer fxnumber - If item FX, fxnumber will have the high word be the take index, the low word the FX index


^ Reaper version 5.62Lua version 5.3 GetFreeDiskSpaceForRecordPath

Functioncall:

C: int GetFreeDiskSpaceForRecordPath(ReaProject* proj, int pathidx)

EEL: int GetFreeDiskSpaceForRecordPath(ReaProject proj, int pathidx)

Lua: integer = reaper.GetFreeDiskSpaceForRecordPath(ReaProject proj, integer pathidx)

Python: Int RPR_GetFreeDiskSpaceForRecordPath(ReaProject proj, Int pathidx)

Description:
returns free disk space in megabytes, pathIdx 0 for normal, 1 for alternate.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer pathidx - recording path; 0, primary recording path; 1, secondary recording path
Returnvalues:
          integer - the freedisk-size in megabytes


^ Reaper version 5.62Lua version 5.3 GetFXEnvelope

Functioncall:

C: TrackEnvelope* GetFXEnvelope(MediaTrack* track, int fxindex, int parameterindex, bool create)

EEL: TrackEnvelope GetFXEnvelope(MediaTrack track, int fxindex, int parameterindex, bool create)

Lua: TrackEnvelope = reaper.GetFXEnvelope(MediaTrack track, integer fxindex, integer parameterindex, boolean create)

Python: TrackEnvelope RPR_GetFXEnvelope(MediaTrack track, Int fxindex, Int parameterindex, Boolean create)

Description:
Returns the FX parameter envelope. If the envelope does not exist and create=true, the envelope will be created.

Parameters:
          MediaTrack track -
          integer fxindex -
          integer parameterindex -
          boolean create -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62Lua version 5.3 GetGlobalAutomationOverride

Functioncall:

C: int GetGlobalAutomationOverride()

EEL: int GetGlobalAutomationOverride()

Lua: integer = reaper.GetGlobalAutomationOverride()

Python: Int RPR_GetGlobalAutomationOverride()

Description:
return -1=no override, 0=trim/read, 1=read, 2=touch, 3=write, 4=latch, 5=bypass

Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 GetHZoomLevel

Functioncall:

C: double GetHZoomLevel()

EEL: double GetHZoomLevel()

Lua: number = reaper.GetHZoomLevel()

Python: Float RPR_GetHZoomLevel()

Description:
returns pixels/second

Returnvalues:
          number - pixels/shown arrange-view-second


^ Reaper version 5.62Lua version 5.3 GetInputChannelName

Functioncall:

C: const char* GetInputChannelName(int channelIndex)

EEL: bool GetInputChannelName(#retval, int channelIndex)

Lua: string = reaper.GetInputChannelName(integer channelIndex)

Python: String RPR_GetInputChannelName(Int channelIndex)

Description:
Returns the name of a input-channel.

Parameters:
          integer channelIndex - the index of the input-channels, with 0 for the first, 1 for the second, etc.
Returnvalues:
          string - the name of the input-channel.


^ Reaper version 5.62Lua version 5.3 GetInputOutputLatency

Functioncall:

C: void GetInputOutputLatency(int* inputlatencyOut, int* outputLatencyOut)

EEL: GetInputOutputLatency(int &inputlatency, int &outputLatency)

Lua: number inputlatency retval, number outputLatency = reaper.GetInputOutputLatency()

Python: (Int inputlatencyOut, Int outputLatencyOut) = RPR_GetInputOutputLatency(inputlatencyOut, outputLatencyOut)

Description:
Gets the audio device input/output latency in samples

Returnvalues:
          integer inputlatency retval - the input-latency
          integer outputLatency - the output-latency


^ Reaper version 5.97Lua version 5.3 GetItemEditingTime2

Functioncall:

C: double GetItemEditingTime2(PCM_source** which_itemOut, int* flagsOut)

EEL: double GetItemEditingTime2(PCM_source &which_item, int &flags)

Lua: number position, PCM_source which_item, number flags = reaper.GetItemEditingTime2()

Python: (Float retval, PCM_source* which_itemOut, Int flagsOut) = RPR_GetItemEditingTime2(which_itemOut, flagsOut)

Description:
returns time of relevant edit, set which_item to the pcm_source (if applicable), flags (if specified) will be set to 1 for edge resizing, 2 for fade change, 4 for item move, 8 for item slip edit (edit cursor time or start of item)

Returnvalues:
          number position -
          PCM_source which_item -
          number flags -


^ Reaper version 5.975Lua version 5.3 GetItemFromPoint

Functioncall:

C: MediaItem* GetItemFromPoint(int screen_x, int screen_y, bool allow_locked, MediaItem_Take** takeOutOptional)

EEL: MediaItem GetItemFromPoint(int screen_x, int screen_y, bool allow_locked, MediaItem_Take &take)

Lua: MediaItem, MediaItem_Take take = reaper.GetItemFromPoint(integer screen_x, integer screen_y, boolean allow_locked)

Python: MediaItem RPR_GetItemFromPoint(Int screen_x, Int screen_y, Boolean allow_locked, MediaItem_Take* takeOutOptional)

Description:
Returns the first item at the screen coordinates specified. If allow_locked is false, locked items are ignored. If takeOutOptional specified, returns the take hit.

Returnvalues:
          MediaItem - the MediaItem at the position
          MediaItem_Take take - the MediaItem_Take at the position


^ Reaper version 5.62Lua version 5.3 GetItemProjectContext

Functioncall:

C: ReaProject* GetItemProjectContext(MediaItem* item)

EEL: ReaProject GetItemProjectContext(MediaItem item)

Lua: ReaProject = reaper.GetItemProjectContext(MediaItem item)

Python: ReaProject RPR_GetItemProjectContext(MediaItem item)

Description:
Returns the project, in which a MediaItem is located.

Parameters:
          MediaItem item - the MediaItem, whose project-location you want to know
Returnvalues:
          ReaProject - the project, in which the MediaItem is located; returned as a reaper-object


^ Reaper version 5.982Lua version 5.3 GetItemStateChunk

Functioncall:

C: bool GetItemStateChunk(MediaItem* item, char* strNeedBig, int strNeedBig_sz, bool isundoOptional)

EEL: bool GetItemStateChunk(MediaItem item, #str, bool isundo)

Lua: boolean retval, string str = reaper.GetItemStateChunk(MediaItem item, string str, boolean isundo)

Python: (Boolean retval, MediaItem item, String strNeedBig, Int strNeedBig_sz, Boolean isundoOptional) = RPR_GetItemStateChunk(item, strNeedBig, strNeedBig_sz, isundoOptional)

Description:
Gets the RPPXML state of an item, returns true if successful. Undo flag is a performance/caching hint.

Parameters:
          MediaItem item - the MediaItem, whose statechunk you want
          string str - unknown
          boolean isundo - Undo flag is a performance/caching hint.
Returnvalues:
          boolean retval - true, getting statechunk was successful
          string str - the statechunk of the MediaItem


^ Reaper version 5.62Lua version 5.3 GetLastColorThemeFile

Functioncall:

C: const char* GetLastColorThemeFile()

EEL: bool GetLastColorThemeFile(#retval)

Lua: string = reaper.GetLastColorThemeFile()

Python: String RPR_GetLastColorThemeFile()

Description:
Get the last used color-theme-file.

Returnvalues:
          string - the path and filename of the last used theme


^ Reaper version 5.62Lua version 5.3 GetLastMarkerAndCurRegion

Functioncall:

C: void GetLastMarkerAndCurRegion(ReaProject* proj, double time, int* markeridxOut, int* regionidxOut)

EEL: GetLastMarkerAndCurRegion(ReaProject proj, time, int &markeridx, int &regionidx)

Lua: integer markeridx retval, integer regionidx = reaper.GetLastMarkerAndCurRegion(ReaProject proj, number time)

Python: (ReaProject proj, Float time, Int markeridxOut, Int regionidxOut) = RPR_GetLastMarkerAndCurRegion(proj, time, markeridxOut, regionidxOut)

Description:
Get the last project marker before time, and/or the project region that includes time.
markeridx and regionidx are returned not necessarily as the displayed marker/region index, but as the index that can be passed to EnumProjectMarkers. Either or both of markeridx and regionidx may be NULL. See EnumProjectMarkers.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          number time - the position to check in seconds
Returnvalues:
          integer markeridx retval - the last marker-number(not shown number!) before parameter time
          integer regionidx - the region, in which parameter time lies


^ Reaper version 5.979Lua version 5.3 GetLastTouchedFX

Functioncall:

C: bool GetLastTouchedFX(int* tracknumberOut, int* fxnumberOut, int* paramnumberOut)

EEL: bool GetLastTouchedFX(int &tracknumber, int &fxnumber, int &paramnumber)

Lua: boolean retval, integer tracknumber, integer fxnumber, integer paramnumber = reaper.GetLastTouchedFX()

Python: (Boolean retval, Int tracknumberOut, Int fxnumberOut, Int paramnumberOut) = RPR_GetLastTouchedFX(tracknumberOut, fxnumberOut, paramnumberOut)

Description:
Returns the last touched track, it's last touched parameter and tracknumber.

The low word of tracknumber is the 1-based track index -- 0 means the master track, 1 means track 1, etc.

See GetFocusedFX.

Returnvalues:
          boolean retval - true, if last touched FX parameter is valid; false, if otherwise
          integer tracknumber - the tracknumber; 0 means the master track, 1 means track 1, etc.
If the high word of tracknumber is nonzero, it refers to the 1-based item index (1 is the first item on the track, etc).
          integer fxnumber - the id of the FX in the track tracknumber, zero-based
For track FX, the low 24 bits of fxnumber refer to the FX index in the chain, and if the next 8 bits are 01, then the FX is record FX.
For item FX, the low word defines the FX index in the chain, and the high word defines the take number.
          integer paramnumber - the id of the last parameter touched, zero-based


^ Reaper version 5.62Lua version 5.3 GetLastTouchedTrack

Functioncall:

C: MediaTrack* GetLastTouchedTrack()

EEL: MediaTrack GetLastTouchedTrack()

Lua: MediaTrack = reaper.GetLastTouchedTrack()

Python: MediaTrack RPR_GetLastTouchedTrack()

Description:
Gets the MediaTrack, that has been last touched.

Returnvalues:
          MediaTrack - the last touched MediaTrack as an object


^ Reaper version 5.62Lua version 5.3 GetMainHwnd

Functioncall:

C: HWND GetMainHwnd()

EEL: HWND GetMainHwnd()

Lua: HWND hwnd = reaper.GetMainHwnd()

Python: HWND RPR_GetMainHwnd()

Description:
Get the Reaper-window as an HWND-object

Returnvalues:
          HWND hwnd - the Reaper-Window


^ Reaper version 5.62Lua version 5.3 GetMasterMuteSoloFlags

Functioncall:

C: int GetMasterMuteSoloFlags()

EEL: int GetMasterMuteSoloFlags()

Lua: integer mastermutesolo = reaper.GetMasterMuteSoloFlags()

Python: Int RPR_GetMasterMuteSoloFlags()

Description:
Deprecated: Get the mute/solo-state of the master-track. This is deprecated as you can just query the master track as well.

Returnvalues:
          integer mastermutesolo - state of mute/solo of the master-track; &1=master mute,&2=master solo.


^ Reaper version 5.62Lua version 5.3 GetMasterTrack

Functioncall:

C: MediaTrack* GetMasterTrack(ReaProject* proj)

EEL: MediaTrack GetMasterTrack(ReaProject proj)

Lua: MediaTrack track = reaper.GetMasterTrack(ReaProject proj)

Python: MediaTrack RPR_GetMasterTrack(ReaProject proj)

Description:
Get a MediaTrack-object of the MasterTrack.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          MediaTrack track - the MediaTrack-object of the MasterTrack


^ Reaper version 5.62Lua version 5.3 GetMasterTrackVisibility

Functioncall:

C: int GetMasterTrackVisibility()

EEL: int GetMasterTrackVisibility()

Lua: integer master_visibility = reaper.GetMasterTrackVisibility()

Python: Int RPR_GetMasterTrackVisibility()

Description:
Get the visibility of the master-track in mixer and track-control-panel. See SetMasterTrackVisibility.

Returnvalues:
          integer master_visibility - state of visibility of the master-track
1, master track visible in tcp; 0, master track invisible in mixer
2, master track invisible in mixer; 0, master track visible in mixer


^ Reaper version 5.62Lua version 5.3 GetMaxMidiInputs

Functioncall:

C: int GetMaxMidiInputs()

EEL: int GetMaxMidiInputs()

Lua: integer = reaper.GetMaxMidiInputs()

Python: Int RPR_GetMaxMidiInputs()

Description:
returns max dev for midi inputs

Returnvalues:
          integer - the number of max midi inputs


^ Reaper version 5.62Lua version 5.3 GetMaxMidiOutputs

Functioncall:

C: int GetMaxMidiOutputs()

EEL: int GetMaxMidiOutputs()

Lua: integer = reaper.GetMaxMidiOutputs()

Python: Int RPR_GetMaxMidiOutputs()

Description:
returns max dev for midi outputs

Returnvalues:
          integer - the number of max midi outputs


^ Reaper version 5.62Lua version 5.3 GetMediaItem

Functioncall:

C: MediaItem* GetMediaItem(ReaProject* proj, int itemidx)

EEL: MediaItem GetMediaItem(ReaProject proj, int itemidx)

Lua: MediaItem = reaper.GetMediaItem(ReaProject proj, integer itemidx)

Python: MediaItem RPR_GetMediaItem(ReaProject proj, Int itemidx)

Description:
get an item from a project by item count (zero-based)

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          integer itemidx - the number of the item within the whole project; 0 for the first, 1 for the second, etc; numberingorder depending on, when was a MediaItem added to the project(recording, import, etc)
Returnvalues:
          MediaItem - the requested MediaItem as a MediaItem-object


^ Reaper version 5.62Lua version 5.3 GetMediaItem_Track

Functioncall:

C: MediaTrack* GetMediaItem_Track(MediaItem* item)

EEL: MediaTrack GetMediaItem_Track(MediaItem item)

Lua: MediaTrack track = reaper.GetMediaItem_Track(MediaItem item)

Python: MediaTrack RPR_GetMediaItem_Track(MediaItem item)

Description:
Get parent track of media item

Parameters:
          MediaItem item - the MediaItem, whose track you want to know
Returnvalues:
          MediaTrack track - the returned MediaTrack, in which the MediaItem lies


^ Reaper version 5.95Lua version 5.3 GetArmedCommand

Functioncall:

C: int GetArmedCommand(char* secOut, int secOut_sz)

EEL: int GetArmedCommand(#sec)

Lua: integer retval, string sec = reaper.GetArmedCommand()

Python: (Int retval, String secOut, Int secOut_sz) = RPR_GetArmedCommand(secOut, secOut_sz)

Description:
gets the currently armed command and section name (returns 0 if nothing armed). section name is empty-string for main section.

Returnvalues:
          integer retval -
          string sec -


^ Reaper version 5.95Lua version 5.3 ArmCommand

Functioncall:

C: void ArmCommand(int cmd, const char* sectionname)

EEL: ArmCommand(int cmd, "sectionname")

Lua: reaper.ArmCommand(integer cmd, string sectionname)

Python: RPR_ArmCommand(Int cmd, String sectionname)

Description:
arms a command (or disarms if 0 passed) in section sectionname (empty string for main)

Parameters:
          integer cmd -
          string sectionname -


^ Reaper version 5.95Lua version 5.3 GetMediaItemInfo_Value

Functioncall:

C: double GetMediaItemInfo_Value(MediaItem* item, const char* parmname)

EEL: double GetMediaItemInfo_Value(MediaItem item, "parmname")

Lua: number retval = reaper.GetMediaItemInfo_Value(MediaItem item, string parmname)

Python: Float RPR_GetMediaItemInfo_Value(MediaItem item, String parmname)

Description:
Get media item numerical-value attributes.

Parameters:
          MediaItem item - the MediaItem, whose value you want to have
          string parmname - the parametername, whose value you want to have:
  B_MUTE : bool * to muted state
  B_LOOPSRC : bool * to loop source
  B_ALLTAKESPLAY : bool * to all takes play
  B_UISEL : bool * to ui selected
  C_BEATATTACHMODE : char * to one char of beat attached mode,
                     -1=def, 0=time, 1=allbeats, 2=beatsosonly
  C_LOCK : char * to one char of lock flags (&1 is locked, currently)
  D_VOL : double * of item volume (volume bar)
  D_POSITION : double * of item position (seconds)
  D_LENGTH : double * of item length (seconds)
  D_SNAPOFFSET : double * of item snap offset (seconds)
  D_FADEINLEN : double * of item fade in length (manual, seconds)
  D_FADEOUTLEN : double * of item fade out length (manual, seconds)
  D_FADEINDIR : double * of item fade in curve [-1; 1]
  D_FADEOUTDIR : double * of item fade out curve [-1; 1]
  D_FADEINLEN_AUTO : double * of item autofade in length (seconds, -1 for no autofade set)
  D_FADEOUTLEN_AUTO : double * of item autofade out length (seconds, -1 for no autofade set)
  C_FADEINSHAPE : int * to fadein shape, 0=linear, ...
  C_FADEOUTSHAPE : int * to fadeout shape
  I_GROUPID : int * to group ID (0 = no group)
  I_LASTY : int * to last y position in track (readonly)
  I_LASTH : int * to last height in track (readonly)
  I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000).
                          If you do not |0x100000, then it will not be used (though will store the color anyway).
  I_CURTAKE : int * to active take
  IP_ITEMNUMBER : int, item number within the track (read-only, returns the item number directly)
  F_FREEMODE_Y : float * to free mode y position (0..1)
  F_FREEMODE_H : float * to free mode height (0..1)
  P_TRACK : MediaTrack * (read only)
Returnvalues:
          number retval - the value you requested


^ Reaper version 5.62Lua version 5.3 GetMediaItemNumTakes

Functioncall:

C: int GetMediaItemNumTakes(MediaItem* item)

EEL: int GetMediaItemNumTakes(MediaItem item)

Lua: integer itemnumtakes = reaper.GetMediaItemNumTakes(MediaItem item)

Python: Int RPR_GetMediaItemNumTakes(MediaItem item)

Description:
Get the number of takes in a MediaItem-object.

Parameters:
          MediaItem item - the MediaItem-object, whose number of takes you want to know.
Returnvalues:
          integer itemnumtakes - the number of takes within the MediaItem-object


^ Reaper version 5.62Lua version 5.3 GetMediaItemTake

Functioncall:

C: MediaItem_Take* GetMediaItemTake(MediaItem* item, int tk)

EEL: MediaItem_Take GetMediaItemTake(MediaItem item, int tk)

Lua: MediaItem_Take = reaper.GetMediaItemTake(MediaItem item, integer tk)

Python: MediaItem_Take RPR_GetMediaItemTake(MediaItem item, Int tk)

Description:
Get a take from a MediaItem as a MediaItem_Take-object.

Parameters:
          MediaItem item - the MediaItem, whose take you want to request
          integer tk - the id of the take, that you want to request
Returnvalues:
          MediaItem_Take - the returned take as a MediaItem_Take-object


^ Reaper version 5.62Lua version 5.3 GetMediaItemTake_Item

Functioncall:

C: MediaItem* GetMediaItemTake_Item(MediaItem_Take* take)

EEL: MediaItem GetMediaItemTake_Item(MediaItem_Take take)

Lua: MediaItem item = reaper.GetMediaItemTake_Item(MediaItem_Take take)

Python: MediaItem RPR_GetMediaItemTake_Item(MediaItem_Take take)

Description:
Get parent item of media item take.

Parameters:
          MediaItem_Take take - the MediaItem_Take-object, whose accompanying MediaItem you want to request.
Returnvalues:
          MediaItem item - the MediaItem, in which the MediaItem_Take takes place.


^ Reaper version 5.62Lua version 5.3 GetMediaItemTake_Peaks

Functioncall:

C: int GetMediaItemTake_Peaks(MediaItem_Take* take, double peakrate, double starttime, int numchannels, int numsamplesperchannel, int want_extra_type, double* buf)

EEL: int GetMediaItemTake_Peaks(MediaItem_Take take, peakrate, starttime, int numchannels, int numsamplesperchannel, int want_extra_type, buffer_ptr buf)

Lua: integer peaks = reaper.GetMediaItemTake_Peaks(MediaItem_Take take, number peakrate, number starttime, integer numchannels, integer numsamplesperchannel, integer want_extra_type, reaper.array buf)

Python: (Int retval, MediaItem_Take take, Float peakrate, Float starttime, Int numchannels, Int numsamplesperchannel, Int want_extra_type, Float buf) = RPR_GetMediaItemTake_Peaks(take, peakrate, starttime, numchannels, numsamplesperchannel, want_extra_type, buf)

Description:
Gets block of peak samples to buf. Note that the peak samples are interleaved, but in two or three blocks (maximums, then minimums, then extra). Return value has 20 bits of returned sample count, then 4 bits of output_mode (0xf00000), then a bit to signify whether extra_type was available (0x1000000). extra_type can be 115 ('s') for spectral information, which will return peak samples as integers with the low 15 bits frequency, next 14 bits tonality.

Parameters:
          MediaItem_Take take -
          number peakrate -
          number starttime -
          integer numchannels -
          integer numsamplesperchannel -
          integer want_extra_type -
Returnvalues:
          integer peaks -


^ Reaper version 5.62Lua version 5.3 GetMediaItemTake_Source

Functioncall:

C: PCM_source* GetMediaItemTake_Source(MediaItem_Take* take)

EEL: PCM_source GetMediaItemTake_Source(MediaItem_Take take)

Lua: PCM_source source = reaper.GetMediaItemTake_Source(MediaItem_Take take)

Python: PCM_source RPR_GetMediaItemTake_Source(MediaItem_Take take)

Description:
Get media source of media item take

Parameters:
          MediaItem_Take take -
Returnvalues:
          PCM_source source -


^ Reaper version 5.62Lua version 5.3 GetMediaItemTake_Track

Functioncall:

C: MediaTrack* GetMediaItemTake_Track(MediaItem_Take* take)

EEL: MediaTrack GetMediaItemTake_Track(MediaItem_Take take)

Lua: MediaTrack track = reaper.GetMediaItemTake_Track(MediaItem_Take take)

Python: MediaTrack RPR_GetMediaItemTake_Track(MediaItem_Take take)

Description:
Get parent track of media item take

Parameters:
          MediaItem_Take take -
Returnvalues:
          MediaTrack track -


^ Reaper version 5.62Lua version 5.3 GetMediaItemTakeByGUID

Functioncall:

C: MediaItem_Take* GetMediaItemTakeByGUID(ReaProject* project, const GUID* guid)

EEL: MediaItem_Take GetMediaItemTakeByGUID(ReaProject project, "guidGUID")

Lua: MediaItem_Take take = reaper.GetMediaItemTakeByGUID(ReaProject project, string guidGUID)

Python: MediaItem_Take RPR_GetMediaItemTakeByGUID(ReaProject project, const GUID guid)

Description:


Parameters:
          ReaProject project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          string guidGUID -
Returnvalues:
          MediaItem_Take - take


^ Reaper version 5.976Lua version 5.3 GetMediaItemTakeInfo_Value

Functioncall:

C: double GetMediaItemTakeInfo_Value(MediaItem_Take* take, const char* parmname)

EEL: double GetMediaItemTakeInfo_Value(MediaItem_Take take, "parmname")

Lua: number retval = reaper.GetMediaItemTakeInfo_Value(MediaItem_Take take, string parmname)

Python: Float RPR_GetMediaItemTakeInfo_Value(MediaItem_Take take, String parmname)

Description:
Get media item take numerical-value attributes.
D_STARTOFFS : double *, start offset in take of item
D_VOL : double *, take volume (negative if take polarity is flipped)
D_PAN : double *, take pan
D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc)
D_PLAYRATE : double *, take playrate (1.0=normal, 2.0=doublespeed, etc)
D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc)
B_PPITCH, bool *, preserve pitch when changing rate
I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r)
I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter
I_CUSTOMCOLOR : int *, custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
IP_TAKENUMBER : int, take number within the item (read-only, returns the take number directly)
P_TRACK : pointer to MediaTrack (read-only)
P_ITEM : pointer to MediaItem (read-only)
P_SOURCE : PCM_source *. Note that if setting this, you should first retrieve the old source, set the new, THEN delete the old.

Parameters:
          MediaItem_Take take -
          string parmname -
Returnvalues:
          number retval -


^ Reaper version 5.62Lua version 5.3 GetMediaItemTrack

Functioncall:

C: MediaTrack* GetMediaItemTrack(MediaItem* item)

EEL: MediaTrack GetMediaItemTrack(MediaItem item)

Lua: MediaTrack = reaper.GetMediaItemTrack(MediaItem item)

Python: MediaTrack RPR_GetMediaItemTrack(MediaItem item)

Description:
Get the associated MediaTrack of a MediaItem.

Parameters:
          MediaItem - the MediaItem, whose associated MediaTrack you want to have
Returnvalues:
          MediaTrack - the MediaTrack, where the MediaItem is located in


^ Reaper version 5.62Lua version 5.3 GetMediaSourceFileName

Functioncall:

C: void GetMediaSourceFileName(PCM_source* source, char* filenamebuf, int filenamebuf_sz)

EEL: GetMediaSourceFileName(PCM_source source, #filenamebuf)

Lua: string filenamebuf = reaper.GetMediaSourceFileName(PCM_source source, string filenamebuf)

Python: (PCM_source source, String filenamebuf, Int filenamebuf_sz) = RPR_GetMediaSourceFileName(source, filenamebuf, filenamebuf_sz)

Description:
Copies the media source filename to typebuf. Note that in-project MIDI media sources have no associated filename. See GetMediaSourceParent.

Parameters:
          PCM_source source -
          string filenamebuf -
Returnvalues:
          string filenamebuf -


^ Reaper version 5.62Lua version 5.3 GetMediaSourceLength

Functioncall:

C: double GetMediaSourceLength(PCM_source* source, bool* lengthIsQNOut)

EEL: double GetMediaSourceLength(PCM_source source, bool &lengthIsQN)

Lua: number retval, boolean lengthIsQN = reaper.GetMediaSourceLength(PCM_source source)

Python: (Float retval, PCM_source source, Boolean lengthIsQNOut) = RPR_GetMediaSourceLength(source, lengthIsQNOut)

Description:
Returns the length of the source media. If the media source is beat-based, the length will be in quarter notes, otherwise it will be in seconds.

Parameters:
          PCM_source source -
Returnvalues:
          number retval -
          boolean lengthIsQN -


^ Reaper version 5.62Lua version 5.3 GetMediaSourceNumChannels

Functioncall:

C: int GetMediaSourceNumChannels(PCM_source* source)

EEL: int GetMediaSourceNumChannels(PCM_source source)

Lua: integer mediasourcenumchans = reaper.GetMediaSourceNumChannels(PCM_source source)

Python: Int RPR_GetMediaSourceNumChannels(PCM_source source)

Description:
Returns the number of channels in the source media.

Parameters:
          PCM_source source -
Returnvalues:
          integer mediasourcenumchans -


^ Reaper version 5.62Lua version 5.3 GetMediaSourceParent

Functioncall:

C: PCM_source* GetMediaSourceParent(PCM_source* src)

EEL: PCM_source GetMediaSourceParent(PCM_source src)

Lua: PCM_source = reaper.GetMediaSourceParent(PCM_source src)

Python: PCM_source RPR_GetMediaSourceParent(PCM_source src)

Description:
Returns the parent source, or NULL if src is the root source. This can be used to retrieve the parent properties of sections or reversed sources for example.

Parameters:
          PCM_source src -
Returnvalues:
          PCM_source -


^ Reaper version 5.62Lua version 5.3 GetMediaSourceSampleRate

Functioncall:

C: int GetMediaSourceSampleRate(PCM_source* source)

EEL: int GetMediaSourceSampleRate(PCM_source source)

Lua: integer mediasourcesamplerate = reaper.GetMediaSourceSampleRate(PCM_source source)

Python: Int RPR_GetMediaSourceSampleRate(PCM_source source)

Description:
Returns the sample rate. MIDI source media will return zero.

Parameters:
          PCM_source source -
Returnvalues:
          integer mediasourcesamplerate -


^ Reaper version 5.62Lua version 5.3 GetMediaSourceType

Functioncall:

C: void GetMediaSourceType(PCM_source* source, char* typebuf, int typebuf_sz)

EEL: GetMediaSourceType(PCM_source source, #typebuf)

Lua: string typebuf = reaper.GetMediaSourceType(PCM_source source, string typebuf)

Python: (PCM_source source, String typebuf, Int typebuf_sz) = RPR_GetMediaSourceType(source, typebuf, typebuf_sz)

Description:
copies the media source type ("WAV", "MIDI", etc) to typebuf

Parameters:
          PCM_source source -
Returnvalues:
          string typebuf - a string-buffer needed by the function, use "" in Lua


^ Reaper version 5.982Lua version 5.3 GetMediaTrackInfo_Value

Functioncall:

C: double GetMediaTrackInfo_Value(MediaTrack* tr, const char* parmname)

EEL: double GetMediaTrackInfo_Value(MediaTrack tr, "parmname")

Lua: number retval = reaper.GetMediaTrackInfo_Value(MediaTrack tr, string parmname)

Python: Float RPR_GetMediaTrackInfo_Value(MediaTrack tr, String parmname)

Description:
Get track numerical-value attributes.
B_MUTE : bool * : mute flag
B_PHASE : bool * : invert track phase
IP_TRACKNUMBER : int : track number (returns zero if not found, -1 for master track) (read-only, returns the int directly)
I_SOLO : int * : 0=not soloed, 1=solo, 2=soloed in place. also: 5=solo-safe solo, 6=solo-safe soloed in place
I_FXEN : int * : 0=fx bypassed, nonzero = fx active
I_RECARM : int * : 0=not record armed, 1=record armed
I_RECINPUT : int * : record input. <0 = no input, 0..n = mono hardware input, 512+n = rearoute input, 1024 set for stereo input pair. 4096 set for MIDI input, if set, then low 6 bits represent channel (0=all, 1-16=only chan), then next 6 bits represent physical input (63=all, 62=VKB)
I_RECMODE : int * : record mode (0=input, 1=stereo out, 2=none, 3=stereo out w/latcomp, 4=midi output, 5=mono out, 6=mono out w/ lat comp, 7=midi overdub, 8=midi replace
I_RECMON : int * : record monitor (0=off, 1=normal, 2=not when playing (tapestyle))
I_RECMONITEMS : int * : monitor items while recording (0=off, 1=on)
I_AUTOMODE : int * : track automation mode (0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
I_NCHAN : int * : number of track channels, must be 2-64, even
I_SELECTED : int * : track selected? 0 or 1
I_WNDH : int * : current TCP window height including envelopes (Read-only)
I_TCPH : int * : current TCP window height not including envelopes (Read-only)
I_TCPY : int * : current TCP window Y position relative to top of arrange view (Read-only)
I_FOLDERDEPTH : int * : folder depth change (0=normal, 1=track is a folder parent, -1=track is the last in the innermost folder, -2=track is the last in the innermost and next-innermost folders, etc
I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children
I_MIDIHWOUT : int * : track midi hardware output index (>0 for disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31))
I_PERFFLAGS : int * : track perf flags (&1=no media buffering, &2=no anticipative FX)
I_CUSTOMCOLOR : int * : custom color, OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). If you do not |0x100000, then it will not be used (though will store the color anyway).
I_HEIGHTOVERRIDE : int * : custom height override for TCP window. 0 for none, otherwise size in pixels
B_HEIGHTLOCK : bool * : track height lock (must set I_HEIGHTOVERRIDE before locking)
D_VOL : double * : trim volume of track (0 (-inf)..1 (+0dB) .. 2 (+6dB) etc ..)
D_PAN : double * : trim pan of track (-1..1)
D_WIDTH : double * : width of track (-1..1)
D_DUALPANL : double * : dualpan position 1 (-1..1), only if I_PANMODE==6
D_DUALPANR : double * : dualpan position 2 (-1..1), only if I_PANMODE==6
I_PANMODE : int * : pan mode (0 = classic 3.x, 3=new balance, 5=stereo pan, 6 = dual pan)
D_PANLAW : double * : pan law of track. >0 for project default, 1.0 for +0dB, etc
P_ENV:<envchunkname : read only, returns TrackEnvelope *. To get a specific TrackEnvelope, call with :<VOLENV, :<PANENV, etc appended to P_ENV.
B_SHOWINMIXER : bool * : show track panel in mixer -- do not use on master
B_SHOWINTCP : bool * : show track panel in tcp -- do not use on master
B_MAINSEND : bool * : track sends audio to parent
C_MAINSEND_OFFS : char * : track send to parent channel offset
B_FREEMODE : bool * : track free-mode enabled (requires UpdateTimeline() after changing etc)
C_BEATATTACHMODE : char * : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsposonly
F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0.0=smallest allowed, 1=max allowed)
F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=min allow, 1=max)
P_PARTRACK : MediaTrack * : parent track (read-only)
P_PROJECT : ReaProject * : parent project (read-only)

Parameters:
          MediaTrack tr -
          string parmname -
Returnvalues:
          number retval -


^ Reaper version 5.62Lua version 5.3 GetMIDIInputName

Functioncall:

C: bool GetMIDIInputName(int dev, char* nameout, int nameout_sz)

EEL: bool GetMIDIInputName(int dev, #nameout)

Lua: boolean retval, string nameout = reaper.GetMIDIInputName(integer dev, string nameout)

Python: (Boolean retval, Int dev, String nameout, Int nameout_sz) = RPR_GetMIDIInputName(dev, nameout, nameout_sz)

Description:
returns true if device present

Parameters:
          integer dev -
          string nameout -
Returnvalues:
          boolean retval -
          string nameout -


^ Reaper version 5.62Lua version 5.3 GetMIDIOutputName

Functioncall:

C: bool GetMIDIOutputName(int dev, char* nameout, int nameout_sz)

EEL: bool GetMIDIOutputName(int dev, #nameout)

Lua: boolean retval, string nameout = reaper.GetMIDIOutputName(integer dev, string nameout)

Python: (Boolean retval, Int dev, String nameout, Int nameout_sz) = RPR_GetMIDIOutputName(dev, nameout, nameout_sz)

Description:
returns true if device present

Parameters:
          integer dev -
          string nameout -
Returnvalues:
          boolean retval -
          string nameout -


^ Reaper version 5.62Lua version 5.3 GetMixerScroll

Functioncall:

C: MediaTrack* GetMixerScroll()

EEL: MediaTrack GetMixerScroll()

Lua: MediaTrack leftmosttrack = reaper.GetMixerScroll()

Python: MediaTrack RPR_GetMixerScroll()

Description:
Get the leftmost track visible in the mixer

Returnvalues:
          MediaTrack leftmosttrack - the leftmost track in the MCP


^ Reaper version 5.62Lua version 5.3 GetMouseModifier

Functioncall:

C: void GetMouseModifier(const char* context, int modifier_flag, char* action, int action_sz)

EEL: GetMouseModifier("context", int modifier_flag, #action)

Lua: string action = reaper.GetMouseModifier(string context, integer modifier_flag, string action)

Python: (String context, Int modifier_flag, String action, Int action_sz) = RPR_GetMouseModifier(context, modifier_flag, action, action_sz)

Description:
Get the current mouse modifier assignment for a specific modifier key assignment, in a specific context.
action will be filled in with the command ID number for a built-in mouse modifier
or built-in REAPER command ID, or the custom action ID string.
See SetMouseModifier for more information.

Parameters:
          string context -
          integer modifier_flag -
          string action -
Returnvalues:
          string action -


^ Reaper version 5.62Lua version 5.3 GetMousePosition

Functioncall:

C: void GetMousePosition(int* xOut, int* yOut)

EEL: GetMousePosition(int &x, int &y)

Lua: integer x, integer y = reaper.GetMousePosition()

Python: (Int xOut, Int yOut) = RPR_GetMousePosition(xOut, yOut)

Description:
get mouse position in screen coordinates

Returnvalues:
          integer x - horizontal position of the mouse in pixels
          integer y - vertical position of the mouse in pixels


^ Reaper version 5.62Lua version 5.3 GetNumAudioInputs

Functioncall:

C: int GetNumAudioInputs()

EEL: int GetNumAudioInputs()

Lua: integer numAudioIns = reaper.GetNumAudioInputs()

Python: Int RPR_GetNumAudioInputs()

Description:
Return number of normal audio hardware inputs available

Returnvalues:
          integer numAudioIns - the number of audio hardware outputs available


^ Reaper version 5.62Lua version 5.3 GetNumAudioOutputs

Functioncall:

C: int GetNumAudioOutputs()

EEL: int GetNumAudioOutputs()

Lua: integer numAudioOuts = reaper.GetNumAudioOutputs()

Python: Int RPR_GetNumAudioOutputs()

Description:
Return number of normal audio hardware outputs available

Returnvalues:
          integer numAudioOuts - the number of audio hardware outputs available


^ Reaper version 5.62Lua version 5.3 GetNumMIDIInputs

Functioncall:

C: int GetNumMIDIInputs()

EEL: int GetNumMIDIInputs()

Lua: integer numMidiIns = reaper.GetNumMIDIInputs()

Python: Int RPR_GetNumMIDIInputs()

Description:
returns max number of real midi hardware inputs

Returnvalues:
          integer numMidiIns -


^ Reaper version 5.62Lua version 5.3 GetNumMIDIOutputs

Functioncall:

C: int GetNumMIDIOutputs()

EEL: int GetNumMIDIOutputs()

Lua: integer numMidiOuts = reaper.GetNumMIDIOutputs()

Python: Int RPR_GetNumMIDIOutputs()

Description:
returns max number of real midi hardware outputs

Returnvalues:
          integer numMidiOuts - the number of real midi hardware outputs


^ Reaper version 5.62Lua version 5.3 GetNumTracks

Functioncall:

C: int GetNumTracks()

EEL: int GetNumTracks()

Lua: integer numtracks = reaper.GetNumTracks()

Python: Int RPR_GetNumTracks()

Description:
Get the number of tracks. Excluding the master-track.

Returnvalues:
          integer numtracks - the number of tracks in the current project.


^ Reaper version 5.62Lua version 5.3 GetOS

Functioncall:

C: const char* GetOS()

EEL: bool GetOS(#retval)

Lua: string os = reaper.GetOS()

Python: String RPR_GetOS()

Description:
Returns the current operating-system. Good for determining, e.g. the correct filesystem-separators.

Returnvalues:
          string os - "Win32", "Win64", "OSX32", "OSX64", or "Other"


^ Reaper version 5.62Lua version 5.3 GetOutputChannelName

Functioncall:

C: const char* GetOutputChannelName(int channelIndex)

EEL: bool GetOutputChannelName(#retval, int channelIndex)

Lua: string outputchanname= reaper.GetOutputChannelName(integer channelIndex)

Python: String RPR_GetOutputChannelName(Int channelIndex)

Description:
Get the name of a specific output-channel.

Parameters:
          integer channelIndex - the index of the output-channel
Returnvalues:
          string outputchanname - the name of the output-channel.


^ Reaper version 5.62Lua version 5.3 GetOutputLatency

Functioncall:

C: double GetOutputLatency()

EEL: double GetOutputLatency()

Lua: number outputlatency = reaper.GetOutputLatency()

Python: Float RPR_GetOutputLatency()

Description:
returns output latency in seconds

Returnvalues:
          number outputlatency - output-latency in seconds


^ Reaper version 5.62Lua version 5.3 GetParentTrack

Functioncall:

C: MediaTrack* GetParentTrack(MediaTrack* track)

EEL: MediaTrack GetParentTrack(MediaTrack track)

Lua: MediaTrack parenttrack = reaper.GetParentTrack(MediaTrack track)

Python: MediaTrack RPR_GetParentTrack(MediaTrack track)

Description:
Get the parent MediaTrack, if a MediaTrack is a track of a foldered track.

Parameters:
          MediaTrack track - the MediaTrack in a folder, whose parent MediaTrack you want
Returnvalues:
          MediaTrack parenttrack - the returned parent MediaTrack of a foldered MediaTrack


^ Reaper version 5.62Lua version 5.3 GetPeakFileName

Functioncall:

C: void GetPeakFileName(const char* fn, char* buf, int buf_sz)

EEL: GetPeakFileName("fn", #buf)

Lua: string buf = reaper.GetPeakFileName(string fn, string buf)

Python: (String fn, String buf, Int buf_sz) = RPR_GetPeakFileName(fn, buf, buf_sz)

Description:
get the peak file name for a given file (can be either filename.reapeaks,or a hashed filename in another path)

Parameters:
          string fn -
Returnvalues:
          string buf -


^ Reaper version 5.62Lua version 5.3 GetPeakFileNameEx

Functioncall:

C: void GetPeakFileNameEx(const char* fn, char* buf, int buf_sz, bool forWrite)

EEL: GetPeakFileNameEx("fn", #buf, bool forWrite)

Lua: string buf = reaper.GetPeakFileNameEx(string fn, string buf, boolean forWrite)

Python: (String fn, String buf, Int buf_sz, Boolean forWrite) = RPR_GetPeakFileNameEx(fn, buf, buf_sz, forWrite)

Description:
get the peak file name for a given file (can be either filename.reapeaks,or a hashed filename in another path)

Parameters:
          string fn -
          string buf - a string-buffer needed by the function, just give "" in Lua
          boolean forWrite -
Returnvalues:
          string buf - the peak-filename


^ Reaper version 5.62Lua version 5.3 GetPeakFileNameEx2

Functioncall:

C: void GetPeakFileNameEx2(const char* fn, char* buf, int buf_sz, bool forWrite, const char* peaksfileextension)

EEL: GetPeakFileNameEx2("fn", #buf, bool forWrite, "peaksfileextension")

Lua: string buf = reaper.GetPeakFileNameEx2(string fn, string buf, boolean forWrite, string peaksfileextension)

Python: (String fn, String buf, Int buf_sz, Boolean forWrite, String peaksfileextension) = RPR_GetPeakFileNameEx2(fn, buf, buf_sz, forWrite, peaksfileextension)

Description:
Like GetPeakFileNameEx, but you can specify peaksfileextension such as ".reapeaks"

Parameters:
          string fn -
          string buf - a string-buffer needed by the function, just give "" in Lua
          boolean forWrite -
          string peaksfileextension -
Returnvalues:
          string buf - the peak-filename


^ Reaper version 5.62Lua version 5.3 GetPlayPosition

Functioncall:

C: double GetPlayPosition()

EEL: double GetPlayPosition()

Lua: number playposition = reaper.GetPlayPosition()

Python: Float RPR_GetPlayPosition()

Description:
returns latency-compensated actual-what-you-hear position

Returnvalues:
          number playposition - the playposition in seconds


^ Reaper version 5.62Lua version 5.3 GetPlayPosition2

Functioncall:

C: double GetPlayPosition2()

EEL: double GetPlayPosition2()

Lua: number playposition = reaper.GetPlayPosition2()

Python: Float RPR_GetPlayPosition2()

Description:
returns position of next audio block being processed

Returnvalues:
          number playposition - the playposition in seconds


^ Reaper version 5.62Lua version 5.3 GetPlayPosition2Ex

Functioncall:

C: double GetPlayPosition2Ex(ReaProject* proj)

EEL: double GetPlayPosition2Ex(ReaProject proj)

Lua: number playposition = reaper.GetPlayPosition2Ex(ReaProject proj)

Python: Float RPR_GetPlayPosition2Ex(ReaProject proj)

Description:
returns position of next audio block being processed from a specific project

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          number playposition - the playposition in seconds


^ Reaper version 5.62Lua version 5.3 GetPlayPositionEx

Functioncall:

C: double GetPlayPositionEx(ReaProject* proj)

EEL: double GetPlayPositionEx(ReaProject proj)

Lua: number playposition = reaper.GetPlayPositionEx(ReaProject proj)

Python: Float RPR_GetPlayPositionEx(ReaProject proj)

Description:
returns latency-compensated actual-what-you-hear position from a specific project

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          number playposition - the playposition in seconds


^ Reaper version 5.62Lua version 5.3 GetPlayState

Functioncall:

C: int GetPlayState()

EEL: int GetPlayState()

Lua: integer playstate = reaper.GetPlayState()

Python: Int RPR_GetPlayState()

Description:
returns, in which play-state the current project is

Returnvalues:
          integer playstate - Either bitwise: &1=playing,&2=pause,&=4 is recording, or 0, stop 1, play 2, paused play 5, recording 6, paused recording


^ Reaper version 5.62Lua version 5.3 GetPlayStateEx

Functioncall:

C: int GetPlayStateEx(ReaProject* proj)

EEL: int GetPlayStateEx(ReaProject proj)

Lua: integer playstate = reaper.GetPlayStateEx(ReaProject proj)

Python: Int RPR_GetPlayStateEx(ReaProject proj)

Description:
returns, in which play-state a certain project is

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer playstate - Either bitwise: &1=playing,&2=pause,&=4 is recording, or
0, stop
1, play
2, paused play
5, recording
6, paused recording


^ Reaper version 5.62Lua version 5.3 GetProjectLength

Functioncall:

C: double GetProjectLength(ReaProject* proj)

EEL: double GetProjectLength(ReaProject proj)

Lua: number length = reaper.GetProjectLength(ReaProject proj)

Python: Float RPR_GetProjectLength(ReaProject proj)

Description:
returns length of project (maximum of end of media item, markers, end of regions, tempo map)

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          number length - the length of the project in seconds


^ Reaper version 5.62Lua version 5.3 GetProjectName

Functioncall:

C: void GetProjectName(ReaProject* proj, char* buf, int buf_sz)

EEL: GetProjectName(ReaProject proj, #buf)

Lua: string buf = reaper.GetProjectName(ReaProject proj, string buf)

Python: (ReaProject proj, String buf, Int buf_sz) = RPR_GetProjectName(proj, buf, buf_sz)

Description:
Get the name of the projectfile.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          string buf - a string-buffer needed by the function; just give "" in Lua


^ Reaper version 5.62Lua version 5.3 GetProjectPath

Functioncall:

C: void GetProjectPath(char* buf, int buf_sz)

EEL: GetProjectPath(#buf)

Lua: string buf = reaper.GetProjectPath(string buf)

Python: (String buf, Int buf_sz) = RPR_GetProjectPath(buf, buf_sz)

Description:
Get the path of the project. Will return the defaults project-path's recording-folder, when the project hasn't been saved yet; when the project has been saved, it will return the path to the recording-folder.

If you need the filename of the path+projectfile itself, use EnumProjects instead.

Returnvalues:
          string buf - the returned path


^ Reaper version 5.62Lua version 5.3 GetProjectPathEx

Functioncall:

C: void GetProjectPathEx(ReaProject* proj, char* buf, int buf_sz)

EEL: GetProjectPathEx(ReaProject proj, #buf)

Lua: string buf = reaper.GetProjectPathEx(ReaProject proj, string buf)

Python: (ReaProject proj, String buf, Int buf_sz) = RPR_GetProjectPathEx(proj, buf, buf_sz)

Description:
Get the path of a specific project, usually the recordings-folder.

Parameters:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          string buf - a string-buffer needed by the function, just use "" in Lua


^ Reaper version 5.62Lua version 5.3 GetProjectStateChangeCount

Functioncall:

C: int GetProjectStateChangeCount(ReaProject* proj)

EEL: int GetProjectStateChangeCount(ReaProject proj)

Lua: integer = reaper.GetProjectStateChangeCount(ReaProject proj)

Python: Int RPR_GetProjectStateChangeCount(ReaProject proj)

Description:
returns an integer that changes when the project state changes, e.g. undoable-actions have been made.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the number of changes, since (re-)opening of the project.


^ Reaper version 5.62Lua version 5.3 GetProjectTimeOffset

Functioncall:

C: double GetProjectTimeOffset(ReaProject* proj, bool rndframe)

EEL: double GetProjectTimeOffset(ReaProject proj, bool rndframe)

Lua: number = reaper.GetProjectTimeOffset(ReaProject proj, boolean rndframe)

Python: Float RPR_GetProjectTimeOffset(ReaProject proj, Boolean rndframe)

Description:
Gets project time offset in seconds (project settings -> project start time).

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          rndframe - true, the offset is rounded to a multiple of the project frame size; false, no rounding happening
Returnvalues:
          number - the project-time-offset


^ Reaper version 5.62Lua version 5.3 GetProjectTimeSignature

Functioncall:

C: void GetProjectTimeSignature(double* bpmOut, double* bpiOut)

EEL: GetProjectTimeSignature(&bpm, &bpi)

Lua: number bpm retval, number bpi = reaper.GetProjectTimeSignature()

Python: (Float bpmOut, Float bpiOut) = RPR_GetProjectTimeSignature(bpmOut, bpiOut)

Description:
deprecated

Returnvalues:
          bpm retval -
          bpi -


^ Reaper version 5.62Lua version 5.3 GetProjectTimeSignature2

Functioncall:

C: void GetProjectTimeSignature2(ReaProject* proj, double* bpmOut, double* bpiOut)

EEL: GetProjectTimeSignature2(ReaProject proj, &bpm, &bpi)

Lua: number bpm retval, number bpi = reaper.GetProjectTimeSignature2(ReaProject proj)

Python: (ReaProject proj, Float bpmOut, Float bpiOut) = RPR_GetProjectTimeSignature2(proj, bpmOut, bpiOut)

Description:
Gets basic time signature (beats per minute, numerator of time signature in bpi)
this does not reflect tempo envelopes but is purely what is set in the project settings.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          bpm retval -
          bpi -


^ Reaper version 5.62Lua version 5.3 GetProjExtState

Functioncall:

C: int GetProjExtState(ReaProject* proj, const char* extname, const char* key, char* valOutNeedBig, int valOutNeedBig_sz)

EEL: int GetProjExtState(ReaProject proj, "extname", "key", #val)

Lua: integer retval, string val = reaper.GetProjExtState(ReaProject proj, string extname, string key)

Python: (Int retval, ReaProject proj, String extname, String key, String valOutNeedBig, Int valOutNeedBig_sz) = RPR_GetProjExtState(proj, extname, key, valOutNeedBig, valOutNeedBig_sz)

Description:
Get the value previously associated with this extname and key, the last time the project was saved or the value was changed. See SetProjExtState, EnumProjExtState.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          extname - the section, in which the key requested is stored
          key - the key, in which the requested value is stored
Returnvalues:
          retval - true, if such an extended-state exists; false, if not
          val - the value, as stored in extname->key


^ Reaper version 5.62Lua version 5.3 GetResourcePath

Functioncall:

C: const char* GetResourcePath()

EEL: bool GetResourcePath(#retval)

Lua: string = reaper.GetResourcePath()

Python: String RPR_GetResourcePath()

Description:
returns path where ini files are stored, other things are in subdirectories.

Returnvalues:
          string - the path to the resource-folder


^ Reaper version 5.62Lua version 5.3 GetSelectedEnvelope

Functioncall:

C: TrackEnvelope* GetSelectedEnvelope(ReaProject* proj)

EEL: TrackEnvelope GetSelectedEnvelope(ReaProject proj)

Lua: TrackEnvelope = reaper.GetSelectedEnvelope(ReaProject proj)

Python: TrackEnvelope RPR_GetSelectedEnvelope(ReaProject proj)

Description:
get the currently selected envelope, returns 0 if no envelope is selected

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          TrackEnvelope - the TrackEnvelope-object of the selected envelope-lane requested; 0, if no envelope is selected


^ Reaper version 5.62Lua version 5.3 GetSelectedMediaItem

Functioncall:

C: MediaItem* GetSelectedMediaItem(ReaProject* proj, int selitem)

EEL: MediaItem GetSelectedMediaItem(ReaProject proj, int selitem)

Lua: MediaItem = reaper.GetSelectedMediaItem(ReaProject proj, integer selitem)

Python: MediaItem RPR_GetSelectedMediaItem(ReaProject proj, Int selitem)

Description:
get a selected item by selected item count (zero-based)
See CountSelectedMediaItems.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          selitem - the id of the selected MediaItem, as multiple items can be selected. See CountSelectedMediaItems
Returnvalues:
          MediaItem - the requested MediaItem as a MediaItem-object


^ Reaper version 5.62Lua version 5.3 GetSelectedTrack

Functioncall:

C: MediaTrack* GetSelectedTrack(ReaProject* proj, int seltrackidx)

EEL: MediaTrack GetSelectedTrack(ReaProject proj, int seltrackidx)

Lua: MediaTrack = reaper.GetSelectedTrack(ReaProject proj, integer seltrackidx)

Python: MediaTrack RPR_GetSelectedTrack(ReaProject proj, Int seltrackidx)

Description:
Get a selected track from a project by selected track count (zero-based).
This function ignores the master track, see GetSelectedTrack2 and CountSelectedTracks.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          seltrackidx - the idx of within the selected tracks, zero based, as multiple tracks can be selected by the user.
Returnvalues:
          MediaTrack - the requested, selected MediaTrack


^ Reaper version 5.62Lua version 5.3 GetSelectedTrack2

Functioncall:

C: MediaTrack* GetSelectedTrack2(ReaProject* proj, int seltrackidx, bool wantmaster)

EEL: MediaTrack GetSelectedTrack2(ReaProject proj, int seltrackidx, bool wantmaster)

Lua: MediaTrack = reaper.GetSelectedTrack2(ReaProject proj, integer seltrackidx, boolean wantmaster)

Python: MediaTrack RPR_GetSelectedTrack2(ReaProject proj, Int seltrackidx, Boolean wantmaster)

Description:
Get a selected track from a project (proj=0 for active project) by selected track count (zero-based).

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          seltrackidx - the idx of within the selected tracks, zero based, as multiple tracks can be selected by the user.
          wantmaster - true, seltrackidx=0 is the master track, if selected; false, seltrackidx=0 is the first selected normal track
Returnvalues:
          MediaTrack - the requested, selected MediaTrack


^ Reaper version 5.62Lua version 5.3 GetSelectedTrackEnvelope

Functioncall:

C: TrackEnvelope* GetSelectedTrackEnvelope(ReaProject* proj)

EEL: TrackEnvelope GetSelectedTrackEnvelope(ReaProject proj)

Lua: TrackEnvelope = reaper.GetSelectedTrackEnvelope(ReaProject proj)

Python: TrackEnvelope RPR_GetSelectedTrackEnvelope(ReaProject proj)

Description:
get the currently selected track envelope, returns 0 if no envelope is selected

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          TrackEnvelope - the selected TrackEnvelope as an object; nil if no TrackEnvelope is selected


^ Reaper version 5.62Lua version 5.3 GetSet_ArrangeView2

Functioncall:

C: void GetSet_ArrangeView2(ReaProject* proj, bool isSet, int screen_x_start, int screen_x_end, double* start_timeOut, double* end_timeOut)

EEL: GetSet_ArrangeView2(ReaProject proj, bool isSet, int screen_x_start, int screen_x_end, &start_time, &end_time)

Lua: number start_time retval, number end_time = reaper.GetSet_ArrangeView2(ReaProject proj, boolean isSet, integer screen_x_start, integer screen_x_end)

Python: (ReaProject proj, Boolean isSet, Int screen_x_start, Int screen_x_end, Float start_timeOut, Float end_timeOut) = RPR_GetSet_ArrangeView2(proj, isSet, screen_x_start, screen_x_end, start_timeOut, end_timeOut)

Description:
Gets or sets the arrange view start/end time for screen coordinates. use screen_x_start=screen_x_end=0 to use the full arrange view's start/end time

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          isSet -
          screen_x_start -
          screen_x_end -
Returnvalues:
          start_time retval -
          end_time -


^ Reaper version 5.62Lua version 5.3 GetSet_LoopTimeRange

Functioncall:

C: void GetSet_LoopTimeRange(bool isSet, bool isLoop, double* startOut, double* endOut, bool allowautoseek)

EEL: GetSet_LoopTimeRange(bool isSet, bool isLoop, &start, &end, bool allowautoseek)

Lua: number start retval, number end = reaper.GetSet_LoopTimeRange(boolean isSet, boolean isLoop, number start, number end, boolean allowautoseek)

Python: (Boolean isSet, Boolean isLoop, Float startOut, Float endOut, Boolean allowautoseek) = RPR_GetSet_LoopTimeRange(isSet, isLoop, startOut, endOut, allowautoseek)

Description:


Parameters:
          isSet -
          isLoop -
          start -
          end -
          allowautoseek -
Returnvalues:
          start retval -
          end -


^ Reaper version 5.62Lua version 5.3 GetSet_LoopTimeRange2

Functioncall:

C: void GetSet_LoopTimeRange2(ReaProject* proj, bool isSet, bool isLoop, double* startOut, double* endOut, bool allowautoseek)

EEL: GetSet_LoopTimeRange2(ReaProject proj, bool isSet, bool isLoop, &start, &end, bool allowautoseek)

Lua: number start retval, number end = reaper.GetSet_LoopTimeRange2(ReaProject proj, boolean isSet, boolean isLoop, number start, number end, boolean allowautoseek)

Python: (ReaProject proj, Boolean isSet, Boolean isLoop, Float startOut, Float endOut, Boolean allowautoseek) = RPR_GetSet_LoopTimeRange2(proj, isSet, isLoop, startOut, endOut, allowautoseek)

Description:


Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          isSet -
          isLoop -
          start -
          end -
          allowautoseek -
Returnvalues:
          start retval -
          end -


^ Reaper version 5.975Lua version 5.3 GetSetAutomationItemInfo

Functioncall:

C: double GetSetAutomationItemInfo(TrackEnvelope* env, int autoitem_idx, const char* desc, double value, bool is_set)

EEL: double GetSetAutomationItemInfo(TrackEnvelope env, int autoitem_idx, "desc", value, bool is_set)

Lua: number = reaper.GetSetAutomationItemInfo(TrackEnvelope env, integer autoitem_idx, string desc, number value, boolean is_set)

Python: Float RPR_GetSetAutomationItemInfo(TrackEnvelope env, Int autoitem_idx, String desc, Float value, Boolean is_set)

Description:
Get or set automation item information. autoitem_idx=0 for the first automation item on an envelope, 1 for the second item, etc. desc can be any of the following:
D_POOL_ID: double *, automation item pool ID (as an integer); edits are propagated to all other automation items that share a pool ID
D_POSITION: double *, automation item timeline position in seconds
D_LENGTH: double *, automation item length in seconds
D_STARTOFFS: double *, automation item start offset in seconds
D_PLAYRATE: double *, automation item playback rate
D_BASELINE: double *, automation item baseline value in the range [0,1]
D_AMPLITUDE: double *, automation item amplitude in the range [-1,1]
D_LOOPSRC: double *, nonzero if the automation item contents are looped
D_UISEL: double *, nonzero if the automation item is selected in the arrange view
D_POOL_QNLEN : double *, automation item pooled source length in quarter notes (setting will affect all pooled instances)

Parameters:
          env -
          autoitem_idx -
          desc -
          value -
          is_set -
Returnvalues:
          number -


^ Reaper version 5.975Lua version 5.3 GetSetAutomationItemInfo_String

Functioncall:

C: bool GetSetAutomationItemInfo_String(TrackEnvelope* env, int autoitem_idx, const char* desc, char* valuestrNeedBig, bool is_set)

EEL: bool GetSetAutomationItemInfo_String(TrackEnvelope env, int autoitem_idx, "desc", #valuestrNeedBig, bool is_set)

Lua: boolean retval, string valuestrNeedBig = reaper.GetSetAutomationItemInfo_String(TrackEnvelope env, integer autoitem_idx, string desc, string valuestrNeedBig, boolean is_set)

Python: (Boolean retval, TrackEnvelope env, Int autoitem_idx, String desc, String valuestrNeedBig, Boolean is_set) = RPR_GetSetAutomationItemInfo_String(env, autoitem_idx, desc, valuestrNeedBig, is_set)

Description:
Get or set automation item information. autoitem_idx=0 for the first automation item on an envelope, 1 for the second item, etc. returns true on success. desc can be any of the following:

P_POOL_NAME : char *, name of the underlying automation item pool
P_POOL_EXT:xyz : char *, extension-specific persistent data

Parameters:
          TrackEnvelope env -
          integer autoitem_idx -
          string desc -
          string valuestrNeedBig -
          boolean is_set -
Returnvalues:
          boolean retval -
          string valuestrNeedBig -


^ Reaper version 5.975Lua version 5.3 GetSetEnvelopeInfo_String

Functioncall:

C: bool GetSetEnvelopeInfo_String(TrackEnvelope* env, const char* parmname, char* stringNeedBig, bool setNewValue)

EEL: bool GetSetEnvelopeInfo_String(TrackEnvelope env, "parmname", #stringNeedBig, bool setNewValue)

Lua: boolean retval, string stringNeedBig = reaper.GetSetEnvelopeInfo_String(TrackEnvelope env, string parmname, string stringNeedBig, boolean setNewValue)

Python: (Boolean retval, TrackEnvelope env, String parmname, String stringNeedBig, Boolean setNewValue) = RPR_GetSetEnvelopeInfo_String(env, parmname, stringNeedBig, setNewValue)

Description:
Gets/sets an attribute string:
P_EXT:xyz : char * : extension-specific persistent data

Parameters:
          TrackEnvelope env -
          string parmname -
          string stringNeedBig -
          boolean setNewValue -
Returnvalues:
          boolean retval -
          string stringNeedBig -


^ Reaper version 5.62Lua version 5.3 GetSetEnvelopeState

Functioncall:

C: bool GetSetEnvelopeState(TrackEnvelope* env, char* str, int str_sz)

EEL: bool GetSetEnvelopeState(TrackEnvelope env, #str)

Lua: boolean retval, string str = reaper.GetSetEnvelopeState(TrackEnvelope env, string str)

Python: (Boolean retval, TrackEnvelope env, String str, Int str_sz) = RPR_GetSetEnvelopeState(env, str, str_sz)

Description:
deprecated -- see SetEnvelopeStateChunk, GetEnvelopeStateChunk

Parameters:
          env -
Returnvalues:
          retval -
          str -


^ Reaper version 5.62Lua version 5.3 GetSetEnvelopeState2

Functioncall:

C: bool GetSetEnvelopeState2(TrackEnvelope* env, char* str, int str_sz, bool isundo)

EEL: bool GetSetEnvelopeState2(TrackEnvelope env, #str, bool isundo)

Lua: boolean retval, string str = reaper.GetSetEnvelopeState2(TrackEnvelope env, string str, boolean isundo)

Python: (Boolean retval, TrackEnvelope env, String str, Int str_sz, Boolean isundo) = RPR_GetSetEnvelopeState2(env, str, str_sz, isundo)

Description:
deprecated -- see SetEnvelopeStateChunk, GetEnvelopeStateChunk

Parameters:
          env -
          isundo -
          isundo -
Returnvalues:
          retval -
          str -


^ Reaper version 5.62Lua version 5.3 GetSetItemState

Functioncall:

C: bool GetSetItemState(MediaItem* item, char* str, int str_sz)

EEL: bool GetSetItemState(MediaItem item, #str)

Lua: boolean retval, string str = reaper.GetSetItemState(MediaItem item, string str)

Python: (Boolean retval, MediaItem item, String str, Int str_sz) = RPR_GetSetItemState(item, str, str_sz)

Description:
deprecated -- see SetItemStateChunk, GetItemStateChunk

Parameters:
          item -
Returnvalues:
          retval -
          str -


^ Reaper version 5.62Lua version 5.3 GetSetItemState2

Functioncall:

C: bool GetSetItemState2(MediaItem* item, char* str, int str_sz, bool isundo)

EEL: bool GetSetItemState2(MediaItem item, #str, bool isundo)

Lua: boolean retval, string str = reaper.GetSetItemState2(MediaItem item, string str, boolean isundo)

Python: (Boolean retval, MediaItem item, String str, Int str_sz, Boolean isundo) = RPR_GetSetItemState2(item, str, str_sz, isundo)

Description:
deprecated -- see SetItemStateChunk, GetItemStateChunk

Parameters:
          item -
          isundo -
          isundo -
Returnvalues:
          retval -
          str -


^ Reaper version 5.975Lua version 5.3 GetSetMediaItemInfo_String

Functioncall:

C: bool GetSetMediaItemInfo_String(MediaItem* item, const char* parmname, char* stringNeedBig, bool setNewValue)

EEL: bool GetSetMediaItemInfo_String(MediaItem item, "parmname", #stringNeedBig, bool setNewValue)

Lua: boolean retval, string stringNeedBig = reaper.GetSetMediaItemInfo_String(MediaItem item, string parmname, string stringNeedBig, boolean setNewValue)

Python: (Boolean retval, MediaItem item, String parmname, String stringNeedBig, Boolean setNewValue) = RPR_GetSetMediaItemInfo_String(item, parmname, stringNeedBig, setNewValue)

Description:
Gets/sets an item attribute string:
    P_NOTES : char * : item note text (do not write to returned pointer, use setNewValue to update)
    P_EXT:xyz : char * : extension-specific persistent data
    GUID : GUID * : 16-byte GUID, can query or update. If using a _String() function, GUID is a string {xyz-...}.

Parameters:
          MediaItem item -
          string parmname -
          string stringNeedBig -
          boolean setNewValue -
Returnvalues:
          boolean retval -
          string stringNeedBig -


^ Reaper version 5.975Lua version 5.3 GetSetMediaItemTakeInfo_String

Functioncall:

C: bool GetSetMediaItemTakeInfo_String(MediaItem_Take* tk, const char* parmname, char* stringNeedBig, bool setnewvalue)

EEL: bool GetSetMediaItemTakeInfo_String(MediaItem_Take tk, "parmname", #stringNeedBig, bool setnewvalue)

Lua: boolean retval, string stringNeedBig = reaper.GetSetMediaItemTakeInfo_String(MediaItem_Take tk, string parmname, string stringNeedBig, boolean setnewvalue)

Python: (Boolean retval, MediaItem_Take tk, String parmname, String stringNeedBig, Boolean setnewvalue) = RPR_GetSetMediaItemTakeInfo_String(tk, parmname, stringNeedBig, setnewvalue)

Description:
Gets/sets a take attribute string:
    P_NAME : char * to take name
    P_EXT:xyz : char * : extension-specific persistent data
    GUID : GUID * : 16-byte GUID, can query or update. If using a _String() function, GUID is a string {xyz-...}.

Parameters:
          MediaItem_Take tk -
          string parmname -
          string stringNeedBig -
          boolean setnewvalue -
Returnvalues:
          boolean retval -
          string stringNeedBig -


^ Reaper version 5.975Lua version 5.3 GetSetMediaTrackInfo_String

Functioncall:

C: bool GetSetMediaTrackInfo_String(MediaTrack* tr, const char* parmname, char* stringNeedBig, bool setnewvalue)

EEL: bool GetSetMediaTrackInfo_String(MediaTrack tr, "parmname", #stringNeedBig, bool setnewvalue)

Lua: boolean retval, string stringNeedBig = reaper.GetSetMediaTrackInfo_String(MediaTrack tr, string parmname, string stringNeedBig, boolean setnewvalue)

Python: (Boolean retval, MediaTrack tr, String parmname, String stringNeedBig, Boolean setnewvalue) = RPR_GetSetMediaTrackInfo_String(tr, parmname, stringNeedBig, setnewvalue)

Description:
Get or set track string attributes.
P_NAME : char * : track name (on master returns NULL)
P_ICON : const char * : track icon (full filename, or relative to resource_path/data/track_icons)
P_MCP_LAYOUT : const char * : layout name
P_TCP_LAYOUT : const char * : layout name
P_EXT:xyz : char * : extension-specific persistent data
GUID : GUID * : 16-byte GUID, can query or update. If using a _String() function, GUID is a string {xyz-...}.

Parameters:
          MediaTrack tr -
          string parmname -
          string stringNeedBig -
          boolean setnewvalue -
Returnvalues:
          boolean retval -
          string stringNeedBig -


^ Reaper version 5.62Lua version 5.3 GetSetProjectAuthor

Functioncall:

C: void GetSetProjectAuthor(ReaProject* proj, bool set, char* author, int author_sz)

EEL: GetSetProjectAuthor(ReaProject proj, bool set, #author)

Lua: string author = reaper.GetSetProjectAuthor(ReaProject proj, boolean set, string author)

Python: (ReaProject proj, Boolean set, String author, Int author_sz) = RPR_GetSetProjectAuthor(proj, set, author, author_sz)

Description:
gets or sets project author, author_sz is ignored when setting

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          set - true, set new author; false, get current project's author
          author - the new project author, when set is true. When set is false, author will be ignored.
Returnvalues:
          author - the (new) project's author


^ Reaper version 5.965Lua version 5.3 GetSetProjectGrid

Functioncall:

C: int GetSetProjectGrid(ReaProject* project, bool set, double* divisionInOutOptional, int* swingmodeInOutOptional, double* swingamtInOutOptional)

EEL: int GetSetProjectGrid(ReaProject project, bool set, optional &divisionIn, optional int &swingmodeIn, optional &swingamtIn)

Lua: integer retval, optional number divisionIn, optional number swingmodeIn, optional number swingamtIn = reaper.GetSetProjectGrid(ReaProject project, boolean set)

Python: (Int retval, ReaProject project, Boolean set, Float divisionInOutOptional, Int swingmodeInOutOptional, Float swingamtInOutOptional) = RPR_GetSetProjectGrid(project, set, divisionInOutOptional, swingmodeInOutOptional, swingamtInOutOptional)

Description:
Get or set the arrange view grid division. 0.25=quarter note, 1.0/3.0=half note triplet, etc. swingmode can be 1 for swing enabled, swingamt is -1..1. swingmode can be 3 for measure-grid. Returns grid configuration flags



Parameters:
          project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          set -
Returnvalues:
          retval -
          divisionIn -
          swingmodeIn -
          swingamtIn -


^ Reaper version 5.975Lua version 5.3 GetSetProjectInfo

Functioncall:

C: double GetSetProjectInfo(ReaProject* project, const char* desc, double value, bool is_set)

EEL: double GetSetProjectInfo(ReaProject project, "desc", value, bool is_set)

Lua: number value = reaper.GetSetProjectInfo(ReaProject project, string desc, number value, boolean is_set)

Python: Float RPR_GetSetProjectInfo(ReaProject project, String desc, Float value, Boolean is_set)

Description:
Get or set project information.

RENDER_SETTINGS: &(1|2)=0:master mix, &1=stems+master mix, &2=stems only, &4=multichannel tracks to multichannel files, &8=use render matrix, &16=tracks with only mono media to mono files, &32=selected media items; &64=selected media items via master
RENDER_BOUNDSFLAG : 0=custom time bounds, 1=entire project, 2=time selection, 3=all project regions, 4=selected media items, 5=selected project regions
RENDER_CHANNELS: number of channels in rendered file
RENDER_SRATE: sample rate of rendered file (or 0 for project sample rate)
RENDER_STARTPOS : render start time when RENDER_BOUNDSFLAG=0
RENDER_ENDPOS : render end time when RENDER_BOUNDSFLAG=0
RENDER_TAILFLAG: apply render tail setting when rendering: &1=custom time bounds, &2=entire project, &4=time selection, &8=all project regions, &16=selected media items, &32=selected project regions
RENDER_TAILMS: tail length in ms to render (only used if RENDER_BOUNDSFLAG and RENDER_TAILFLAG are set)
RENDER_ADDTOPROJ: 1=add rendered files to project
RENDER_DITHER: &1=dither, &2=noise shaping, &4=dither stems, &8=noise shaping on stems
PROJECT_SRATE: samplerate (ignored unless PROJECT_SRATE_USE set)
PROJECT_SRATE_USE: set to 1 if project samplerate is used

Parameters:
          ReaProject project -
          string desc -
          number value -
          boolean is_set -
Returnvalues:
          number value -


^ Reaper version 5.975Lua version 5.3 GetSetProjectInfo_String

Functioncall:

C: bool GetSetProjectInfo_String(ReaProject* project, const char* desc, char* valuestrNeedBig, bool is_set)

EEL: bool GetSetProjectInfo_String(ReaProject project, "desc", #valuestrNeedBig, bool is_set)

Lua: boolean retval, string valuestrNeedBig = reaper.GetSetProjectInfo_String(ReaProject project, string desc, string valuestrNeedBig, boolean is_set)

Python: (Boolean retval, ReaProject project, String desc, String valuestrNeedBig, Boolean is_set) = RPR_GetSetProjectInfo_String(project, desc, valuestrNeedBig, is_set)

Description:
Get or set project information.

RECORD_PATH: recording directory -- may be blank or a relative path, to get the effective path see GetProjectPathEx

RENDER_FILE: render directory
RENDER_PATTERN: render file name (may contain wildcards)
RENDER_FORMAT: base64-encoded sink configuration (see project files, etc). Callers can also pass a simple 4-byte string (non-base64-encoded), to use default settings for that sink type.
see render-code-documentation for how the unencoded RENDER_FORMAT-string is structured.

To just use the 4-byte-string, you can use:
"evaw" for wave, "ffia" for aiff, " osi" for audio-cd, " pdd" for ddp, "calf" for flac, "l3pm" for mp3, "vggo" for ogg, "SggO" for Opus, "PMFF" for FFMpeg-video, "FVAX" for MP4Video/Audio on Mac, " FIG" for Gif, " FCL" for LCF, "kpvw" for wavepack

Parameters:
          ReaProject project -
          string desc -
          string valuestrNeedBig -
          boolean is_set -
Returnvalues:
          boolean retval -
          string valuestrNeedBig -


^ Reaper version 5.62Lua version 5.3 GetSetProjectNotes

Functioncall:

C: void GetSetProjectNotes(ReaProject* proj, bool set, char* notesNeedBig, int notesNeedBig_sz)

EEL: GetSetProjectNotes(ReaProject proj, bool set, #notes)

Lua: string notes = reaper.GetSetProjectNotes(ReaProject proj, boolean set, string notes)

Python: (ReaProject proj, Boolean set, String notesNeedBig, Int notesNeedBig_sz) = RPR_GetSetProjectNotes(proj, set, notesNeedBig, notesNeedBig_sz)

Description:
gets or sets project notes, notesNeedBig_sz is ignored when setting

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          set - true, set the project's notes; false, get the project's notes
          notes - the new project's notes, when set is set to true
Returnvalues:
          notes - the notes stored in the project's notes.


^ Reaper version 5.62Lua version 5.3 GetSetRepeat

Functioncall:

C: int GetSetRepeat(int val)

EEL: int GetSetRepeat(int val)

Lua: integer = reaper.GetSetRepeat(integer val)

Python: Int RPR_GetSetRepeat(Int val)

Description:
Sets or gets repeat-state of the current project.

Parameters:
          val - -1, query repeat-state
0, clear repeat state
1, set repeat to repeat
2 and higher, toggle repeat state
Returnvalues:
          integer - new/current repeat state; 0, repeat is off; 1, repeat is on


^ Reaper version 5.62Lua version 5.3 GetSetRepeatEx

Functioncall:

C: int GetSetRepeatEx(ReaProject* proj, int val)

EEL: int GetSetRepeatEx(ReaProject proj, int val)

Lua: integer = reaper.GetSetRepeatEx(ReaProject proj, integer val)

Python: Int RPR_GetSetRepeatEx(ReaProject proj, Int val)

Description:
Sets or gets repeat-state in a specific project.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          val - -1, query repeat-state
0, clear repeat state
1, set repeat to repeat
2 and higher, toggle repeat state
Returnvalues:
          integer - new/current repeat state; 0, repeat is off; 1, repeat is on


^ Reaper version 5.62Lua version 5.3 GetSetTrackGroupMembership

Functioncall:

C: unsigned int GetSetTrackGroupMembership(MediaTrack* tr, const char* groupname, unsigned int setmask, unsigned int setvalue)

EEL: uint GetSetTrackGroupMembership(MediaTrack tr, "groupname", uint setmask, uint setvalue)

Lua: integer = reaper.GetSetTrackGroupMembership(MediaTrack tr, string groupname, integer setmask, integer setvalue)

Python: Unknown RPR_GetSetTrackGroupMembership(MediaTrack tr, String groupname, Unknown setmask, Unknown setvalue)

Description:
Gets or modifies the group membership for a track. Returns group state prior to call (each bit represents one of the 32 group numbers). if setmask has bits set, those bits in setvalue will be applied to group. Group can be one of:
    VOLUME_MASTER
    VOLUME_SLAVE
    VOLUME_VCA_MASTER
    VOLUME_VCA_SLAVE
    PAN_MASTER
    PAN_SLAVE
    WIDTH_MASTER
    WIDTH_SLAVE
    MUTE_MASTER
    MUTE_SLAVE
    SOLO_MASTER
    SOLO_SLAVE
    RECARM_MASTER
    RECARM_SLAVE
    POLARITY_MASTER
    POLARITY_SLAVE
    AUTOMODE_MASTER
    AUTOMODE_SLAVE
    VOLUME_REVERSE
    PAN_REVERSE
    WIDTH_REVERSE
    NO_MASTER_WHEN_SLAVE
    VOLUME_VCA_SLAVE_ISPREFX

Parameters:
          tr -
          groupname -
          setmask -
          setvalue -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 GetSetTrackState

Functioncall:

C: bool GetSetTrackState(MediaTrack* track, char* str, int str_sz)

EEL: bool GetSetTrackState(MediaTrack track, #str)

Lua: boolean retval, string str = reaper.GetSetTrackState(MediaTrack track, string str)

Python: (Boolean retval, MediaTrack track, String str, Int str_sz) = RPR_GetSetTrackState(track, str, str_sz)

Description:
deprecated -- see SetTrackStateChunk, GetTrackStateChunk

Parameters:
          track -
Returnvalues:
          retval -
          str -


^ Reaper version 5.62Lua version 5.3 GetSetTrackState2

Functioncall:

C: bool GetSetTrackState2(MediaTrack* track, char* str, int str_sz, bool isundo)

EEL: bool GetSetTrackState2(MediaTrack track, #str, bool isundo)

Lua: boolean retval, string str = reaper.GetSetTrackState2(MediaTrack track, string str, boolean isundo)

Python: (Boolean retval, MediaTrack track, String str, Int str_sz, Boolean isundo) = RPR_GetSetTrackState2(track, str, str_sz, isundo)

Description:
deprecated -- see SetTrackStateChunk, GetTrackStateChunk

Parameters:
          track -
          str -
          isundo -
Returnvalues:
          retval -
          str -


^ Reaper version 5.62Lua version 5.3 GetSubProjectFromSource

Functioncall:

C: ReaProject* GetSubProjectFromSource(PCM_source* src)

EEL: ReaProject GetSubProjectFromSource(PCM_source src)

Lua: ReaProject = reaper.GetSubProjectFromSource(PCM_source src)

Python: ReaProject RPR_GetSubProjectFromSource(PCM_source src)

Description:


Parameters:
          src -
Returnvalues:
          ReaProject - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects


^ Reaper version 5.62Lua version 5.3 GetTake

Functioncall:

C: MediaItem_Take* GetTake(MediaItem* item, int takeidx)

EEL: MediaItem_Take GetTake(MediaItem item, int takeidx)

Lua: MediaItem_Take = reaper.GetTake(MediaItem item, integer takeidx)

Python: MediaItem_Take RPR_GetTake(MediaItem item, Int takeidx)

Description:
get a take from an item by take count (zero-based)

Parameters:
          item - the MediaItem, whose take you want to request
          takeidx - the index of the takes in a MediaItem
Returnvalues:
          MediaItem_Take - the requested MediaItem_Take


^ Reaper version 5.62Lua version 5.3 GetTakeEnvelope

Functioncall:

C: TrackEnvelope* GetTakeEnvelope(MediaItem_Take* take, int envidx)

EEL: TrackEnvelope GetTakeEnvelope(MediaItem_Take take, int envidx)

Lua: TrackEnvelope = reaper.GetTakeEnvelope(MediaItem_Take take, integer envidx)

Python: TrackEnvelope RPR_GetTakeEnvelope(MediaItem_Take take, Int envidx)

Description:


Parameters:
          take -
          envidx -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62Lua version 5.3 GetTakeEnvelopeByName

Functioncall:

C: TrackEnvelope* GetTakeEnvelopeByName(MediaItem_Take* take, const char* envname)

EEL: TrackEnvelope GetTakeEnvelopeByName(MediaItem_Take take, "envname")

Lua: TrackEnvelope = reaper.GetTakeEnvelopeByName(MediaItem_Take take, string envname)

Python: TrackEnvelope RPR_GetTakeEnvelopeByName(MediaItem_Take take, String envname)

Description:


Parameters:
          take -
          envname -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62Lua version 5.3 GetTakeName

Functioncall:

C: const char* GetTakeName(MediaItem_Take* take)

EEL: bool GetTakeName(#retval, MediaItem_Take take)

Lua: string = reaper.GetTakeName(MediaItem_Take take)

Python: String RPR_GetTakeName(MediaItem_Take take)

Description:
Retruns the filename of the mediafile in a take. returns NULL if the take is not valid

Parameters:
          take - the MediaItem_Take, whose mediafilename you want to have
Returnvalues:
          string - the filename of the mediafile in the take


^ Reaper version 5.62Lua version 5.3 GetTakeNumStretchMarkers

Functioncall:

C: int GetTakeNumStretchMarkers(MediaItem_Take* take)

EEL: int GetTakeNumStretchMarkers(MediaItem_Take take)

Lua: integer = reaper.GetTakeNumStretchMarkers(MediaItem_Take take)

Python: Int RPR_GetTakeNumStretchMarkers(MediaItem_Take take)

Description:
Returns number of stretch markers in take

Parameters:
          take -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 GetTakeStretchMarker

Functioncall:

C: int GetTakeStretchMarker(MediaItem_Take* take, int idx, double* posOut, double* srcposOutOptional)

EEL: int GetTakeStretchMarker(MediaItem_Take take, int idx, &pos, optional &srcpos)

Lua: integer retval, number pos, optional number srcpos = reaper.GetTakeStretchMarker(MediaItem_Take take, integer idx)

Python: (Int retval, MediaItem_Take take, Int idx, Float posOut, Float srcposOutOptional) = RPR_GetTakeStretchMarker(take, idx, posOut, srcposOutOptional)

Description:
Gets information on a stretch marker, idx is 0..n. Returns false if stretch marker not valid.
posOut will be set to position in item, srcposOutOptional will be set to source media position.
Returns index. if input index is -1, next marker is found using position (or source position if position is -1).
If position/source position are used to find marker position, their values are not updated.

Parameters:
          take -
          idx -
Returnvalues:
          retval -
          pos -
          srcpos -


^ Reaper version 5.62Lua version 5.3 GetTakeStretchMarkerSlope

Functioncall:

C: double GetTakeStretchMarkerSlope(MediaItem_Take* take, int idx)

EEL: double GetTakeStretchMarkerSlope(MediaItem_Take take, int idx)

Lua: number = reaper.GetTakeStretchMarkerSlope(MediaItem_Take take, integer idx)

Python: Float RPR_GetTakeStretchMarkerSlope(MediaItem_Take take, Int idx)

Description:
See SetTakeStretchMarkerSlope

Parameters:
          take -
          idx -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 GetTCPFXParm

Functioncall:

C: bool GetTCPFXParm(ReaProject* project, MediaTrack* track, int index, int* fxindexOut, int* parmidxOut)

EEL: bool GetTCPFXParm(ReaProject project, MediaTrack track, int index, int &fxindex, int &parmidx)

Lua: boolean retval, number fxindex, number parmidx = reaper.GetTCPFXParm(ReaProject project, MediaTrack track, integer index)

Python: (Boolean retval, ReaProject project, MediaTrack track, Int index, Int fxindexOut, Int parmidxOut) = RPR_GetTCPFXParm(project, track, index, fxindexOut, parmidxOut)

Description:
Get information about a specific FX parameter knob (see CountTCPFXParms).

Parameters:
          project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          track -
          index -
Returnvalues:
          retval -
          fxindex -
          parmidx -


^ Reaper version 5.62Lua version 5.3 GetTempoMatchPlayRate

Functioncall:

C: bool GetTempoMatchPlayRate(PCM_source* source, double srcscale, double position, double mult, double* rateOut, double* targetlenOut)

EEL: bool GetTempoMatchPlayRate(PCM_source source, srcscale, position, mult, &rate, &targetlen)

Lua: boolean retval, number rate, number targetlen = reaper.GetTempoMatchPlayRate(PCM_source source, number srcscale, number position, number mult)

Python: (Boolean retval, PCM_source source, Float srcscale, Float position, Float mult, Float rateOut, Float targetlenOut) = RPR_GetTempoMatchPlayRate(source, srcscale, position, mult, rateOut, targetlenOut)

Description:
finds the playrate and target length to insert this item stretched to a round power-of-2 number of bars, between 1/8 and 256

Parameters:
          source -
          srcscale -
          position -
          mult -
Returnvalues:
          retval -
          rate -
          targetlen -


^ Reaper version 5.62Lua version 5.3 GetTempoTimeSigMarker

Functioncall:

C: bool GetTempoTimeSigMarker(ReaProject* proj, int ptidx, double* timeposOut, int* measureposOut, double* beatposOut, double* bpmOut, int* timesig_numOut, int* timesig_denomOut, bool* lineartempoOut)

EEL: bool GetTempoTimeSigMarker(ReaProject proj, int ptidx, &timepos, int &measurepos, &beatpos, &bpm, int &timesig_num, int &timesig_denom, bool &lineartempo)

Lua: boolean retval, number timepos, number measurepos, number beatpos, number bpm, number timesig_num, number timesig_denom, boolean lineartempo = reaper.GetTempoTimeSigMarker(ReaProject proj, integer ptidx)

Python: (Boolean retval, ReaProject proj, Int ptidx, Float timeposOut, Int measureposOut, Float beatposOut, Float bpmOut, Int timesig_numOut, Int timesig_denomOut, Boolean lineartempoOut) = RPR_GetTempoTimeSigMarker(proj, ptidx, timeposOut, measureposOut, beatposOut, bpmOut, timesig_numOut, timesig_denomOut, lineartempoOut)

Description:
Get information about a tempo/time signature marker. See CountTempoTimeSigMarkers, SetTempoTimeSigMarker, AddTempoTimeSigMarker, DeleteTempoTimeSigMarker.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          ptidx -
Returnvalues:
          retval -
          timepos -
          measurepos -
          beatpos -
          bpm -
          timesig_num -
          timesig_denom -
          lineartempo -


^ Reaper version 5.62Lua version 5.3 GetToggleCommandState

Functioncall:

C: int GetToggleCommandState(int command_id)

EEL: int GetToggleCommandState(int command_id)

Lua: integer = reaper.GetToggleCommandState(integer command_id)

Python: Int RPR_GetToggleCommandState(Int command_id)

Description:
Return toggle-state of an action. See GetToggleCommandStateEx.
See NamedCommandLookup() for the correct command_id.

Parameters:
          command_id - the command_id, whose toggle-state you want to know.
Returnvalues:
          integer - toggle-state
0, off
1, on
-1, NA because the action does not have on/off states.


^ Reaper version 5.62Lua version 5.3 GetToggleCommandStateEx

Functioncall:

C: int GetToggleCommandStateEx(int section_id, int command_id)

EEL: int GetToggleCommandStateEx(int section_id, int command_id)

Lua: integer = reaper.GetToggleCommandStateEx(integer section_id, integer command_id)

Python: Int RPR_GetToggleCommandStateEx(Int section_id, Int command_id)

Description:
Return toggle-state of an action.
For the main action context, the MIDI editor, or the media explorer, returns the toggle state of the action. For the MIDI editor, the action state for the most recently focused window will be returned.
See NamedCommandLookup() for the correct command_id.

Parameters:
          section_id - the section, in which the action lies
0, Main
100, Main (alt recording) Note: If you already added to main(section 0), this function automatically adds the script to Main(alt) as well.
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          command_id - the command_id, whose toggle-state you want to know.
Returnvalues:
          integer - toggle-state
0, off
1, on
-1, NA because the action does not have on/off states.


^ Reaper version 5.62Lua version 5.3 GetTooltipWindow

Functioncall:

C: HWND GetTooltipWindow()

EEL: HWND GetTooltipWindow()

Lua: HWND = reaper.GetTooltipWindow()

Python: HWND RPR_GetTooltipWindow()

Description:
gets a tooltip window,in case you want to ask it for font information. Can return NULL.

Returnvalues:
          HWND - the tooltip-window


^ Reaper version 5.62Lua version 5.3 GetTrack

Functioncall:

C: MediaTrack* GetTrack(ReaProject* proj, int trackidx)

EEL: MediaTrack GetTrack(ReaProject proj, int trackidx)

Lua: MediaTrack = reaper.GetTrack(ReaProject proj, integer trackidx)

Python: MediaTrack RPR_GetTrack(ReaProject proj, Int trackidx)

Description:
get a track from a project by track count (zero-based) (proj=0 for active project)

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          trackidx - the tracknumber; 0 for the first track, 1 for the second track, etc.
Returnvalues:
          MediaTrack - the requested MediaTrack as an object


^ Reaper version 5.62Lua version 5.3 GetTrackAutomationMode

Functioncall:

C: int GetTrackAutomationMode(MediaTrack* tr)

EEL: int GetTrackAutomationMode(MediaTrack tr)

Lua: integer = reaper.GetTrackAutomationMode(MediaTrack tr)

Python: Int RPR_GetTrackAutomationMode(MediaTrack tr)

Description:
return the track mode, regardless of global override

Parameters:
          tr -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 GetTrackColor

Functioncall:

C: int GetTrackColor(MediaTrack* track)

EEL: int GetTrackColor(MediaTrack track)

Lua: integer = reaper.GetTrackColor(MediaTrack track)

Python: Int RPR_GetTrackColor(MediaTrack track)

Description:
Returns the track custom color as OS dependent color|0x100000 (i.e. ColorToNative(r,g,b)|0x100000). Black is returned as 0x01000000, no color setting is returned as 0.

Parameters:
          track - the MediaTrack, whose color you want to request
Returnvalues:
          integer - the os-dependent color


^ Reaper version 5.62Lua version 5.3 GetTrackDepth

Functioncall:

C: int GetTrackDepth(MediaTrack* track)

EEL: int GetTrackDepth(MediaTrack track)

Lua: integer = reaper.GetTrackDepth(MediaTrack track)

Python: Int RPR_GetTrackDepth(MediaTrack track)

Description:
Get the depth of a track within a folder structure

Parameters:
          track - the MediaTrack whose position in the track-folder-structure you want to request
Returnvalues:
          integer - the position in the track-folder-structure; 0 for the highest level or unfoldered tracks


^ Reaper version 5.62Lua version 5.3 GetTrackEnvelope

Functioncall:

C: TrackEnvelope* GetTrackEnvelope(MediaTrack* track, int envidx)

EEL: TrackEnvelope GetTrackEnvelope(MediaTrack track, int envidx)

Lua: TrackEnvelope = reaper.GetTrackEnvelope(MediaTrack track, integer envidx)

Python: TrackEnvelope RPR_GetTrackEnvelope(MediaTrack track, Int envidx)

Description:


Parameters:
          track -
          envidx -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62Lua version 5.3 GetTrackEnvelopeByChunkName

Functioncall:

C: TrackEnvelope* GetTrackEnvelopeByChunkName(MediaTrack* tr, const char* cfgchunkname)

EEL: TrackEnvelope GetTrackEnvelopeByChunkName(MediaTrack tr, "cfgchunkname")

Lua: TrackEnvelope = reaper.GetTrackEnvelopeByChunkName(MediaTrack tr, string cfgchunkname)

Python: TrackEnvelope RPR_GetTrackEnvelopeByChunkName(MediaTrack tr, String cfgchunkname)

Description:
Gets a built-in track envelope by configuration chunk name, e.g. "<VOLENV".


Parameters:
          tr -
          cfgchunkname -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62Lua version 5.3 GetTrackEnvelopeByName

Functioncall:

C: TrackEnvelope* GetTrackEnvelopeByName(MediaTrack* track, const char* envname)

EEL: TrackEnvelope GetTrackEnvelopeByName(MediaTrack track, "envname")

Lua: TrackEnvelope = reaper.GetTrackEnvelopeByName(MediaTrack track, string envname)

Python: TrackEnvelope RPR_GetTrackEnvelopeByName(MediaTrack track, String envname)

Description:


Parameters:
          track -
          envname -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.975Lua version 5.3 GetTrackFromPoint

Functioncall:

C: MediaTrack* GetTrackFromPoint(int screen_x, int screen_y, int* infoOutOptional)

EEL: MediaTrack GetTrackFromPoint(int screen_x, int screen_y, optional int &info)

Lua: MediaTrack retval, optional number info = reaper.GetTrackFromPoint(integer screen_x, integer screen_y)

Python: (MediaTrack retval, Int screen_x, Int screen_y, Int infoOutOptional) = RPR_GetTrackFromPoint(screen_x, screen_y, infoOutOptional)

Description:
Returns the track from the screen coordinates specified. If the screen coordinates refer to a window associated to the track (such as FX), the track will be returned. infoOutOptional will be set to 1 if it is likely an envelope, 2 if it is likely a track FX.

Parameters:
          integer screen_x - the x-position in pixels, from which you want to get the underlying track
          integer screen_y - the y-position in pixels, from which you want to get the underlying track
Returnvalues:
          MediaTrack retval - the MediaTrack at position; if the position is above a window associated with the track, this holds the track, where retval info will hold additional information
          optional number info - additional information, if the position is above a windows associated with a track 1, if it is likely an envelope 2, if it is likely a track FX


^ Reaper version 5.62Lua version 5.3 GetTrackGUID

Functioncall:

C: GUID* GetTrackGUID(MediaTrack* tr)

EEL: bool GetTrackGUID(#retguid, MediaTrack tr)

Lua: string GUID = reaper.GetTrackGUID(MediaTrack tr)

Python: GUID RPR_GetTrackGUID(MediaTrack tr)

Description:


Parameters:
          tr -
Returnvalues:
          GUID -


^ Reaper version 5.62Lua version 5.3 GetTrackMediaItem

Functioncall:

C: MediaItem* GetTrackMediaItem(MediaTrack* tr, int itemidx)

EEL: MediaItem GetTrackMediaItem(MediaTrack tr, int itemidx)

Lua: MediaItem = reaper.GetTrackMediaItem(MediaTrack tr, integer itemidx)

Python: MediaItem RPR_GetTrackMediaItem(MediaTrack tr, Int itemidx)

Description:


Parameters:
          tr -
          itemidx -
Returnvalues:
          MediaItem -


^ Reaper version 5.965Lua version 5.3 GetTrackMIDILyrics

Functioncall:

C: bool GetTrackMIDILyrics(MediaTrack* track, int flag, char* bufWantNeedBig, int* bufWantNeedBig_sz)

EEL: bool GetTrackMIDILyrics(MediaTrack track, int flag, #bufWant)

Lua: boolean retval, string bufWant = reaper.GetTrackMIDILyrics(MediaTrack track, integer flag, string bufWant)

Python: (Boolean retval, MediaTrack track, Int flag, String bufWantNeedBig, Int bufWantNeedBig_sz) = RPR_GetTrackMIDILyrics(track, flag, bufWantNeedBig, bufWantNeedBig_sz)

Description:
Get all MIDI lyrics on the track. Lyrics will be returned as one string with tabs between each word. flag&1: double tabs at the end of each measure and triple tabs when skipping measures, flag&2: each lyric is preceded by its beat position in the project (example with flag=2: "1.1.2\tLyric for measure 1 beat 2\t.1.1\tLyric for measure 2 beat 1 "). See SetTrackMIDILyrics

Parameters:
          track -
          flag -
Returnvalues:
          retval -
          bufWantNeedBig_sz -


^ Reaper version 5.62Lua version 5.3 GetTrackMIDINoteName

Functioncall:

C: const char* GetTrackMIDINoteName(int track, int pitch, int chan)

EEL: bool GetTrackMIDINoteName(#retval, int track, int pitch, int chan)

Lua: string = reaper.GetTrackMIDINoteName(integer track, integer pitch, integer chan)

Python: String RPR_GetTrackMIDINoteName(Int track, Int pitch, Int chan)

Description:
see GetTrackMIDINoteNameEx

Parameters:
          track -
          pitch -
          chan -
Returnvalues:
          string -


^ Reaper version 5.92Lua version 5.3 GetTrackMIDINoteNameEx

Functioncall:

C: const char* GetTrackMIDINoteNameEx(ReaProject* proj, MediaTrack* track, int pitch, int chan)

EEL: bool GetTrackMIDINoteNameEx(#retval, ReaProject proj, MediaTrack track, int pitch, int chan)

Lua: string = reaper.GetTrackMIDINoteNameEx(ReaProject proj, MediaTrack track, integer pitch, integer chan)

Python: String RPR_GetTrackMIDINoteNameEx(ReaProject proj, MediaTrack track, Int pitch, Int chan)

Description:
Get note/CC name. pitch 128 for CC0 name, 129 for CC1 name, etc. See SetTrackMIDINoteNameEx

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          track -
          pitch -
          chan -
Returnvalues:
          string -


^ Reaper version 5.62Lua version 5.3 GetTrackMIDINoteRange

Functioncall:

C: void GetTrackMIDINoteRange(ReaProject* proj, MediaTrack* track, int* note_loOut, int* note_hiOut)

EEL: GetTrackMIDINoteRange(ReaProject proj, MediaTrack track, int &note_lo, int &note_hi)

Lua: number note_lo retval, number note_hi = reaper.GetTrackMIDINoteRange(ReaProject proj, MediaTrack track)

Python: (ReaProject proj, MediaTrack track, Int note_loOut, Int note_hiOut) = RPR_GetTrackMIDINoteRange(proj, track, note_loOut, note_hiOut)

Description:


Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          track -
Returnvalues:
          note_lo retval -
          note_hi -


^ Reaper version 5.974Lua version 5.3 GetTrackName

Functioncall:

C: bool GetTrackName(MediaTrack* track, char* bufOut, int bufOut_sz)

EEL: bool GetTrackName(MediaTrack track, #buf)

Lua: boolean retval, string buf = reaper.GetTrackName(MediaTrack track)

Python: (Boolean retval, MediaTrack track, String bufOut, Int bufOut_sz) = RPR_GetTrackName(track, bufOut, bufOut_sz)

Description:
Returns "MASTER" for master track, "Track N" if track has no name.

Parameters:
          track - the MediaTrack, whose name you want to know
Returnvalues:
          retval - true, if successful
          buf - the name of the track; "MASTER" for master-track; "Track N" if the track has no given name yet(N=tracknumber)


^ Reaper version 5.62Lua version 5.3 GetTrackNumMediaItems

Functioncall:

C: int GetTrackNumMediaItems(MediaTrack* tr)

EEL: int GetTrackNumMediaItems(MediaTrack tr)

Lua: integer = reaper.GetTrackNumMediaItems(MediaTrack tr)

Python: Int RPR_GetTrackNumMediaItems(MediaTrack tr)

Description:
Get the number of MediaItems of a MediaTrack

Parameters:
          tr - the MediaTrack, whose number of MediaItems you want to count
Returnvalues:
          integer - the number of MediaItems in the MediaTrack


^ Reaper version 5.62Lua version 5.3 GetTrackNumSends

Functioncall:

C: int GetTrackNumSends(MediaTrack* tr, int category)

EEL: int GetTrackNumSends(MediaTrack tr, int category)

Lua: integer = reaper.GetTrackNumSends(MediaTrack tr, integer category)

Python: Int RPR_GetTrackNumSends(MediaTrack tr, Int category)

Description:
returns number of sends/receives/hardware outputs

Parameters:
          tr - the MediaTrack, whose number of sends/receives/hardware outputs you want to know
          category - <0 for receives; 0=sends; >0 for hardware outputs
Returnvalues:
          integer - the number of sends/receives/hardware outputs


^ Reaper version 5.62Lua version 5.3 GetTrackReceiveName

Functioncall:

C: bool GetTrackReceiveName(MediaTrack* track, int recv_index, char* buf, int buf_sz)

EEL: bool GetTrackReceiveName(MediaTrack track, int recv_index, #buf)

Lua: boolean retval, string buf = reaper.GetTrackReceiveName(MediaTrack track, integer recv_index, string buf)

Python: (Boolean retval, MediaTrack track, Int recv_index, String buf, Int buf_sz) = RPR_GetTrackReceiveName(track, recv_index, buf, buf_sz)

Description:
See GetTrackSendName.

Parameters:
          track -
          recv_index -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 GetTrackReceiveUIMute

Functioncall:

C: bool GetTrackReceiveUIMute(MediaTrack* track, int recv_index, bool* muteOut)

EEL: bool GetTrackReceiveUIMute(MediaTrack track, int recv_index, bool &mute)

Lua: boolean retval, boolean mute = reaper.GetTrackReceiveUIMute(MediaTrack track, integer recv_index)

Python: (Boolean retval, MediaTrack track, Int recv_index, Boolean muteOut) = RPR_GetTrackReceiveUIMute(track, recv_index, muteOut)

Description:
See GetTrackSendUIMute.

Parameters:
          track -
          recv_index -
Returnvalues:
          retval -
          mute -


^ Reaper version 5.62Lua version 5.3 GetTrackReceiveUIVolPan

Functioncall:

C: bool GetTrackReceiveUIVolPan(MediaTrack* track, int recv_index, double* volumeOut, double* panOut)

EEL: bool GetTrackReceiveUIVolPan(MediaTrack track, int recv_index, &volume, &pan)

Lua: boolean retval, number volume, number pan = reaper.GetTrackReceiveUIVolPan(MediaTrack track, integer recv_index)

Python: (Boolean retval, MediaTrack track, Int recv_index, Float volumeOut, Float panOut) = RPR_GetTrackReceiveUIVolPan(track, recv_index, volumeOut, panOut)

Description:
See GetTrackSendUIVolPan.

Parameters:
          track -
          recv_index -
Returnvalues:
          retval -
          volume -
          pan -


^ Reaper version 5.974Lua version 5.3 GetTrackSendInfo_Value

Functioncall:

C: double GetTrackSendInfo_Value(MediaTrack* tr, int category, int sendidx, const char* parmname)

EEL: double GetTrackSendInfo_Value(MediaTrack tr, int category, int sendidx, "parmname")

Lua: number = reaper.GetTrackSendInfo_Value(MediaTrack tr, integer category, integer sendidx, string parmname)

Python: Float RPR_GetTrackSendInfo_Value(MediaTrack tr, Int category, Int sendidx, String parmname)

Description:
Get send/receive/hardware output numerical-value attributes.
category is <0 for receives, 0=sends, >0 for hardware outputs
parameter names:

B_MUTE : bool *
B_PHASE : bool *, true to flip phase
B_MONO : bool *
D_VOL : double *, 1.0 = +0dB etc
D_PAN : double *, -1..+1
D_PANLAW : double *,1.0=+0.0db, 0.5=-6dB, -1.0 = projdef etc
I_SENDMODE : int *, 0=post-fader, 1=pre-fx, 2=post-fx (deprecated), 3=post-fx
I_AUTOMODE : int * : automation mode (-1=use track automode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
I_SRCCHAN : int *, index,&1024=mono, -1 for none
I_DSTCHAN : int *, index, &1024=mono, otherwise stereo pair, hwout:&512=rearoute
I_MIDIFLAGS : int *, low 5 bits=source channel 0=all, 1-16, next 5 bits=dest channel, 0=orig, 1-16=chanP_DESTTRACK : read only, returns MediaTrack , destination track, only applies for sends/recvs
P_SRCTRACK : read only, returns MediaTrack
, source track, only applies for sends/recvs
P_ENV:<envchunkname : read only, returns TrackEnvelope *. To get a specific TrackEnvelope, call with :<VOLENV, :<PANENV, etc appended.

See CreateTrackSend, RemoveTrackSend, GetTrackNumSends.

Parameters:
          tr -
          category -
          sendidx -
          parmname -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 GetTrackSendName

Functioncall:

C: bool GetTrackSendName(MediaTrack* track, int send_index, char* buf, int buf_sz)

EEL: bool GetTrackSendName(MediaTrack track, int send_index, #buf)

Lua: boolean retval, string buf = reaper.GetTrackSendName(MediaTrack track, integer send_index, string buf)

Python: (Boolean retval, MediaTrack track, Int send_index, String buf, Int buf_sz) = RPR_GetTrackSendName(track, send_index, buf, buf_sz)

Description:
send_idx>=0 for hw outputs, >=nb_of_hw_outputs for sends. See GetTrackReceiveName.

Parameters:
          track -
          send_index -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 GetTrackSendUIMute

Functioncall:

C: bool GetTrackSendUIMute(MediaTrack* track, int send_index, bool* muteOut)

EEL: bool GetTrackSendUIMute(MediaTrack track, int send_index, bool &mute)

Lua: boolean retval, boolean mute = reaper.GetTrackSendUIMute(MediaTrack track, integer send_index)

Python: (Boolean retval, MediaTrack track, Int send_index, Boolean muteOut) = RPR_GetTrackSendUIMute(track, send_index, muteOut)

Description:
send_idx>=0 for hw outputs, >=nb_of_hw_outputs for sends. See GetTrackReceiveUIMute.

Parameters:
          track -
          send_index -
Returnvalues:
          retval -
          mute -


^ Reaper version 5.62Lua version 5.3 GetTrackSendUIVolPan

Functioncall:

C: bool GetTrackSendUIVolPan(MediaTrack* track, int send_index, double* volumeOut, double* panOut)

EEL: bool GetTrackSendUIVolPan(MediaTrack track, int send_index, &volume, &pan)

Lua: boolean retval, number volume, number pan = reaper.GetTrackSendUIVolPan(MediaTrack track, integer send_index)

Python: (Boolean retval, MediaTrack track, Int send_index, Float volumeOut, Float panOut) = RPR_GetTrackSendUIVolPan(track, send_index, volumeOut, panOut)

Description:
send_idx>=0 for hw outputs, >=nb_of_hw_outputs for sends. See GetTrackReceiveUIVolPan.

Parameters:
          track -
          send_index -
Returnvalues:
          retval -
          volume -
          pan -


^ Reaper version 5.62Lua version 5.3 GetTrackState

Functioncall:

C: const char* GetTrackState(MediaTrack* track, int* flagsOut)

EEL: bool GetTrackState(#retval, MediaTrack track, int &flags)

Lua: string retval, number flags = reaper.GetTrackState(MediaTrack track)

Python: (String retval, MediaTrack track, Int flagsOut) = RPR_GetTrackState(track, flagsOut)

Description:
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
&128=rec monitoring on
&256=rec monitoring auto
&512=hide from TCP
&1024=hide from MCP

Parameters:
          track -
Returnvalues:
          retval -
          flags -


^ Reaper version 5.982Lua version 5.3 GetTrackStateChunk

Functioncall:

C: bool GetTrackStateChunk(MediaTrack* track, char* strNeedBig, int strNeedBig_sz, bool isundoOptional)

EEL: bool GetTrackStateChunk(MediaTrack track, #str, bool isundo)

Lua: boolean retval, string str = reaper.GetTrackStateChunk(MediaTrack track, string str, boolean isundo)

Python: (Boolean retval, MediaTrack track, String strNeedBig, Int strNeedBig_sz, Boolean isundoOptional) = RPR_GetTrackStateChunk(track, strNeedBig, strNeedBig_sz, isundoOptional)

Description:
Gets the RPPXML state of a track, returns true if successful. Undo flag is a performance/caching hint.

Parameters:
          track -
          isundo -
          isundo -
Returnvalues:
          retval -
          str -


^ Reaper version 5.62Lua version 5.3 GetTrackUIMute

Functioncall:

C: bool GetTrackUIMute(MediaTrack* track, bool* muteOut)

EEL: bool GetTrackUIMute(MediaTrack track, bool &mute)

Lua: boolean retval, boolean mute = reaper.GetTrackUIMute(MediaTrack track)

Python: (Boolean retval, MediaTrack track, Boolean muteOut) = RPR_GetTrackUIMute(track, muteOut)

Description:


Parameters:
          track -
Returnvalues:
          retval -
          mute -


^ Reaper version 5.62Lua version 5.3 GetTrackUIPan

Functioncall:

C: bool GetTrackUIPan(MediaTrack* track, double* pan1Out, double* pan2Out, int* panmodeOut)

EEL: bool GetTrackUIPan(MediaTrack track, &pan1, &pan2, int &panmode)

Lua: boolean retval, number pan1, number pan2, number panmode = reaper.GetTrackUIPan(MediaTrack track)

Python: (Boolean retval, MediaTrack track, Float pan1Out, Float pan2Out, Int panmodeOut) = RPR_GetTrackUIPan(track, pan1Out, pan2Out, panmodeOut)

Description:


Parameters:
          track -
Returnvalues:
          retval -
          pan1 -
          pan2 -
          panmode -


^ Reaper version 5.62Lua version 5.3 GetTrackUIVolPan

Functioncall:

C: bool GetTrackUIVolPan(MediaTrack* track, double* volumeOut, double* panOut)

EEL: bool GetTrackUIVolPan(MediaTrack track, &volume, &pan)

Lua: boolean retval, number volume, number pan = reaper.GetTrackUIVolPan(MediaTrack track)

Python: (Boolean retval, MediaTrack track, Float volumeOut, Float panOut) = RPR_GetTrackUIVolPan(track, volumeOut, panOut)

Description:


Parameters:
          track -
Returnvalues:
          retval -
          volume -
          pan -


^ Reaper version 5.62Lua version 5.3 GetUnderrunTime

Functioncall:

C: void GetUnderrunTime(unsigned int* audio_xrunOutOptional, unsigned int* media_xrunOutOptional, unsigned int* curtimeOutOptional)

EEL: GetUnderrunTime(optional unsigned int &audio_xrun, optional unsigned int &media_xrun, optional unsigned int &curtime)

Lua: optional number audio_xrun retval, optional number media_xrun, optional number curtime = reaper.GetUnderrunTime()

Python: RPR_GetUnderrunTime(unsigned int audio_xrunOutOptional, unsigned int media_xrunOutOptional, unsigned int curtimeOutOptional)

Description:
retrieves the last timestamps of audio xrun (yellow-flash, if available), media xrun (red-flash), and the current time stamp (all milliseconds)

Returnvalues:
          audio_xrun retval -
          media_xrun -
          curtime -


^ Reaper version 5.62Lua version 5.3 GetUserFileNameForRead

Functioncall:

C: bool GetUserFileNameForRead(char* filenameNeed4096, const char* title, const char* defext)

EEL: bool GetUserFileNameForRead(#filenameNeed4096, "title", "defext")

Lua: boolean retval, string filenameNeed4096 = reaper.GetUserFileNameForRead(string filenameNeed4096, string title, string defext)

Python: (Boolean retval, String filenameNeed4096, String title, String defext) = RPR_GetUserFileNameForRead(filenameNeed4096, title, defext)

Description:
Opens a filerequester, where a user can select a file.
The requester only returns the file, but doesn't open or write to it. That said, this function can be used for both use-cases, BUT: keep in mind, that it shows an "open"-button, even if you want to use it in code for saving a file. You also can't use it for "create new file"-usecases, as you can't choose nonexisting files.

Parameters:
          filenameNeed4096 - default-filename the requester uses, until the user selects another file.
          title - title of the file-requester-window
          defext - the filter for the fileextensions. Only files with an extension defined in defext are shown.
examples:
"", all files
"*", all files
"ini", only .ini-files
"*.ini", only .ini-files
"*.txt; *.ini; *.exe", shows .txt; .ini; .exe-files
Returnvalues:
          retval - true, if the user selected a file; false if the user canceled the dialog
          filenameNeed4096 - the filename including the full absolute path of the file the user selected


^ Reaper version 5.979Lua version 5.3 GetUserInputs

Functioncall:

C: bool GetUserInputs(const char* title, int num_inputs, const char* captions_csv, char* retvals_csv, int retvals_csv_sz)

EEL: bool GetUserInputs("title", int num_inputs, "captions_csv", #retvals_csv)

Lua: boolean retval, string retvals_csv = reaper.GetUserInputs(string title, integer num_inputs, string captions_csv, string retvals_csv)

Python: (Boolean retval, String title, Int num_inputs, String captions_csv, String retvals_csv, Int retvals_csv_sz) = RPR_GetUserInputs(title, num_inputs, captions_csv, retvals_csv, retvals_csv_sz)

Description:
Opens a window with input-fields to get values from the user.
If a caption begins with *, for example "*password", the edit field will not display the input text.
Maximum fields is 16. Values are returned as a comma/custom separator-separated string.
Returns false if the user canceled the dialog.

You can supply special extra information via additional caption fields: extrawidth=XXX to increase text field width, separator=X to use a different separator for returned fields(separator=\n is recommended).

Example:

retval, retvals_csv = reaper.GetUserInputs("Title", 2, "Hello,World, separator=\n", "defaultvalue1\ndefaultvalue2")

will return the values input by the user, separated by a newline.

\n is recommended, as this allows the user entering everything, a one-lined-inputbox can handle.

Important: the separator-field in the captions has no effect on how captions are separated from each other. They still need to be separated by commas!

Parameters:
          title - title of the window
          num_inputs - number of input-fields, 1-16.
          captions_csv - a string with the captions for each input-field, each separated by a comma. Can be fewer than num_inputs. If a caption begins with , the inputfield will display instead of characters(for i.e. passwords).
          retvals_csv - default-values for each input-field, separated by a comma or a separator you chose.
Returnvalues:
          retval - did the user click OK in the dialog(true) or close/cancel the dialog(false)
          retvals_csv - the data from each of the input-fields, separated by a comma , or a separator you chose.


^ Reaper version 5.62Lua version 5.3 GoToMarker

Functioncall:

C: void GoToMarker(ReaProject* proj, int marker_index, bool use_timeline_order)

EEL: GoToMarker(ReaProject proj, int marker_index, bool use_timeline_order)

Lua: reaper.GoToMarker(ReaProject proj, integer marker_index, boolean use_timeline_order)

Python: RPR_GoToMarker(ReaProject proj, Int marker_index, Boolean use_timeline_order)

Description:
Go to marker.
Move Editcursor to a given marker. When playing, the playcursor moves to the marker as well.

For Regions, use GoToRegion.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          marker_index - the markerindex, where you want to go to.
          use_timeline_order - false, use the shown-markernumber as marker_index; true, use markers in timelineorder, ignoring the shown-markernumber


^ Reaper version 5.62Lua version 5.3 GoToRegion

Functioncall:

C: void GoToRegion(ReaProject* proj, int region_index, bool use_timeline_order)

EEL: GoToRegion(ReaProject proj, int region_index, bool use_timeline_order)

Lua: reaper.GoToRegion(ReaProject proj, integer region_index, boolean use_timeline_order)

Python: RPR_GoToRegion(ReaProject proj, Int region_index, Boolean use_timeline_order)

Description:
Go to beginning of a region.
Seek to region after current region finishes playing (smooth seek).

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          region_index - the regionindex, where you want to got to.
          use_timeline_order - false, use the shown-regionnumber as region_index; true, use regions in timelineorder, ignoring the shown-regionnumber


^ Reaper version 5.62Lua version 5.3 GR_SelectColor

Functioncall:

C: int GR_SelectColor(HWND hwnd, int* colorOut)

EEL: int GR_SelectColor(HWND hwnd, int &color)

Lua: integer retval, number color = reaper.GR_SelectColor(HWND hwnd)

Python: (Int retval, HWND hwnd, Int colorOut) = RPR_GR_SelectColor(hwnd, colorOut)

Description:
Runs the system color chooser dialog. Returns 0 if the user cancels the dialog.

Parameters:
          hwnd - the window, in which to open the dialog. Nil is allowed in Lua.
Returnvalues:
          retval - 1, user chose a color; 0, user canceled dialog
          color - the returned color as a native-color-value.


^ Reaper version 5.62Lua version 5.3 GSC_mainwnd

Functioncall:

C: int GSC_mainwnd(int t)

EEL: int GSC_mainwnd(int t)

Lua: integer = reaper.GSC_mainwnd(integer t)

Python: Int RPR_GSC_mainwnd(Int t)

Description:
his is just like win32 GetSysColor() but can have overrides.

Parameters:
          t -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 guidToString

Functioncall:

C: void guidToString(const GUID* g, char* destNeed64)

EEL: guidToString("gGUID", #destNeed64)

Lua: string destNeed64 = reaper.guidToString(string gGUID, string destNeed64)

Python: (const GUID g, String destNeed64) = RPR_guidToString(g, destNeed64)

Description:
dest should be at least 64 chars long to be safe

Parameters:
          gGUID -
Returnvalues:
          destNeed64 -


^ Reaper version 5.62Lua version 5.3 HasExtState

Functioncall:

C: bool HasExtState(const char* section, const char* key)

EEL: bool HasExtState("section", "key")

Lua: boolean = reaper.HasExtState(string section, string key)

Python: Boolean RPR_HasExtState(String section, String key)

Description:
Returns true if there exists an extended state value for a specific section and key. See SetExtState, GetExtState, DeleteExtState.

Parameters:
          section -
          key -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 HasTrackMIDIPrograms

Functioncall:

C: const char* HasTrackMIDIPrograms(int track)

EEL: bool HasTrackMIDIPrograms(#retval, int track)

Lua: string = reaper.HasTrackMIDIPrograms(integer track)

Python: String RPR_HasTrackMIDIPrograms(Int track)

Description:
returns name of track plugin that is supplying MIDI programs,or NULL if there is none

Parameters:
          track -
Returnvalues:
          string -


^ Reaper version 5.62Lua version 5.3 HasTrackMIDIProgramsEx

Functioncall:

C: const char* HasTrackMIDIProgramsEx(ReaProject* proj, MediaTrack* track)

EEL: bool HasTrackMIDIProgramsEx(#retval, ReaProject proj, MediaTrack track)

Lua: string = reaper.HasTrackMIDIProgramsEx(ReaProject proj, MediaTrack track)

Python: String RPR_HasTrackMIDIProgramsEx(ReaProject proj, MediaTrack track)

Description:
returns name of track plugin that is supplying MIDI programs,or NULL if there is none

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          track -
Returnvalues:
          string -


^ Reaper version 5.62Lua version 5.3 Help_Set

Functioncall:

C: void Help_Set(const char* helpstring, bool is_temporary_help)

EEL: Help_Set("helpstring", bool is_temporary_help)

Lua: reaper.Help_Set(string helpstring, boolean is_temporary_help)

Python: RPR_Help_Set(String helpstring, Boolean is_temporary_help)

Description:
Displays an information in the help and information-display, underneath the TCP(might be missing, in certain themes).

Parameters:
          helpstring - the string to display
          is_temporary_help - true, show until another message is displayed; false, show permanently, every time no other message is displayed.


^ Reaper version 5.62Lua version 5.3 image_resolve_fn

Functioncall:

C: void image_resolve_fn(const char* in, char* out, int out_sz)

EEL: image_resolve_fn("in", #out)

Lua: string out = reaper.image_resolve_fn(string in, string out)

Python: (String in, String out, Int out_sz) = RPR_image_resolve_fn(in, out, out_sz)

Description:


Parameters:
          in -
Returnvalues:
          out -


^ Reaper version 5.96Lua version 5.3 InsertAutomationItem

Functioncall:

C: int InsertAutomationItem(TrackEnvelope* env, int pool_id, double position, double length)

EEL: int InsertAutomationItem(TrackEnvelope env, int pool_id, position, length)

Lua: integer = reaper.InsertAutomationItem(TrackEnvelope env, integer pool_id, number position, number length)

Python: Int RPR_InsertAutomationItem(TrackEnvelope env, Int pool_id, Float position, Float length)

Description:
Insert a new automation item. pool_id < 0 collects existing envelope points into the automation item; if pool_id is >= 0 the automation item will be a new instance of that pool (which will be created as an empty instance if it does not exist). Returns the index of the item, suitable for passing to other automation item API functions. See GetSetAutomationItemInfo.

Parameters:
          env -
          pool_id -
          position -
          length -
Returnvalues:
          integer -


^ Reaper version 5.979Lua version 5.3 InsertEnvelopePoint

Functioncall:

C: bool InsertEnvelopePoint(TrackEnvelope* envelope, double time, double value, int shape, double tension, bool selected, bool* noSortInOptional)

EEL: bool InsertEnvelopePoint(TrackEnvelope envelope, time, value, int shape, tension, bool selected, optional bool noSortIn)

Lua: boolean = reaper.InsertEnvelopePoint(TrackEnvelope envelope, number time, number value, integer shape, number tension, boolean selected, optional boolean noSortIn)

Python: (Boolean retval, TrackEnvelope envelope, Float time, Float value, Int shape, Float tension, Boolean selected, Boolean noSortInOptional) = RPR_InsertEnvelopePoint(envelope, time, value, shape, tension, selected, noSortInOptional)

Description:
Insert an envelope point. If setting multiple points at once, set noSort=true, and call Envelope_SortPoints when done. See InsertEnvelopePointEx.

Parameters:
          envelope -
          time -
          value -
          shape -
          tension -
          selected -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 5.979Lua version 5.3 InsertEnvelopePointEx

Functioncall:

C: bool InsertEnvelopePointEx(TrackEnvelope* envelope, int autoitem_idx, double time, double value, int shape, double tension, bool selected, bool* noSortInOptional)

EEL: bool InsertEnvelopePointEx(TrackEnvelope envelope, int autoitem_idx, time, value, int shape, tension, bool selected, optional bool noSortIn)

Lua: boolean = reaper.InsertEnvelopePointEx(TrackEnvelope envelope, integer autoitem_idx, number time, number value, integer shape, number tension, boolean selected, optional boolean noSortIn)

Python: (Boolean retval, TrackEnvelope envelope, Int autoitem_idx, Float time, Float value, Int shape, Float tension, Boolean selected, Boolean noSortInOptional) = RPR_InsertEnvelopePointEx(envelope, autoitem_idx, time, value, shape, tension, selected, noSortInOptional)

Description:
Insert an envelope point. If setting multiple points at once, set noSort=true, and call Envelope_SortPoints when done.
autoitem_idx=-1 for the underlying envelope, 0 for the first automation item on the envelope, etc.
For automation items, pass autoitem_idx|0x10000000 to base ptidx on the number of points in one full loop iteration,
even if the automation item is trimmed so that not all points are visible.
Otherwise, ptidx will be based on the number of visible points in the automation item, including all loop iterations.

See CountEnvelopePointsEx, GetEnvelopePointEx, SetEnvelopePointEx, DeleteEnvelopePointEx.

Parameters:
          envelope -
          autoitem_idx -
          time -
          value -
          shape -
          tension -
          selected -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 InsertMedia

Functioncall:

C: int InsertMedia(const char* file, int mode)

EEL: int InsertMedia("file", int mode)

Lua: integer = reaper.InsertMedia(string file, integer mode)

Python: Int RPR_InsertMedia(String file, Int mode)

Description:
mode:
0=add to current track,
1=add new track,
3=add to selected items as takes,
&4=stretch/loop to fit time sel,
&8=try to match tempo 1x,
&16=try to match tempo 0.5x,
&32=try to match tempo 2x,
&64=don't preserve pitch when matching tempo,
&128=no loop/section if startpct/endpct set,
&256=force loop regardless of global preference for looping imported items.
&512=use high word as absolute track index if mode&3==0.

Parameters:
          file -
          mode -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 InsertMediaSection

Functioncall:

C: int InsertMediaSection(const char* file, int mode, double startpct, double endpct, double pitchshift)

EEL: int InsertMediaSection("file", int mode, startpct, endpct, pitchshift)

Lua: integer = reaper.InsertMediaSection(string file, integer mode, number startpct, number endpct, number pitchshift)

Python: Int RPR_InsertMediaSection(String file, Int mode, Float startpct, Float endpct, Float pitchshift)

Description:


Parameters:
          file -
          mode -
          startpct -
          endpct -
          pitchshift -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 InsertTrackAtIndex

Functioncall:

C: void InsertTrackAtIndex(int idx, bool wantDefaults)

EEL: InsertTrackAtIndex(int idx, bool wantDefaults)

Lua: reaper.InsertTrackAtIndex(integer idx, boolean wantDefaults)

Python: RPR_InsertTrackAtIndex(Int idx, Boolean wantDefaults)

Description:
inserts a track at idx,of course this will be clamped to 0..GetNumTracks().

Parameters:
          idx - the index, in which to insert the track; 0, insert before the first track.
          wantDefaults - true, default envelopes/FX; false, no enabled FX/envelopes


^ Reaper version 5.62Lua version 5.3 IsMediaExtension

Functioncall:

C: bool IsMediaExtension(const char* ext, bool wantOthers)

EEL: bool IsMediaExtension("ext", bool wantOthers)

Lua: boolean = reaper.IsMediaExtension(string ext, boolean wantOthers)

Python: Boolean RPR_IsMediaExtension(String ext, Boolean wantOthers)

Description:
Tests a file extension (i.e. "wav" or "mid") to see if it's a media extension.
If wantOthers is set, then "RPP", "TXT" and other project-type formats will also pass.

Parameters:
          ext -
          wantOthers -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 IsMediaItemSelected

Functioncall:

C: bool IsMediaItemSelected(MediaItem* item)

EEL: bool IsMediaItemSelected(MediaItem item)

Lua: boolean = reaper.IsMediaItemSelected(MediaItem item)

Python: Boolean RPR_IsMediaItemSelected(MediaItem item)

Description:
Get, if a MediaItem is selected or not.

Parameters:
          item - the MediaItem, whose selected-state you want to know
Returnvalues:
          boolean - true, MediaItem is selected; false, MediaItem is not selected


^ Reaper version 5.62Lua version 5.3 IsProjectDirty

Functioncall:

C: int IsProjectDirty(ReaProject* proj)

EEL: int IsProjectDirty(ReaProject proj)

Lua: integer = reaper.IsProjectDirty(ReaProject proj)

Python: Int RPR_IsProjectDirty(ReaProject proj)

Description:
Is the project dirty (needing save)? Always returns 0 if 'undo/prompt to save' is disabled in preferences.

A project becomes dirty, as soon as it was changed since creation/last saving.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          integer - the state, if a project needs saving or not; 0, needs no saving; 1, needs saving


^ Reaper version 5.62Lua version 5.3 IsTrackSelected

Functioncall:

C: bool IsTrackSelected(MediaTrack* track)

EEL: bool IsTrackSelected(MediaTrack track)

Lua: boolean = reaper.IsTrackSelected(MediaTrack track)

Python: Boolean RPR_IsTrackSelected(MediaTrack track)

Description:
Get, if a MediaTrack is selected or not.

Parameters:
          track - the MediaTrack, whose selection-state you want to know
Returnvalues:
          boolean - true, MediaTrack is selected; false, MediaTrack is not selected


^ Reaper version 5.62Lua version 5.3 IsTrackVisible

Functioncall:

C: bool IsTrackVisible(MediaTrack* track, bool mixer)

EEL: bool IsTrackVisible(MediaTrack track, bool mixer)

Lua: boolean = reaper.IsTrackVisible(MediaTrack track, boolean mixer)

Python: Boolean RPR_IsTrackVisible(MediaTrack track, Boolean mixer)

Description:
Gets visibility-state of a MediaTrack.

Parameters:
          track - the MediaTrack, whose visibility-state you want to know
          mixer - true, visibility-state of the MediaTrack in the mixer; false, visibility-state of the MediaTrack in the TrackControlPanel
Returnvalues:
          boolean - true, MediaTrack is visible; false, MediaTrack is invisible


^ Reaper version 5.62Lua version 5.3 joystick_create

Functioncall:

C: joystick_device* joystick_create(const GUID* guid)

EEL: joystick_device joystick_create("guidGUID")

Lua: joystick_device = reaper.joystick_create(string guidGUID)

Python: joystick_device RPR_joystick_create(const GUID guid)

Description:
creates a joystick device

Parameters:
          guidGUID -
Returnvalues:
          joystick_device -


^ Reaper version 5.62Lua version 5.3 joystick_destroy

Functioncall:

C: void joystick_destroy(joystick_device* device)

EEL: joystick_destroy(joystick_device device)

Lua: reaper.joystick_destroy(joystick_device device)

Python: RPR_joystick_destroy(joystick_device device)

Description:
destroys a joystick device

Parameters:
          device -


^ Reaper version 5.62Lua version 5.3 joystick_enum

Functioncall:

C: const char* joystick_enum(int index, const char** namestrOutOptional)

EEL: bool joystick_enum(#retval, int index, optional #namestr)

Lua: string retval, optional string namestr = reaper.joystick_enum(integer index)

Python: String RPR_joystick_enum(Int index, String namestrOutOptional)

Description:
enumerates installed devices, returns GUID as a string

Parameters:
          index -
Returnvalues:
          retval -
          string namestr -


^ Reaper version 5.62Lua version 5.3 joystick_getaxis

Functioncall:

C: double joystick_getaxis(joystick_device* dev, int axis)

EEL: double joystick_getaxis(joystick_device dev, int axis)

Lua: number = reaper.joystick_getaxis(joystick_device dev, integer axis)

Python: Float RPR_joystick_getaxis(joystick_device dev, Int axis)

Description:
returns axis value (-1..1)

Parameters:
          dev -
          axis -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 joystick_getbuttonmask

Functioncall:

C: unsigned int joystick_getbuttonmask(joystick_device* dev)

EEL: uint joystick_getbuttonmask(joystick_device dev)

Lua: integer = reaper.joystick_getbuttonmask(joystick_device dev)

Python: Unknown RPR_joystick_getbuttonmask(joystick_device dev)

Description:
returns button pressed mask, 1=first button, 2=second...

Parameters:
          dev -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 joystick_getinfo

Functioncall:

C: int joystick_getinfo(joystick_device* dev, int* axesOutOptional, int* povsOutOptional)

EEL: int joystick_getinfo(joystick_device dev, optional int &axes, optional int &povs)

Lua: integer retval, optional number axes, optional number povs = reaper.joystick_getinfo(joystick_device dev)

Python: (Int retval, joystick_device dev, Int axesOutOptional, Int povsOutOptional) = RPR_joystick_getinfo(dev, axesOutOptional, povsOutOptional)

Description:
returns button count

Parameters:
          dev -
Returnvalues:
          retval -
          axes -
          povs -


^ Reaper version 5.62Lua version 5.3 joystick_getpov

Functioncall:

C: double joystick_getpov(joystick_device* dev, int pov)

EEL: double joystick_getpov(joystick_device dev, int pov)

Lua: number = reaper.joystick_getpov(joystick_device dev, integer pov)

Python: Float RPR_joystick_getpov(joystick_device dev, Int pov)

Description:
returns POV value (usually 0..655.35, or 655.35 on error)

Parameters:
          dev -
          pov -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 joystick_update

Functioncall:

C: bool joystick_update(joystick_device* dev)

EEL: bool joystick_update(joystick_device dev)

Lua: boolean = reaper.joystick_update(joystick_device dev)

Python: Boolean RPR_joystick_update(joystick_device dev)

Description:
Updates joystick state from hardware, returns true if successful (joystick_get* will not be valid until joystick_update() is called successfully)

Parameters:
          dev -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 LICE_ClipLine

Functioncall:

C: bool LICE_ClipLine(int* pX1Out, int* pY1Out, int* pX2Out, int* pY2Out, int xLo, int yLo, int xHi, int yHi)

EEL: bool LICE_ClipLine(int &pX1, int &pY1, int &pX2, int &pY2, int xLo, int yLo, int xHi, int yHi)

Lua: boolean retval, number pX1, number pY1, number pX2, number pY2 = reaper.LICE_ClipLine(number pX1, number pY1, number pX2, number pY2, integer xLo, integer yLo, integer xHi, integer yHi)

Python: (Boolean retval, Int pX1Out, Int pY1Out, Int pX2Out, Int pY2Out, Int xLo, Int yLo, Int xHi, Int yHi) = RPR_LICE_ClipLine(pX1Out, pY1Out, pX2Out, pY2Out, xLo, yLo, xHi, yHi)

Description:
Returns false if the line is entirely offscreen.

Parameters:
          xLo -
          xLo -
          xLo -
          xLo -
          xLo -
          yLo -
          xHi -
          yHi -
Returnvalues:
          retval -
          pX1 -
          pY1 -
          pX2 -
          pY2 -


^ Reaper version 5.62Lua version 5.3 Loop_OnArrow

Functioncall:

C: bool Loop_OnArrow(ReaProject* project, int direction)

EEL: bool Loop_OnArrow(ReaProject project, int direction)

Lua: boolean = reaper.Loop_OnArrow(ReaProject project, integer direction)

Python: Boolean RPR_Loop_OnArrow(ReaProject project, Int direction)

Description:
Move the loop selection left or right in steps according to snap-settings(when snap is enabled).

Parameters:
          project - the project to be checked for. 0 for current project. Can also be a ReaProject-object, as returned by EnumProjects
          direction - the direction to move; negative values, move towards start of project; positive values, move towards end of project; 0, keep position
Returnvalues:
          boolean - true, snap is enabled; false, snap is disabled


^ Reaper version 5.62Lua version 5.3 Main_OnCommand

Functioncall:

C: void Main_OnCommand(int command, int flag)

EEL: Main_OnCommand(int command, int flag)

Lua: reaper.Main_OnCommand(integer command, integer flag)

Python: RPR_Main_OnCommand(Int command, Int flag)

Description:
Performs an action belonging to the main action section. To perform non-native actions (ReaScripts, custom or extension plugins' actions) safely, see NamedCommandLookup().
See Main_OnCommandEx.

Parameters:
          command - the command-id of the action, you want to run
          flag - set to 0


^ Reaper version 5.62Lua version 5.3 Main_OnCommandEx

Functioncall:

C: void Main_OnCommandEx(int command, int flag, ReaProject* proj)

EEL: Main_OnCommandEx(int command, int flag, ReaProject proj)

Lua: reaper.Main_OnCommandEx(integer command, integer flag, ReaProject proj)

Python: RPR_Main_OnCommandEx(Int command, Int flag, ReaProject proj)

Description:
Performs an action belonging to the main action section. To perform non-native actions (ReaScripts, custom or extension plugins' actions) safely, see NamedCommandLookup().

Parameters:
          command - the command-id of the action, you want to run
          flag - 0
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects


^ Reaper version 5.983Lua version 5.3 Main_openProject

Functioncall:

C: void Main_openProject(const char* name)

EEL: Main_openProject("name")

Lua: reaper.Main_openProject(string name)

Python: RPR_Main_openProject(String name)

Description:
opens a project.

will prompt the user to save unless name is prefixed with 'noprompt:'.
    example: "noprompt:projectfile.rpp"
    
If name is prefixed with 'template:', project file will be loaded as a template.
    example: "template:projectfile.rpp"

You can combine both: "template:noprompt:projectfile.rpp"

If passed a .RTrackTemplate file, adds the template to the existing project.

Parameters:
          string name - the path and filename of the project/template you want to open


^ Reaper version 5.62Lua version 5.3 Main_SaveProject

Functioncall:

C: void Main_SaveProject(ReaProject* proj, bool forceSaveAsInOptional)

EEL: Main_SaveProject(ReaProject proj, bool forceSaveAsIn)

Lua: reaper.Main_SaveProject(ReaProject proj, boolean forceSaveAsIn)

Python: RPR_Main_SaveProject(ReaProject proj, Boolean forceSaveAsInOptional)

Description:
Save the project.
Optional with a save-dialog.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          forceSaveAsIn - false, save the project; true, open save-file-dialog first


^ Reaper version 5.62Lua version 5.3 Main_UpdateLoopInfo

Functioncall:

C: void Main_UpdateLoopInfo(int ignoremask)

EEL: Main_UpdateLoopInfo(int ignoremask)

Lua: reaper.Main_UpdateLoopInfo(integer ignoremask)

Python: RPR_Main_UpdateLoopInfo(Int ignoremask)

Description:


Parameters:
          ignoremask -


^ Reaper version 5.62Lua version 5.3 MarkProjectDirty

Functioncall:

C: void MarkProjectDirty(ReaProject* proj)

EEL: MarkProjectDirty(ReaProject proj)

Lua: reaper.MarkProjectDirty(ReaProject proj)

Python: RPR_MarkProjectDirty(ReaProject proj)

Description:
Marks project as dirty (needing save) if 'undo/prompt to save' is enabled in preferences.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects


^ Reaper version 5.62Lua version 5.3 MarkTrackItemsDirty

Functioncall:

C: void MarkTrackItemsDirty(MediaTrack* track, MediaItem* item)

EEL: MarkTrackItemsDirty(MediaTrack track, MediaItem item)

Lua: reaper.MarkTrackItemsDirty(MediaTrack track, MediaItem item)

Python: RPR_MarkTrackItemsDirty(MediaTrack track, MediaItem item)

Description:
If track is supplied, item is ignored

Parameters:
          track - the MediaTrack that you want to mark as dirty
          item - if no MediaTrack is given, use this MediaItem to mark as dirty


^ Reaper version 5.62Lua version 5.3 Master_GetPlayRate

Functioncall:

C: double Master_GetPlayRate(ReaProject* project)

EEL: double Master_GetPlayRate(ReaProject project)

Lua: number = reaper.Master_GetPlayRate(ReaProject project)

Python: Float RPR_Master_GetPlayRate(ReaProject project)

Description:
Get the playrate of the project.

Parameters:
          project - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          number - the playrate of the project, between 0.25 and 10.0


^ Reaper version 5.62Lua version 5.3 Master_GetPlayRateAtTime

Functioncall:

C: double Master_GetPlayRateAtTime(double time_s, ReaProject* proj)

EEL: double Master_GetPlayRateAtTime(time_s, ReaProject proj)

Lua: number = reaper.Master_GetPlayRateAtTime(number time_s, ReaProject proj)

Python: Float RPR_Master_GetPlayRateAtTime(Float time_s, ReaProject proj)

Description:


Parameters:
          time_s -