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.9 - 1350 functions available (Reaper, SWS and JS)


Reaper Reascript-Api-Documentation 6.03
"The Aristocrats!"

The Functions Reference


API-Documentation

1.Introduction2.1.cpp_desc2.2.eel_desc2.3.python_desc
2.4.lua_desc3.Datatypes_used_in_this_document  

Additional C++ Functions

reaper_plugin_functions.h
AddCustomizableMenuAddExtensionsMainMenuAudio_RegHardwareHookCSurf_OnOscControlMessage
CalculatePeaksCalculatePeaksFloatSrcPtrCountActionShortcutsCreateLocalOscHandler
CreateMIDIInputCreateMIDIOutputDeleteActionShortcutDestroyLocalOscHandler
DoActionShortcutDialogDuplicateCustomizableMenuFreeHeapPtrGetActionShortcutDesc
GetColorThemeGetColorThemeStructGetContextMenuGetIconThemePointer
GetIconThemePointerForDPIGetIconThemeStructGetPeaksBitmapGetPreferredDiskReadMode
GetPreferredDiskReadModePeakGetPreferredDiskWriteModeGetSetMediaItemInfoGetSetMediaItemTakeInfo
GetSetMediaTrackInfoGetSetObjectStateGetSetObjectState2GetSetTrackMIDISupportFile
GetSetTrackSendInfoGetToggleCommandState2GetToggleCommandStateThroughHooksGetTrackInfo
HiresPeaksFromSourceIsInRealTimeAudioIsItemTakeActiveForPlaybackIsREAPER
KBD_OnMainActionExLICE_ArcLICE_BlitLICE_Blur
LICE_BorderedRectLICE_CircleLICE_ClearLICE_ClearRect
LICE_CopyLICE_CreateBitmapLICE_CreateFontLICE_DrawCBezier
LICE_DrawCharLICE_DrawGlyphLICE_DrawRectLICE_DrawText
LICE_FillCBezierLICE_FillCircleLICE_FillConvexPolygonLICE_FillRect
LICE_FillTrapezoidLICE_FillTriangleLICE_GetPixelLICE_GradRect
LICE_LineLICE_LineIntLICE_LoadPNGLICE_LoadPNGFromResource
LICE_MeasureTextLICE_MultiplyAddRectLICE_PutPixelLICE_RotatedBlit
LICE_RoundRectLICE_ScaledBlitLICE_SimpleFillLICE__Destroy
LICE__DestroyFontLICE__DrawTextLICE__GetBitsLICE__GetDC
LICE__GetHeightLICE__GetRowSpanLICE__GetWidthLICE__IsFlipped
LICE__SetBkColorLICE__SetFromHFontLICE__SetTextColorLICE__SetTextCombineMode
LICE__resizeMIDI_eventlist_CreateMIDI_eventlist_DestroyPCM_Sink_Create
PCM_Sink_CreateExPCM_Sink_CreateMIDIFilePCM_Sink_CreateMIDIFileExPCM_Source_CreateFromSimple
PeakBuild_CreatePeakBuild_CreateExPeakGet_CreatePitchShiftSubModeMenu
PlayPreviewPlayPreviewExPlayTrackPreviewPlayTrackPreview2
PlayTrackPreview2ExREAPERAPI_LoadAPIReaperGetPitchShiftAPIResampler_Create
SectionFromUniqueIDSendLocalOscMessageSetRenderLastErrorStopPreview
StopTrackPreviewStopTrackPreview2WDL_VirtualWnd_ScaledBlitBG__mergesort
get_config_varget_midi_config_varkbd_OnMidiEventkbd_OnMidiList
kbd_ProcessActionsMenukbd_RunCommandThroughHookskbd_enumerateActionskbd_formatKeyName
kbd_getCommandNamekbd_getTextFromCmdkbd_processMidiEventActionExkbd_reprocessMenu
kbd_translateAcceleratorkbd_translateMouseplugin_getFilterListplugin_getImportableProjectFilterList
plugin_getapiplugin_registerprojectconfig_var_addrprojectconfig_var_getoffs
realloc_cmd_ptrscreenset_registerscreenset_registerNewscreenset_unregister
screenset_unregisterByParamscreenset_updateLastFocusupdate_disk_counters 

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
eel_time_preciseeel_while  

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}.multiplylua_{reaper.array}.resizelua_{reaper.array}.table

Additional Python-Functions

python_atexitpython_deferpython_runloop 

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
CF_ShellExecuteClearConsoleClearPeakCacheColorFromNative
ColorToNativeDB2SLIDERExecProcessGetAppVersion
GetExePathGetOSGetResourcePathGetToggleCommandState
GetToggleCommandStateExIsMediaExtensionMain_OnCommandMain_OnCommandEx
NamedCommandLookupReaScriptErrorRecursiveCreateDirectoryReverseNamedCommandLookup
SLIDER2DBSNM_CreateFastStringSNM_DeleteFastStringSNM_GetDoubleConfigVar
SNM_GetFastStringSNM_GetFastStringLengthSNM_GetIntConfigVarSNM_SetDoubleConfigVar
SNM_SetFastStringSNM_SetIntConfigVarSetToggleCommandStateShowActionList
ShowConsoleMsgToggleTrackSendUIMuteValidatePtrValidatePtr2
format_timestrformat_timestr_lenformat_timestr_posgenGuid
get_config_var_stringget_ini_fileguidToStringimage_resolve_fn
mkpanstrmkvolpanstrmkvolstrparse_timestr
parse_timestr_lenparse_timestr_posparsepanstrreduce_open_files
relative_fnresolve_fnresolve_fn2stringToGuid
time_precise   

Arrangeview Management

BR_GetArrangeViewBR_SetArrangeViewCSurf_OnArrowCSurf_OnScroll
CSurf_OnZoomGetCursorContextGetCursorContext2GetHZoomLevel
GetSet_ArrangeView2SetCursorContextUpdateArrangeUpdateTimeline
adjustZoom   

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_GetMediaItemMaxPeakAndMaxPeakPos
NF_GetMediaItemPeakRMS_NonWindowedNF_GetMediaItemPeakRMS_WindowedPCM_Sink_EnumPCM_Sink_GetExtension
PCM_Sink_ShowConfigPCM_Source_CreateFromFilePCM_Source_CreateFromFileExPCM_Source_CreateFromType
PCM_Source_DestroyPCM_Source_GetPeaksPCM_Source_GetSectionInfoResample_EnumModes

AudioMidi Devicemanagement

AudioAccessorStateChangedAudioAccessorUpdateAudio_InitAudio_IsPreBuffer
Audio_IsRunningAudio_QuitGetAudioDeviceInfoGetInputChannelName
GetInputOutputLatencyGetMIDIInputNameGetMIDIOutputNameGetMaxMidiInputs
GetMaxMidiOutputsGetNumAudioInputsGetNumAudioOutputsGetNumMIDIInputs
GetNumMIDIOutputsGetOutputChannelNameGetOutputLatencyGetUnderrunTime
OscLocalMessageToHost   

Automation Management

CountAutomationItemsGetSetAutomationItemInfoGetSetAutomationItemInfo_StringInsertAutomationItem

Envelope Management

BR_EnvAllocBR_EnvCountPointsBR_EnvDeletePointBR_EnvFind
BR_EnvFindNextBR_EnvFindPreviousBR_EnvFreeBR_EnvGetParentTake
BR_EnvGetParentTrackBR_EnvGetPointBR_EnvGetPropertiesBR_EnvSetPoint
BR_EnvSetPropertiesBR_EnvSortPointsBR_EnvValueAtPosCSurf_SetAutoMode
CountEnvelopePointsCountEnvelopePointsExCountTrackEnvelopesDeleteEnvelopePointEx
DeleteEnvelopePointRangeDeleteEnvelopePointRangeExEnvelope_EvaluateEnvelope_FormatValue
Envelope_GetParentTakeEnvelope_GetParentTrackEnvelope_SortPointsEnvelope_SortPointsEx
GetEnvelopeInfo_ValueGetEnvelopeNameGetEnvelopePointGetEnvelopePointByTime
GetEnvelopePointByTimeExGetEnvelopePointExGetEnvelopeScalingModeGetEnvelopeStateChunk
GetFXEnvelopeGetGlobalAutomationOverrideGetSelectedEnvelopeGetSelectedTrackEnvelope
GetSetEnvelopeInfo_StringGetSetEnvelopeStateGetSetEnvelopeState2GetTakeEnvelope
GetTakeEnvelopeByNameGetTrackAutomationModeGetTrackEnvelopeGetTrackEnvelopeByChunkName
GetTrackEnvelopeByNameInsertEnvelopePointInsertEnvelopePointExScaleFromEnvelopeMode
ScaleToEnvelopeModeSetAutomationModeSetEnvelopePointSetEnvelopePointEx
SetEnvelopeStateChunkSetGlobalAutomationOverrideSetTrackAutomationMode 

Extended States

DeleteExtStateGetExtStateHasExtStateSetExtState

FX Management

BR_GetTakeFXCountBR_TrackFX_GetFXModuleNameCF_EnumSelectedFXCF_GetFocusedFXChain
CF_GetTakeFXChainCF_GetTrackFXChainGetFocusedFXGetLastTouchedFX
GetTCPFXParmPluginWantsAlwaysRunFxSNM_AddTCPFXParmSNM_MoveOrRemoveTrackFX
TakeFX_AddByNameTakeFX_CopyToTakeTakeFX_CopyToTakeTakeFX_CopyToTrack
TakeFX_CopyToTrackTakeFX_DeleteTakeFX_EndParamEditTakeFX_FormatParamValue
TakeFX_FormatParamValueNormalizedTakeFX_GetChainVisibleTakeFX_GetCountTakeFX_GetEnabled
TakeFX_GetEnvelopeTakeFX_GetFXGUIDTakeFX_GetFXNameTakeFX_GetFloatingWindow
TakeFX_GetFormattedParamValueTakeFX_GetIOSizeTakeFX_GetNamedConfigParmTakeFX_GetNumParams
TakeFX_GetOfflineTakeFX_GetOpenTakeFX_GetParamTakeFX_GetParamEx
TakeFX_GetParamNameTakeFX_GetParamNormalizedTakeFX_GetParameterStepSizesTakeFX_GetPinMappings
TakeFX_GetPresetTakeFX_GetPresetIndexTakeFX_GetUserPresetFilenameTakeFX_NavigatePresets
TakeFX_SetEnabledTakeFX_SetNamedConfigParmTakeFX_SetOfflineTakeFX_SetOpen
TakeFX_SetParamTakeFX_SetParamNormalizedTakeFX_SetPinMappingsTakeFX_SetPreset
TakeFX_SetPresetByIndexTakeFX_ShowTrackFX_AddByNameTrackFX_CopyToTake
TrackFX_CopyToTrackTrackFX_DeleteTrackFX_EndParamEditTrackFX_FormatParamValue
TrackFX_FormatParamValueNormalizedTrackFX_GetByNameTrackFX_GetChainVisibleTrackFX_GetCount
TrackFX_GetEQTrackFX_GetEQBandEnabledTrackFX_GetEQParamTrackFX_GetEnabled
TrackFX_GetFXGUIDTrackFX_GetFXNameTrackFX_GetFloatingWindowTrackFX_GetFormattedParamValue
TrackFX_GetIOSizeTrackFX_GetInstrumentTrackFX_GetNamedConfigParmTrackFX_GetNumParams
TrackFX_GetOfflineTrackFX_GetParamTrackFX_GetParamExTrackFX_GetParamName
TrackFX_GetParamNormalizedTrackFX_GetParameterStepSizesTrackFX_GetPinMappingsTrackFX_GetPreset
TrackFX_GetPresetIndexTrackFX_GetRecChainVisibleTrackFX_GetRecCountTrackFX_GetUserPresetFilename
TrackFX_NavigatePresetsTrackFX_SetEQBandEnabledTrackFX_SetEQParamTrackFX_SetEnabled
TrackFX_SetNamedConfigParmTrackFX_SetOfflineTrackFX_SetParamTrackFX_SetParamNormalized
TrackFX_SetPinMappingsTrackFX_SetPresetTrackFX_SetPresetByIndexTrackList_AdjustWindows

File Management

BR_Win32_GetPrivateProfileStringBR_Win32_WritePrivateProfileStringEnumerateFilesEnumerateSubdirectories
SNM_ReadMediaFileTagSNM_TagMediaFilefile_exists 

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_SetParent
JS_Window_SetPositionJS_Window_SetScrollPosJS_Window_SetStyleJS_Window_SetTitle
JS_Window_SetZOrderJS_Window_ShowJS_Window_UpdateXen_AudioWriter_Create
Xen_AudioWriter_DestroyXen_AudioWriter_WriteXen_GetMediaSourceSamplesXen_StartSourcePreview
Xen_StopSourcePreview   

Joystick Management

joystick_createjoystick_destroyjoystick_enumjoystick_getaxis
joystick_getbuttonmaskjoystick_getinfojoystick_getpovjoystick_update

MIDI Management

BR_GetMidiSourceLenPPQBR_GetMidiTakePoolGUIDBR_GetMidiTakeTempoInfoBR_IsMidiOpenInInlineEditor
BR_IsTakeMidiBR_MIDI_CCLaneRemoveBR_MIDI_CCLaneReplaceBR_SetMidiTakeTempoInfo
EnumTrackMIDIProgramNamesEnumTrackMIDIProgramNamesExFNG_AddMidiNoteFNG_AllocMidiTake
FNG_CountMidiNotesFNG_FreeMidiTakeFNG_GetMidiNoteFNG_GetMidiNoteIntProperty
FNG_SetMidiNoteIntPropertyGetTrackMIDILyricsGetTrackMIDINoteNameGetTrackMIDINoteNameEx
GetTrackMIDINoteRangeHasTrackMIDIProgramsHasTrackMIDIProgramsExMIDIEditor_GetActive
MIDIEditor_GetModeMIDIEditor_GetSetting_intMIDIEditor_GetSetting_strMIDIEditor_GetTake
MIDIEditor_LastFocused_OnCommandMIDIEditor_OnCommandMIDIEditor_SetSetting_intMIDI_CountEvts
MIDI_DeleteCCMIDI_DeleteEvtMIDI_DeleteNoteMIDI_DeleteTextSysexEvt
MIDI_DisableSortMIDI_EnumSelCCMIDI_EnumSelEvtsMIDI_EnumSelNotes
MIDI_EnumSelTextSysexEvtsMIDI_GetAllEvtsMIDI_GetCCMIDI_GetCCShape
MIDI_GetEvtMIDI_GetGridMIDI_GetHashMIDI_GetNote
MIDI_GetPPQPosFromProjQNMIDI_GetPPQPosFromProjTimeMIDI_GetPPQPos_EndOfMeasureMIDI_GetPPQPos_StartOfMeasure
MIDI_GetProjQNFromPPQPosMIDI_GetProjTimeFromPPQPosMIDI_GetScaleMIDI_GetTextSysexEvt
MIDI_GetTrackHashMIDI_InsertCCMIDI_InsertEvtMIDI_InsertNote
MIDI_InsertTextSysexEvtMIDI_SelectAllMIDI_SetAllEvtsMIDI_SetCC
MIDI_SetCCShapeMIDI_SetEvtMIDI_SetItemExtentsMIDI_SetNote
MIDI_SetTextSysexEvtMIDI_SortSetMIDIEditorGridSetTrackMIDILyrics
SetTrackMIDINoteNameSetTrackMIDINoteNameExStuffMIDIMessageTakeIsMIDI
midi_reinit   

Marker Management

AddProjectMarkerAddProjectMarker2AddTempoTimeSigMarkerCountProjectMarkers
CountTempoTimeSigMarkersDeleteProjectMarkerDeleteProjectMarkerByIndexDeleteTakeStretchMarkers
DeleteTempoTimeSigMarkerEditTempoTimeSigMarkerEnumProjectMarkersEnumProjectMarkers2
EnumProjectMarkers3FindTempoTimeSigMarkerGetLastMarkerAndCurRegionGetProjectTimeSignature
GetProjectTimeSignature2GetTakeNumStretchMarkersGetTakeStretchMarkerGetTakeStretchMarkerSlope
GetTempoTimeSigMarkerNF_GetSWSMarkerRegionSubNF_SetSWSMarkerRegionSubSNM_GetProjectMarkerName
SNM_SetProjectMarkerSetProjectMarkerSetProjectMarker2SetProjectMarker3
SetProjectMarker4SetProjectMarkerByIndexSetProjectMarkerByIndex2SetTakeStretchMarker
SetTakeStretchMarkerSlopeSetTempoTimeSigMarker  

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_GetMediaItemNoteULT_SetMediaItemNoteUpdateItemInProject

Miscellaneous

ArmCommandCSurf_FlushUndoCSurf_SetTrackListChangeEnsureNotCompletelyOffscreen
GetArmedCommandHelp_SetMain_UpdateLoopInfoMarkTrackItemsDirty
MediaItemDescendsFromTrackRenderFileSectionSNM_GetSetObjectStateSNM_SelectResourceBookmark
SNM_TieResourceSlotActionsSetRegionRenderMatrixSplash_GetWndTimeMap2_GetDividedBpmAtTime
TimeMap2_GetNextChangeTimeTimeMap2_QNToTimeTimeMap2_beatsToTimeTimeMap2_timeToBeats
TimeMap2_timeToQNTimeMap_GetDividedBpmAtTimeTimeMap_GetMeasureInfoTimeMap_GetMetronomePattern
TimeMap_GetTimeSigAtTimeTimeMap_QNToMeasuresTimeMap_QNToTimeTimeMap_QNToTime_abs
TimeMap_curFrameRateTimeMap_timeToQNTimeMap_timeToQN_absTrackList_UpdateAllExternalSurfaces

Pitchshifting

EnumPitchShiftModesEnumPitchShiftSubModes  

Project Management

BR_GetClosestGridDivisionBR_GetNextGridDivisionBR_GetPrevGridDivisionCSurf_OnTempoChange
EnumProjExtStateEnumProjectsEnumRegionRenderMatrixGetCurrentProjectInLoadSave
GetFreeDiskSpaceForRecordPathGetProjExtStateGetProjectLengthGetProjectName
GetProjectPathGetProjectPathExGetProjectStateChangeCountGetProjectTimeOffset
GetSetProjectAuthorGetSetProjectGridGetSetProjectInfoGetSetProjectInfo_String
GetSetProjectNotesIsProjectDirtyMain_SaveProjectMain_openProject
MarkProjectDirtySelectProjectInstanceSetCurrentBPMSetProjExtState
SetProjectGridSnapToGridUndo_BeginBlockUndo_BeginBlock2
Undo_CanRedo2Undo_CanUndo2Undo_DoRedo2Undo_DoUndo2
Undo_EndBlockUndo_EndBlock2Undo_OnStateChangeUndo_OnStateChange2
Undo_OnStateChangeExUndo_OnStateChangeEx2Undo_OnStateChange_Item 

ReaPack

ReaPack_AboutInstalledPackageReaPack_AboutRepositoryReaPack_AddSetRepositoryReaPack_BrowsePackages
ReaPack_CompareVersionsReaPack_EnumOwnedFilesReaPack_FreeEntryReaPack_GetEntryInfo
ReaPack_GetOwnerReaPack_GetRepositoryInfoReaPack_ProcessQueue 

Theme management

ThemeLayout_GetLayoutThemeLayout_GetParameterThemeLayout_RefreshAllThemeLayout_SetLayout
ThemeLayout_SetParameter   

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
NF_SetSWSTrackNotesRemoveTrackSendReorderSelectedTracksSNM_AddReceive
SNM_RemoveReceiveSNM_RemoveReceivesFromSetMasterTrackVisibilitySetMediaTrackInfo_Value
SetOnlyTrackSelectedSetTrackColorSetTrackSelectedSetTrackSendInfo_Value
SetTrackSendUIPanSetTrackSendUIVolSetTrackStateChunkSoloAllTracks
TrackFX_GetOpenTrackFX_SetOpenTrackFX_ShowTrack_GetPeakHoldDB
Track_GetPeakInfo   

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
OnStopButtonExSetEditCurPosSetEditCurPos2 

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_LocateInExplorerDockGetPositionDockIsChildOfDockDockWindowActivate
DockWindowAddDockWindowAddExDockWindowRefreshDockWindowRefreshForHWND
DockWindowRemoveDock_UpdateDockIDGR_SelectColorGSC_mainwnd
GetConfigWantsDockGetLastColorThemeFileGetMainHwndGetMixerScroll
GetMouseModifierGetMousePositionGetTooltipWindowGetUserFileNameForRead
GetUserInputsLICE_ClipLineMBNF_UpdateSWSMarkerRegionSubWindow
OpenColorThemeFileOpenMediaExplorerPreventUIRefreshRefreshToolbar
RefreshToolbar2SN_FocusMIDIEditorSetMixerScrollSetMouseModifier
ShowMessageBoxShowPopupMenuTrackCtl_SetToolTipViewPrefs
my_getViewport   
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_ShowWindowBR_Win32_StringToHwnd
BR_Win32_WindowFromPoint   


^ 1 Introduction to ReaScript

ReaScript API as of Reaper 6.03


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 files created from 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_<functionname> 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 6.02Lua version 5.3 DockGetPosition

Functioncall:

C: int DockGetPosition(int whichDock)

EEL: int DockGetPosition(int whichDock)

Lua: integer reaper.DockGetPosition(integer whichDock)

Python: Int RPR_DockGetPosition(Int whichDock)

Description:
returns the position of docker whichDock

Parameters:
          integer whichDock - the docker, whose position you want to get
-1, not found
0, bottom
1, left
2, top
3, right
4, floating


^ 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.987Lua 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.

dVdS is the change in value per sample (first derivative), ddVdS is the second derivative, dddVdS is the third derivative.

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 - 1, master track visible in tcp; 0, master track invisible in mixer
&2 - 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 6.01Lua 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 * : muted
B_LOOPSRC : bool * : loop source
B_ALLTAKESPLAY : bool * : all takes play
B_UISEL : bool * : selected in arrange view
C_BEATATTACHMODE : char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
C_AUTOSTRETCH: : char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
C_LOCK : char * : locked, &1=locked
D_VOL : double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
D_POSITION : double * : item position in seconds
D_LENGTH : double * : item length in seconds
D_SNAPOFFSET : double * : item snap offset in seconds
D_FADEINLEN : double * : item manual fadein length in seconds
D_FADEOUTLEN : double * : item manual fadeout length in seconds
D_FADEINDIR : double * : item fadein curvature, -1..1
D_FADEOUTDIR : double * : item fadeout curvature, -1..1
D_FADEINLEN_AUTO : double * : item auto-fadein length in seconds, -1=no auto-fadein
D_FADEOUTLEN_AUTO : double * : item auto-fadeout length in seconds, -1=no auto-fadeout
C_FADEINSHAPE : int * : fadein shape, 0..6, 0=linear
C_FADEOUTSHAPE : int * : fadeout shape, 0..6, 0=linear
I_GROUPID : int * : group ID, 0=no group
I_LASTY : int * : Y-position of track in pixels (read-only)
I_LASTH : int * : height in track in pixels (read-only)
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, but will store the color anyway)
I_CURTAKE : int * : active take number
IP_ITEMNUMBER : int, item number on this track (read-only, returns the item number directly)
F_FREEMODE_Y : float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
F_FREEMODE_H : float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)
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 6.01Lua 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 source media, in seconds
D_VOL : double * : take volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc, negative if take polarity is flipped
D_PAN : double * : take pan, -1..1
D_PANLAW : double * : take pan law, -1=default, 0.5=-6dB, 1.0=+0dB, etc
D_PLAYRATE : double * : take playback rate, 0.5=half speed, 1=normal, 2=double speed, etc
D_PITCH : double * : take pitch adjustment in semitones, -12=one octave down, 0=normal, +12=one octave up, etc
B_PPITCH : bool * : preserve pitch when changing playback rate
I_CHANMODE : int * : channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right
I_PITCHMODE : int * : pitch shifter mode, -1=projext default, otherwise high 2 bytes=shifter, low 2 bytes=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, but will store the color anyway)
IP_TAKENUMBER : int : take number (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 6.01Lua 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 * : muted
B_PHASE : bool * : track phase inverted
IP_TRACKNUMBER : int : track number 1-based, 0=not found, -1=master track (read-only, returns the int directly)
I_SOLO : int * : soloed, 0=not soloed, 1=soloed, 2=soloed in place, 5=safe soloed, 6=safe soloed in place
I_FXEN : int * : fx enabled, 0=bypassed, !0=fx active
I_RECARM : int * : record armed, 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=stereo input pair. &4096=MIDI input, if set then low 5 bits represent channel (0=all, 1-16=only chan), 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/latency compensation, 4=midi output, 5=mono out, 6=mono out w/ latency compensation, 7=midi overdub, 8=midi replace
I_RECMON : int * : record monitoring, 0=off, 1=normal, 2=not when playing (tape style)
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, 2-64, even numbers only
I_SELECTED : int * : track selected, 0=unselected, 1=selected
I_WNDH : int * : current TCP window height in pixels including envelopes (read-only)
I_TCPH : int * : current TCP window height in pixels not including envelopes (read-only)
I_TCPY : int * : current TCP window Y-position in pixels relative to top of arrange view (read-only)
I_MCPX : int * : current MCP X-position in pixels relative to mixer container
I_MCPY : int * : current MCP Y-position in pixels relative to mixer container
I_MCPW : int * : current MCP width in pixels
I_MCPH : int * : current MCP height in pixels
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 compacted state (only valid on folders), 0=normal, 1=small, 2=tiny children
I_MIDIHWOUT : int * : track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)
I_PERFFLAGS : int * : track performance 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, but 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, 0.5=-6dB, 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=project default, 1=+0dB, etc
P_ENV:<envchunkname : TrackEnvelope*, read only. Call with :<VOLENV, :<PANENV, etc appended.
B_SHOWINMIXER : bool * : track control panel visible in mixer (do not use on master track)
B_SHOWINTCP : bool * : track control panel visible in arrange view (do not use on master track)
B_MAINSEND : bool * : track sends audio to parent
C_MAINSEND_OFFS : char * : channel offset of track send to parent
B_FREEMODE : bool * : track free item positioning enabled (call UpdateTimeline() after changing)
C_BEATATTACHMODE : char * : track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only)
F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed)
F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=minimum allowed, 1=maximum allowed)
I_PLAY_OFFSET_FLAG : int * : track playback offset state, &1=bypassed, &2=offset value is measured in samples (otherwise measured in seconds)
D_PLAY_OFFSET : double * : track playback offset, units depend on I_PLAY_OFFSET_FLAG
P_PARTRACK : MediaTrack * : parent track (read-only)
P_PROJECT : ReaProject * : parent project (read-only)

Parameters:
          MediaTrack tr - the MediaTrack-object, whose attribute you want to request
          string parmname - the attribute, that you want to request, like D_VOL or B_SHOWINMIXER etc
Returnvalues:
          number retval - the value of the requested attribute


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

Parameters:
          string buf - a string-buffer needed by the function, just give "" in Lua
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, number start_time, number end_time)

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:
          ReaProject proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          boolean isSet -
          integer screen_x_start -
          integer screen_x_end -
          number start_time -
          number end_time -
Returnvalues:
          number start_time retval -
          number 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 6.01Lua 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 6.01Lua 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.

MARKER_GUID:X : get the GUID (unique ID) of the marker or region with index X, where X is the index passed to EnumProjectMarkers, not necessarily the displayed number
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)
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 -
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 Master_GetTempo

Functioncall:

C: double Master_GetTempo()

EEL: double Master_GetTempo()

Lua: number = reaper.Master_GetTempo()

Python: Float RPR_Master_GetTempo()

Description:


Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 Master_NormalizePlayRate

Functioncall:

C: double Master_NormalizePlayRate(double playrate, bool isnormalized)

EEL: double Master_NormalizePlayRate(playrate, bool isnormalized)

Lua: number = reaper.Master_NormalizePlayRate(number playrate, boolean isnormalized)

Python: Float RPR_Master_NormalizePlayRate(Float playrate, Boolean isnormalized)

Description:
Convert play rate to/from a value between 0 and 1, representing the position on the project playrate slider.

Parameters:
          playrate -
          isnormalized -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 Master_NormalizeTempo

Functioncall:

C: double Master_NormalizeTempo(double bpm, bool isnormalized)

EEL: double Master_NormalizeTempo(bpm, bool isnormalized)

Lua: number = reaper.Master_NormalizeTempo(number bpm, boolean isnormalized)

Python: Float RPR_Master_NormalizeTempo(Float bpm, Boolean isnormalized)

Description:
Convert the tempo to/from a value between 0 and 1, representing bpm in the range of 40-296 bpm.

Parameters:
          bpm -
          isnormalized -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MB

Functioncall:

C: int MB(const char* msg, const char* title, int type)

EEL: int MB("msg", "title", int type)

Lua: integer = reaper.MB(string msg, string title, integer type)

Python: Int RPR_MB(String msg, String title, Int type)

Description:
Shows Messagebox with user-clickable buttons.          

Parameters:
          msg - the message, that shall be shown in messagebox
          title - the title of the messagebox
          type - which buttons shall be shown in the messagebox
0, OK
1, OK CANCEL
2, ABORT RETRY IGNORE
3, YES NO CANCEL
4, YES NO
5, RETRY CANCEL
Returnvalues:
          integer - the button pressed by the user 1, OK 2, CANCEL 3, ABORT 4, RETRY 5, IGNORE 6, YES 7, NO


^ Reaper version 5.62Lua version 5.3 MediaItemDescendsFromTrack

Functioncall:

C: int MediaItemDescendsFromTrack(MediaItem* item, MediaTrack* track)

EEL: int MediaItemDescendsFromTrack(MediaItem item, MediaTrack track)

Lua: integer = reaper.MediaItemDescendsFromTrack(MediaItem item, MediaTrack track)

Python: Int RPR_MediaItemDescendsFromTrack(MediaItem item, MediaTrack track)

Description:
Returns 1 if the track holds the item, 2 if the track is a folder containing the track that holds the item, etc.

Parameters:
          item -
          track -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 MIDI_CountEvts

Functioncall:

C: int MIDI_CountEvts(MediaItem_Take* take, int* notecntOut, int* ccevtcntOut, int* textsyxevtcntOut)

EEL: int MIDI_CountEvts(MediaItem_Take take, int &notecnt, int &ccevtcnt, int &textsyxevtcnt)

Lua: integer retval, number notecnt, number ccevtcnt, number textsyxevtcnt = reaper.MIDI_CountEvts(MediaItem_Take take)

Python: (Int retval, MediaItem_Take take, Int notecntOut, Int ccevtcntOut, Int textsyxevtcntOut) = RPR_MIDI_CountEvts(take, notecntOut, ccevtcntOut, textsyxevtcntOut)

Description:
Count the number of notes, CC events, and text/sysex events in a given MIDI item.

Parameters:
          take -
Returnvalues:
          retval -
          notecnt -
          ccevtcnt -
          textsyxevtcnt -


^ Reaper version 5.62Lua version 5.3 MIDI_DeleteCC

Functioncall:

C: bool MIDI_DeleteCC(MediaItem_Take* take, int ccidx)

EEL: bool MIDI_DeleteCC(MediaItem_Take take, int ccidx)

Lua: boolean = reaper.MIDI_DeleteCC(MediaItem_Take take, integer ccidx)

Python: Boolean RPR_MIDI_DeleteCC(MediaItem_Take take, Int ccidx)

Description:
Delete a MIDI CC event.

Parameters:
          take -
          ccidx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_DeleteEvt

Functioncall:

C: bool MIDI_DeleteEvt(MediaItem_Take* take, int evtidx)

EEL: bool MIDI_DeleteEvt(MediaItem_Take take, int evtidx)

Lua: boolean = reaper.MIDI_DeleteEvt(MediaItem_Take take, integer evtidx)

Python: Boolean RPR_MIDI_DeleteEvt(MediaItem_Take take, Int evtidx)

Description:
Delete a MIDI event.

Parameters:
          take -
          evtidx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_DeleteNote

Functioncall:

C: bool MIDI_DeleteNote(MediaItem_Take* take, int noteidx)

EEL: bool MIDI_DeleteNote(MediaItem_Take take, int noteidx)

Lua: boolean = reaper.MIDI_DeleteNote(MediaItem_Take take, integer noteidx)

Python: Boolean RPR_MIDI_DeleteNote(MediaItem_Take take, Int noteidx)

Description:
Delete a MIDI note.

Parameters:
          take -
          noteidx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_DeleteTextSysexEvt

Functioncall:

C: bool MIDI_DeleteTextSysexEvt(MediaItem_Take* take, int textsyxevtidx)

EEL: bool MIDI_DeleteTextSysexEvt(MediaItem_Take take, int textsyxevtidx)

Lua: boolean = reaper.MIDI_DeleteTextSysexEvt(MediaItem_Take take, integer textsyxevtidx)

Python: Boolean RPR_MIDI_DeleteTextSysexEvt(MediaItem_Take take, Int textsyxevtidx)

Description:
Delete a MIDI text or sysex event.

Parameters:
          take -
          textsyxevtidx -
Returnvalues:
          boolean -


^ Reaper version 5.974Lua version 5.3 MIDI_DisableSort

Functioncall:

C: void MIDI_DisableSort(MediaItem_Take* take)

EEL: MIDI_DisableSort(MediaItem_Take take)

Lua: reaper.MIDI_DisableSort(MediaItem_Take take)

Python: RPR_MIDI_DisableSort(MediaItem_Take take)

Description:
Disable sorting for all MIDI insert, delete, get and set functions, until MIDI_Sort is called.

Parameters:
          MediaItem_Take take -


^ Reaper version 5.62Lua version 5.3 MIDI_EnumSelCC

Functioncall:

C: int MIDI_EnumSelCC(MediaItem_Take* take, int ccidx)

EEL: int MIDI_EnumSelCC(MediaItem_Take take, int ccidx)

Lua: integer = reaper.MIDI_EnumSelCC(MediaItem_Take take, integer ccidx)

Python: Int RPR_MIDI_EnumSelCC(MediaItem_Take take, Int ccidx)

Description:
Returns the index of the next selected MIDI CC event after ccidx (-1 if there are no more selected events).

Parameters:
          take -
          ccidx -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 MIDI_EnumSelEvts

Functioncall:

C: int MIDI_EnumSelEvts(MediaItem_Take* take, int evtidx)

EEL: int MIDI_EnumSelEvts(MediaItem_Take take, int evtidx)

Lua: integer = reaper.MIDI_EnumSelEvts(MediaItem_Take take, integer evtidx)

Python: Int RPR_MIDI_EnumSelEvts(MediaItem_Take take, Int evtidx)

Description:
Returns the index of the next selected MIDI event after evtidx (-1 if there are no more selected events).

Parameters:
          take -
          evtidx -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 MIDI_EnumSelNotes

Functioncall:

C: int MIDI_EnumSelNotes(MediaItem_Take* take, int noteidx)

EEL: int MIDI_EnumSelNotes(MediaItem_Take take, int noteidx)

Lua: integer = reaper.MIDI_EnumSelNotes(MediaItem_Take take, integer noteidx)

Python: Int RPR_MIDI_EnumSelNotes(MediaItem_Take take, Int noteidx)

Description:
Returns the index of the next selected MIDI note after noteidx (-1 if there are no more selected events).

Parameters:
          take -
          noteidx -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 MIDI_EnumSelTextSysexEvts

Functioncall:

C: int MIDI_EnumSelTextSysexEvts(MediaItem_Take* take, int textsyxidx)

EEL: int MIDI_EnumSelTextSysexEvts(MediaItem_Take take, int textsyxidx)

Lua: integer = reaper.MIDI_EnumSelTextSysexEvts(MediaItem_Take take, integer textsyxidx)

Python: Int RPR_MIDI_EnumSelTextSysexEvts(MediaItem_Take take, Int textsyxidx)

Description:
Returns the index of the next selected MIDI text/sysex event after textsyxidx (-1 if there are no more selected events).

Parameters:
          take -
          textsyxidx -
Returnvalues:
          integer -


^ Reaper version 6.00Lua version 5.3 MIDI_GetAllEvts

Functioncall:

C: bool MIDI_GetAllEvts(MediaItem_Take* take, char* bufNeedBig, int* bufNeedBig_sz)

EEL: bool MIDI_GetAllEvts(MediaItem_Take take, #buf)

Lua: boolean retval, string buf = reaper.MIDI_GetAllEvts(MediaItem_Take take, string buf)

Python: (Boolean retval, MediaItem_Take take, String bufNeedBig, Int bufNeedBig_sz) = RPR_MIDI_GetAllEvts(take, bufNeedBig, bufNeedBig_sz)

Description:
Get all MIDI data. MIDI buffer is returned as a list of { int offset, char flag, int msglen, unsigned char msg[] }.

offset: MIDI ticks from previous event
flag: &1=selected &2=muted
flag high 4 bits for CC shape: &16=linear, &32=slow start/end, &16|32=fast start, &64=fast end, &64|16=bezier
msg: the MIDI message.

A meta-event of type 0xF followed by 'CCBZ ' and 5 more bytes represents bezier curve data for the previous MIDI event: 1 byte for the bezier type (usually 0) and 4 bytes for the bezier tension as a float.
For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events.

See MIDI_SetAllEvts.

Parameters:
          take -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 MIDI_GetCC

Functioncall:

C: bool MIDI_GetCC(MediaItem_Take* take, int ccidx, bool* selectedOut, bool* mutedOut, double* ppqposOut, int* chanmsgOut, int* chanOut, int* msg2Out, int* msg3Out)

EEL: bool MIDI_GetCC(MediaItem_Take take, int ccidx, bool &selected, bool &muted, &ppqpos, int &chanmsg, int &chan, int &msg2, int &msg3)

Lua: boolean retval, boolean selected, boolean muted, number ppqpos, number chanmsg, number chan, number msg2, number msg3 = reaper.MIDI_GetCC(MediaItem_Take take, integer ccidx)

Python: (Boolean retval, MediaItem_Take take, Int ccidx, Boolean selectedOut, Boolean mutedOut, Float ppqposOut, Int chanmsgOut, Int chanOut, Int msg2Out, Int msg3Out) = RPR_MIDI_GetCC(take, ccidx, selectedOut, mutedOut, ppqposOut, chanmsgOut, chanOut, msg2Out, msg3Out)

Description:
Get MIDI CC event properties.

Parameters:
          take -
          ccidx -
Returnvalues:
          retval -
          selected -
          muted -
          ppqpos -
          chanmsg -
          chan -
          msg2 -
          msg3 -


^ Reaper version 6.00Lua version 5.3 MIDI_GetCCShape

Functioncall:

C: bool MIDI_GetCCShape(MediaItem_Take* take, int ccidx, int* shapeOut, double* beztensionOut)

EEL: bool MIDI_GetCCShape(MediaItem_Take take, int ccidx, int &shape, &beztension)

Lua: boolean retval, number shape, number beztension = reaper.MIDI_GetCCShape(MediaItem_Take take, integer ccidx)

Python: (Boolean retval, MediaItem_Take take, Int ccidx, Int shapeOut, Float beztensionOut) = RPR_MIDI_GetCCShape(take, ccidx, shapeOut, beztensionOut)

Description:
Get CC shape and bezier tension. See MIDI_GetCC, MIDI_SetCCShape

Parameters:
          MediaItem_Take take -
          integer ccidx -
Returnvalues:
          boolean retval -
          number shape -
          number beztension -


^ Reaper version 5.62Lua version 5.3 MIDI_GetEvt

Functioncall:

C: bool MIDI_GetEvt(MediaItem_Take* take, int evtidx, bool* selectedOut, bool* mutedOut, double* ppqposOut, char* msg, int* msg_sz)

EEL: bool MIDI_GetEvt(MediaItem_Take take, int evtidx, bool &selected, bool &muted, &ppqpos, #msg)

Lua: boolean retval, boolean selected, boolean muted, number ppqpos, string msg = reaper.MIDI_GetEvt(MediaItem_Take take, integer evtidx, boolean selected, boolean muted, number ppqpos, string msg)

Python: (Boolean retval, MediaItem_Take take, Int evtidx, Boolean selectedOut, Boolean mutedOut, Float ppqposOut, String msg, Int msg_sz) = RPR_MIDI_GetEvt(take, evtidx, selectedOut, mutedOut, ppqposOut, msg, msg_sz)

Description:
Get MIDI event properties.

Parameters:
          take -
          evtidx -
Returnvalues:
          retval -
          selected -
          muted -
          ppqpos -
          msg -


^ Reaper version 5.62Lua version 5.3 MIDI_GetGrid

Functioncall:

C: double MIDI_GetGrid(MediaItem_Take* take, double* swingOutOptional, double* noteLenOutOptional)

EEL: double MIDI_GetGrid(MediaItem_Take take, optional &swing, optional &noteLen)

Lua: number retval, optional number swing, optional number noteLen = reaper.MIDI_GetGrid(MediaItem_Take take)

Python: (Float retval, MediaItem_Take take, Float swingOutOptional, Float noteLenOutOptional) = RPR_MIDI_GetGrid(take, swingOutOptional, noteLenOutOptional)

Description:
Returns the most recent MIDI editor grid size for this MIDI take, in QN. Swing is between 0 and 1. Note length is 0 if it follows the grid size.

Parameters:
          take -
Returnvalues:
          retval -
          swing -
          noteLen -


^ Reaper version 5.62Lua version 5.3 MIDI_GetHash

Functioncall:

C: bool MIDI_GetHash(MediaItem_Take* take, bool notesonly, char* hash, int hash_sz)

EEL: bool MIDI_GetHash(MediaItem_Take take, bool notesonly, #hash)

Lua: boolean retval, string hash = reaper.MIDI_GetHash(MediaItem_Take take, boolean notesonly, string hash)

Python: (Boolean retval, MediaItem_Take take, Boolean notesonly, String hash, Int hash_sz) = RPR_MIDI_GetHash(take, notesonly, hash, hash_sz)

Description:
Get a string that only changes when the MIDI data changes. If notesonly==true, then the string changes only when the MIDI notes change. See MIDI_GetTrackHash

Parameters:
          take -
          notesonly -
Returnvalues:
          retval -
          hash -


^ Reaper version 5.62Lua version 5.3 MIDI_GetNote

Functioncall:

C: bool MIDI_GetNote(MediaItem_Take* take, int noteidx, bool* selectedOut, bool* mutedOut, double* startppqposOut, double* endppqposOut, int* chanOut, int* pitchOut, int* velOut)

EEL: bool MIDI_GetNote(MediaItem_Take take, int noteidx, bool &selected, bool &muted, &startppqpos, &endppqpos, int &chan, int &pitch, int &vel)

Lua: boolean retval, boolean selected, boolean muted, number startppqpos, number endppqpos, number chan, number pitch, number vel = reaper.MIDI_GetNote(MediaItem_Take take, integer noteidx)

Python: (Boolean retval, MediaItem_Take take, Int noteidx, Boolean selectedOut, Boolean mutedOut, Float startppqposOut, Float endppqposOut, Int chanOut, Int pitchOut, Int velOut) = RPR_MIDI_GetNote(take, noteidx, selectedOut, mutedOut, startppqposOut, endppqposOut, chanOut, pitchOut, velOut)

Description:
Get MIDI note properties.

Parameters:
          take -
          noteidx -
Returnvalues:
          retval -
          selected -
          muted -
          startppqpos -
          endppqpos -
          chan -
          pitch -
          vel -


^ Reaper version 5.62Lua version 5.3 MIDI_GetPPQPos_EndOfMeasure

Functioncall:

C: double MIDI_GetPPQPos_EndOfMeasure(MediaItem_Take* take, double ppqpos)

EEL: double MIDI_GetPPQPos_EndOfMeasure(MediaItem_Take take, ppqpos)

Lua: number = reaper.MIDI_GetPPQPos_EndOfMeasure(MediaItem_Take take, number ppqpos)

Python: Float RPR_MIDI_GetPPQPos_EndOfMeasure(MediaItem_Take take, Float ppqpos)

Description:
Returns the MIDI tick (ppq) position corresponding to the end of the measure.

Parameters:
          take -
          ppqpos -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MIDI_GetPPQPos_StartOfMeasure

Functioncall:

C: double MIDI_GetPPQPos_StartOfMeasure(MediaItem_Take* take, double ppqpos)

EEL: double MIDI_GetPPQPos_StartOfMeasure(MediaItem_Take take, ppqpos)

Lua: number = reaper.MIDI_GetPPQPos_StartOfMeasure(MediaItem_Take take, number ppqpos)

Python: Float RPR_MIDI_GetPPQPos_StartOfMeasure(MediaItem_Take take, Float ppqpos)

Description:
Returns the MIDI tick (ppq) position corresponding to the start of the measure.

Parameters:
          take -
          ppqpos -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MIDI_GetPPQPosFromProjQN

Functioncall:

C: double MIDI_GetPPQPosFromProjQN(MediaItem_Take* take, double projqn)

EEL: double MIDI_GetPPQPosFromProjQN(MediaItem_Take take, projqn)

Lua: number = reaper.MIDI_GetPPQPosFromProjQN(MediaItem_Take take, number projqn)

Python: Float RPR_MIDI_GetPPQPosFromProjQN(MediaItem_Take take, Float projqn)

Description:
Returns the MIDI tick (ppq) position corresponding to a specific project time in quarter notes.

Parameters:
          take -
          projqn -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MIDI_GetPPQPosFromProjTime

Functioncall:

C: double MIDI_GetPPQPosFromProjTime(MediaItem_Take* take, double projtime)

EEL: double MIDI_GetPPQPosFromProjTime(MediaItem_Take take, projtime)

Lua: number = reaper.MIDI_GetPPQPosFromProjTime(MediaItem_Take take, number projtime)

Python: Float RPR_MIDI_GetPPQPosFromProjTime(MediaItem_Take take, Float projtime)

Description:
Returns the MIDI tick (ppq) position corresponding to a specific project time in seconds.

Parameters:
          take -
          projtime -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MIDI_GetProjQNFromPPQPos

Functioncall:

C: double MIDI_GetProjQNFromPPQPos(MediaItem_Take* take, double ppqpos)

EEL: double MIDI_GetProjQNFromPPQPos(MediaItem_Take take, ppqpos)

Lua: number = reaper.MIDI_GetProjQNFromPPQPos(MediaItem_Take take, number ppqpos)

Python: Float RPR_MIDI_GetProjQNFromPPQPos(MediaItem_Take take, Float ppqpos)

Description:
Returns the project time in quarter notes corresponding to a specific MIDI tick (ppq) position.

Parameters:
          take -
          ppqpos -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MIDI_GetProjTimeFromPPQPos

Functioncall:

C: double MIDI_GetProjTimeFromPPQPos(MediaItem_Take* take, double ppqpos)

EEL: double MIDI_GetProjTimeFromPPQPos(MediaItem_Take take, ppqpos)

Lua: number = reaper.MIDI_GetProjTimeFromPPQPos(MediaItem_Take take, number ppqpos)

Python: Float RPR_MIDI_GetProjTimeFromPPQPos(MediaItem_Take take, Float ppqpos)

Description:
Returns the project time in seconds corresponding to a specific MIDI tick (ppq) position.

Parameters:
          take -
          ppqpos -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 MIDI_GetScale

Functioncall:

C: bool MIDI_GetScale(MediaItem_Take* take, int* rootOut, int* scaleOut, char* name, int name_sz)

EEL: bool MIDI_GetScale(MediaItem_Take take, int &root, int &scale, #name)

Lua: boolean retval, number root, number scale, string name = reaper.MIDI_GetScale(MediaItem_Take take, number root, number scale, string name)

Python: (Boolean retval, MediaItem_Take take, Int rootOut, Int scaleOut, String name, Int name_sz) = RPR_MIDI_GetScale(take, rootOut, scaleOut, name, name_sz)

Description:
Get the active scale in the media source, if any. root 0=C, 1=C#, etc. scale &0x1=root, &0x2=minor 2nd, &0x4=major 2nd, &0x8=minor 3rd, &0xF=fourth, etc.

Parameters:
          take -
Returnvalues:
          retval -
          root -
          scale -
          name -


^ Reaper version 6.00Lua version 5.3 MIDI_GetTextSysexEvt

Functioncall:

C: bool MIDI_GetTextSysexEvt(MediaItem_Take* take, int textsyxevtidx, bool* selectedOutOptional, bool* mutedOutOptional, double* ppqposOutOptional, int* typeOutOptional, char* msgOptional, int* msgOptional_sz)

EEL: bool MIDI_GetTextSysexEvt(MediaItem_Take take, int textsyxevtidx, optional bool &selected, optional bool &muted, optional &ppqpos, optional int &type, optional #msg)

Lua: boolean retval, optional boolean selected, optional boolean muted, optional number ppqpos, optional number type, optional string msg = reaper.MIDI_GetTextSysexEvt(MediaItem_Take take, integer textsyxevtidx, optional boolean selected, optional boolean muted, optional number ppqpos, optional number type, optional string msg)

Python: (Boolean retval, MediaItem_Take take, Int textsyxevtidx, Boolean selectedOutOptional, Boolean mutedOutOptional, Float ppqposOutOptional, Int typeOutOptional, String msgOptional, Int msgOptional_sz) = RPR_MIDI_GetTextSysexEvt(take, textsyxevtidx, selectedOutOptional, mutedOutOptional, ppqposOutOptional, typeOutOptional, msgOptional, msgOptional_sz)

Description:
Get MIDI meta-event properties. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event. For all other meta-messages, type is returned as -2 and msg returned as all zeroes.

See MIDI_GetEvt.

Parameters:
          take -
          textsyxevtidx -
Returnvalues:
          retval -
          selected -
          muted -
          ppqpos -
          type -
          string msg -


^ Reaper version 5.62Lua version 5.3 MIDI_GetTrackHash

Functioncall:

C: bool MIDI_GetTrackHash(MediaTrack* track, bool notesonly, char* hash, int hash_sz)

EEL: bool MIDI_GetTrackHash(MediaTrack track, bool notesonly, #hash)

Lua: boolean retval, string hash = reaper.MIDI_GetTrackHash(MediaTrack track, boolean notesonly, string hash)

Python: (Boolean retval, MediaTrack track, Boolean notesonly, String hash, Int hash_sz) = RPR_MIDI_GetTrackHash(track, notesonly, hash, hash_sz)

Description:
Get a string that only changes when the MIDI data changes. If notesonly==true, then the string changes only when the MIDI notes change. See MIDI_GetHash

Parameters:
          track -
          notesonly -
Returnvalues:
          retval -
          hash -


^ Reaper version 5.62Lua version 5.3 MIDI_InsertCC

Functioncall:

C: bool MIDI_InsertCC(MediaItem_Take* take, bool selected, bool muted, double ppqpos, int chanmsg, int chan, int msg2, int msg3)

EEL: bool MIDI_InsertCC(MediaItem_Take take, bool selected, bool muted, ppqpos, int chanmsg, int chan, int msg2, int msg3)

Lua: boolean = reaper.MIDI_InsertCC(MediaItem_Take take, boolean selected, boolean muted, number ppqpos, integer chanmsg, integer chan, integer msg2, integer msg3)

Python: Boolean RPR_MIDI_InsertCC(MediaItem_Take take, Boolean selected, Boolean muted, Float ppqpos, Int chanmsg, Int chan, Int msg2, Int msg3)

Description:
Insert a new MIDI CC event.

Parameters:
          take -
          selected -
          muted -
          ppqpos -
          chanmsg -
          chan -
          msg2 -
          msg3 -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_InsertEvt

Functioncall:

C: bool MIDI_InsertEvt(MediaItem_Take* take, bool selected, bool muted, double ppqpos, const char* bytestr, int bytestr_sz)

EEL: bool MIDI_InsertEvt(MediaItem_Take take, bool selected, bool muted, ppqpos, "bytestr")

Lua: boolean = reaper.MIDI_InsertEvt(MediaItem_Take take, boolean selected, boolean muted, number ppqpos, string bytestr)

Python: Boolean RPR_MIDI_InsertEvt(MediaItem_Take take, Boolean selected, Boolean muted, Float ppqpos, String bytestr, Int bytestr_sz)

Description:
Insert a new MIDI event.

Parameters:
          take -
          selected -
          muted -
          ppqpos -
          bytestr -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_InsertNote

Functioncall:

C: bool MIDI_InsertNote(MediaItem_Take* take, bool selected, bool muted, double startppqpos, double endppqpos, int chan, int pitch, int vel, const bool* noSortInOptional)

EEL: bool MIDI_InsertNote(MediaItem_Take take, bool selected, bool muted, startppqpos, endppqpos, int chan, int pitch, int vel, optional bool noSortIn)

Lua: boolean = reaper.MIDI_InsertNote(MediaItem_Take take, boolean selected, boolean muted, number startppqpos, number endppqpos, integer chan, integer pitch, integer vel, optional boolean noSortIn)

Python: Boolean RPR_MIDI_InsertNote(MediaItem_Take take, Boolean selected, Boolean muted, Float startppqpos, Float endppqpos, Int chan, Int pitch, Int vel, const bool noSortInOptional)

Description:
Insert a new MIDI note. Set noSort if inserting multiple events, then call MIDI_Sort when done.

Parameters:
          take -
          selected -
          muted -
          startppqpos -
          endppqpos -
          chan -
          pitch -
          vel -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 6.00Lua version 5.3 MIDI_InsertTextSysexEvt

Functioncall:

C: bool MIDI_InsertTextSysexEvt(MediaItem_Take* take, bool selected, bool muted, double ppqpos, int type, const char* bytestr, int bytestr_sz)

EEL: bool MIDI_InsertTextSysexEvt(MediaItem_Take take, bool selected, bool muted, ppqpos, int type, "bytestr")

Lua: boolean = reaper.MIDI_InsertTextSysexEvt(MediaItem_Take take, boolean selected, boolean muted, number ppqpos, integer type, string bytestr)

Python: Boolean RPR_MIDI_InsertTextSysexEvt(MediaItem_Take take, Boolean selected, Boolean muted, Float ppqpos, Int type, String bytestr, Int bytestr_sz)

Description:
Insert a new MIDI text or sysex event. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event.

Parameters:
          take -
          selected -
          muted -
          ppqpos -
          type -
          bytestr -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 midi_reinit

Functioncall:

C: void midi_reinit()

EEL: midi_reinit()

Lua: reaper.midi_reinit()

Python: RPR_midi_reinit()

Description:
Reset all MIDI devices



^ Reaper version 5.62Lua version 5.3 MIDI_SelectAll

Functioncall:

C: void MIDI_SelectAll(MediaItem_Take* take, bool select)

EEL: MIDI_SelectAll(MediaItem_Take take, bool select)

Lua: reaper.MIDI_SelectAll(MediaItem_Take take, boolean select)

Python: RPR_MIDI_SelectAll(MediaItem_Take take, Boolean select)

Description:
Select or deselect all MIDI content.

Parameters:
          take -
          select -


^ Reaper version 6.00Lua version 5.3 MIDI_SetAllEvts

Functioncall:

C: bool MIDI_SetAllEvts(MediaItem_Take* take, const char* buf, int buf_sz)

EEL: bool MIDI_SetAllEvts(MediaItem_Take take, "buf")

Lua: boolean = reaper.MIDI_SetAllEvts(MediaItem_Take take, string buf)

Python: Boolean RPR_MIDI_SetAllEvts(MediaItem_Take take, String buf, Int buf_sz)

Description:
Set all MIDI data. MIDI buffer is passed in as a list of { int offset, char flag, int msglen, unsigned char msg[] }.

offset: MIDI ticks from previous event
flag: &1=selected &2=muted
flag high 4 bits for CC shape: &16=linear, &32=slow start/end, &16|32=fast start, &64=fast end, &64|16=bezier
msg: the MIDI message.

A meta-event of type 0xF followed by 'CCBZ ' and 5 more bytes represents bezier curve data for the previous MIDI event: 1 byte for the bezier type (usually 0) and 4 bytes for the bezier tension as a float.
For tick intervals longer than a 32 bit word can represent, zero-length meta events may be placed between valid events.

See MIDI_GetAllEvts.

Parameters:
          take -
          buf -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_SetCC

Functioncall:

C: bool MIDI_SetCC(MediaItem_Take* take, int ccidx, const bool* selectedInOptional, const bool* mutedInOptional, const double* ppqposInOptional, const int* chanmsgInOptional, const int* chanInOptional, const int* msg2InOptional, const int* msg3InOptional, const bool* noSortInOptional)

EEL: bool MIDI_SetCC(MediaItem_Take take, int ccidx, optional bool selectedIn, optional bool mutedIn, optional ppqposIn, optional int chanmsgIn, optional int chanIn, optional int msg2In, optional int msg3In, optional bool noSortIn)

Lua: boolean = reaper.MIDI_SetCC(MediaItem_Take take, integer ccidx, optional boolean selectedIn, optional boolean mutedIn, optional number ppqposIn, optional number chanmsgIn, optional number chanIn, optional number msg2In, optional number msg3In, optional boolean noSortIn)

Python: Boolean RPR_MIDI_SetCC(MediaItem_Take take, Int ccidx, const bool selectedInOptional, const bool mutedInOptional, const double ppqposInOptional, const int chanmsgInOptional, const int chanInOptional, const int msg2InOptional, const int msg3InOptional, const bool noSortInOptional)

Description:
Set MIDI CC event properties. Properties passed as NULL will not be set. set noSort if setting multiple events, then call MIDI_Sort when done.

Parameters:
          take -
          ccidx -
          selectedIn -
          mutedIn -
          chanmsgIn -
          chanmsgIn -
          chanIn -
          msg2In -
          msg3In -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 6.00Lua version 5.3 MIDI_SetCCShape

Functioncall:

C: bool MIDI_SetCCShape(MediaItem_Take* take, int ccidx, int shape, double beztension, const bool* noSortInOptional)

EEL: bool MIDI_SetCCShape(MediaItem_Take take, int ccidx, int shape, beztension, optional bool noSortIn)

Lua: boolean reaper.MIDI_SetCCShape(MediaItem_Take take, integer ccidx, integer shape, number beztension, optional boolean noSortIn)

Python: Boolean RPR_MIDI_SetCCShape(MediaItem_Take take, Int ccidx, Int shape, Float beztension, const bool noSortInOptional)

Description:
Set CC shape and bezier tension. set noSort if setting multiple events, then call MIDI_Sort when done. See MIDI_SetCC, MIDI_GetCCShape

Parameters:
          MediaItem_Take take -
          integer ccidx -
          integer shape -
          number beztension -
          optional boolean noSortIn -
Returnvalues:
          boolean retval -


^ Reaper version 5.62Lua version 5.3 MIDI_SetEvt

Functioncall:

C: bool MIDI_SetEvt(MediaItem_Take* take, int evtidx, const bool* selectedInOptional, const bool* mutedInOptional, const double* ppqposInOptional, const char* msgOptional, int msgOptional_sz, const bool* noSortInOptional)

EEL: bool MIDI_SetEvt(MediaItem_Take take, int evtidx, optional bool selectedIn, optional bool mutedIn, optional ppqposIn, optional "msg", optional bool noSortIn)

Lua: boolean = reaper.MIDI_SetEvt(MediaItem_Take take, integer evtidx, optional boolean selectedIn, optional boolean mutedIn, optional number ppqposIn, optional string msg, optional boolean noSortIn)

Python: Boolean RPR_MIDI_SetEvt(MediaItem_Take take, Int evtidx, const bool selectedInOptional, const bool mutedInOptional, const double ppqposInOptional, String msgOptional, Int msgOptional_sz, const bool noSortInOptional)

Description:
Set MIDI event properties. Properties passed as NULL will not be set. set noSort if setting multiple events, then call MIDI_Sort when done.

Parameters:
          take -
          evtidx -
          selectedIn -
          mutedIn -
          msg -
          ppqposIn -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_SetItemExtents

Functioncall:

C: bool MIDI_SetItemExtents(MediaItem* item, double startQN, double endQN)

EEL: bool MIDI_SetItemExtents(MediaItem item, startQN, endQN)

Lua: boolean = reaper.MIDI_SetItemExtents(MediaItem item, number startQN, number endQN)

Python: Boolean RPR_MIDI_SetItemExtents(MediaItem item, Float startQN, Float endQN)

Description:
Set the start/end positions of a media item that contains a MIDI take.

Parameters:
          item -
          startQN -
          endQN -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_SetNote

Functioncall:

C: bool MIDI_SetNote(MediaItem_Take* take, int noteidx, const bool* selectedInOptional, const bool* mutedInOptional, const double* startppqposInOptional, const double* endppqposInOptional, const int* chanInOptional, const int* pitchInOptional, const int* velInOptional, const bool* noSortInOptional)

EEL: bool MIDI_SetNote(MediaItem_Take take, int noteidx, optional bool selectedIn, optional bool mutedIn, optional startppqposIn, optional endppqposIn, optional int chanIn, optional int pitchIn, optional int velIn, optional bool noSortIn)

Lua: boolean = reaper.MIDI_SetNote(MediaItem_Take take, integer noteidx, optional boolean selectedIn, optional boolean mutedIn, optional number startppqposIn, optional number endppqposIn, optional number chanIn, optional number pitchIn, optional number velIn, optional boolean noSortIn)

Python: Boolean RPR_MIDI_SetNote(MediaItem_Take take, Int noteidx, const bool selectedInOptional, const bool mutedInOptional, const double startppqposInOptional, const double endppqposInOptional, const int chanInOptional, const int pitchInOptional, const int velInOptional, const bool noSortInOptional)

Description:
Set MIDI note properties. Properties passed as NULL (or negative values) will not be set. Set noSort if setting multiple events, then call MIDI_Sort when done. Setting multiple note start positions at once is done more safely by deleting and re-inserting the notes.

Parameters:
          take -
          noteidx -
          selectedIn -
          mutedIn -
          chanIn -
          chanIn -
          chanIn -
          pitchIn -
          velIn -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 6.00Lua version 5.3 MIDI_SetTextSysexEvt

Functioncall:

C: bool MIDI_SetTextSysexEvt(MediaItem_Take* take, int textsyxevtidx, const bool* selectedInOptional, const bool* mutedInOptional, const double* ppqposInOptional, const int* typeInOptional, const char* msgOptional, int msgOptional_sz, const bool* noSortInOptional)

EEL: bool MIDI_SetTextSysexEvt(MediaItem_Take take, int textsyxevtidx, optional bool selectedIn, optional bool mutedIn, optional ppqposIn, optional int typeIn, optional "msg", optional bool noSortIn)

Lua: boolean = reaper.MIDI_SetTextSysexEvt(MediaItem_Take take, integer textsyxevtidx, optional boolean selectedIn, optional boolean mutedIn, optional number ppqposIn, optional number typeIn, optional string msg, optional boolean noSortIn)

Python: Boolean RPR_MIDI_SetTextSysexEvt(MediaItem_Take take, Int textsyxevtidx, const bool selectedInOptional, const bool mutedInOptional, const double ppqposInOptional, const int typeInOptional, String msgOptional, Int msgOptional_sz, const bool noSortInOptional)

Description:
Set MIDI text or sysex event properties. Properties passed as NULL will not be set. Allowable types are -1:sysex (msg should not include bounding F0..F7), 1-14:MIDI text event types, 15=REAPER notation event. set noSort if setting multiple events, then call MIDI_Sort when done.

Parameters:
          take -
          textsyxevtidx -
          selectedIn -
          mutedIn -
          typeIn -
          typeIn -
          msg -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDI_Sort

Functioncall:

C: void MIDI_Sort(MediaItem_Take* take)

EEL: MIDI_Sort(MediaItem_Take take)

Lua: reaper.MIDI_Sort(MediaItem_Take take)

Python: RPR_MIDI_Sort(MediaItem_Take take)

Description:
Sort MIDI events after multiple calls to MIDI_SetNote, MIDI_SetCC, etc.

Parameters:
          take -


^ Reaper version 5.62Lua version 5.3 MIDIEditor_GetActive

Functioncall:

C: HWND MIDIEditor_GetActive()

EEL: HWND MIDIEditor_GetActive()

Lua: HWND = reaper.MIDIEditor_GetActive()

Python: HWND RPR_MIDIEditor_GetActive()

Description:
get a pointer to the focused MIDI editor window
see MIDIEditor_GetMode, MIDIEditor_OnCommand

Returnvalues:
          HWND -


^ Reaper version 5.62Lua version 5.3 MIDIEditor_GetMode

Functioncall:

C: int MIDIEditor_GetMode(HWND midieditor)

EEL: int MIDIEditor_GetMode(HWND midieditor)

Lua: integer = reaper.MIDIEditor_GetMode(HWND midieditor)

Python: Int RPR_MIDIEditor_GetMode(HWND midieditor)

Description:
get the mode of a MIDI editor (0=piano roll, 1=event list, -1=invalid editor)
see MIDIEditor_GetActive, MIDIEditor_OnCommand

Parameters:
          midieditor -
Returnvalues:
          integer -


^ Reaper version 5.975Lua version 5.3 MIDIEditor_GetSetting_int

Functioncall:

C: int MIDIEditor_GetSetting_int(HWND midieditor, const char* setting_desc)

EEL: int MIDIEditor_GetSetting_int(HWND midieditor, "setting_desc")

Lua: integer = reaper.MIDIEditor_GetSetting_int(HWND midieditor, string setting_desc)

Python: Int RPR_MIDIEditor_GetSetting_int(HWND midieditor, String setting_desc)

Description:
Get settings from a MIDI editor. setting_desc can be:
snap_enabled: returns 0 or 1
active_note_row: returns 0-127
last_clicked_cc_lane:
returns 0-127=CC,
0x100|(0-31)=14-bit CC,
0x200=velocity,
0x201=pitch,
0x202=program,
0x203=channel pressure,
0x204=bank/program select,
0x205=text,
0x206=sysex,
0x207=off velocity,
0x208=notation events,
0x210=media item lane
default_note_vel: returns 0-127
default_note_chan: returns 0-15
default_note_len: returns default length in MIDI ticks
scale_enabled: returns 0-1
scale_root: returns 0-12 (0=C)
if setting_desc is unsupported, the function returns -1.
See MIDIEditorSetSettingint, MIDIEditor_GetActive, MIDIEditorGetSettingstr

Parameters:
          midieditor -
          setting_desc -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 MIDIEditor_GetSetting_str

Functioncall:

C: bool MIDIEditor_GetSetting_str(HWND midieditor, const char* setting_desc, char* buf, int buf_sz)

EEL: bool MIDIEditor_GetSetting_str(HWND midieditor, "setting_desc", #buf)

Lua: boolean retval, string buf = reaper.MIDIEditor_GetSetting_str(HWND midieditor, string setting_desc, string buf)

Python: (Boolean retval, HWND midieditor, String setting_desc, String buf, Int buf_sz) = RPR_MIDIEditor_GetSetting_str(midieditor, setting_desc, buf, buf_sz)

Description:
Get settings from a MIDI editor. setting_desc can be:
last_clicked_cc_lane: returns text description ("velocity", "pitch", etc)
scale: returns the scale record, for example "102034050607" for a major scale
if setting_desc is unsupported, the function returns false.

See MIDIEditor_GetActive, MIDIEditor_GetSetting_int

Parameters:
          midieditor -
          setting_desc -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 MIDIEditor_GetTake

Functioncall:

C: MediaItem_Take* MIDIEditor_GetTake(HWND midieditor)

EEL: MediaItem_Take MIDIEditor_GetTake(HWND midieditor)

Lua: MediaItem_Take = reaper.MIDIEditor_GetTake(HWND midieditor)

Python: MediaItem_Take RPR_MIDIEditor_GetTake(HWND midieditor)

Description:
get the take that is currently being edited in this MIDI editor

Parameters:
          midieditor -
Returnvalues:
          MediaItem_Take -


^ Reaper version 5.62Lua version 5.3 MIDIEditor_LastFocused_OnCommand

Functioncall:

C: bool MIDIEditor_LastFocused_OnCommand(int command_id, bool islistviewcommand)

EEL: bool MIDIEditor_LastFocused_OnCommand(int command_id, bool islistviewcommand)

Lua: boolean = reaper.MIDIEditor_LastFocused_OnCommand(integer command_id, boolean islistviewcommand)

Python: Boolean RPR_MIDIEditor_LastFocused_OnCommand(Int command_id, Boolean islistviewcommand)

Description:
Send an action command to the last focused MIDI editor. Returns false if there is no MIDI editor open, or if the view mode (piano roll or event list) does not match the input.
see MIDIEditor_OnCommand

Parameters:
          command_id -
          islistviewcommand -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 MIDIEditor_OnCommand

Functioncall:

C: bool MIDIEditor_OnCommand(HWND midieditor, int command_id)

EEL: bool MIDIEditor_OnCommand(HWND midieditor, int command_id)

Lua: boolean = reaper.MIDIEditor_OnCommand(HWND midieditor, integer command_id)

Python: Boolean RPR_MIDIEditor_OnCommand(HWND midieditor, Int command_id)

Description:
Send an action command to a MIDI editor. Returns false if the supplied MIDI editor pointer is not valid (not an open MIDI editor).
see MIDIEditor_GetActive, MIDIEditor_LastFocused_OnCommand

Parameters:
          midieditor -
          command_id -
Returnvalues:
          boolean -


^ Reaper version 5.975Lua version 5.3 MIDIEditor_SetSetting_int

Functioncall:

C: bool MIDIEditor_SetSetting_int(HWND midieditor, const char* setting_desc, int setting)

EEL: bool MIDIEditor_SetSetting_int(HWND midieditor, "setting_desc", int setting)

Lua: boolean retval = reaper.MIDIEditor_SetSetting_int(HWND midieditor, string setting_desc, integer setting)

Python: Boolean RPR_MIDIEditor_SetSetting_int(HWND midieditor, String setting_desc, Int setting)

Description:
Set settings for a MIDI editor. setting_desc can be:
active_note_row: 0-127
See MIDIEditor_GetSetting_int

Parameters:
          HWND midieditor -
          string setting_desc -
          integer setting -
Returnvalues:
          boolean retval -


^ Reaper version 5.62Lua version 5.3 mkpanstr

Functioncall:

C: void mkpanstr(char* strNeed64, double pan)

EEL: mkpanstr(#strNeed64, pan)

Lua: string strNeed64 = reaper.mkpanstr(string strNeed64, number pan)

Python: (String strNeed64, Float pan) = RPR_mkpanstr(strNeed64, pan)

Description:


Parameters:
          strNeed64 -
          pan -
Returnvalues:
          strNeed64 -


^ Reaper version 5.62Lua version 5.3 mkvolpanstr

Functioncall:

C: void mkvolpanstr(char* strNeed64, double vol, double pan)

EEL: mkvolpanstr(#strNeed64, vol, pan)

Lua: string strNeed64 = reaper.mkvolpanstr(string strNeed64, number vol, number pan)

Python: (String strNeed64, Float vol, Float pan) = RPR_mkvolpanstr(strNeed64, vol, pan)

Description:


Parameters:
          strNeed64 -
          vol -
          pan -
Returnvalues:
          strNeed64 -


^ Reaper version 5.62Lua version 5.3 mkvolstr

Functioncall:

C: void mkvolstr(char* strNeed64, double vol)

EEL: mkvolstr(#strNeed64, vol)

Lua: string strNeed64 = reaper.mkvolstr(string strNeed64, number vol)

Python: (String strNeed64, Float vol) = RPR_mkvolstr(strNeed64, vol)

Description:


Parameters:
          strNeed64 -
          vol -
Returnvalues:
          strNeed64 -


^ Reaper version 5.62Lua version 5.3 MoveEditCursor

Functioncall:

C: void MoveEditCursor(double adjamt, bool dosel)

EEL: MoveEditCursor(adjamt, bool dosel)

Lua: reaper.MoveEditCursor(number adjamt, boolean dosel)

Python: RPR_MoveEditCursor(Float adjamt, Boolean dosel)

Description:
Moves the Edit Cursor.

Parameters:
          adjamt - move of edit cursor by seconds, relative from the current position. positive-values=forward, negative values=backwards
          dosel - true, create selection from old edit-cursor-position to the new position; false, just move the edit cursor


^ Reaper version 5.62Lua version 5.3 MoveMediaItemToTrack

Functioncall:

C: bool MoveMediaItemToTrack(MediaItem* item, MediaTrack* desttr)

EEL: bool MoveMediaItemToTrack(MediaItem item, MediaTrack desttr)

Lua: boolean = reaper.MoveMediaItemToTrack(MediaItem item, MediaTrack desttr)

Python: Boolean RPR_MoveMediaItemToTrack(MediaItem item, MediaTrack desttr)

Description:
Moves a MediaItem-object to a specific MediaTrack.

Call UpdateArrange to update the arrangeview after that.

Parameters:
          item - the MediaItem, that shall be moved
          desttr - the MediaTrack, to which the MediaItem shall be moved to
Returnvalues:
          boolean - true, if move succeeded; false, if not


^ Reaper version 5.62Lua version 5.3 MuteAllTracks

Functioncall:

C: void MuteAllTracks(bool mute)

EEL: MuteAllTracks(bool mute)

Lua: reaper.MuteAllTracks(boolean mute)

Python: RPR_MuteAllTracks(Boolean mute)

Description:
Mutes all tracks

Parameters:
          mute - true, mutes all tracks; false, unmutes all tracks


^ Reaper version 5.62Lua version 5.3 my_getViewport

Functioncall:

C: void my_getViewport(RECT* r, const RECT* sr, bool wantWorkArea)

EEL: my_getViewport(int &r.left, int &r.top, int &r.right, int &r.bot, int sr.left, int sr.top, int sr.right, int sr.bot, bool wantWorkArea)

Lua: integer left, integer top, integer right, integer bottom = reaper.my_getViewport(number r.left, number r.top, number r.right, number r.bot, number sr.left, number sr.top, number sr.right, number sr.bot, boolean wantWorkArea)

Python: RPR_my_getViewport(RECT r, const RECT sr, Boolean wantWorkArea)

Description:
With r.??? and sr.??? parameters, you can define coordinates of a rectangle.
The function will return the left/top/right/bottom coordinates of the viewport that that rectangle is on/closest to.            

Parameters:
          r.left - left coordinate of the rectangle
          r.top - top coordinate of the rectangle
          r.right - right coordinate of the rectangle
          r.bot - bottom coordinate of the rectangle
          sr.left - left coordinate of the rectangle in multimonitor usecases
          sr.top - top coordinate of the rectangle in multimonitor usecases
          sr.right - right coordinate of the rectangle in multimonitor usecases
          sr.bot - bottom coordinate of the rectangle in mutlimonitor usecases
          wantWorkArea - true, returns workspace only; false, full monitor coordinates of the returned viewport
Returnvalues:
          left - left coordinate of the returned viewport
          top - top coordinate of the returned viewport
          right - right coordinate of the returned viewport
          bottom - bottom coordinate of the returned viewport


^ Reaper version 5.62Lua version 5.3 NamedCommandLookup

Functioncall:

C: int NamedCommandLookup(const char* command_name)

EEL: int NamedCommandLookup("command_name")

Lua: integer = reaper.NamedCommandLookup(string command_name)

Python: Int RPR_NamedCommandLookup(String command_name)

Description:
Get the command ID number for named command that was registered by an extension such as "_SWS_ABOUT" or "_113088d11ae641c193a2b7ede3041ad5" for a ReaScript or a custom action.

see Main_OnCommand for executing actions with command-ID-numbers.

Parameters:
          command_name - the ActionCommandID of the script/action, whose command-id number you want. Must start with _, eg. "SWS_ABOUT" -> "_SWS_ABOUT"
Returnvalues:
          integer - the command-id-number of the script/action, which can be used to e.g. run the action, toggle actions, refresh toolbars, etc.


^ Reaper version 5.62Lua version 5.3 OnPauseButton

Functioncall:

C: void OnPauseButton()

EEL: OnPauseButton()

Lua: reaper.OnPauseButton()

Python: RPR_OnPauseButton()

Description:
Toggles pause/play during play or pause/rec during recording in the current project.
When stopped, it will start paused play.



^ Reaper version 5.62Lua version 5.3 OnPauseButtonEx

Functioncall:

C: void OnPauseButtonEx(ReaProject* proj)

EEL: OnPauseButtonEx(ReaProject proj)

Lua: reaper.OnPauseButtonEx(ReaProject proj)

Python: RPR_OnPauseButtonEx(ReaProject proj)

Description:
Toggles pause/play during play or pause/rec during recording in a specific project.
When stopped, it will start paused play.

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 OnPlayButton

Functioncall:

C: void OnPlayButton()

EEL: OnPlayButton()

Lua: reaper.OnPlayButton()

Python: RPR_OnPlayButton()

Description:
Starts playing at edit-cursor. Will stop recording, when executed during recording.



^ Reaper version 5.62Lua version 5.3 OnPlayButtonEx

Functioncall:

C: void OnPlayButtonEx(ReaProject* proj)

EEL: OnPlayButtonEx(ReaProject proj)

Lua: reaper.OnPlayButtonEx(ReaProject proj)

Python: RPR_OnPlayButtonEx(ReaProject proj)

Description:
Starts playing at edit-cursor. Will stop recording, when executed during recording.

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 OnStopButton

Functioncall:

C: void OnStopButton()

EEL: OnStopButton()

Lua: reaper.OnStopButton()

Python: RPR_OnStopButton()

Description:
Stops playing/recording.



^ Reaper version 5.62Lua version 5.3 OnStopButtonEx

Functioncall:

C: void OnStopButtonEx(ReaProject* proj)

EEL: OnStopButtonEx(ReaProject proj)

Lua: reaper.OnStopButtonEx(ReaProject proj)

Python: RPR_OnStopButtonEx(ReaProject proj)

Description:
Stops playing/recording.

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 OpenColorThemeFile

Functioncall:

C: bool OpenColorThemeFile(const char* fn)

EEL: bool OpenColorThemeFile("fn")

Lua: boolean = reaper.OpenColorThemeFile(string fn)

Python: Boolean RPR_OpenColorThemeFile(String fn)

Description:
Open a different installed theme.

Parameters:
          fn - the path+filename of the color-theme-file, usually with the ".ReaperTheme"-extension
Returnvalues:
          boolean - true, changing theme worked; false, changing theme didn't work


^ Reaper version 5.62Lua version 5.3 OpenMediaExplorer

Functioncall:

C: HWND OpenMediaExplorer(const char* mediafn, bool play)

EEL: HWND OpenMediaExplorer("mediafn", bool play)

Lua: HWND = reaper.OpenMediaExplorer(string mediafn, boolean play)

Python: HWND RPR_OpenMediaExplorer(String mediafn, Boolean play)

Description:
Opens mediafn in the Media Explorer.

Parameters:
          mediafn - the filename, to be opened with the Media Explorer
          play - true, start/toggle playing immediately; false, just select file without playing
Returnvalues:
          HWND - the window of the Media Explorer


^ Reaper version 5.62Lua version 5.3 OscLocalMessageToHost

Functioncall:

C: void OscLocalMessageToHost(const char* message, const double* valueInOptional)

EEL: OscLocalMessageToHost("message", optional valueIn)

Lua: reaper.OscLocalMessageToHost(string message, optional number valueIn)

Python: RPR_OscLocalMessageToHost(String message, const double valueInOptional)

Description:
Send an OSC message directly to REAPER. The value argument may be NULL. The message will be matched against the default OSC patterns. Only supported if control surface support was enabled when installing REAPER.

This is not broadcast outside of Reaper, so you can't control devices, plugins, etc with it!

Parameters:
          string message -


^ Reaper version 5.62Lua version 5.3 parse_timestr

Functioncall:

C: double parse_timestr(const char* buf)

EEL: double parse_timestr("buf")

Lua: number = reaper.parse_timestr(string buf)

Python: Float RPR_parse_timestr(String buf)

Description:
Parse hh:mm:ss.sss time string, return time in seconds (or 0.0 on error). See parse_timestr_pos, parse_timestr_len.

Parameters:
          buf - the timestring to convert (hh:mm:ss.sss). Each position of the time can be one digit only, means: "1:2:3.4" is valid. Milliseconds can be more than 3 digits. Hours, seconds, minutes with more than two digits will be converted correctly "1:120" will be converted to 180 seconds.
Returnvalues:
          number - the converted time in seconds


^ Reaper version 5.62Lua version 5.3 parse_timestr_len

Functioncall:

C: double parse_timestr_len(const char* buf, double offset, int modeoverride)

EEL: double parse_timestr_len("buf", offset, int modeoverride)

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

Python: Float RPR_parse_timestr_len(String buf, Float offset, Int 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:
          buf -
          offset - ??Buggy??
          modeoverride -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 parse_timestr_pos

Functioncall:

C: double parse_timestr_pos(const char* buf, int modeoverride)

EEL: double parse_timestr_pos("buf", int modeoverride)

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

Python: Float RPR_parse_timestr_pos(String buf, Int modeoverride)

Description:
Parse time string and convert it into seconds.

Parameters:
          buf - the timestring to be parsed and converted into seconds
          modeoverride - the format of the timestring to parse and convert
-1, proj default.
0, time
1, measures.beats + time
2, measures.beats
3, seconds
4, samples
5, h:m:s:f
Returnvalues:
          number - the converted time in seconds


^ Reaper version 5.62Lua version 5.3 parsepanstr

Functioncall:

C: double parsepanstr(const char* str)

EEL: double parsepanstr("str")

Lua: number = reaper.parsepanstr(string str)

Python: Float RPR_parsepanstr(String str)

Description:
Parameters:
          str -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 PCM_Sink_Enum

Functioncall:

C: unsigned int PCM_Sink_Enum(int idx, const char** descstrOut)

EEL: uint PCM_Sink_Enum(int idx, #descstr)

Lua: integer retval, string descstr = reaper.PCM_Sink_Enum(integer idx)

Python: Unknown RPR_PCM_Sink_Enum(Int idx, String descstrOut)

Description:
enumerates the available PCM-sink-formats, which means, the output-formats available in Reaper

Parameters:
          integer idx - the index of the sink-format, beginning with 0
Returnvalues:
          integer retval - a number, which represents the PCM-sink-format
          string descstr - the PCM-sink-format 0 - WAV 1 - AIFF 2 - Audio CD Image (CUE/BIN format) 3 - DDP 4 - FLAC 5 - MP3 (encoder by LAME project) 6 - OGG Vorbis 7 - OGG Opus 8 - Video (ffmpeg/libav encoder) 9 - Video (GIF) 10 - Video (LCF) 11 - WavPack lossless compressor maybe others as well?


^ Reaper version 5.62Lua version 5.3 PCM_Sink_GetExtension

Functioncall:

C: const char* PCM_Sink_GetExtension(const char* data, int data_sz)

EEL: bool PCM_Sink_GetExtension(#retval, "data")

Lua: string = reaper.PCM_Sink_GetExtension(string data)

Python: String RPR_PCM_Sink_GetExtension(String data, Int data_sz)

Description:


Parameters:
          data -
Returnvalues:
          string -


^ Reaper version 5.62Lua version 5.3 PCM_Sink_ShowConfig

Functioncall:

C: HWND PCM_Sink_ShowConfig(const char* cfg, int cfg_sz, HWND hwndParent)

EEL: HWND PCM_Sink_ShowConfig("cfg", HWND hwndParent)

Lua: HWND = reaper.PCM_Sink_ShowConfig(string cfg, HWND hwndParent)

Python: HWND RPR_PCM_Sink_ShowConfig(String cfg, Int cfg_sz, HWND hwndParent)

Description:


Parameters:
          cfg -
          hwndParent -
Returnvalues:
          HWND -


^ Reaper version 5.62Lua version 5.3 PCM_Source_CreateFromFile

Functioncall:

C: PCM_source* PCM_Source_CreateFromFile(const char* filename)

EEL: PCM_source PCM_Source_CreateFromFile("filename")

Lua: PCM_source = reaper.PCM_Source_CreateFromFile(string filename)

Python: PCM_source RPR_PCM_Source_CreateFromFile(String filename)

Description:
See PCM_Source_CreateFromFileEx.

Parameters:
          filename -
Returnvalues:
          PCM_source -


^ Reaper version 5.62Lua version 5.3 PCM_Source_CreateFromFileEx

Functioncall:

C: PCM_source* PCM_Source_CreateFromFileEx(const char* filename, bool forcenoMidiImp)

EEL: PCM_source PCM_Source_CreateFromFileEx("filename", bool forcenoMidiImp)

Lua: PCM_source = reaper.PCM_Source_CreateFromFileEx(string filename, boolean forcenoMidiImp)

Python: PCM_source RPR_PCM_Source_CreateFromFileEx(String filename, Boolean forcenoMidiImp)

Description:
Create a PCM_source from filename, and override pref of MIDI files being imported as in-project MIDI events.

Parameters:
          filename -
          forcenoMidiImp -
Returnvalues:
          PCM_source -


^ Reaper version 5.62Lua version 5.3 PCM_Source_CreateFromType

Functioncall:

C: PCM_source* PCM_Source_CreateFromType(const char* sourcetype)

EEL: PCM_source PCM_Source_CreateFromType("sourcetype")

Lua: PCM_source = reaper.PCM_Source_CreateFromType(string sourcetype)

Python: PCM_source RPR_PCM_Source_CreateFromType(String sourcetype)

Description:
Create a PCM_source from a "type" (use this if you're going to load its state via LoadState/ProjectStateContext).
Valid types include "WAVE", "MIDI", or whatever plug-ins define as well.

Parameters:
          sourcetype -
Returnvalues:
          PCM_source -


^ Reaper version 5.62Lua version 5.3 PCM_Source_Destroy

Functioncall:

C: void PCM_Source_Destroy(PCM_source* src)

EEL: PCM_Source_Destroy(PCM_source src)

Lua: reaper.PCM_Source_Destroy(PCM_source src)

Python: RPR_PCM_Source_Destroy(PCM_source src)

Description:
Deletes a PCM_source -- be sure that you remove any project reference before deleting a source

Parameters:
          src -


^ Reaper version 5.62Lua version 5.3 PCM_Source_GetPeaks

Functioncall:

C: int PCM_Source_GetPeaks(PCM_source* src, double peakrate, double starttime, int numchannels, int numsamplesperchannel, int want_extra_type, double* buf)

EEL: int PCM_Source_GetPeaks(PCM_source src, peakrate, starttime, int numchannels, int numsamplesperchannel, int want_extra_type, buffer_ptr buf)

Lua: integer = reaper.PCM_Source_GetPeaks(PCM_source src, number peakrate, number starttime, integer numchannels, integer numsamplesperchannel, integer want_extra_type, reaper.array buf)

Python: (Int retval, PCM_source src, Float peakrate, Float starttime, Int numchannels, Int numsamplesperchannel, Int want_extra_type, Float buf) = RPR_PCM_Source_GetPeaks(src, 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:
          src -
          peakrate -
          starttime -
          numchannels -
          numsamplesperchannel -
          want_extra_type -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 PCM_Source_GetSectionInfo

Functioncall:

C: bool PCM_Source_GetSectionInfo(PCM_source* src, double* offsOut, double* lenOut, bool* revOut)

EEL: bool PCM_Source_GetSectionInfo(PCM_source src, &offs, &len, bool &rev)

Lua: boolean retval, number offs, number len, boolean rev = reaper.PCM_Source_GetSectionInfo(PCM_source src)

Python: (Boolean retval, PCM_source src, Float offsOut, Float lenOut, Boolean revOut) = RPR_PCM_Source_GetSectionInfo(src, offsOut, lenOut, revOut)

Description:
If a section/reverse block, retrieves offset/len/reverse. return true if success

Parameters:
          src -
Returnvalues:
          retval -
          offs -
          len -
          rev -


^ Reaper version 5.62Lua version 5.3 PluginWantsAlwaysRunFx

Functioncall:

C: void PluginWantsAlwaysRunFx(int amt)

EEL: PluginWantsAlwaysRunFx(int amt)

Lua: reaper.PluginWantsAlwaysRunFx(integer amt)

Python: RPR_PluginWantsAlwaysRunFx(Int amt)

Description:


Parameters:
          amt -


^ Reaper version 5.62Lua version 5.3 PreventUIRefresh

Functioncall:

C: void PreventUIRefresh(int prevent_count)

EEL: PreventUIRefresh(int prevent_count)

Lua: reaper.PreventUIRefresh(integer prevent_count)

Python: RPR_PreventUIRefresh(Int prevent_count)

Description:
adds prevent_count to the UI refresh prevention state; always add then remove the same amount, or major disfunction will occur

Parameters:
          prevent_count -


^ Reaper version 5.62Lua version 5.3 ReaScriptError

Functioncall:

C: void ReaScriptError(const char* errmsg)

EEL: ReaScriptError("errmsg")

Lua: reaper.ReaScriptError(string errmsg)

Python: RPR_ReaScriptError(String errmsg)

Description:
Causes REAPER to display the error message after the current ReaScript finishes. When Reaper's IDE is open, it will display it at the bottom of the IDE.

Parameters:
          errmsg - the message to show


^ Reaper version 5.62Lua version 5.3 RecursiveCreateDirectory

Functioncall:

C: int RecursiveCreateDirectory(const char* path, size_t ignored)

EEL: int RecursiveCreateDirectory("path", size_t ignored)

Lua: integer = reaper.RecursiveCreateDirectory(string path, integer ignored)

Python: Int RPR_RecursiveCreateDirectory(String path, Unknown ignored)

Description:
Creates a new directory. You can recursivly create directories, means: if the higher directories don't exist, the will also be automatically created.
returns positive value on success, 0 on failure.

Parameters:
          path - the directory-path to be created
          ignored - unknown
Returnvalues:
          integer -


^ Reaper version 6.00Lua version 5.3 reduce_open_files

Functioncall:

C: int reduce_open_files(int flags)

EEL: int reduce_open_files(int flags)

Lua: integer reaper.reduce_open_files(integer flags)

Python: Int RPR_reduce_open_files(Int flags)

Description:
garbage-collects extra open files and closes them. if flags has 1 set, this is done incrementally (call this from a regular timer, if desired). if flags has 2 set, files are aggressively closed (they may need to be re-opened very soon).

returns number of files closed by this call.

Parameters:
          integer flags - influences, how the garbage collection shall be
&1, incrementally
&2, aggressively(files need to be reopened after that, if needed)
Returnvalues:
          integer - the number of closed files


^ Reaper version 5.62Lua version 5.3 RefreshToolbar

Functioncall:

C: void RefreshToolbar(int command_id)

EEL: RefreshToolbar(int command_id)

Lua: reaper.RefreshToolbar(integer command_id)

Python: RPR_RefreshToolbar(Int command_id)

Description:
Refreshes the toolbar-buttons, associated with a specific command_id/action
See RefreshToolbar2.

Parameters:
          command_id - the command_id-number of the action, whose toolbar button you want to toggle. see NamedCommandLookup for getting command-ids from scripts and 3rd-party actions


^ Reaper version 5.62Lua version 5.3 RefreshToolbar2

Functioncall:

C: void RefreshToolbar2(int section_id, int command_id)

EEL: RefreshToolbar2(int section_id, int command_id)

Lua: reaper.RefreshToolbar2(integer section_id, integer command_id)

Python: RPR_RefreshToolbar2(Int section_id, Int command_id)

Description:
Refreshes the toolbar-buttons, associated with a specific command_id/action within a certain section

Parameters:
          section_id - the section, in which the action lies


^ Reaper version 5.62Lua version 5.3 relative_fn

Functioncall:

C: void relative_fn(const char* in, char* out, int out_sz)

EEL: relative_fn("in", #out)

Lua: string out = reaper.relative_fn(string in, string out)

Python: (String in, String out, Int out_sz) = RPR_relative_fn(in, out, out_sz)

Description:
Makes a filename "in" relative to the current project, if any.

Parameters:
          in -
Returnvalues:
          out -


^ Reaper version 5.62Lua version 5.3 RemoveTrackSend

Functioncall:

C: bool RemoveTrackSend(MediaTrack* tr, int category, int sendidx)

EEL: bool RemoveTrackSend(MediaTrack tr, int category, int sendidx)

Lua: boolean = reaper.RemoveTrackSend(MediaTrack tr, integer category, integer sendidx)

Python: Boolean RPR_RemoveTrackSend(MediaTrack tr, Int category, Int sendidx)

Description:
Remove a send/receive/hardware output. See CreateTrackSend, GetSetTrackSendInfo, GetTrackSendInfo_Value, SetTrackSendInfo_Value, GetTrackNumSends.

Parameters:
          tr - the MediaTrack-object, in which you want to remove send/receive/hwouts
          category - less than 0, receives; 0, sends; greater than 0, hardware outputs
          sendidx - the idx of the send/receive/hwoutput to remove. 0, the first; 1 for the second, etc
Returnvalues:
          boolean - true, removing worked; false, removing didn't work(e.g. does not exist)


^ Reaper version 5.62Lua version 5.3 RenderFileSection

Functioncall:

C: bool RenderFileSection(const char* source_filename, const char* target_filename, double start_percent, double end_percent, double playrate)

EEL: bool RenderFileSection("source_filename", "target_filename", start_percent, end_percent, playrate)

Lua: boolean = reaper.RenderFileSection(string source_filename, string target_filename, number start_percent, number end_percent, number playrate)

Python: Boolean RPR_RenderFileSection(String source_filename, String target_filename, Float start_percent, Float end_percent, Float playrate)

Description:
Not available while playing back.

Parameters:
          source_filename -
          target_filename -
          start_percent -
          end_percent -
          playrate -
Returnvalues:
          boolean -


^ Reaper version 5.90Lua version 5.3 ReorderSelectedTracks

Functioncall:

C: bool ReorderSelectedTracks(int beforeTrackIdx, int makePrevFolder)

EEL: bool ReorderSelectedTracks(int beforeTrackIdx, int makePrevFolder)

Lua: boolean retval = reaper.ReorderSelectedTracks(integer beforeTrackIdx, integer makePrevFolder)

Python: Boolean RPR_ReorderSelectedTracks(Int beforeTrackIdx, Int makePrevFolder)

Description:
Moves all selected tracks to immediately above track specified by index beforeTrackIdx, returns false if no tracks were selected.
makePrevFolder=0 for normal,
   1 = as child of track preceding track specified by beforeTrackIdx,
   2 = if track preceding track specified by beforeTrackIdx is last track in folder, extend folder

Parameters:
          integer beforeTrackIdx - the number of track, before which you want to move the selected tracks; zero-based(0 for track 1, 1 for track 2, etc)
          integer makePrevFolder - decides, whether the track before the moved tracks(beforeTrackIdx-1) shall be a folder-track. Does only    
apply, when beforeTrackIdx>0(a track above the moved tracks exists).
0, don't make track beforeTrackIdx-1 a folder track;
1, make track beforeTrackIdx-1 a folder track
2, if track beforeTrackIdx-1 is the last track in folder, extend the folder(make the last moved track the last track in folder.
Returnvalues:
          boolean retval - true, if it was successful; false, if not(e.g. no tracks were selected)


^ Reaper version 5.62Lua version 5.3 Resample_EnumModes

Functioncall:

C: const char* Resample_EnumModes(int mode)

EEL: bool Resample_EnumModes(#retval, int mode)

Lua: string = reaper.Resample_EnumModes(integer mode)

Python: String RPR_Resample_EnumModes(Int mode)

Description:


Parameters:
          mode -
Returnvalues:
          string -


^ Reaper version 5.62Lua version 5.3 resolve_fn

Functioncall:

C: void resolve_fn(const char* in, char* out, int out_sz)

EEL: resolve_fn("in", #out)

Lua: string out = reaper.resolve_fn(string in, string out)

Python: (String in, String out, Int out_sz) = RPR_resolve_fn(in, out, out_sz)

Description:
See resolve_fn2.

Parameters:
          in -
          out -
          out_sz -
Returnvalues:
          out -


^ Reaper version 5.62Lua version 5.3 resolve_fn2

Functioncall:

C: void resolve_fn2(const char* in, char* out, int out_sz, const char* checkSubDirOptional)

EEL: resolve_fn2("in", #out, optional "checkSubDir")

Lua: string out = reaper.resolve_fn2(string in, string out, optional string checkSubDir)

Python: (String in, String out, Int out_sz, String checkSubDirOptional) = RPR_resolve_fn2(in, out, out_sz, checkSubDirOptional)

Description:
Resolves a filename "in" by using project settings etc. If no file found, out will be a copy of in.

Parameters:
          in -
          out -
          out_sz -
          checkSubDir -
Returnvalues:
          out -


^ Reaper version 5.62Lua version 5.3 ReverseNamedCommandLookup

Functioncall:

C: const char* ReverseNamedCommandLookup(int command_id)

EEL: bool ReverseNamedCommandLookup(#retval, int command_id)

Lua: string = reaper.ReverseNamedCommandLookup(integer command_id)

Python: String RPR_ReverseNamedCommandLookup(Int command_id)

Description:
Get the named command for the given command ID. The returned string will not start with '_' (e.g. it will return "SWS_ABOUT"), it will be NULL if command_id is a native action.

Parameters:
          command_id - the command/script/action, whose ActionCommandID you want to have
Returnvalues:
          string - the ActionCommandID of the command/script/action


^ Reaper version 5.62Lua version 5.3 ScaleFromEnvelopeMode

Functioncall:

C: double ScaleFromEnvelopeMode(int scaling_mode, double val)

EEL: double ScaleFromEnvelopeMode(int scaling_mode, val)

Lua: number = reaper.ScaleFromEnvelopeMode(integer scaling_mode, number val)

Python: Float RPR_ScaleFromEnvelopeMode(Int scaling_mode, Float val)

Description:
See GetEnvelopeScalingMode.

Parameters:
          scaling_mode -
          val -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 ScaleToEnvelopeMode

Functioncall:

C: double ScaleToEnvelopeMode(int scaling_mode, double val)

EEL: double ScaleToEnvelopeMode(int scaling_mode, val)

Lua: number = reaper.ScaleToEnvelopeMode(integer scaling_mode, number val)

Python: Float RPR_ScaleToEnvelopeMode(Int scaling_mode, Float val)

Description:
See GetEnvelopeScalingMode.

Parameters:
          scaling_mode -
          val -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 SelectAllMediaItems

Functioncall:

C: void SelectAllMediaItems(ReaProject* proj, bool selected)

EEL: SelectAllMediaItems(ReaProject proj, bool selected)

Lua: reaper.SelectAllMediaItems(ReaProject proj, boolean selected)

Python: RPR_SelectAllMediaItems(ReaProject proj, Boolean selected)

Description:
Selects or deselects all MediaItems in a project.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          selected - true, select; false, deselect


^ Reaper version 5.62Lua version 5.3 SelectProjectInstance

Functioncall:

C: void SelectProjectInstance(ReaProject* proj)

EEL: SelectProjectInstance(ReaProject proj)

Lua: reaper.SelectProjectInstance(ReaProject proj)

Python: RPR_SelectProjectInstance(ReaProject proj)

Description:
Switch to another opened project/projecttab.

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 SetActiveTake

Functioncall:

C: void SetActiveTake(MediaItem_Take* take)

EEL: SetActiveTake(MediaItem_Take take)

Lua: reaper.SetActiveTake(MediaItem_Take take)

Python: RPR_SetActiveTake(MediaItem_Take take)

Description:
set this take active in this media item

Parameters:
          take - the MediaItem_Take, you want to set as active-take in the MediaItem it is associated with


^ Reaper version 5.62Lua version 5.3 SetAutomationMode

Functioncall:

C: void SetAutomationMode(int mode, bool onlySel)

EEL: SetAutomationMode(int mode, bool onlySel)

Lua: reaper.SetAutomationMode(integer mode, boolean onlySel)

Python: RPR_SetAutomationMode(Int mode, Boolean onlySel)

Description:
Sets all or selected tracks to mode.

Includes the master-track.

Parameters:
          mode - the automation-mode
0, Trim/read
1, Read
2, Touch
3, Write
4, Latch
5 and higher no mode selected
          onlySel - true, only selected tracks; false, all tracks including master-track


^ Reaper version 5.62Lua version 5.3 SetCurrentBPM

Functioncall:

C: void SetCurrentBPM(ReaProject* __proj, double bpm, bool wantUndo)

EEL: SetCurrentBPM(ReaProject __proj, bpm, bool wantUndo)

Lua: reaper.SetCurrentBPM(ReaProject __proj, number bpm, boolean wantUndo)

Python: RPR_SetCurrentBPM(ReaProject __proj, Float bpm, Boolean wantUndo)

Description:
set current BPM in project, set wantUndo=true to add undo point

Parameters:
          __proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          bpm - the new beats per minute-value
          wantUndo - true, add undo point; false, no undo point added


^ Reaper version 5.62Lua version 5.3 SetCursorContext

Functioncall:

C: void SetCursorContext(int mode, TrackEnvelope* envInOptional)

EEL: SetCursorContext(int mode, TrackEnvelope envIn)

Lua: reaper.SetCursorContext(integer mode, TrackEnvelope envIn)

Python: RPR_SetCursorContext(Int mode, TrackEnvelope envInOptional)

Description:
Change the focus for the cursor.
You must use this to change the focus for the cursor programmatically.

mode=0 to focus track panels, 1 to focus the arrange window, 2 to focus the arrange window and select env (or envIn==NULL to clear the current track/take envelope selection)

Parameters:
          mode - the focus to be changed to
0, track panels
1, arrange window
2, arrangewindow and env
          envIn - TrackEnvelope-object of the envelope to select(only when mode=2, else set to nil); nil, clear current track/envelope-selection;


^ Reaper version 5.62Lua version 5.3 SetEditCurPos

Functioncall:

C: void SetEditCurPos(double time, bool moveview, bool seekplay)

EEL: SetEditCurPos(time, bool moveview, bool seekplay)

Lua: reaper.SetEditCurPos(number time, boolean moveview, boolean seekplay)

Python: RPR_SetEditCurPos(Float time, Boolean moveview, Boolean seekplay)

Description:
Change the position of the edit-cursor in the current project.

Parameters:
          time - the new editcursor-position in seconds
          moveview - true, change the arrange-view so editcursor is visible; false, just set the edit-cursor without moving the view(editcursor might be out of sight)
          seekplay - true, when playing, restart playing at the new edit-cursor position; false, keep playing at "old" playposition


^ Reaper version 5.62Lua version 5.3 SetEditCurPos2

Functioncall:

C: void SetEditCurPos2(ReaProject* proj, double time, bool moveview, bool seekplay)

EEL: SetEditCurPos2(ReaProject proj, time, bool moveview, bool seekplay)

Lua: reaper.SetEditCurPos2(ReaProject proj, number time, boolean moveview, boolean seekplay)

Python: RPR_SetEditCurPos2(ReaProject proj, Float time, Boolean moveview, Boolean seekplay)

Description:
Change the position of the edit-cursor in a specific project.      

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          time - the new editcursor-position in seconds
          moveview - true, change the arrange-view so editcursor is visible; false, just set the edit-cursor without moving the view(editcursor might be out of sight)
          seekplay - true, when playing, restart playing at the new edit-cursor position; false, keep playing at "old" playposition


^ Reaper version 5.979Lua version 5.3 SetEnvelopePoint

Functioncall:

C: bool SetEnvelopePoint(TrackEnvelope* envelope, int ptidx, double* timeInOptional, double* valueInOptional, int* shapeInOptional, double* tensionInOptional, bool* selectedInOptional, bool* noSortInOptional)

EEL: bool SetEnvelopePoint(TrackEnvelope envelope, int ptidx, optional timeIn, optional valueIn, optional int shapeIn, optional tensionIn, optional bool selectedIn, optional bool noSortIn)

Lua: boolean = reaper.SetEnvelopePoint(TrackEnvelope envelope, integer ptidx, optional number timeIn, optional number valueIn, optional number shapeIn, optional number tensionIn, optional boolean selectedIn, optional boolean noSortIn)

Python: (Boolean retval, TrackEnvelope envelope, Int ptidx, Float timeInOptional, Float valueInOptional, Int shapeInOptional, Float tensionInOptional, Boolean selectedInOptional, Boolean noSortInOptional) = RPR_SetEnvelopePoint(envelope, ptidx, timeInOptional, valueInOptional, shapeInOptional, tensionInOptional, selectedInOptional, noSortInOptional)

Description:
Set attributes of an envelope point. Values that are not supplied will be ignored. If setting multiple points at once, set noSort=true, and call Envelope_SortPoints when done. See SetEnvelopePointEx.

Parameters:
          envelope -
          ptidx -
          shapeIn -
          shapeIn -
          shapeIn -
          selectedIn -
          selectedIn -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 5.979Lua version 5.3 SetEnvelopePointEx

Functioncall:

C: bool SetEnvelopePointEx(TrackEnvelope* envelope, int autoitem_idx, int ptidx, double* timeInOptional, double* valueInOptional, int* shapeInOptional, double* tensionInOptional, bool* selectedInOptional, bool* noSortInOptional)

EEL: bool SetEnvelopePointEx(TrackEnvelope envelope, int autoitem_idx, int ptidx, optional timeIn, optional valueIn, optional int shapeIn, optional tensionIn, optional bool selectedIn, optional bool noSortIn)

Lua: boolean = reaper.SetEnvelopePointEx(TrackEnvelope envelope, integer autoitem_idx, integer ptidx, optional number timeIn, optional number valueIn, optional number shapeIn, optional number tensionIn, optional boolean selectedIn, optional boolean noSortIn)

Python: (Boolean retval, TrackEnvelope envelope, Int autoitem_idx, Int ptidx, Float timeInOptional, Float valueInOptional, Int shapeInOptional, Float tensionInOptional, Boolean selectedInOptional, Boolean noSortInOptional) = RPR_SetEnvelopePointEx(envelope, autoitem_idx, ptidx, timeInOptional, valueInOptional, shapeInOptional, tensionInOptional, selectedInOptional, noSortInOptional)

Description:
Set attributes of an envelope point. Values that are not supplied will be ignored. 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, InsertEnvelopePointEx, DeleteEnvelopePointEx.

Parameters:
          envelope -
          autoitem_idx -
          ptidx -
          shapeIn -
          shapeIn -
          shapeIn -
          selectedIn -
          selectedIn -
          noSortIn -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetEnvelopeStateChunk

Functioncall:

C: bool SetEnvelopeStateChunk(TrackEnvelope* env, const char* str, bool isundoOptional)

EEL: bool SetEnvelopeStateChunk(TrackEnvelope env, "str", bool isundo)

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

Python: Boolean RPR_SetEnvelopeStateChunk(TrackEnvelope env, String str, Boolean isundoOptional)

Description:
Sets the RPPXML state of an envelope, returns true if successful.

Parameters:
          env - the TrackEnvelope, whose statechunk you want to set
          str - the new statechunk, that you want to set
          isundo - undo flag is a performance/caching hint.
Returnvalues:
          boolean - true, setting worked; false, setting didn't work


^ Reaper version 5.62Lua version 5.3 SetExtState

Functioncall:

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

EEL: SetExtState("section", "key", "value", bool persist)

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

Python: RPR_SetExtState(String section, String key, String value, Boolean persist)

Description:
Set the extended state value for a specific section and key.

Persistant states are stored into the reaper-extstate.ini in the resources-folder.

See GetExtState, DeleteExtState, HasExtState.

Parameters:
          section - the section, in which the key-value is stored
          key - the key, which stores the value
          value - the new value to be set
          persist - true, means the value should be stored and reloaded the next time REAPER is opened


^ Reaper version 5.62Lua version 5.3 SetGlobalAutomationOverride

Functioncall:

C: void SetGlobalAutomationOverride(int mode)

EEL: SetGlobalAutomationOverride(int mode)

Lua: reaper.SetGlobalAutomationOverride(integer mode)

Python: RPR_SetGlobalAutomationOverride(Int mode)

Description:
mode: see [GetGlobalAutomationOverride](GetGlobalAutomationOverride)

Parameters:
          mode -


^ Reaper version 5.62Lua version 5.3 SetItemStateChunk

Functioncall:

C: bool SetItemStateChunk(MediaItem* item, const char* str, bool isundoOptional)

EEL: bool SetItemStateChunk(MediaItem item, "str", bool isundo)

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

Python: Boolean RPR_SetItemStateChunk(MediaItem item, String str, Boolean isundoOptional)

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

Parameters:
          item -
          str -
          isundo -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetMasterTrackVisibility

Functioncall:

C: int SetMasterTrackVisibility(int flag)

EEL: int SetMasterTrackVisibility(int flag)

Lua: integer = reaper.SetMasterTrackVisibility(integer flag)

Python: Int RPR_SetMasterTrackVisibility(Int flag)

Description:
set &1 to show the master track in the TCP, &2 to show in the mixer. Returns the previous visibility state. See GetMasterTrackVisibility.

Parameters:
          flag -
Returnvalues:
          integer -


^ Reaper version 6.01Lua version 5.3 SetMediaItemInfo_Value

Functioncall:

C: bool SetMediaItemInfo_Value(MediaItem* item, const char* parmname, double newvalue)

EEL: bool SetMediaItemInfo_Value(MediaItem item, "parmname", newvalue)

Lua: boolean = reaper.SetMediaItemInfo_Value(MediaItem item, string parmname, number newvalue)

Python: Boolean RPR_SetMediaItemInfo_Value(MediaItem item, String parmname, Float newvalue)

Description:
Set media item numerical-value attributes.
B_MUTE : bool * : muted
B_LOOPSRC : bool * : loop source
B_ALLTAKESPLAY : bool * : all takes play
B_UISEL : bool * : selected in arrange view
C_BEATATTACHMODE : char * : item timebase, -1=track or project default, 1=beats (position, length, rate), 2=beats (position only). for auto-stretch timebase: C_BEATATTACHMODE=1, C_AUTOSTRETCH=1
C_AUTOSTRETCH: : char * : auto-stretch at project tempo changes, 1=enabled, requires C_BEATATTACHMODE=1
C_LOCK : char * : locked, &1=locked
D_VOL : double * : item volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc
D_POSITION : double * : item position in seconds
D_LENGTH : double * : item length in seconds
D_SNAPOFFSET : double * : item snap offset in seconds
D_FADEINLEN : double * : item manual fadein length in seconds
D_FADEOUTLEN : double * : item manual fadeout length in seconds
D_FADEINDIR : double * : item fadein curvature, -1..1
D_FADEOUTDIR : double * : item fadeout curvature, -1..1
D_FADEINLEN_AUTO : double * : item auto-fadein length in seconds, -1=no auto-fadein
D_FADEOUTLEN_AUTO : double * : item auto-fadeout length in seconds, -1=no auto-fadeout
C_FADEINSHAPE : int * : fadein shape, 0..6, 0=linear
C_FADEOUTSHAPE : int * : fadeout shape, 0..6, 0=linear
I_GROUPID : int * : group ID, 0=no group
I_LASTY : int * : Y-position of track in pixels (read-only)
I_LASTH : int * : height in track in pixels (read-only)
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, but will store the color anyway)
I_CURTAKE : int * : active take number
IP_ITEMNUMBER : int, item number on this track (read-only, returns the item number directly)
F_FREEMODE_Y : float * : free item positioning Y-position, 0=top of track, 1=bottom of track (will never be 1)
F_FREEMODE_H : float * : free item positioning height, 0=no height, 1=full height of track (will never be 0)

Parameters:
          item -
          parmname -
          newvalue -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetMediaItemLength

Functioncall:

C: bool SetMediaItemLength(MediaItem* item, double length, bool refreshUI)

EEL: bool SetMediaItemLength(MediaItem item, length, bool refreshUI)

Lua: boolean = reaper.SetMediaItemLength(MediaItem item, number length, boolean refreshUI)

Python: Boolean RPR_SetMediaItemLength(MediaItem item, Float length, Boolean refreshUI)

Description:
Redraws the screen only if refreshUI == true.
See UpdateArrange().

Parameters:
          item -
          length -
          refreshUI -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetMediaItemPosition

Functioncall:

C: bool SetMediaItemPosition(MediaItem* item, double position, bool refreshUI)

EEL: bool SetMediaItemPosition(MediaItem item, position, bool refreshUI)

Lua: boolean = reaper.SetMediaItemPosition(MediaItem item, number position, boolean refreshUI)

Python: Boolean RPR_SetMediaItemPosition(MediaItem item, Float position, Boolean refreshUI)

Description:
Redraws the screen only if refreshUI == true.
See UpdateArrange().

Parameters:
          item -
          position -
          refreshUI -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetMediaItemSelected

Functioncall:

C: void SetMediaItemSelected(MediaItem* item, bool selected)

EEL: SetMediaItemSelected(MediaItem item, bool selected)

Lua: reaper.SetMediaItemSelected(MediaItem item, boolean selected)

Python: RPR_SetMediaItemSelected(MediaItem item, Boolean selected)

Description:


Parameters:
          item -
          selected -


^ Reaper version 5.961Lua version 5.3 SetMediaItemTake_Source

Functioncall:

C: bool SetMediaItemTake_Source(MediaItem_Take* take, PCM_source* source)

EEL: bool SetMediaItemTake_Source(MediaItem_Take take, PCM_source source)

Lua: boolean = reaper.SetMediaItemTake_Source(MediaItem_Take take, PCM_source source)

Python: Boolean RPR_SetMediaItemTake_Source(MediaItem_Take take, PCM_source source)

Description:
Set media source of media item take. The old source will not be destroyed, it is the caller's responsibility to retrieve it and destroy it after. If source already exists in any project, it will be duplicated before being set. C/C++ code should not use this and instead use GetSetMediaItemTakeInfo() with P_SOURCE to manage ownership directly.

Parameters:
          take -
          source -
Returnvalues:
          boolean -


^ Reaper version 6.01Lua version 5.3 SetMediaItemTakeInfo_Value

Functioncall:

C: bool SetMediaItemTakeInfo_Value(MediaItem_Take* take, const char* parmname, double newvalue)

EEL: bool SetMediaItemTakeInfo_Value(MediaItem_Take take, "parmname", newvalue)

Lua: boolean = reaper.SetMediaItemTakeInfo_Value(MediaItem_Take take, string parmname, number newvalue)

Python: Boolean RPR_SetMediaItemTakeInfo_Value(MediaItem_Take take, String parmname, Float newvalue)

Description:
Set media item take numerical-value attributes.
D_STARTOFFS : double * : start offset in source media, in seconds
D_VOL : double * : take volume, 0=-inf, 0.5=-6dB, 1=+0dB, 2=+6dB, etc, negative if take polarity is flipped
D_PAN : double * : take pan, -1..1
D_PANLAW : double * : take pan law, -1=default, 0.5=-6dB, 1.0=+0dB, etc
D_PLAYRATE : double * : take playback rate, 0.5=half speed, 1=normal, 2=double speed, etc
D_PITCH : double * : take pitch adjustment in semitones, -12=one octave down, 0=normal, +12=one octave up, etc
B_PPITCH : bool * : preserve pitch when changing playback rate
I_CHANMODE : int * : channel mode, 0=normal, 1=reverse stereo, 2=downmix, 3=left, 4=right
I_PITCHMODE : int * : pitch shifter mode, -1=projext default, otherwise high 2 bytes=shifter, low 2 bytes=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, but will store the color anyway)
IP_TAKENUMBER : int : take number (read-only, returns the take number directly)

Parameters:
          take -
          parmname -
          newvalue -
Returnvalues:
          boolean -


^ Reaper version 6.01Lua version 5.3 SetMediaTrackInfo_Value

Functioncall:

C: bool SetMediaTrackInfo_Value(MediaTrack* tr, const char* parmname, double newvalue)

EEL: bool SetMediaTrackInfo_Value(MediaTrack tr, "parmname", newvalue)

Lua: boolean = reaper.SetMediaTrackInfo_Value(MediaTrack tr, string parmname, number newvalue)

Python: Boolean RPR_SetMediaTrackInfo_Value(MediaTrack tr, String parmname, Float newvalue)

Description:
Set track numerical-value attributes.
B_MUTE : bool * : muted
B_PHASE : bool * : track phase inverted
IP_TRACKNUMBER : int : track number 1-based, 0=not found, -1=master track (read-only, returns the int directly)
I_SOLO : int * : soloed, 0=not soloed, 1=soloed, 2=soloed in place, 5=safe soloed, 6=safe soloed in place
I_FXEN : int * : fx enabled, 0=bypassed, !0=fx active
I_RECARM : int * : record armed, 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=stereo input pair. &4096=MIDI input, if set then low 5 bits represent channel (0=all, 1-16=only chan), 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/latency compensation, 4=midi output, 5=mono out, 6=mono out w/ latency compensation, 7=midi overdub, 8=midi replace
I_RECMON : int * : record monitoring, 0=off, 1=normal, 2=not when playing (tape style)
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, 2-64, even numbers only
I_SELECTED : int * : track selected, 0=unselected, 1=selected
I_WNDH : int * : current TCP window height in pixels including envelopes (read-only)
I_TCPH : int * : current TCP window height in pixels not including envelopes (read-only)
I_TCPY : int * : current TCP window Y-position in pixels relative to top of arrange view (read-only)
I_MCPX : int * : current MCP X-position in pixels relative to mixer container
I_MCPY : int * : current MCP Y-position in pixels relative to mixer container
I_MCPW : int * : current MCP width in pixels
I_MCPH : int * : current MCP height in pixels
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 compacted state (only valid on folders), 0=normal, 1=small, 2=tiny children
I_MIDIHWOUT : int * : track midi hardware output index, <0=disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)
I_PERFFLAGS : int * : track performance 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, but 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, 0.5=-6dB, 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=project default, 1=+0dB, etc
P_ENV:<envchunkname : TrackEnvelope*, read only. Call with :<VOLENV, :<PANENV, etc appended.
B_SHOWINMIXER : bool * : track control panel visible in mixer (do not use on master track)
B_SHOWINTCP : bool * : track control panel visible in arrange view (do not use on master track)
B_MAINSEND : bool * : track sends audio to parent
C_MAINSEND_OFFS : char * : channel offset of track send to parent
B_FREEMODE : bool * : track free item positioning enabled (call UpdateTimeline() after changing)
C_BEATATTACHMODE : char * : track timebase, -1=project default, 0=time, 1=beats (position, length, rate), 2=beats (position only)
F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0=minimum allowed, 1=maximum allowed)
F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=minimum allowed, 1=maximum allowed)
I_PLAY_OFFSET_FLAG : int * : track playback offset state, &1=bypassed, &2=offset value is measured in samples (otherwise measured in seconds)
D_PLAY_OFFSET : double * : track playback offset, units depend on I_PLAY_OFFSET_FLAG

Parameters:
          tr -
          parmname -
          newvalue -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetMIDIEditorGrid

Functioncall:

C: void SetMIDIEditorGrid(ReaProject* project, double division)

EEL: SetMIDIEditorGrid(ReaProject project, division)

Lua: reaper.SetMIDIEditorGrid(ReaProject project, number division)

Python: RPR_SetMIDIEditorGrid(ReaProject project, Float division)

Description:
Set the MIDI editor grid division. 0.25=quarter note, 1.0/3.0=half note tripet, etc.

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


^ Reaper version 5.62Lua version 5.3 SetMixerScroll

Functioncall:

C: MediaTrack* SetMixerScroll(MediaTrack* leftmosttrack)

EEL: MediaTrack SetMixerScroll(MediaTrack leftmosttrack)

Lua: MediaTrack = reaper.SetMixerScroll(MediaTrack leftmosttrack)

Python: MediaTrack RPR_SetMixerScroll(MediaTrack leftmosttrack)

Description:
Scroll the mixer so that leftmosttrack is the leftmost visible track. Returns the leftmost track after scrolling, which may be different from the passed-in track if there are not enough tracks to its right.

Parameters:
          leftmosttrack - the desired leftmost-MediaTrack
Returnvalues:
          MediaTrack - the new leftmost-track as MediaTrack-object


^ Reaper version 5.62Lua version 5.3 SetMouseModifier

Functioncall:

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

EEL: SetMouseModifier("context", int modifier_flag, "action")

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

Python: RPR_SetMouseModifier(String context, Int modifier_flag, String action)

Description:
Set the mouse modifier assignment for a specific modifier key assignment, in a specific context.
Context is a string like "MMCTXITEM". Find these strings by modifying an assignment in
Preferences/Editing/Mouse Modifiers, then looking in reaper-mouse.ini.
Modifier flag is a number from 0 to 15: add 1 for shift, 2 for control, 4 for alt, 8 for win.
(macOS: add 1 for shift, 2 for command, 4 for opt, 8 for control.)
For left-click and double-click contexts, the action can be any built-in command ID number
or any custom action ID string. Find built-in command IDs in the REAPER actions window
(enable "show action IDs" in the context menu), and find custom action ID strings in reaper-kb.ini.
For built-in mouse modifier behaviors, find action IDs (which will be low numbers)
by modifying an assignment in Preferences/Editing/Mouse Modifiers, then looking in reaper-mouse.ini.
Assigning an action of -1 will reset that mouse modifier behavior to factory default.
See GetMouseModifier.


Parameters:
          context -
          modifier_flag -
          action -


^ Reaper version 5.62Lua version 5.3 SetOnlyTrackSelected

Functioncall:

C: void SetOnlyTrackSelected(MediaTrack* track)

EEL: SetOnlyTrackSelected(MediaTrack track)

Lua: reaper.SetOnlyTrackSelected(MediaTrack track)

Python: RPR_SetOnlyTrackSelected(MediaTrack track)

Description:
Set exactly one track selected, deselect all others

Parameters:
          track - the MediaTrack to be selected


^ Reaper version 5.62Lua version 5.3 SetProjectGrid

Functioncall:

C: void SetProjectGrid(ReaProject* project, double division)

EEL: SetProjectGrid(ReaProject project, division)

Lua: reaper.SetProjectGrid(ReaProject project, number division)

Python: RPR_SetProjectGrid(ReaProject project, Float division)

Description:
Set the arrange view grid division. 0.25=quarter note, 1.0/3.0=half note triplet, etc.

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


^ Reaper version 5.62Lua version 5.3 SetProjectMarker

Functioncall:

C: bool SetProjectMarker(int markrgnindexnumber, bool isrgn, double pos, double rgnend, const char* name)

EEL: bool SetProjectMarker(int markrgnindexnumber, bool isrgn, pos, rgnend, "name")

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

Python: Boolean RPR_SetProjectMarker(Int markrgnindexnumber, Boolean isrgn, Float pos, Float rgnend, String name)

Description:
Sets/alters an existing project-marker

Parameters:
          markrgnindexnumber - the shown number of the marker to be altered
          isrgn - true, marker is a region; false, marker is a normal marker
          pos - the position of the new marker in seconds
          rgnend - the end of a region, if isrgn is true
          name - shown name of the marker
Returnvalues:
          boolean - true, setting the marker worked; false, setting the marker didn't work


^ Reaper version 5.62Lua version 5.3 SetProjectMarker2

Functioncall:

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

EEL: bool SetProjectMarker2(ReaProject proj, int markrgnindexnumber, bool isrgn, pos, rgnend, "name")

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

Python: Boolean RPR_SetProjectMarker2(ReaProject proj, Int markrgnindexnumber, Boolean isrgn, Float pos, Float rgnend, String name)

Description:
Sets/alters an existing project-marker in a given project.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          markrgnindexnumber - the shown number of the marker to be altered
          isrgn - true, marker is a region; false, marker is a normal marker
          pos - the position of the new marker in seconds
          rgnend - the end of a region, if isrgn is true
          name - shown name of the marker
Returnvalues:
          boolean - true, setting the marker worked; false, setting the marker didn't work


^ Reaper version 5.62Lua version 5.3 SetProjectMarker3

Functioncall:

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

EEL: bool SetProjectMarker3(ReaProject proj, int markrgnindexnumber, bool isrgn, pos, rgnend, "name", int color)

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

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

Description:
Sets/alters an existing project-marker in a given project. Differs from SetProjectMarker2 and SetProjectMarker, that you can set color as well.
Color should be 0 to not change, or ColorToNative(r,g,b)|0x1000000

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          markrgnindexnumber - the shown number of the marker to be altered
          isrgn - true, marker is a region; false, marker is a normal marker
          pos - the position of the new marker in seconds
          rgnend - the end of a region, if isrgn is true
          name - shown name of the marker
          color - the new color-value as native color-value
Returnvalues:
          boolean - true, setting the marker worked; false, setting the marker didn't work


^ Reaper version 5.62Lua version 5.3 SetProjectMarker4

Functioncall:

C: bool SetProjectMarker4(ReaProject* proj, int markrgnindexnumber, bool isrgn, double pos, double rgnend, const char* name, int color, int flags)

EEL: bool SetProjectMarker4(ReaProject proj, int markrgnindexnumber, bool isrgn, pos, rgnend, "name", int color, int flags)

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

Python: Boolean RPR_SetProjectMarker4(ReaProject proj, Int markrgnindexnumber, Boolean isrgn, Float pos, Float rgnend, String name, Int color, Int flags)

Description:
Sets/alters an existing project-marker in a given project.
color should be 0 to not change, or ColorToNative(r,g,b)|0x1000000, flags&1 to clear name

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          markrgnindexnumber - the shown number of the marker to be altered
          isrgn - true, marker is a region; false, marker is a normal marker
          pos - the position of the new marker in seconds
          rgnend - the end of a region, if isrgn is true
          name - shown name of the marker
          color - the new color-value as native color-value
          flags - &1 to clear name
Returnvalues:
          boolean - true, setting the marker worked; false, setting the marker didn't work


^ Reaper version 5.62Lua version 5.3 SetProjectMarkerByIndex

Functioncall:

C: bool SetProjectMarkerByIndex(ReaProject* proj, int markrgnidx, bool isrgn, double pos, double rgnend, int IDnumber, const char* name, int color)

EEL: bool SetProjectMarkerByIndex(ReaProject proj, int markrgnidx, bool isrgn, pos, rgnend, int IDnumber, "name", int color)

Lua: boolean = reaper.SetProjectMarkerByIndex(ReaProject proj, integer markrgnidx, boolean isrgn, number pos, number rgnend, integer IDnumber, string name, integer color)

Python: Boolean RPR_SetProjectMarkerByIndex(ReaProject proj, Int markrgnidx, Boolean isrgn, Float pos, Float rgnend, Int IDnumber, String name, Int color)

Description:
See SetProjectMarkerByIndex2.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          markrgnidx -
          isrgn -
          pos -
          rgnend -
          IDnumber -
          name -
          color -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetProjectMarkerByIndex2

Functioncall:

C: bool SetProjectMarkerByIndex2(ReaProject* proj, int markrgnidx, bool isrgn, double pos, double rgnend, int IDnumber, const char* name, int color, int flags)

EEL: bool SetProjectMarkerByIndex2(ReaProject proj, int markrgnidx, bool isrgn, pos, rgnend, int IDnumber, "name", int color, int flags)

Lua: boolean = reaper.SetProjectMarkerByIndex2(ReaProject proj, integer markrgnidx, boolean isrgn, number pos, number rgnend, integer IDnumber, string name, integer color, integer flags)

Python: Boolean RPR_SetProjectMarkerByIndex2(ReaProject proj, Int markrgnidx, Boolean isrgn, Float pos, Float rgnend, Int IDnumber, String name, Int color, Int flags)

Description:
Differs from SetProjectMarker4 in that markrgnidx is 0 for the first marker/region, 1 for the next, etc (see EnumProjectMarkers3), rather than representing the displayed marker/region ID number (see SetProjectMarker3). Function will fail if attempting to set a duplicate ID number for a region (duplicate ID numbers for markers are OK). , flags&1 to clear name.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          markrgnidx -
          isrgn -
          pos -
          rgnend -
          IDnumber -
          name -
          color -
          flags -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetProjExtState

Functioncall:

C: int SetProjExtState(ReaProject* proj, const char* extname, const char* key, const char* value)

EEL: int SetProjExtState(ReaProject proj, "extname", "key", "value")

Lua: integer = reaper.SetProjExtState(ReaProject proj, string extname, string key, string value)

Python: Int RPR_SetProjExtState(ReaProject proj, String extname, String key, String value)

Description:
Save a key/value pair for a specific extension, to be restored the next time this specific project is loaded. Typically extname will be the name of a reascript or extension section. If key is NULL or "", all extended data for that extname will be deleted. If val is NULL or "", the data previously associated with that key will be deleted. Returns the size of the state for this extname. See GetProjExtState, 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/value is stored
          key - the key, that stores the value
          value - the value, that's stored in the key
Returnvalues:
          integer - the number of key/value-pairs in the extname


^ Reaper version 5.62Lua version 5.3 SetRegionRenderMatrix

Functioncall:

C: void SetRegionRenderMatrix(ReaProject* proj, int regionindex, MediaTrack* track, int addorremove)

EEL: SetRegionRenderMatrix(ReaProject proj, int regionindex, MediaTrack track, int addorremove)

Lua: reaper.SetRegionRenderMatrix(ReaProject proj, integer regionindex, MediaTrack track, integer addorremove)

Python: RPR_SetRegionRenderMatrix(ReaProject proj, Int regionindex, MediaTrack track, Int addorremove)

Description:
Add (addorremove > 0) or remove (addorremove > 0) a track from this region when using the region render matrix.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          regionindex -
          track -
          addorremove -


^ Reaper version 5.62Lua version 5.3 SetTakeStretchMarker

Functioncall:

C: int SetTakeStretchMarker(MediaItem_Take* take, int idx, double pos, const double* srcposInOptional)

EEL: int SetTakeStretchMarker(MediaItem_Take take, int idx, pos, optional srcposIn)

Lua: integer = reaper.SetTakeStretchMarker(MediaItem_Take take, integer idx, number pos, optional number srcposIn)

Python: Int RPR_SetTakeStretchMarker(MediaItem_Take take, Int idx, Float pos, const double srcposInOptional)

Description:
Adds or updates a stretch marker. If idx>0, stretch marker will be added. If idx>=0, stretch marker will be updated. When adding, if srcposInOptional is omitted, source position will be auto-calculated. When updating a stretch marker, if srcposInOptional is omitted, srcpos will not be modified. Position/srcposition values will be constrained to nearby stretch markers. Returns index of stretch marker, or -1 if did not insert (or marker already existed at time).

Parameters:
          take -
          idx -
          pos -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 SetTakeStretchMarkerSlope

Functioncall:

C: bool SetTakeStretchMarkerSlope(MediaItem_Take* take, int idx, double slope)

EEL: bool SetTakeStretchMarkerSlope(MediaItem_Take take, int idx, slope)

Lua: boolean = reaper.SetTakeStretchMarkerSlope(MediaItem_Take take, integer idx, number slope)

Python: Boolean RPR_SetTakeStretchMarkerSlope(MediaItem_Take take, Int idx, Float slope)

Description:
See GetTakeStretchMarkerSlope

Parameters:
          take -
          idx -
          slope -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTempoTimeSigMarker

Functioncall:

C: bool SetTempoTimeSigMarker(ReaProject* proj, int ptidx, double timepos, int measurepos, double beatpos, double bpm, int timesig_num, int timesig_denom, bool lineartempo)

EEL: bool SetTempoTimeSigMarker(ReaProject proj, int ptidx, timepos, int measurepos, beatpos, bpm, int timesig_num, int timesig_denom, bool lineartempo)

Lua: boolean = reaper.SetTempoTimeSigMarker(ReaProject proj, integer ptidx, number timepos, integer measurepos, number beatpos, number bpm, integer timesig_num, integer timesig_denom, boolean lineartempo)

Python: Boolean RPR_SetTempoTimeSigMarker(ReaProject proj, Int ptidx, Float timepos, Int measurepos, Float beatpos, Float bpm, Int timesig_num, Int timesig_denom, Boolean lineartempo)

Description:
Set parameters of a tempo/time signature marker. Provide either timepos (with measurepos=-1, beatpos=-1), or measurepos and beatpos (with timepos=-1). If timesig_num and timesig_denom are zero, the previous time signature will be used. ptidx=-1 will insert a new tempo/time signature marker. See CountTempoTimeSigMarkers, GetTempoTimeSigMarker, AddTempoTimeSigMarker, DeleteTempoTimeSigMarker.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          ptidx -
          timepos -
          measurepos -
          beatpos -
          bpm -
          timesig_num -
          timesig_denom -
          lineartempo -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetToggleCommandState

Functioncall:

C: bool SetToggleCommandState(int section_id, int command_id, int state)

EEL: bool SetToggleCommandState(int section_id, int command_id, int state)

Lua: boolean = reaper.SetToggleCommandState(integer section_id, integer command_id, integer state)

Python: Boolean RPR_SetToggleCommandState(Int section_id, Int command_id, Int state)

Description:
Updates the toggle state of an action, returns true if succeeded. Only ReaScripts can have their toggle states changed programmatically. See RefreshToolbar2.

Parameters:
          section_id -
          command_id -
          state -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackAutomationMode

Functioncall:

C: void SetTrackAutomationMode(MediaTrack* tr, int mode)

EEL: SetTrackAutomationMode(MediaTrack tr, int mode)

Lua: reaper.SetTrackAutomationMode(MediaTrack tr, integer mode)

Python: RPR_SetTrackAutomationMode(MediaTrack tr, Int mode)

Description:
Set automation-mode for a specific MediaTrack.

Parameters:
          tr - the MediaTrack, whose automation-mode you want to set
          mode - the automation-mode
0, Trim/read
1, Read
2, Touch
3, Write
4, Latch
5 and higher no mode selected


^ Reaper version 5.62Lua version 5.3 SetTrackColor

Functioncall:

C: void SetTrackColor(MediaTrack* track, int color)

EEL: SetTrackColor(MediaTrack track, int color)

Lua: reaper.SetTrackColor(MediaTrack track, integer color)

Python: RPR_SetTrackColor(MediaTrack track, Int color)

Description:
Set the custom track color, color is OS dependent (i.e. ColorToNative(r,g,b).

Parameters:
          track - the MediaTrack, whose color you want to change
          color - the new color-value


^ Reaper version 5.62Lua version 5.3 SetTrackMIDILyrics

Functioncall:

C: bool SetTrackMIDILyrics(MediaTrack* track, int flag, const char* str)

EEL: bool SetTrackMIDILyrics(MediaTrack track, int flag, "str")

Lua: boolean = reaper.SetTrackMIDILyrics(MediaTrack track, integer flag, string str)

Python: Boolean RPR_SetTrackMIDILyrics(MediaTrack track, Int flag, String str)

Description:
Set all MIDI lyrics on the track. Lyrics will be stuffed into any MIDI items found in range. Flag is unused at present. str is passed in as beat position, tab, text, tab (example with flag=2: "1.1.2\tLyric for measure 1 beat 2\t.1.1\tLyric for measure 2 beat 1 "). See GetTrackMIDILyrics

Parameters:
          track -
          flag -
          str -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackMIDINoteName

Functioncall:

C: bool SetTrackMIDINoteName(int track, int pitch, int chan, const char* name)

EEL: bool SetTrackMIDINoteName(int track, int pitch, int chan, "name")

Lua: boolean = reaper.SetTrackMIDINoteName(integer track, integer pitch, integer chan, string name)

Python: Boolean RPR_SetTrackMIDINoteName(Int track, Int pitch, Int chan, String name)

Description:
channel > 0 assigns these note names to all channels.

Parameters:
          track -
          pitch -
          chan -
          name -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackMIDINoteNameEx

Functioncall:

C: bool SetTrackMIDINoteNameEx(ReaProject* proj, MediaTrack* track, int pitch, int chan, const char* name)

EEL: bool SetTrackMIDINoteNameEx(ReaProject proj, MediaTrack track, int pitch, int chan, "name")

Lua: boolean = reaper.SetTrackMIDINoteNameEx(ReaProject proj, MediaTrack track, integer pitch, integer chan, string name)

Python: Boolean RPR_SetTrackMIDINoteNameEx(ReaProject proj, MediaTrack track, Int pitch, Int chan, String name)

Description:
channel > 0 assigns note name to all channels. pitch 128 assigns name for CC0, pitch 129 for CC1, etc.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          track -
          pitch -
          chan -
          name -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackSelected

Functioncall:

C: void SetTrackSelected(MediaTrack* track, bool selected)

EEL: SetTrackSelected(MediaTrack track, bool selected)

Lua: reaper.SetTrackSelected(MediaTrack track, boolean selected)

Python: RPR_SetTrackSelected(MediaTrack track, Boolean selected)

Description:
Set a MediaTrack selected/deselected. Will retain already existing selection, so you can set multiple tracks selected that way.

Parameters:
          track - the MediaTrack, whose selection state you want to set
          selected - true, set MediaTrack to selected; false, set MediaTrack to deselected


^ Reaper version 5.62Lua version 5.3 SetTrackSendInfo_Value

Functioncall:

C: bool SetTrackSendInfo_Value(MediaTrack* tr, int category, int sendidx, const char* parmname, double newvalue)

EEL: bool SetTrackSendInfo_Value(MediaTrack tr, int category, int sendidx, "parmname", newvalue)

Lua: boolean = reaper.SetTrackSendInfo_Value(MediaTrack tr, integer category, integer sendidx, string parmname, number newvalue)

Python: Boolean RPR_SetTrackSendInfo_Value(MediaTrack tr, Int category, Int sendidx, String parmname, Float newvalue)

Description:
Set send/receive/hardware output numerical-value attributes, return true on success.
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=chanSee CreateTrackSend, RemoveTrackSend, GetTrackNumSends.


See CreateTrackSend, RemoveTrackSend, GetTrackNumSends.

Parameters:
          tr -
          category -
          sendidx -
          parmname -
          newvalue -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackSendUIPan

Functioncall:

C: bool SetTrackSendUIPan(MediaTrack* track, int send_idx, double pan, int isend)

EEL: bool SetTrackSendUIPan(MediaTrack track, int send_idx, pan, int isend)

Lua: boolean = reaper.SetTrackSendUIPan(MediaTrack track, integer send_idx, number pan, integer isend)

Python: Boolean RPR_SetTrackSendUIPan(MediaTrack track, Int send_idx, Float pan, Int isend)

Description:
send_idx<0 for receives, >=0 for hw ouputs, >=nb_of_hw_ouputs for sends. isend=1 for end of edit, -1 for an instant edit (such as reset), 0 for normal tweak.

Parameters:
          track -
          send_idx -
          pan -
          isend -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackSendUIVol

Functioncall:

C: bool SetTrackSendUIVol(MediaTrack* track, int send_idx, double vol, int isend)

EEL: bool SetTrackSendUIVol(MediaTrack track, int send_idx, vol, int isend)

Lua: boolean = reaper.SetTrackSendUIVol(MediaTrack track, integer send_idx, number vol, integer isend)

Python: Boolean RPR_SetTrackSendUIVol(MediaTrack track, Int send_idx, Float vol, Int isend)

Description:
send_idx<0 for receives, >=0 for hw ouputs, >=nb_of_hw_ouputs for sends. isend=1 for end of edit, -1 for an instant edit (such as reset), 0 for normal tweak.

Parameters:
          track -
          send_idx -
          vol -
          isend -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 SetTrackStateChunk

Functioncall:

C: bool SetTrackStateChunk(MediaTrack* track, const char* str, bool isundoOptional)

EEL: bool SetTrackStateChunk(MediaTrack track, "str", bool isundo)

Lua: boolean = reaper.SetTrackStateChunk(MediaTrack track, string str, boolean isundo)

Python: Boolean RPR_SetTrackStateChunk(MediaTrack track, String str, Boolean isundoOptional)

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

Parameters:
          track - the MediaTrack, whose statechunk you want to set
          str - the new trackstatechunk, you want to set this MediaTrack to
          isundo - undo flag is a performance/caching hint
Returnvalues:
          boolean - true, setting worked; false, setting didn't work


^ Reaper version 5.92Lua version 5.3 ShowPopupMenu

Functioncall:

C: void ShowPopupMenu(const char* name, int x, int y, HWND hwndParentOptional, void* ctxOptional, int ctx2Optional, int ctx3Optional)

EEL: ShowPopupMenu("name", int x, int y, HWND hwndParent, void* ctx, int ctx2, int ctx3)

Lua: reaper.ShowPopupMenu(string name, integer x, integer y, optional HWND hwndParent, identifier ctx, integer ctx2, integer ctx3)

Python: RPR_ShowPopupMenu(String name, Int x, Int y, HWND hwndParentOptional, void ctxOptional, Int ctx2Optional, Int ctx3Optional)

Description:
shows a Reaper-context menu.
You can decide, which menu to show and to which track/item/envelope/envelope-point/automation-item you want this context-menu to be applied to.
e.g. you can decide, whether settings in the context-menu "track_panel" shall be applied to track 1, track 2, etc

You can also apply this to the selected track/mediaitem/envelope.
The parameters name and ctx influence each other, means: name="item" and ctx=reaper.GetMediaItem(0,1) apply the mediaitem-contextmenu to the Mediaitem-object, given to parameter ctx.
The choice of the parameter name also influences, whether ctxOptional and ctx2Optional can be set or not and what they mean.

Blocks further execution of a script, until the context-menu is closed.

Parameters:
          string name - the name of the context-menu to show
can be track_input, track_panel, track_area, track_routing, item, ruler, envelope, envelope_point, envelope_item
          integer x - x-position of the contextmenu-display-position in pixels
          integer y - y-position of the contextmenu-display-position in pixels
          optional HWND hwndParent - the HWND-window in which to display the context-menu.
nil, Reaper's main window will be used as HWND
          optional identifier ctx - the object for which to apply the contextmenu. Options selected in the context-menu will be applied to this track/item;
nil, use the selected track(s)/item(s)/envelope, depending on the chosen context-menu-name in parameter name;
      shows no context-menu, when no track/item/envelope is selected;

possible objects and their corresponding name-parameter:
   - MediaTrack(track_input, track_panel, track_routing)
   - MediaItem(item)
   - TrackEnvelope(also Take-Envelopes!) (envelope, envelope_point)
when using any other context-menu-name, this parameter will be ignored by Reaper.
          optional ctxOptional - when ctx is a TrackEnvelope(or nil) and menu="envelope_point",
      this is the idx of the envelope-point to which to apply the context-menu
when ctx is a TrackEnvelope(or nil) and menu="envelope_item",
      this reflects the automation-item in chosen envelope, to which to apply the context-menu(1 or higher for automation-item 1 or higher)
          optional ctx2Optional - when ctx is a TrackEnvelope(or nil) and menu="envelope_point", this reflects,
0, whether to apply the context-menu to the point in the envelope-lane or
1 or higher, whether to apply the context-menu to the point in automation-item 1 or higher;
nil, assumes 0(envelope-lane)


^ Reaper version 5.62Lua version 5.3 ShowActionList

Functioncall:

C: void ShowActionList(KbdSectionInfo* caller, HWND callerWnd)

EEL: ShowActionList(KbdSectionInfo caller, HWND callerWnd)

Lua: reaper.ShowActionList(KbdSectionInfo caller, optional HWND callerWnd)

Python: RPR_ShowActionList(KbdSectionInfo caller, HWND callerWnd)

Description:


Parameters:
          caller -
          optional HWND callerWnd - the HWND that shall call the ActionList; can be nil


^ Reaper version 5.62Lua version 5.3 ShowConsoleMsg

Functioncall:

C: void ShowConsoleMsg(const char* msg)

EEL: ShowConsoleMsg("msg")

Lua: reaper.ShowConsoleMsg(string msg)

Python: RPR_ShowConsoleMsg(String msg)

Description:
Show a message to the user (also useful for debugging). Send "\n" for newline, "" to clear the console. See ClearConsole

Parameters:
          msg - a message to be shown in ReaConsole


^ Reaper version 5.62Lua version 5.3 ShowMessageBox

Functioncall:

C: int ShowMessageBox(const char* msg, const char* title, int type)

EEL: int ShowMessageBox("msg", "title", int type)

Lua: integer = reaper.ShowMessageBox(string msg, string title, integer type)

Python: Int RPR_ShowMessageBox(String msg, String title, Int type)

Description:
Shows Messagebox with user-clickable buttons.          

Parameters:
          msg - the message, that shall be shown in messagebox
          title - the title of the messagebox
          type - which buttons shall be shown in the messagebox
0, OK
1, OK CANCEL
2, ABORT RETRY IGNORE
3, YES NO CANCEL
4, YES NO
5, RETRY CANCEL
Returnvalues:
          integer - the button pressed by the user 1, OK 2, CANCEL 3, ABORT 4, RETRY 5, IGNORE 6, YES 7, NO


^ Reaper version 5.62Lua version 5.3 SLIDER2DB

Functioncall:

C: double SLIDER2DB(double y)

EEL: double SLIDER2DB(y)

Lua: number = reaper.SLIDER2DB(number y)

Python: Float RPR_SLIDER2DB(Float y)

Description:
Convert slider-value to it's dB-value-equivalent.

Parameters:
          y - the dB-value
Returnvalues:
          number - the slider-value, you want to convert to dB


^ Reaper version 5.62Lua version 5.3 SnapToGrid

Functioncall:

C: double SnapToGrid(ReaProject* project, double time_pos)

EEL: double SnapToGrid(ReaProject project, time_pos)

Lua: number = reaper.SnapToGrid(ReaProject project, number time_pos)

Python: Float RPR_SnapToGrid(ReaProject project, Float time_pos)

Description:


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


^ Reaper version 5.62Lua version 5.3 SoloAllTracks

Functioncall:

C: void SoloAllTracks(int solo)

EEL: SoloAllTracks(int solo)

Lua: reaper.SoloAllTracks(integer solo)

Python: RPR_SoloAllTracks(Int solo)

Description:
Set solo-state for all tracks.

Parameters:
          solo - the new solo state for all tracks
0, solo off
1, solo, ignore routing
2, solo in place


^ Reaper version 5.62Lua version 5.3 Splash_GetWnd

Functioncall:

C: HWND Splash_GetWnd()

EEL: HWND Splash_GetWnd()

Lua: HWND = reaper.Splash_GetWnd()

Python: HWND RPR_Splash_GetWnd()

Description:
gets the splash window, in case you want to display a message over it. Returns NULL when the sphah window is not displayed.

Returnvalues:
          HWND -


^ Reaper version 5.62Lua version 5.3 SplitMediaItem

Functioncall:

C: MediaItem* SplitMediaItem(MediaItem* item, double position)

EEL: MediaItem SplitMediaItem(MediaItem item, position)

Lua: MediaItem = reaper.SplitMediaItem(MediaItem item, number position)

Python: MediaItem RPR_SplitMediaItem(MediaItem item, Float position)

Description:
The original item becomes the left-hand split, the function returns the right-hand split (or NULL if the split failed)

Parameters:
          item - the MediaItem so be split
          position - the split-position in seconds
Returnvalues:
          MediaItem - the new MediaItem on the right side of the split


^ Reaper version 5.62Lua version 5.3 stringToGuid

Functioncall:

C: void stringToGuid(const char* str, GUID* g)

EEL: stringToGuid("str", #gGUID)

Lua: string gGUID = reaper.stringToGuid(string str, string gGUID)

Python: RPR_stringToGuid(String str, GUID g)

Description:


Parameters:
          str -
Returnvalues:
          gGUID -


^ Reaper version 5.92Lua version 5.3 StuffMIDIMessage

Functioncall:

C: void StuffMIDIMessage(int mode, int msg1, int msg2, int msg3)

EEL: StuffMIDIMessage(int mode, int msg1, int msg2, int msg3)

Lua: reaper.StuffMIDIMessage(integer mode, integer msg1, integer msg2, integer msg3)

Python: RPR_StuffMIDIMessage(Int mode, Int msg1, Int msg2, Int msg3)

Description:
Stuffs a 3 byte MIDI message into either the Virtual MIDI Keyboard queue, or the MIDI-as-control input queue, or sends to a MIDI hardware output. mode=0 for VKB, 1 for control (actions map etc), 2 for VKB-on-current-channel; 16 for external MIDI device 0, 17 for external MIDI device 1, etc; see GetNumMIDIOutputs, GetMIDIOutputName.

Parameters:
          mode -
          msg1 - modifier
          msg2 - note/keyname
          msg3 - velocity


^ Reaper version 5.62Lua version 5.3 TakeFX_AddByName

Functioncall:

C: int TakeFX_AddByName(MediaItem_Take* take, const char* fxname, int instantiate)

EEL: int TakeFX_AddByName(MediaItem_Take take, "fxname", int instantiate)

Lua: integer = reaper.TakeFX_AddByName(MediaItem_Take take, string fxname, integer instantiate)

Python: Int RPR_TakeFX_AddByName(MediaItem_Take take, String fxname, Int instantiate)

Description:
Adds or queries the position of a named FX in a take. Specify a negative value for instantiate to always create a new effect, 0 to only query the first instance of an effect, or a positive value to add an instance if one is not found.

Parameters:
          take -
          fxname -
          instantiate -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TakeFX_EndParamEdit

Functioncall:

C: bool TakeFX_EndParamEdit(MediaItem_Take* take, int fx, int param)

EEL: bool TakeFX_EndParamEdit(MediaItem_Take take, int fx, int param)

Lua: boolean = reaper.TakeFX_EndParamEdit(MediaItem_Take take, integer fx, integer param)

Python: Boolean RPR_TakeFX_EndParamEdit(MediaItem_Take take, Int fx, Int param)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_FormatParamValue

Functioncall:

C: bool TakeFX_FormatParamValue(MediaItem_Take* take, int fx, int param, double val, char* buf, int buf_sz)

EEL: bool TakeFX_FormatParamValue(MediaItem_Take take, int fx, int param, val, #buf)

Lua: boolean retval, string buf = reaper.TakeFX_FormatParamValue(MediaItem_Take take, integer fx, integer param, number val, string buf)

Python: (Boolean retval, MediaItem_Take take, Int fx, Int param, Float val, String buf, Int buf_sz) = RPR_TakeFX_FormatParamValue(take, fx, param, val, buf, buf_sz)

Description:
Note: only works with FX that support Cockos VST extensions.

Parameters:
          take -
          fx -
          param -
          val -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TakeFX_FormatParamValueNormalized

Functioncall:

C: bool TakeFX_FormatParamValueNormalized(MediaItem_Take* take, int fx, int param, double value, char* buf, int buf_sz)

EEL: bool TakeFX_FormatParamValueNormalized(MediaItem_Take take, int fx, int param, value, #buf)

Lua: boolean retval, string buf = reaper.TakeFX_FormatParamValueNormalized(MediaItem_Take take, integer fx, integer param, number value, string buf)

Python: (Boolean retval, MediaItem_Take take, Int fx, Int param, Float value, String buf, Int buf_sz) = RPR_TakeFX_FormatParamValueNormalized(take, fx, param, value, buf, buf_sz)

Description:
Note: only works with FX that support Cockos VST extensions.

Parameters:
          take -
          fx -
          param -
          value -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetChainVisible

Functioncall:

C: int TakeFX_GetChainVisible(MediaItem_Take* take)

EEL: int TakeFX_GetChainVisible(MediaItem_Take take)

Lua: integer = reaper.TakeFX_GetChainVisible(MediaItem_Take take)

Python: Int RPR_TakeFX_GetChainVisible(MediaItem_Take take)

Description:
returns index of effect visible in chain, or -1 for chain hidden, or -2 for chain visible but no effect selected

Parameters:
          take -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetCount

Functioncall:

C: int TakeFX_GetCount(MediaItem_Take* take)

EEL: int TakeFX_GetCount(MediaItem_Take take)

Lua: integer = reaper.TakeFX_GetCount(MediaItem_Take take)

Python: Int RPR_TakeFX_GetCount(MediaItem_Take take)

Description:


Parameters:
          take -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetEnabled

Functioncall:

C: bool TakeFX_GetEnabled(MediaItem_Take* take, int fx)

EEL: bool TakeFX_GetEnabled(MediaItem_Take take, int fx)

Lua: boolean = reaper.TakeFX_GetEnabled(MediaItem_Take take, integer fx)

Python: Boolean RPR_TakeFX_GetEnabled(MediaItem_Take take, Int fx)

Description:
See TakeFX_SetEnabled

Parameters:
          take -
          fx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetEnvelope

Functioncall:

C: TrackEnvelope* TakeFX_GetEnvelope(MediaItem_Take* take, int fxindex, int parameterindex, bool create)

EEL: TrackEnvelope TakeFX_GetEnvelope(MediaItem_Take take, int fxindex, int parameterindex, bool create)

Lua: TrackEnvelope = reaper.TakeFX_GetEnvelope(MediaItem_Take take, integer fxindex, integer parameterindex, boolean create)

Python: TrackEnvelope RPR_TakeFX_GetEnvelope(MediaItem_Take take, 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:
          take -
          fxindex -
          parameterindex -
          create -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetFloatingWindow

Functioncall:

C: HWND TakeFX_GetFloatingWindow(MediaItem_Take* take, int index)

EEL: HWND TakeFX_GetFloatingWindow(MediaItem_Take take, int index)

Lua: HWND = reaper.TakeFX_GetFloatingWindow(MediaItem_Take take, integer index)

Python: HWND RPR_TakeFX_GetFloatingWindow(MediaItem_Take take, Int index)

Description:
returns HWND of floating window for effect index, if any

Parameters:
          take -
          index -
Returnvalues:
          HWND -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetFormattedParamValue

Functioncall:

C: bool TakeFX_GetFormattedParamValue(MediaItem_Take* take, int fx, int param, char* buf, int buf_sz)

EEL: bool TakeFX_GetFormattedParamValue(MediaItem_Take take, int fx, int param, #buf)

Lua: boolean retval, string buf = reaper.TakeFX_GetFormattedParamValue(MediaItem_Take take, integer fx, integer param, string buf)

Python: (Boolean retval, MediaItem_Take take, Int fx, Int param, String buf, Int buf_sz) = RPR_TakeFX_GetFormattedParamValue(take, fx, param, buf, buf_sz)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetFXGUID

Functioncall:

C: GUID* TakeFX_GetFXGUID(MediaItem_Take* take, int fx)

EEL: bool TakeFX_GetFXGUID(#retguid, MediaItem_Take take, int fx)

Lua: string GUID = reaper.TakeFX_GetFXGUID(MediaItem_Take take, integer fx)

Python: GUID RPR_TakeFX_GetFXGUID(MediaItem_Take take, Int fx)

Description:


Parameters:
          take -
          fx -
Returnvalues:
          GUID -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetFXName

Functioncall:

C: bool TakeFX_GetFXName(MediaItem_Take* take, int fx, char* buf, int buf_sz)

EEL: bool TakeFX_GetFXName(MediaItem_Take take, int fx, #buf)

Lua: boolean retval, string buf = reaper.TakeFX_GetFXName(MediaItem_Take take, integer fx, string buf)

Python: (Boolean retval, MediaItem_Take take, Int fx, String buf, Int buf_sz) = RPR_TakeFX_GetFXName(take, fx, buf, buf_sz)

Description:


Parameters:
          take -
          fx -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetIOSize

Functioncall:

C: int TakeFX_GetIOSize(MediaItem_Take* take, int fx, int* inputPinsOutOptional, int* outputPinsOutOptional)

EEL: int TakeFX_GetIOSize(MediaItem_Take take, int fx, optional int &inputPins, optional int &outputPins)

Lua: integer retval, optional number inputPins, optional number outputPins = reaper.TakeFX_GetIOSize(MediaItem_Take take, integer fx)

Python: (Int retval, MediaItem_Take take, Int fx, Int inputPinsOutOptional, Int outputPinsOutOptional) = RPR_TakeFX_GetIOSize(take, fx, inputPinsOutOptional, outputPinsOutOptional)

Description:
sets the number of input/output pins for FX if available, returns plug-in type or -1 on error

Parameters:
          take -
          fx -
Returnvalues:
          retval -
          inputPins -
          outputPins -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetNamedConfigParm

Functioncall:

C: bool TakeFX_GetNamedConfigParm(MediaItem_Take* take, int fx, const char* parmname, char* bufOut, int bufOut_sz)

EEL: bool TakeFX_GetNamedConfigParm(MediaItem_Take take, int fx, "parmname", #buf)

Lua: boolean retval, string buf = reaper.TakeFX_GetNamedConfigParm(MediaItem_Take take, integer fx, string parmname)

Python: (Boolean retval, MediaItem_Take take, Int fx, String parmname, String bufOut, Int bufOut_sz) = RPR_TakeFX_GetNamedConfigParm(take, fx, parmname, bufOut, bufOut_sz)

Description:
gets plug-in specific named configuration value (returns true on success)

Parameters:
          take -
          fx -
          parmname -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetNumParams

Functioncall:

C: int TakeFX_GetNumParams(MediaItem_Take* take, int fx)

EEL: int TakeFX_GetNumParams(MediaItem_Take take, int fx)

Lua: integer = reaper.TakeFX_GetNumParams(MediaItem_Take take, integer fx)

Python: Int RPR_TakeFX_GetNumParams(MediaItem_Take take, Int fx)

Description:


Parameters:
          take -
          fx -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetOpen

Functioncall:

C: bool TakeFX_GetOpen(MediaItem_Take* take, int fx)

EEL: bool TakeFX_GetOpen(MediaItem_Take take, int fx)

Lua: boolean = reaper.TakeFX_GetOpen(MediaItem_Take take, integer fx)

Python: Boolean RPR_TakeFX_GetOpen(MediaItem_Take take, Int fx)

Description:
Returns true if this FX UI is open in the FX chain window or a floating window. See TakeFX_SetOpen

Parameters:
          take -
          fx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetParam

Functioncall:

C: double TakeFX_GetParam(MediaItem_Take* take, int fx, int param, double* minvalOut, double* maxvalOut)

EEL: double TakeFX_GetParam(MediaItem_Take take, int fx, int param, &minval, &maxval)

Lua: number retval, number minval, number maxval = reaper.TakeFX_GetParam(MediaItem_Take take, integer fx, integer param)

Python: (Float retval, MediaItem_Take take, Int fx, Int param, Float minvalOut, Float maxvalOut) = RPR_TakeFX_GetParam(take, fx, param, minvalOut, maxvalOut)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          retval -
          minval -
          maxval -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetParameterStepSizes

Functioncall:

C: bool TakeFX_GetParameterStepSizes(MediaItem_Take* take, int fx, int param, double* stepOut, double* smallstepOut, double* largestepOut, bool* istoggleOut)

EEL: bool TakeFX_GetParameterStepSizes(MediaItem_Take take, int fx, int param, &step, &smallstep, &largestep, bool &istoggle)

Lua: boolean retval, number step, number smallstep, number largestep, boolean istoggle = reaper.TakeFX_GetParameterStepSizes(MediaItem_Take take, integer fx, integer param)

Python: (Boolean retval, MediaItem_Take take, Int fx, Int param, Float stepOut, Float smallstepOut, Float largestepOut, Boolean istoggleOut) = RPR_TakeFX_GetParameterStepSizes(take, fx, param, stepOut, smallstepOut, largestepOut, istoggleOut)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          retval -
          step -
          smallstep -
          largestep -
          istoggle -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetParamEx

Functioncall:

C: double TakeFX_GetParamEx(MediaItem_Take* take, int fx, int param, double* minvalOut, double* maxvalOut, double* midvalOut)

EEL: double TakeFX_GetParamEx(MediaItem_Take take, int fx, int param, &minval, &maxval, &midval)

Lua: number retval, number minval, number maxval, number midval = reaper.TakeFX_GetParamEx(MediaItem_Take take, integer fx, integer param)

Python: (Float retval, MediaItem_Take take, Int fx, Int param, Float minvalOut, Float maxvalOut, Float midvalOut) = RPR_TakeFX_GetParamEx(take, fx, param, minvalOut, maxvalOut, midvalOut)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          retval -
          minval -
          maxval -
          midval -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetParamName

Functioncall:

C: bool TakeFX_GetParamName(MediaItem_Take* take, int fx, int param, char* buf, int buf_sz)

EEL: bool TakeFX_GetParamName(MediaItem_Take take, int fx, int param, #buf)

Lua: boolean retval, string buf = reaper.TakeFX_GetParamName(MediaItem_Take take, integer fx, integer param, string buf)

Python: (Boolean retval, MediaItem_Take take, Int fx, Int param, String buf, Int buf_sz) = RPR_TakeFX_GetParamName(take, fx, param, buf, buf_sz)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetParamNormalized

Functioncall:

C: double TakeFX_GetParamNormalized(MediaItem_Take* take, int fx, int param)

EEL: double TakeFX_GetParamNormalized(MediaItem_Take take, int fx, int param)

Lua: number = reaper.TakeFX_GetParamNormalized(MediaItem_Take take, integer fx, integer param)

Python: Float RPR_TakeFX_GetParamNormalized(MediaItem_Take take, Int fx, Int param)

Description:


Parameters:
          take -
          fx -
          param -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetPinMappings

Functioncall:

C: int TakeFX_GetPinMappings(MediaItem_Take* tr, int fx, int isOutput, int pin, int* high32OutOptional)

EEL: int TakeFX_GetPinMappings(MediaItem_Take tr, int fx, int is, int pin, optional int &high32)

Lua: integer retval, optional number high32 = reaper.TakeFX_GetPinMappings(MediaItem_Take tr, integer fx, integer is, integer pin)

Python: (Int retval, MediaItem_Take tr, Int fx, Int isOutput, Int pin, Int high32OutOptional) = RPR_TakeFX_GetPinMappings(tr, fx, isOutput, pin, high32OutOptional)

Description:
gets the effective channel mapping bitmask for a particular pin. high32OutOptional will be set to the high 32 bits

Parameters:
          tr -
          fx -
          is -
          pin -
Returnvalues:
          retval -
          high32 -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetPreset

Functioncall:

C: bool TakeFX_GetPreset(MediaItem_Take* take, int fx, char* presetname, int presetname_sz)

EEL: bool TakeFX_GetPreset(MediaItem_Take take, int fx, #presetname)

Lua: boolean retval, string presetname = reaper.TakeFX_GetPreset(MediaItem_Take take, integer fx, string presetname)

Python: (Boolean retval, MediaItem_Take take, Int fx, String presetname, Int presetname_sz) = RPR_TakeFX_GetPreset(take, fx, presetname, presetname_sz)

Description:
Get the name of the preset currently showing in the REAPER dropdown, or the full path to a factory preset file for VST3 plug-ins (.vstpreset). Returns false if the current FX parameters do not exactly match the preset (in other words, if the user loaded the preset but moved the knobs afterward). See TakeFX_SetPreset.

Parameters:
          take -
          fx -
Returnvalues:
          retval -
          presetname -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetPresetIndex

Functioncall:

C: int TakeFX_GetPresetIndex(MediaItem_Take* take, int fx, int* numberOfPresetsOut)

EEL: int TakeFX_GetPresetIndex(MediaItem_Take take, int fx, int &numberOfPresets)

Lua: integer retval, number numberOfPresets = reaper.TakeFX_GetPresetIndex(MediaItem_Take take, integer fx)

Python: (Int retval, MediaItem_Take take, Int fx, Int numberOfPresetsOut) = RPR_TakeFX_GetPresetIndex(take, fx, numberOfPresetsOut)

Description:
Returns current preset index, or -1 if error. numberOfPresetsOut will be set to total number of presets available. See TakeFX_SetPresetByIndex

Parameters:
          take -
          fx -
Returnvalues:
          retval -
          numberOfPresets -


^ Reaper version 5.62Lua version 5.3 TakeFX_GetUserPresetFilename

Functioncall:

C: void TakeFX_GetUserPresetFilename(MediaItem_Take* take, int fx, char* fn, int fn_sz)

EEL: TakeFX_GetUserPresetFilename(MediaItem_Take take, int fx, #fn)

Lua: string fn = reaper.TakeFX_GetUserPresetFilename(MediaItem_Take take, integer fx, string fn)

Python: (MediaItem_Take take, Int fx, String fn, Int fn_sz) = RPR_TakeFX_GetUserPresetFilename(take, fx, fn, fn_sz)

Description:


Parameters:
          take -
          fx -
Returnvalues:
          fn -


^ Reaper version 5.62Lua version 5.3 TakeFX_NavigatePresets

Functioncall:

C: bool TakeFX_NavigatePresets(MediaItem_Take* take, int fx, int presetmove)

EEL: bool TakeFX_NavigatePresets(MediaItem_Take take, int fx, int presetmove)

Lua: boolean = reaper.TakeFX_NavigatePresets(MediaItem_Take take, integer fx, integer presetmove)

Python: Boolean RPR_TakeFX_NavigatePresets(MediaItem_Take take, Int fx, Int presetmove)

Description:
presetmove==1 activates the next preset, presetmove==-1 activates the previous preset, etc.

Parameters:
          take -
          fx -
          presetmove -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetEnabled

Functioncall:

C: void TakeFX_SetEnabled(MediaItem_Take* take, int fx, bool enabled)

EEL: TakeFX_SetEnabled(MediaItem_Take take, int fx, bool enabled)

Lua: reaper.TakeFX_SetEnabled(MediaItem_Take take, integer fx, boolean enabled)

Python: RPR_TakeFX_SetEnabled(MediaItem_Take take, Int fx, Boolean enabled)

Description:
See TakeFX_GetEnabled

Parameters:
          take -
          fx -
          enabled -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetNamedConfigParm

Functioncall:

C: bool TakeFX_SetNamedConfigParm(MediaItem_Take* take, int fx, const char* parmname, const char* value)

EEL: bool TakeFX_SetNamedConfigParm(MediaItem_Take take, int fx, "parmname", "value")

Lua: boolean = reaper.TakeFX_SetNamedConfigParm(MediaItem_Take take, integer fx, string parmname, string value)

Python: Boolean RPR_TakeFX_SetNamedConfigParm(MediaItem_Take take, Int fx, String parmname, String value)

Description:
gets plug-in specific named configuration value (returns true on success)

Parameters:
          take -
          fx -
          parmname -
          value -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetOpen

Functioncall:

C: void TakeFX_SetOpen(MediaItem_Take* take, int fx, bool open)

EEL: TakeFX_SetOpen(MediaItem_Take take, int fx, bool open)

Lua: reaper.TakeFX_SetOpen(MediaItem_Take take, integer fx, boolean open)

Python: RPR_TakeFX_SetOpen(MediaItem_Take take, Int fx, Boolean open)

Description:
Open this FX UI. See TakeFX_GetOpen

Parameters:
          take -
          fx -
          open -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetParam

Functioncall:

C: bool TakeFX_SetParam(MediaItem_Take* take, int fx, int param, double val)

EEL: bool TakeFX_SetParam(MediaItem_Take take, int fx, int param, val)

Lua: boolean = reaper.TakeFX_SetParam(MediaItem_Take take, integer fx, integer param, number val)

Python: Boolean RPR_TakeFX_SetParam(MediaItem_Take take, Int fx, Int param, Float val)

Description:


Parameters:
          take -
          fx -
          param -
          val -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetParamNormalized

Functioncall:

C: bool TakeFX_SetParamNormalized(MediaItem_Take* take, int fx, int param, double value)

EEL: bool TakeFX_SetParamNormalized(MediaItem_Take take, int fx, int param, value)

Lua: boolean = reaper.TakeFX_SetParamNormalized(MediaItem_Take take, integer fx, integer param, number value)

Python: Boolean RPR_TakeFX_SetParamNormalized(MediaItem_Take take, Int fx, Int param, Float value)

Description:


Parameters:
          take -
          fx -
          param -
          value -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetPinMappings

Functioncall:

C: bool TakeFX_SetPinMappings(MediaItem_Take* tr, int fx, int isOutput, int pin, int low32bits, int hi32bits)

EEL: bool TakeFX_SetPinMappings(MediaItem_Take tr, int fx, int is, int pin, int low32bits, int hi32bits)

Lua: boolean = reaper.TakeFX_SetPinMappings(MediaItem_Take tr, integer fx, integer is, integer pin, integer low32bits, integer hi32bits)

Python: Boolean RPR_TakeFX_SetPinMappings(MediaItem_Take tr, Int fx, Int isOutput, Int pin, Int low32bits, Int hi32bits)

Description:
sets the channel mapping bitmask for a particular pin. returns false if unsupported (not all types of plug-ins support this capability)

Parameters:
          tr -
          fx -
          is -
          pin -
          low32bits -
          hi32bits -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetPreset

Functioncall:

C: bool TakeFX_SetPreset(MediaItem_Take* take, int fx, const char* presetname)

EEL: bool TakeFX_SetPreset(MediaItem_Take take, int fx, "presetname")

Lua: boolean = reaper.TakeFX_SetPreset(MediaItem_Take take, integer fx, string presetname)

Python: Boolean RPR_TakeFX_SetPreset(MediaItem_Take take, Int fx, String presetname)

Description:
Activate a preset with the name shown in the REAPER dropdown. Full paths to .vstpreset files are also supported for VST3 plug-ins. See TakeFX_GetPreset.

Parameters:
          take -
          fx -
          presetname -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_SetPresetByIndex

Functioncall:

C: bool TakeFX_SetPresetByIndex(MediaItem_Take* take, int fx, int idx)

EEL: bool TakeFX_SetPresetByIndex(MediaItem_Take take, int fx, int idx)

Lua: boolean = reaper.TakeFX_SetPresetByIndex(MediaItem_Take take, integer fx, integer idx)

Python: Boolean RPR_TakeFX_SetPresetByIndex(MediaItem_Take take, Int fx, Int idx)

Description:
Sets the preset idx, or the factory preset (idx==-2), or the default user preset (idx==-1). Returns true on success. See TakeFX_GetPresetIndex.

Parameters:
          take -
          fx -
          idx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TakeFX_Show

Functioncall:

C: void TakeFX_Show(MediaItem_Take* take, int index, int showFlag)

EEL: TakeFX_Show(MediaItem_Take take, int index, int showFlag)

Lua: reaper.TakeFX_Show(MediaItem_Take take, integer index, integer showFlag)

Python: RPR_TakeFX_Show(MediaItem_Take take, Int index, Int showFlag)

Description:
showflag=0 for hidechain, =1 for show chain(index valid), =2 for hide floating window(index valid), =3 for show floating window (index valid)

Parameters:
          take -
          index -
          showFlag -


^ Reaper version 5.62Lua version 5.3 TakeIsMIDI

Functioncall:

C: bool TakeIsMIDI(MediaItem_Take* take)

EEL: bool TakeIsMIDI(MediaItem_Take take)

Lua: boolean = reaper.TakeIsMIDI(MediaItem_Take take)

Python: Boolean RPR_TakeIsMIDI(MediaItem_Take take)

Description:
Returns true if the active take contains MIDI.

Parameters:
          take - the MediaItem_Take, that you want to check for MIDI-elements
Returnvalues:
          boolean - true, MediaItem_Take contains MIDI; false, MediaItem_Take doesn't contain MIDI


^ Reaper version 6.00Lua version 5.3 ThemeLayout_GetLayout

Functioncall:

C: bool ThemeLayout_GetLayout(const char* section, int idx, char* nameOut, int nameOut_sz)

EEL: bool ThemeLayout_GetLayout("section", int idx, #name)

Lua: boolean retval, string name = reaper.ThemeLayout_GetLayout(string section, integer idx)

Python: (Boolean retval, String section, Int idx, String nameOut, Int nameOut_sz) = RPR_ThemeLayout_GetLayout(section, idx, nameOut, nameOut_sz)

Description:
Gets theme layout information.

    section can be 'global' for global layout override, 'seclist' to enumerate a list of layout sections, otherwise a layout section such as 'mcp', 'tcp', 'trans', etc.
    idx can be
        -1 to query the current value,
        -2 to get the description of the section (if not global),
        -3 will return the current context DPI-scaling (256=normal, 512=retina, etc), or 0..x.
        
returns false if failed.

Parameters:
          string section -
          integer idx -
Returnvalues:
          boolean retval -
          string name -


^ Reaper version 5.972Lua version 5.3 ThemeLayout_GetParameter

Functioncall:

C: const char* ThemeLayout_GetParameter(int wp, const char** descOutOptional, int* valueOutOptional, int* defValueOutOptional, int* minValueOutOptional, int* maxValueOutOptional)

EEL: bool ThemeLayout_GetParameter(#retval, int wp, optional #desc, optional int &value, optional int &defValue, optional int &minValue, optional int &maxValue)

Lua: string retval, optional string desc, optional number value, optional number defValue, optional number minValue, optional number maxValue = reaper.ThemeLayout_GetParameter(integer wp)

Python: (String retval, Int wp, String descOutOptional, Int valueOutOptional, Int defValueOutOptional, Int minValueOutOptional, Int maxValueOutOptional) = RPR_ThemeLayout_GetParameter(wp, descOutOptional, valueOutOptional, defValueOutOptional, minValueOutOptional, maxValueOutOptional)

Description:
returns theme layout parameter. return value is cfg-name, or nil/empty if out of range.

Parameters:
          integer wp -
Returnvalues:
          string retval -
          optional string desc -
          optional number value -
          optional number defValue -
          optional number minValue -
          optional number maxValue -


^ Reaper version 5.972Lua version 5.3 ThemeLayout_RefreshAll

Functioncall:

C: void ThemeLayout_RefreshAll()

EEL: ThemeLayout_RefreshAll()

Lua: reaper.ThemeLayout_RefreshAll()

Python: RPR_ThemeLayout_RefreshAll()

Description:
Refreshes all layouts



^ Reaper version 5.974Lua version 5.3 ThemeLayout_SetLayout

Functioncall:

C: bool ThemeLayout_SetLayout(const char* section, const char* layout)

EEL: bool ThemeLayout_SetLayout("section", " layout")

Lua: boolean retval = reaper.ThemeLayout_SetLayout(string section, string layout)

Python: Boolean RPR_ThemeLayout_SetLayout(String section, String layout)

Description:
Sets theme layout override for a particular section

section can be 'global' or 'mcp' etc.

If setting global layout, prefix a ! to the layout string to clear any per-layout overrides.

Returns false if failed.

Parameters:
          string section -
          string layout -
Returnvalues:
          boolean retval -


^ Reaper version 5.972Lua version 5.3 ThemeLayout_SetParameter

Functioncall:

C: bool ThemeLayout_SetParameter(int wp, int value, bool persist)

EEL: bool ThemeLayout_SetParameter(int wp, int value, bool persist)

Lua: boolean retval = reaper.ThemeLayout_SetParameter(integer wp, integer value, boolean persist)

Python: Boolean RPR_ThemeLayout_SetParameter(Int wp, Int value, Boolean persist)

Description:
sets theme layout parameter to value. persist=true in order to have change loaded on next theme load.

note that the caller should update layouts via ??? to make changes visible.

Parameters:
          integer wp -
          integer value -
          boolean persist -
Returnvalues:
          boolean retval -


^ Reaper version 5.62Lua version 5.3 time_precise

Functioncall:

C: double time_precise()

Lua: number = reaper.time_precise()

Python: Float RPR_time_precise()

Description:
Gets a precise system timestamp in seconds.

For EEL-programming, see eel_time_precise.

Returnvalues:
          number - the system-timestamp in seconds with a precision of 7 digits


^ Reaper version 5.62Lua version 5.3 TimeMap2_beatsToTime

Functioncall:

C: double TimeMap2_beatsToTime(ReaProject* proj, double tpos, const int* measuresInOptional)

EEL: double TimeMap2_beatsToTime(ReaProject proj, tpos, optional int measuresIn)

Lua: number = reaper.TimeMap2_beatsToTime(ReaProject proj, number tpos, optional number measuresIn)

Python: Float RPR_TimeMap2_beatsToTime(ReaProject proj, Float tpos, const int measuresInOptional)

Description:
convert a beat position (or optionally a beats+measures if measures is non-NULL) to time.

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


^ Reaper version 5.62Lua version 5.3 TimeMap2_GetDividedBpmAtTime

Functioncall:

C: double TimeMap2_GetDividedBpmAtTime(ReaProject* proj, double time)

EEL: double TimeMap2_GetDividedBpmAtTime(ReaProject proj, time)

Lua: number = reaper.TimeMap2_GetDividedBpmAtTime(ReaProject proj, number time)

Python: Float RPR_TimeMap2_GetDividedBpmAtTime(ReaProject proj, Float time)

Description:
get the effective BPM at the time (seconds) position (i.e. 2x in /8 signatures)

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


^ Reaper version 5.62Lua version 5.3 TimeMap2_GetNextChangeTime

Functioncall:

C: double TimeMap2_GetNextChangeTime(ReaProject* proj, double time)

EEL: double TimeMap2_GetNextChangeTime(ReaProject proj, time)

Lua: number = reaper.TimeMap2_GetNextChangeTime(ReaProject proj, number time)

Python: Float RPR_TimeMap2_GetNextChangeTime(ReaProject proj, Float time)

Description:
when does the next time map (tempo or time sig) change occur

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


^ Reaper version 5.62Lua version 5.3 TimeMap2_QNToTime

Functioncall:

C: double TimeMap2_QNToTime(ReaProject* proj, double qn)

EEL: double TimeMap2_QNToTime(ReaProject proj, qn)

Lua: number = reaper.TimeMap2_QNToTime(ReaProject proj, number qn)

Python: Float RPR_TimeMap2_QNToTime(ReaProject proj, Float qn)

Description:
converts project QN position to time.

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


^ Reaper version 5.62Lua version 5.3 TimeMap2_timeToBeats

Functioncall:

C: double TimeMap2_timeToBeats(ReaProject* proj, double tpos, int* measuresOutOptional, int* cmlOutOptional, double* fullbeatsOutOptional, int* cdenomOutOptional)

EEL: double TimeMap2_timeToBeats(ReaProject proj, tpos, optional int &measures, optional int &cml, optional &fullbeats, optional int &cdenom)

Lua: number retval, optional number measures, optional number cml, optional number fullbeats, optional number cdenom = reaper.TimeMap2_timeToBeats(ReaProject proj, number tpos)

Python: (Float retval, ReaProject proj, Float tpos, Int measuresOutOptional, Int cmlOutOptional, Float fullbeatsOutOptional, Int cdenomOutOptional) = RPR_TimeMap2_timeToBeats(proj, tpos, measuresOutOptional, cmlOutOptional, fullbeatsOutOptional, cdenomOutOptional)

Description:
convert a time into beats.
if measures is non-NULL, measures will be set to the measure count, return value will be beats since measure.
if cml is non-NULL, will be set to current measure length in beats (i.e. time signature numerator)
if fullbeats is non-NULL, and measures is non-NULL, fullbeats will get the full beat count (same value returned if measures is NULL).
if cdenom is non-NULL, will be set to the current time signature denominator.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          tpos -
Returnvalues:
          retval -
          measures -
          cml -
          fullbeats -
          cdenom -


^ Reaper version 5.62Lua version 5.3 TimeMap2_timeToQN

Functioncall:

C: double TimeMap2_timeToQN(ReaProject* proj, double tpos)

EEL: double TimeMap2_timeToQN(ReaProject proj, tpos)

Lua: number = reaper.TimeMap2_timeToQN(ReaProject proj, number tpos)

Python: Float RPR_TimeMap2_timeToQN(ReaProject proj, Float tpos)

Description:
converts project time position to QN position.

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


^ Reaper version 5.62Lua version 5.3 TimeMap_curFrameRate

Functioncall:

C: double TimeMap_curFrameRate(ReaProject* proj, bool* dropFrameOutOptional)

EEL: double TimeMap_curFrameRate(ReaProject proj, optional bool &dropFrame)

Lua: number retval, optional boolean dropFrame = reaper.TimeMap_curFrameRate(ReaProject proj)

Python: (Float retval, ReaProject proj, Boolean dropFrameOutOptional) = RPR_TimeMap_curFrameRate(proj, dropFrameOutOptional)

Description:
Gets project framerate, and optionally whether it is drop-frame timecode

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


^ Reaper version 5.62Lua version 5.3 TimeMap_GetDividedBpmAtTime

Functioncall:

C: double TimeMap_GetDividedBpmAtTime(double time)

EEL: double TimeMap_GetDividedBpmAtTime(time)

Lua: number = reaper.TimeMap_GetDividedBpmAtTime(number time)

Python: Float RPR_TimeMap_GetDividedBpmAtTime(Float time)

Description:
get the effective BPM at the time (seconds) position (i.e. 2x in /8 signatures)

Parameters:
          time -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 TimeMap_GetMeasureInfo

Functioncall:

C: double TimeMap_GetMeasureInfo(ReaProject* proj, int measure, double* qn_startOut, double* qn_endOut, int* timesig_numOut, int* timesig_denomOut, double* tempoOut)

EEL: double TimeMap_GetMeasureInfo(ReaProject proj, int measure, &qn_start, &qn_end, int &timesig_num, int &timesig_denom, &tempo)

Lua: number retval, number qn_start, number qn_end, number timesig_num, number timesig_denom, number tempo = reaper.TimeMap_GetMeasureInfo(ReaProject proj, integer measure)

Python: (Float retval, ReaProject proj, Int measure, Float qn_startOut, Float qn_endOut, Int timesig_numOut, Int timesig_denomOut, Float tempoOut) = RPR_TimeMap_GetMeasureInfo(proj, measure, qn_startOut, qn_endOut, timesig_numOut, timesig_denomOut, tempoOut)

Description:
Get the QN position and time signature information for the start of a measure. Return the time in seconds of the measure start.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          measure -
Returnvalues:
          retval -
          qn_start -
          qn_end -
          timesig_num -
          timesig_denom -
          tempo -


^ Reaper version 5.62Lua version 5.3 TimeMap_GetMetronomePattern

Functioncall:

C: int TimeMap_GetMetronomePattern(ReaProject* proj, double time, char* pattern, int pattern_sz)

EEL: int TimeMap_GetMetronomePattern(ReaProject proj, time, #pattern)

Lua: integer retval, string pattern = reaper.TimeMap_GetMetronomePattern(ReaProject proj, number time, string pattern)

Python: (Int retval, ReaProject proj, Float time, String pattern, Int pattern_sz) = RPR_TimeMap_GetMetronomePattern(proj, time, pattern, pattern_sz)

Description:
Fills in a string representing the active metronome pattern. For example, in a 7/8 measure divided 3+4, the pattern might be "1221222". The length of the string is the time signature numerator, and the function returns the time signature denominator.

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


^ Reaper version 5.62Lua version 5.3 TimeMap_GetTimeSigAtTime

Functioncall:

C: void TimeMap_GetTimeSigAtTime(ReaProject* proj, double time, int* timesig_numOut, int* timesig_denomOut, double* tempoOut)

EEL: TimeMap_GetTimeSigAtTime(ReaProject proj, time, int &timesig_num, int &timesig_denom, &tempo)

Lua: number timesig_num retval, number timesig_denom, number tempo = reaper.TimeMap_GetTimeSigAtTime(ReaProject proj, number time)

Python: (ReaProject proj, Float time, Int timesig_numOut, Int timesig_denomOut, Float tempoOut) = RPR_TimeMap_GetTimeSigAtTime(proj, time, timesig_numOut, timesig_denomOut, tempoOut)

Description:
get the effective time signature and tempo

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          time -
Returnvalues:
          timesig_num retval -
          timesig_denom -
          tempo -


^ Reaper version 5.62Lua version 5.3 TimeMap_QNToMeasures

Functioncall:

C: int TimeMap_QNToMeasures(ReaProject* proj, double qn, double* qnMeasureStartOutOptional, double* qnMeasureEndOutOptional)

EEL: int TimeMap_QNToMeasures(ReaProject proj, qn, optional &qnMeasureStart, optional &qnMeasureEnd)

Lua: integer retval, optional number qnMeasureStart, optional number qnMeasureEnd = reaper.TimeMap_QNToMeasures(ReaProject proj, number qn)

Python: (Int retval, ReaProject proj, Float qn, Float qnMeasureStartOutOptional, Float qnMeasureEndOutOptional) = RPR_TimeMap_QNToMeasures(proj, qn, qnMeasureStartOutOptional, qnMeasureEndOutOptional)

Description:
Find which measure the given QN position falls in.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          qn -
Returnvalues:
          retval -
          qnMeasureStart -
          qnMeasureEnd -


^ Reaper version 5.62Lua version 5.3 TimeMap_QNToTime

Functioncall:

C: double TimeMap_QNToTime(double qn)

EEL: double TimeMap_QNToTime(qn)

Lua: number = reaper.TimeMap_QNToTime(number qn)

Python: Float RPR_TimeMap_QNToTime(Float qn)

Description:
converts project QN position to time.

Parameters:
          qn -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 TimeMap_QNToTime_abs

Functioncall:

C: double TimeMap_QNToTime_abs(ReaProject* proj, double qn)

EEL: double TimeMap_QNToTime_abs(ReaProject proj, qn)

Lua: number = reaper.TimeMap_QNToTime_abs(ReaProject proj, number qn)

Python: Float RPR_TimeMap_QNToTime_abs(ReaProject proj, Float qn)

Description:
Converts project quarter note count (QN) to time. QN is counted from the start of the project, regardless of any partial measures. See TimeMap2_QNToTime

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


^ Reaper version 5.62Lua version 5.3 TimeMap_timeToQN

Functioncall:

C: double TimeMap_timeToQN(double tpos)

EEL: double TimeMap_timeToQN(tpos)

Lua: number = reaper.TimeMap_timeToQN(number tpos)

Python: Float RPR_TimeMap_timeToQN(Float tpos)

Description:
converts project QN position to time.

Parameters:
          tpos -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 TimeMap_timeToQN_abs

Functioncall:

C: double TimeMap_timeToQN_abs(ReaProject* proj, double tpos)

EEL: double TimeMap_timeToQN_abs(ReaProject proj, tpos)

Lua: number = reaper.TimeMap_timeToQN_abs(ReaProject proj, number tpos)

Python: Float RPR_TimeMap_timeToQN_abs(ReaProject proj, Float tpos)

Description:
Converts project time position to quarter note count (QN). QN is counted from the start of the project, regardless of any partial measures. See TimeMap2_timeToQN

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


^ Reaper version 5.62Lua version 5.3 ToggleTrackSendUIMute

Functioncall:

C: bool ToggleTrackSendUIMute(MediaTrack* track, int send_idx)

EEL: bool ToggleTrackSendUIMute(MediaTrack track, int send_idx)

Lua: boolean = reaper.ToggleTrackSendUIMute(MediaTrack track, integer send_idx)

Python: Boolean RPR_ToggleTrackSendUIMute(MediaTrack track, Int send_idx)

Description:
send_idx<0 for receives, >=0 for hw ouputs, >=nb_of_hw_ouputs for sends.

Parameters:
          track -
          send_idx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 Track_GetPeakHoldDB

Functioncall:

C: double Track_GetPeakHoldDB(MediaTrack* track, int channel, bool clear)

EEL: double Track_GetPeakHoldDB(MediaTrack track, int channel, bool clear)

Lua: number = reaper.Track_GetPeakHoldDB(MediaTrack track, integer channel, boolean clear)

Python: Float RPR_Track_GetPeakHoldDB(MediaTrack track, Int channel, Boolean clear)

Description:


Parameters:
          track -
          channel -
          clear -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 Track_GetPeakInfo

Functioncall:

C: double Track_GetPeakInfo(MediaTrack* track, int channel)

EEL: double Track_GetPeakInfo(MediaTrack track, int channel)

Lua: number = reaper.Track_GetPeakInfo(MediaTrack track, integer channel)

Python: Float RPR_Track_GetPeakInfo(MediaTrack track, Int channel)

Description:


Parameters:
          track -
          channel -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 TrackCtl_SetToolTip

Functioncall:

C: void TrackCtl_SetToolTip(const char* fmt, int xpos, int ypos, bool topmost)

EEL: TrackCtl_SetToolTip("fmt", int xpos, int ypos, bool topmost)

Lua: reaper.TrackCtl_SetToolTip(string fmt, integer xpos, integer ypos, boolean topmost)

Python: RPR_TrackCtl_SetToolTip(String fmt, Int xpos, Int ypos, Boolean topmost)

Description:
Displays tooltip at location, or removes if empty string.

Only one tooltip can be shown, means, a new tooltip removes the previous one.

Parameters:
          fmt - the message, to be shown as tooltip; empty string removes tooltip
          xpos - horizontal position in pixels
          ypos - vertical position in pixels
          topmost - unknown


^ Reaper version 5.92Lua version 5.3 TrackFX_AddByName

Functioncall:

C: int TrackFX_AddByName(MediaTrack* track, const char* fxname, bool recFX, int instantiate)

EEL: int TrackFX_AddByName(MediaTrack track, "fxname", bool recFX, int instantiate)

Lua: integer = reaper.TrackFX_AddByName(MediaTrack track, string fxname, boolean recFX, integer instantiate)

Python: Int RPR_TrackFX_AddByName(MediaTrack track, String fxname, Boolean recFX, Int instantiate)

Description:
Adds or queries the position of a named FX from the track FX chain (recFX=false) or record input FX/monitoring FX (recFX=true, monitoring FX are on master track). Specify a negative value for instantiate to always create a new effect, 0 to only query the first instance of an effect, or a positive value to add an instance if one is not found. fxname can have prefix to specify type: VST3:,VST2:,VST:,AU:,JS:, or DX:.

Parameters:
          track -
          fxname -
          recFX -
          instantiate -
Returnvalues:
          integer -


^ Reaper version 5.95Lua version 5.3 TrackFX_CopyToTrack

Functioncall:

C: void TrackFX_CopyToTrack(MediaTrack* src_track, int src_fx, MediaTrack* dest_track, int dest_fx, bool is_move)

EEL: TrackFX_CopyToTrack(MediaTrack src_track, int src_fx, MediaTrack dest_track, int dest_fx, bool is_move)

Lua: reaper.TrackFX_CopyToTrack(MediaTrack src_track, integer src_fx, MediaTrack dest_track, integer dest_fx, boolean is_move)

Python: RPR_TrackFX_CopyToTrack(MediaTrack src_track, Int src_fx, MediaTrack dest_track, Int dest_fx, Boolean is_move)

Description:
Copies (or moves) FX from src_track to dest_track. Can be used with src_track=dest_track to reorder, FX indices have 0x1000000 set to reference input FX.

Parameters:
          MediaTrack src_track -
          Int src_fx -
          MediaTrack dest_track -
          Int dest_fx -
          Boolean is_move -


^ Reaper version 5.95Lua version 5.3 TrackFX_CopyToTake

Functioncall:

C: void TrackFX_CopyToTake(MediaTrack* src_track, int src_fx, MediaItem_Take* dest_take, int dest_fx, bool is_move)

EEL: TrackFX_CopyToTake(MediaTrack src_track, int src_fx, MediaItem_Take dest_take, int dest_fx, bool is_move)

Lua: reaper.TrackFX_CopyToTake(MediaTrack src_track, integer src_fx, MediaItem_Take dest_take, integer dest_fx, boolean is_move)

Python: RPR_TrackFX_CopyToTake(MediaTrack src_track, Int src_fx, MediaItem_Take dest_take, Int dest_fx, Boolean is_move)

Description:
Copies (or moves) FX from src_track to dest_take. src_fx can have 0x1000000 set to reference input FX.

Parameters:
          MediaTrack src_track -
          integer src_fx -
          MediaItem_Take dest_take -
          integer dest_fx -
          boolean is_move -


^ Reaper version 5.62Lua version 5.3 TrackFX_EndParamEdit

Functioncall:

C: bool TrackFX_EndParamEdit(MediaTrack* track, int fx, int param)

EEL: bool TrackFX_EndParamEdit(MediaTrack track, int fx, int param)

Lua: boolean = reaper.TrackFX_EndParamEdit(MediaTrack track, integer fx, integer param)

Python: Boolean RPR_TrackFX_EndParamEdit(MediaTrack track, Int fx, Int param)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_FormatParamValue

Functioncall:

C: bool TrackFX_FormatParamValue(MediaTrack* track, int fx, int param, double val, char* buf, int buf_sz)

EEL: bool TrackFX_FormatParamValue(MediaTrack track, int fx, int param, val, #buf)

Lua: boolean retval, string buf = reaper.TrackFX_FormatParamValue(MediaTrack track, integer fx, integer param, number val, string buf)

Python: (Boolean retval, MediaTrack track, Int fx, Int param, Float val, String buf, Int buf_sz) = RPR_TrackFX_FormatParamValue(track, fx, param, val, buf, buf_sz)

Description:
Note: only works with FX that support Cockos VST extensions.

Parameters:
          track -
          fx -
          param -
          val -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TrackFX_FormatParamValueNormalized

Functioncall:

C: bool TrackFX_FormatParamValueNormalized(MediaTrack* track, int fx, int param, double value, char* buf, int buf_sz)

EEL: bool TrackFX_FormatParamValueNormalized(MediaTrack track, int fx, int param, value, #buf)

Lua: boolean retval, string buf = reaper.TrackFX_FormatParamValueNormalized(MediaTrack track, integer fx, integer param, number value, string buf)

Python: (Boolean retval, MediaTrack track, Int fx, Int param, Float value, String buf, Int buf_sz) = RPR_TrackFX_FormatParamValueNormalized(track, fx, param, value, buf, buf_sz)

Description:
Note: only works with FX that support Cockos VST extensions.

Parameters:
          track -
          fx -
          param -
          value -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetByName

Functioncall:

C: int TrackFX_GetByName(MediaTrack* track, const char* fxname, bool instantiate)

EEL: int TrackFX_GetByName(MediaTrack track, "fxname", bool instantiate)

Lua: integer = reaper.TrackFX_GetByName(MediaTrack track, string fxname, boolean instantiate)

Python: Int RPR_TrackFX_GetByName(MediaTrack track, String fxname, Boolean instantiate)

Description:
Get the index of the first track FX insert that matches fxname. If the FX is not in the chain and instantiate is true, it will be inserted. See TrackFX_GetInstrument, TrackFX_GetEQ. Deprecated in favor of TrackFX_AddByName.

Parameters:
          track -
          fxname -
          instantiate -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetChainVisible

Functioncall:

C: int TrackFX_GetChainVisible(MediaTrack* track)

EEL: int TrackFX_GetChainVisible(MediaTrack track)

Lua: integer = reaper.TrackFX_GetChainVisible(MediaTrack track)

Python: Int RPR_TrackFX_GetChainVisible(MediaTrack track)

Description:
returns index of effect visible in chain, or -1 for chain hidden, or -2 for chain visible but no effect selected

Parameters:
          track -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetCount

Functioncall:

C: int TrackFX_GetCount(MediaTrack* track)

EEL: int TrackFX_GetCount(MediaTrack track)

Lua: integer = reaper.TrackFX_GetCount(MediaTrack track)

Python: Int RPR_TrackFX_GetCount(MediaTrack track)

Description:


Parameters:
          track -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetEnabled

Functioncall:

C: bool TrackFX_GetEnabled(MediaTrack* track, int fx)

EEL: bool TrackFX_GetEnabled(MediaTrack track, int fx)

Lua: boolean = reaper.TrackFX_GetEnabled(MediaTrack track, integer fx)

Python: Boolean RPR_TrackFX_GetEnabled(MediaTrack track, Int fx)

Description:
See TrackFX_SetEnabled

Parameters:
          track -
          fx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetEQ

Functioncall:

C: int TrackFX_GetEQ(MediaTrack* track, bool instantiate)

EEL: int TrackFX_GetEQ(MediaTrack track, bool instantiate)

Lua: integer = reaper.TrackFX_GetEQ(MediaTrack track, boolean instantiate)

Python: Int RPR_TrackFX_GetEQ(MediaTrack track, Boolean instantiate)

Description:
Get the index of ReaEQ in the track FX chain. If ReaEQ is not in the chain and instantiate is true, it will be inserted. See TrackFX_GetInstrument, TrackFX_GetByName.

Parameters:
          track -
          instantiate -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetEQBandEnabled

Functioncall:

C: bool TrackFX_GetEQBandEnabled(MediaTrack* track, int fxidx, int bandtype, int bandidx)

EEL: bool TrackFX_GetEQBandEnabled(MediaTrack track, int fxidx, int bandtype, int bandidx)

Lua: boolean = reaper.TrackFX_GetEQBandEnabled(MediaTrack track, integer fxidx, integer bandtype, integer bandidx)

Python: Boolean RPR_TrackFX_GetEQBandEnabled(MediaTrack track, Int fxidx, Int bandtype, Int bandidx)

Description:
Returns true if the EQ band is enabled.
Returns false if the band is disabled, or if track/fxidx is not ReaEQ.
Bandtype: 0=lhipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass.
Bandidx: 0=first band matching bandtype, 1=2nd band matching bandtype, etc.
See TrackFX_GetEQ, TrackFX_GetEQParam, TrackFX_SetEQParam, TrackFX_SetEQBandEnabled.

Parameters:
          track -
          fxidx -
          bandtype -
          bandidx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetEQParam

Functioncall:

C: bool TrackFX_GetEQParam(MediaTrack* track, int fxidx, int paramidx, int* bandtypeOut, int* bandidxOut, int* paramtypeOut, double* normvalOut)

EEL: bool TrackFX_GetEQParam(MediaTrack track, int fxidx, int paramidx, int &bandtype, int &bandidx, int &paramtype, &normval)

Lua: boolean retval, number bandtype, number bandidx, number paramtype, number normval = reaper.TrackFX_GetEQParam(MediaTrack track, integer fxidx, integer paramidx)

Python: (Boolean retval, MediaTrack track, Int fxidx, Int paramidx, Int bandtypeOut, Int bandidxOut, Int paramtypeOut, Float normvalOut) = RPR_TrackFX_GetEQParam(track, fxidx, paramidx, bandtypeOut, bandidxOut, paramtypeOut, normvalOut)

Description:
Returns false if track/fxidx is not ReaEQ.
Bandtype: -1=master gain, 0=lhipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass.
Bandidx (ignored for master gain): 0=first band matching bandtype, 1=2nd band matching bandtype, etc.
Paramtype (ignored for master gain): 0=freq, 1=gain, 2=Q.
See TrackFX_GetEQ, TrackFX_SetEQParam, TrackFX_GetEQBandEnabled, TrackFX_SetEQBandEnabled.

Parameters:
          track -
          fxidx -
          paramidx -
Returnvalues:
          retval -
          bandtype -
          bandidx -
          paramtype -
          normval -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetFloatingWindow

Functioncall:

C: HWND TrackFX_GetFloatingWindow(MediaTrack* track, int index)

EEL: HWND TrackFX_GetFloatingWindow(MediaTrack track, int index)

Lua: HWND = reaper.TrackFX_GetFloatingWindow(MediaTrack track, integer index)

Python: HWND RPR_TrackFX_GetFloatingWindow(MediaTrack track, Int index)

Description:
returns HWND of floating window for effect index, if any

Parameters:
          track -
          index -
Returnvalues:
          HWND -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetFormattedParamValue

Functioncall:

C: bool TrackFX_GetFormattedParamValue(MediaTrack* track, int fx, int param, char* buf, int buf_sz)

EEL: bool TrackFX_GetFormattedParamValue(MediaTrack track, int fx, int param, #buf)

Lua: boolean retval, string buf = reaper.TrackFX_GetFormattedParamValue(MediaTrack track, integer fx, integer param, string buf)

Python: (Boolean retval, MediaTrack track, Int fx, Int param, String buf, Int buf_sz) = RPR_TrackFX_GetFormattedParamValue(track, fx, param, buf, buf_sz)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetFXGUID

Functioncall:

C: GUID* TrackFX_GetFXGUID(MediaTrack* track, int fx)

EEL: bool TrackFX_GetFXGUID(#retguid, MediaTrack track, int fx)

Lua: string GUID = reaper.TrackFX_GetFXGUID(MediaTrack track, integer fx)

Python: GUID RPR_TrackFX_GetFXGUID(MediaTrack track, Int fx)

Description:


Parameters:
          track -
          fx -
Returnvalues:
          GUID -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetFXName

Functioncall:

C: bool TrackFX_GetFXName(MediaTrack* track, int fx, char* buf, int buf_sz)

EEL: bool TrackFX_GetFXName(MediaTrack track, int fx, #buf)

Lua: boolean retval, string buf = reaper.TrackFX_GetFXName(MediaTrack track, integer fx, string buf)

Python: (Boolean retval, MediaTrack track, Int fx, String buf, Int buf_sz) = RPR_TrackFX_GetFXName(track, fx, buf, buf_sz)

Description:


Parameters:
          track -
          fx -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetInstrument

Functioncall:

C: int TrackFX_GetInstrument(MediaTrack* track)

EEL: int TrackFX_GetInstrument(MediaTrack track)

Lua: integer = reaper.TrackFX_GetInstrument(MediaTrack track)

Python: Int RPR_TrackFX_GetInstrument(MediaTrack track)

Description:
Get the index of the first track FX insert that is a virtual instrument, or -1 if none. See TrackFX_GetEQ, TrackFX_GetByName.

Parameters:
          track -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetIOSize

Functioncall:

C: int TrackFX_GetIOSize(MediaTrack* track, int fx, int* inputPinsOutOptional, int* outputPinsOutOptional)

EEL: int TrackFX_GetIOSize(MediaTrack track, int fx, optional int &inputPins, optional int &outputPins)

Lua: integer retval, optional number inputPins, optional number outputPins = reaper.TrackFX_GetIOSize(MediaTrack track, integer fx)

Python: (Int retval, MediaTrack track, Int fx, Int inputPinsOutOptional, Int outputPinsOutOptional) = RPR_TrackFX_GetIOSize(track, fx, inputPinsOutOptional, outputPinsOutOptional)

Description:
sets the number of input/output pins for FX if available, returns plug-in type or -1 on error

Parameters:
          track -
          fx -
Returnvalues:
          retval -
          inputPins -
          outputPins -


^ Reaper version 5.965Lua version 5.3 TrackFX_GetNamedConfigParm

Functioncall:

C: bool TrackFX_GetNamedConfigParm(MediaTrack* track, int fx, const char* parmname, char* bufOut, int bufOut_sz)

EEL: bool TrackFX_GetNamedConfigParm(MediaTrack track, int fx, "parmname", #buf)

Lua: boolean retval, string buf = reaper.TrackFX_GetNamedConfigParm(MediaTrack track, integer fx, string parmname)

Python: (Boolean retval, MediaTrack track, Int fx, String parmname, String bufOut, Int bufOut_sz) = RPR_TrackFX_GetNamedConfigParm(track, fx, parmname, bufOut, bufOut_sz)

Description:
gets plug-in specific named configuration value (returns true on success). Special values: 'pdc' returns PDC latency. 'in_pin_0' returns name of first input pin (if available), 'out_pin_0' returns name of first output pin (if available), etc.

Parameters:
          track -
          fx -
          parmname -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetNumParams

Functioncall:

C: int TrackFX_GetNumParams(MediaTrack* track, int fx)

EEL: int TrackFX_GetNumParams(MediaTrack track, int fx)

Lua: integer = reaper.TrackFX_GetNumParams(MediaTrack track, integer fx)

Python: Int RPR_TrackFX_GetNumParams(MediaTrack track, Int fx)

Description:


Parameters:
          track -
          fx -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetOpen

Functioncall:

C: bool TrackFX_GetOpen(MediaTrack* track, int fx)

EEL: bool TrackFX_GetOpen(MediaTrack track, int fx)

Lua: boolean = reaper.TrackFX_GetOpen(MediaTrack track, integer fx)

Python: Boolean RPR_TrackFX_GetOpen(MediaTrack track, Int fx)

Description:
Returns true if this FX UI is open in the FX chain window or a floating window. See TrackFX_SetOpen

Parameters:
          track - the MediaTrack, in which the fx to check is located
          fx - the id of the fx in the fx-chain
Returnvalues:
          boolean - true, TrackFX is open; false, TrackFX is closed


^ Reaper version 5.62Lua version 5.3 TrackFX_GetParam

Functioncall:

C: double TrackFX_GetParam(MediaTrack* track, int fx, int param, double* minvalOut, double* maxvalOut)

EEL: double TrackFX_GetParam(MediaTrack track, int fx, int param, &minval, &maxval)

Lua: number retval, number minval, number maxval = reaper.TrackFX_GetParam(MediaTrack track, integer fx, integer param)

Python: (Float retval, MediaTrack track, Int fx, Int param, Float minvalOut, Float maxvalOut) = RPR_TrackFX_GetParam(track, fx, param, minvalOut, maxvalOut)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          retval -
          minval -
          maxval -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetParameterStepSizes

Functioncall:

C: bool TrackFX_GetParameterStepSizes(MediaTrack* track, int fx, int param, double* stepOut, double* smallstepOut, double* largestepOut, bool* istoggleOut)

EEL: bool TrackFX_GetParameterStepSizes(MediaTrack track, int fx, int param, &step, &smallstep, &largestep, bool &istoggle)

Lua: boolean retval, number step, number smallstep, number largestep, boolean istoggle = reaper.TrackFX_GetParameterStepSizes(MediaTrack track, integer fx, integer param)

Python: (Boolean retval, MediaTrack track, Int fx, Int param, Float stepOut, Float smallstepOut, Float largestepOut, Boolean istoggleOut) = RPR_TrackFX_GetParameterStepSizes(track, fx, param, stepOut, smallstepOut, largestepOut, istoggleOut)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          retval -
          step -
          smallstep -
          largestep -
          istoggle -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetParamEx

Functioncall:

C: double TrackFX_GetParamEx(MediaTrack* track, int fx, int param, double* minvalOut, double* maxvalOut, double* midvalOut)

EEL: double TrackFX_GetParamEx(MediaTrack track, int fx, int param, &minval, &maxval, &midval)

Lua: number retval, number minval, number maxval, number midval = reaper.TrackFX_GetParamEx(MediaTrack track, integer fx, integer param)

Python: (Float retval, MediaTrack track, Int fx, Int param, Float minvalOut, Float maxvalOut, Float midvalOut) = RPR_TrackFX_GetParamEx(track, fx, param, minvalOut, maxvalOut, midvalOut)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          retval -
          minval -
          maxval -
          midval -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetParamName

Functioncall:

C: bool TrackFX_GetParamName(MediaTrack* track, int fx, int param, char* buf, int buf_sz)

EEL: bool TrackFX_GetParamName(MediaTrack track, int fx, int param, #buf)

Lua: boolean retval, string buf = reaper.TrackFX_GetParamName(MediaTrack track, integer fx, integer param, string buf)

Python: (Boolean retval, MediaTrack track, Int fx, Int param, String buf, Int buf_sz) = RPR_TrackFX_GetParamName(track, fx, param, buf, buf_sz)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          retval -
          buf -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetParamNormalized

Functioncall:

C: double TrackFX_GetParamNormalized(MediaTrack* track, int fx, int param)

EEL: double TrackFX_GetParamNormalized(MediaTrack track, int fx, int param)

Lua: number = reaper.TrackFX_GetParamNormalized(MediaTrack track, integer fx, integer param)

Python: Float RPR_TrackFX_GetParamNormalized(MediaTrack track, Int fx, Int param)

Description:


Parameters:
          track -
          fx -
          param -
Returnvalues:
          number -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetPinMappings

Functioncall:

C: int TrackFX_GetPinMappings(MediaTrack* tr, int fx, int isOutput, int pin, int* high32OutOptional)

EEL: int TrackFX_GetPinMappings(MediaTrack tr, int fx, int is, int pin, optional int &high32)

Lua: integer retval, optional number high32 = reaper.TrackFX_GetPinMappings(MediaTrack tr, integer fx, integer is, integer pin)

Python: (Int retval, MediaTrack tr, Int fx, Int isOutput, Int pin, Int high32OutOptional) = RPR_TrackFX_GetPinMappings(tr, fx, isOutput, pin, high32OutOptional)

Description:
gets the effective channel mapping bitmask for a particular pin. high32OutOptional will be set to the high 32 bits

Parameters:
          tr -
          fx -
          is -
          pin -
Returnvalues:
          retval -
          high32 -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetPreset

Functioncall:

C: bool TrackFX_GetPreset(MediaTrack* track, int fx, char* presetname, int presetname_sz)

EEL: bool TrackFX_GetPreset(MediaTrack track, int fx, #presetname)

Lua: boolean retval, string presetname = reaper.TrackFX_GetPreset(MediaTrack track, integer fx, string presetname)

Python: (Boolean retval, MediaTrack track, Int fx, String presetname, Int presetname_sz) = RPR_TrackFX_GetPreset(track, fx, presetname, presetname_sz)

Description:
Get the name of the preset currently showing in the REAPER dropdown, or the full path to a factory preset file for VST3 plug-ins (.vstpreset). Returns false if the current FX parameters do not exactly match the preset (in other words, if the user loaded the preset but moved the knobs afterward). See TrackFX_SetPreset.

Parameters:
          track -
          fx -
Returnvalues:
          retval -
          presetname -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetPresetIndex

Functioncall:

C: int TrackFX_GetPresetIndex(MediaTrack* track, int fx, int* numberOfPresetsOut)

EEL: int TrackFX_GetPresetIndex(MediaTrack track, int fx, int &numberOfPresets)

Lua: integer retval, number numberOfPresets = reaper.TrackFX_GetPresetIndex(MediaTrack track, integer fx)

Python: (Int retval, MediaTrack track, Int fx, Int numberOfPresetsOut) = RPR_TrackFX_GetPresetIndex(track, fx, numberOfPresetsOut)

Description:
Returns current preset index, or -1 if error. numberOfPresetsOut will be set to total number of presets available. See TrackFX_SetPresetByIndex

Parameters:
          track -
          fx -
Returnvalues:
          retval -
          numberOfPresets -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetRecChainVisible

Functioncall:

C: int TrackFX_GetRecChainVisible(MediaTrack* track)

EEL: int TrackFX_GetRecChainVisible(MediaTrack track)

Lua: integer = reaper.TrackFX_GetRecChainVisible(MediaTrack track)

Python: Int RPR_TrackFX_GetRecChainVisible(MediaTrack track)

Description:
returns index of effect visible in record input chain, or -1 for chain hidden, or -2 for chain visible but no effect selected

Parameters:
          track -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetRecCount

Functioncall:

C: int TrackFX_GetRecCount(MediaTrack* track)

EEL: int TrackFX_GetRecCount(MediaTrack track)

Lua: integer = reaper.TrackFX_GetRecCount(MediaTrack track)

Python: Int RPR_TrackFX_GetRecCount(MediaTrack track)

Description:
returns count of record input FX. To access record input FX, use a FX indices [0x1000000..0x1000000+n). On the master track, this accesses monitoring FX rather than record input FX.

Parameters:
          track -
Returnvalues:
          integer -


^ Reaper version 5.62Lua version 5.3 TrackFX_GetUserPresetFilename

Functioncall:

C: void TrackFX_GetUserPresetFilename(MediaTrack* track, int fx, char* fn, int fn_sz)

EEL: TrackFX_GetUserPresetFilename(MediaTrack track, int fx, #fn)

Lua: string fn = reaper.TrackFX_GetUserPresetFilename(MediaTrack track, integer fx, string fn)

Python: (MediaTrack track, Int fx, String fn, Int fn_sz) = RPR_TrackFX_GetUserPresetFilename(track, fx, fn, fn_sz)

Description:


Parameters:
          track -
          fx -
Returnvalues:
          fn -


^ Reaper version 5.62Lua version 5.3 TrackFX_NavigatePresets

Functioncall:

C: bool TrackFX_NavigatePresets(MediaTrack* track, int fx, int presetmove)

EEL: bool TrackFX_NavigatePresets(MediaTrack track, int fx, int presetmove)

Lua: boolean = reaper.TrackFX_NavigatePresets(MediaTrack track, integer fx, integer presetmove)

Python: Boolean RPR_TrackFX_NavigatePresets(MediaTrack track, Int fx, Int presetmove)

Description:
presetmove==1 activates the next preset, presetmove==-1 activates the previous preset, etc.

Parameters:
          track -
          fx -
          presetmove -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetEnabled

Functioncall:

C: void TrackFX_SetEnabled(MediaTrack* track, int fx, bool enabled)

EEL: TrackFX_SetEnabled(MediaTrack track, int fx, bool enabled)

Lua: reaper.TrackFX_SetEnabled(MediaTrack track, integer fx, boolean enabled)

Python: RPR_TrackFX_SetEnabled(MediaTrack track, Int fx, Boolean enabled)

Description:
See TrackFX_GetEnabled

Parameters:
          track -
          fx -
          enabled -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetEQBandEnabled

Functioncall:

C: bool TrackFX_SetEQBandEnabled(MediaTrack* track, int fxidx, int bandtype, int bandidx, bool enable)

EEL: bool TrackFX_SetEQBandEnabled(MediaTrack track, int fxidx, int bandtype, int bandidx, bool enable)

Lua: boolean = reaper.TrackFX_SetEQBandEnabled(MediaTrack track, integer fxidx, integer bandtype, integer bandidx, boolean enable)

Python: Boolean RPR_TrackFX_SetEQBandEnabled(MediaTrack track, Int fxidx, Int bandtype, Int bandidx, Boolean enable)

Description:
Enable or disable a ReaEQ band.
Returns false if track/fxidx is not ReaEQ.
Bandtype: 0=lhipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass.
Bandidx: 0=first band matching bandtype, 1=2nd band matching bandtype, etc.
See TrackFX_GetEQ, TrackFX_GetEQParam, TrackFX_SetEQParam, TrackFX_GetEQBandEnabled.

Parameters:
          track -
          fxidx -
          bandtype -
          bandidx -
          enable -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetEQParam

Functioncall:

C: bool TrackFX_SetEQParam(MediaTrack* track, int fxidx, int bandtype, int bandidx, int paramtype, double val, bool isnorm)

EEL: bool TrackFX_SetEQParam(MediaTrack track, int fxidx, int bandtype, int bandidx, int paramtype, val, bool isnorm)

Lua: boolean = reaper.TrackFX_SetEQParam(MediaTrack track, integer fxidx, integer bandtype, integer bandidx, integer paramtype, number val, boolean isnorm)

Python: Boolean RPR_TrackFX_SetEQParam(MediaTrack track, Int fxidx, Int bandtype, Int bandidx, Int paramtype, Float val, Boolean isnorm)

Description:
Returns false if track/fxidx is not ReaEQ. Targets a band matching bandtype.
Bandtype: -1=master gain, 0=lhipass, 1=loshelf, 2=band, 3=notch, 4=hishelf, 5=lopass.
Bandidx (ignored for master gain): 0=target first band matching bandtype, 1=target 2nd band matching bandtype, etc.
Paramtype (ignored for master gain): 0=freq, 1=gain, 2=Q.
See TrackFX_GetEQ, TrackFX_GetEQParam, TrackFX_GetEQBandEnabled, TrackFX_SetEQBandEnabled.

Parameters:
          track -
          fxidx -
          bandtype -
          bandidx -
          paramtype -
          val -
          isnorm -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetNamedConfigParm

Functioncall:

C: bool TrackFX_SetNamedConfigParm(MediaTrack* track, int fx, const char* parmname, const char* value)

EEL: bool TrackFX_SetNamedConfigParm(MediaTrack track, int fx, "parmname", "value")

Lua: boolean = reaper.TrackFX_SetNamedConfigParm(MediaTrack track, integer fx, string parmname, string value)

Python: Boolean RPR_TrackFX_SetNamedConfigParm(MediaTrack track, Int fx, String parmname, String value)

Description:
sets plug-in specific named configuration value (returns true on success)

Parameters:
          track -
          fx -
          parmname -
          value -
Returnvalues:
          boolean -


^ Reaper version 5.95Lua version 5.3 TrackFX_SetOffline

Functioncall:

C: void TrackFX_SetOffline(MediaTrack* track, int fx, bool offline)

EEL: TrackFX_SetOffline(MediaTrack track, int fx, bool offline)

Lua: reaper.TrackFX_SetOffline(MediaTrack track, integer fx, boolean offline)

Python: RPR_TrackFX_SetOffline(MediaTrack track, Int fx, Boolean offline)

Description:
See TrackFX_GetOffline

Parameters:
          MediaTrack track -
          integer fx -
          boolean offline -


^ Reaper version 5.95Lua version 5.3 TakeFX_SetOffline

Functioncall:

C: void TakeFX_SetOffline(MediaItem_Take* take, int fx, bool offline)

EEL: TakeFX_SetOffline(MediaItem_Take take, int fx, bool offline)

Lua: reaper.TakeFX_SetOffline(MediaItem_Take take, integer fx, boolean offline)

Python: RPR_TakeFX_SetOffline(MediaItem_Take take, Int fx, Boolean offline)

Description:
See TakeFX_GetOffline

Parameters:
          MediaItem_Take take -
          integer fx -
          boolean offline -


^ Reaper version 5.95Lua version 5.3 TakeFX_GetOffline

Functioncall:

C: bool TakeFX_GetOffline(MediaItem_Take* take, int fx)

EEL: bool TakeFX_GetOffline(MediaItem_Take take, int fx)

Lua: boolean retval = reaper.TakeFX_GetOffline(MediaItem_Take take, integer fx)

Python: Boolean RPR_TakeFX_GetOffline(MediaItem_Take take, Int fx)

Description:
See TakeFX_SetOffline

Parameters:
          MediaItem_Take take -
          integer fx -
Returnvalues:
          boolean retval -


^ Reaper version 5.95Lua version 5.3 TakeFX_Delete

Functioncall:

C: bool TakeFX_Delete(MediaItem_Take* take, int fx)

EEL: bool TakeFX_Delete(MediaItem_Take take, int fx)

Lua: boolean retval = reaper.TakeFX_Delete(MediaItem_Take take, integer fx)

Python: Boolean RPR_TakeFX_Delete(MediaItem_Take take, Int fx)

Description:
Remove a FX from take chain (returns true on success)

Parameters:
          MediaItem_Take take -
          integer fx -
Returnvalues:
          boolean retval -


^ Reaper version 5.95Lua version 5.3 TakeFX_CopyToTake

Functioncall:

C: void TakeFX_CopyToTake(MediaItem_Take* src_take, int src_fx, MediaItem_Take* dest_take, int dest_fx, bool is_move)

EEL: TakeFX_CopyToTake(MediaItem_Take src_take, int src_fx, MediaItem_Take dest_take, int dest_fx, bool is_move)

Lua: reaper.TakeFX_CopyToTake(MediaItem_Take src_take, integer src_fx, MediaItem_Take dest_take, integer dest_fx, boolean is_move)

Python: RPR_TakeFX_CopyToTake(MediaItem_Take src_take, Int src_fx, MediaItem_Take dest_take, Int dest_fx, Boolean is_move)

Description:
Copies (or moves) FX from src_take to dest_take. Can be used with src_track=dest_track to reorder.

Parameters:
          MediaItem_Take src_take -
          integer src_fx -
          MediaItem_Take dest_take -
          integer dest_fx -
          boolean is_move -


^ Reaper version 5.95Lua version 5.3 TakeFX_CopyToTrack

Functioncall:

C: void TakeFX_CopyToTrack(MediaItem_Take* src_take, int src_fx, MediaTrack* dest_track, int dest_fx, bool is_move)

EEL: TakeFX_CopyToTrack(MediaItem_Take src_take, int src_fx, MediaTrack dest_track, int dest_fx, bool is_move)

Lua: reaper.TakeFX_CopyToTrack(MediaItem_Take src_take, integer src_fx, MediaTrack dest_track, integer dest_fx, boolean is_move)

Python: RPR_TakeFX_CopyToTrack(MediaItem_Take src_take, Int src_fx, MediaTrack dest_track, Int dest_fx, Boolean is_move)

Description:
Copies (or moves) FX from src_take to dest_track. dest_fx can have 0x1000000 set to reference input FX.

Parameters:
          MediaItem_Take src_take -
          integer src_fx -
          MediaTrack dest_track -
          integer dest_fx -
          boolean is_move -


^ Reaper version 5.95Lua version 5.3 TrackFX_GetOffline

Functioncall:

C: bool TrackFX_GetOffline(MediaTrack* track, int fx)

EEL: bool TrackFX_GetOffline(MediaTrack track, int fx)

Lua: boolean retval = reaper.TrackFX_GetOffline(MediaTrack track, integer fx)

Python: Boolean RPR_TrackFX_GetOffline(MediaTrack track, Int fx)

Description:
See TrackFX_SetOffline

Parameters:
          MediaTrack track -
          integer fx -
          boolean offline -
Returnvalues:
          boolean retval -


^ Reaper version 5.95Lua version 5.3 TakeFX_CopyToTake

Functioncall:

C: void TakeFX_CopyToTake(MediaItem_Take* src_take, int src_fx, MediaItem_Take* dest_take, int dest_fx, bool is_move)

EEL: TakeFX_CopyToTake(MediaItem_Take src_take, int src_fx, MediaItem_Take dest_take, int dest_fx, bool is_move)

Lua: reaper.TakeFX_CopyToTake(MediaItem_Take src_take, integer src_fx, MediaItem_Take dest_take, integer dest_fx, boolean is_move)

Python: RPR_TakeFX_CopyToTake(MediaItem_Take src_take, Int src_fx, MediaItem_Take dest_take, Int dest_fx, Boolean is_move)

Description:
Copies (or moves) FX from src_take to dest_take. Can be used with src_track=dest_track to reorder.

Parameters:
          MediaItem_Take src_take -
          integer src_fx -
          MediaItem_Take dest_take -
          integer dest_fx -
          boolean is_move -


^ Reaper version 5.95Lua version 5.3 TakeFX_CopyToTrack

Functioncall:

C: void TakeFX_CopyToTrack(MediaItem_Take* src_take, int src_fx, MediaTrack* dest_track, int dest_fx, bool is_move)

EEL: TakeFX_CopyToTrack(MediaItem_Take src_take, int src_fx, MediaTrack dest_track, int dest_fx, bool is_move)

Lua: reaper.TakeFX_CopyToTrack(MediaItem_Take src_take, integer src_fx, MediaTrack dest_track, integer dest_fx, boolean is_move)

Python: RPR_TakeFX_CopyToTrack(MediaItem_Take src_take, Int src_fx, MediaTrack dest_track, Int dest_fx, Boolean is_move)

Description:
Copies (or moves) FX from src_take to dest_track. dest_fx can have 0x1000000 set to reference input FX.

Parameters:
          MediaItem_Take src_take -
          integer src_fx -
          MediaTrack dest_track -
          integer dest_fx -
          boolean is_move -


^ Reaper version 5.95Lua version 5.3 TrackFX_Delete

Functioncall:

C: bool TrackFX_Delete(MediaTrack* track, int fx)

EEL: bool TrackFX_Delete(MediaTrack track, int fx)

Lua: boolean retval = reaper.TrackFX_Delete(MediaTrack track, integer fx)

Python: Boolean RPR_TrackFX_Delete(MediaTrack track, Int fx)

Description:
Remove a FX from track chain (returns true on success).

Parameters:
          MediaTrack track -
          integer fx -
Returnvalues:
          boolean retval -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetOpen

Functioncall:

C: void TrackFX_SetOpen(MediaTrack* track, int fx, bool open)

EEL: TrackFX_SetOpen(MediaTrack track, int fx, bool open)

Lua: reaper.TrackFX_SetOpen(MediaTrack track, integer fx, boolean open)

Python: RPR_TrackFX_SetOpen(MediaTrack track, Int fx, Boolean open)

Description:
Open this FX UI. See TrackFX_GetOpen

Parameters:
          track - the track, in which the FX to be opened is located
          fx - the fx-id within the fxchain
          open - true, open FX-UI; false, close FX-UI


^ Reaper version 5.62Lua version 5.3 TrackFX_SetParam

Functioncall:

C: bool TrackFX_SetParam(MediaTrack* track, int fx, int param, double val)

EEL: bool TrackFX_SetParam(MediaTrack track, int fx, int param, val)

Lua: boolean = reaper.TrackFX_SetParam(MediaTrack track, integer fx, integer param, number val)

Python: Boolean RPR_TrackFX_SetParam(MediaTrack track, Int fx, Int param, Float val)

Description:


Parameters:
          track -
          fx -
          param -
          val -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetParamNormalized

Functioncall:

C: bool TrackFX_SetParamNormalized(MediaTrack* track, int fx, int param, double value)

EEL: bool TrackFX_SetParamNormalized(MediaTrack track, int fx, int param, value)

Lua: boolean = reaper.TrackFX_SetParamNormalized(MediaTrack track, integer fx, integer param, number value)

Python: Boolean RPR_TrackFX_SetParamNormalized(MediaTrack track, Int fx, Int param, Float value)

Description:


Parameters:
          track -
          fx -
          param -
          value -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetPinMappings

Functioncall:

C: bool TrackFX_SetPinMappings(MediaTrack* tr, int fx, int isOutput, int pin, int low32bits, int hi32bits)

EEL: bool TrackFX_SetPinMappings(MediaTrack tr, int fx, int is, int pin, int low32bits, int hi32bits)

Lua: boolean = reaper.TrackFX_SetPinMappings(MediaTrack tr, integer fx, integer is, integer pin, integer low32bits, integer hi32bits)

Python: Boolean RPR_TrackFX_SetPinMappings(MediaTrack tr, Int fx, Int isOutput, Int pin, Int low32bits, Int hi32bits)

Description:
sets the channel mapping bitmask for a particular pin. returns false if unsupported (not all types of plug-ins support this capability)

Parameters:
          tr -
          fx -
          is -
          pin -
          low32bits -
          hi32bits -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetPreset

Functioncall:

C: bool TrackFX_SetPreset(MediaTrack* track, int fx, const char* presetname)

EEL: bool TrackFX_SetPreset(MediaTrack track, int fx, "presetname")

Lua: boolean = reaper.TrackFX_SetPreset(MediaTrack track, integer fx, string presetname)

Python: Boolean RPR_TrackFX_SetPreset(MediaTrack track, Int fx, String presetname)

Description:
Activate a preset with the name shown in the REAPER dropdown. Full paths to .vstpreset files are also supported for VST3 plug-ins. See TrackFX_GetPreset.

Parameters:
          track -
          fx -
          presetname -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_SetPresetByIndex

Functioncall:

C: bool TrackFX_SetPresetByIndex(MediaTrack* track, int fx, int idx)

EEL: bool TrackFX_SetPresetByIndex(MediaTrack track, int fx, int idx)

Lua: boolean = reaper.TrackFX_SetPresetByIndex(MediaTrack track, integer fx, integer idx)

Python: Boolean RPR_TrackFX_SetPresetByIndex(MediaTrack track, Int fx, Int idx)

Description:
Sets the preset idx, or the factory preset (idx==-2), or the default user preset (idx==-1). Returns true on success. See TrackFX_GetPresetIndex.

Parameters:
          track -
          fx -
          idx -
Returnvalues:
          boolean -


^ Reaper version 5.62Lua version 5.3 TrackFX_Show

Functioncall:

C: void TrackFX_Show(MediaTrack* track, int index, int showFlag)

EEL: TrackFX_Show(MediaTrack track, int index, int showFlag)

Lua: reaper.TrackFX_Show(MediaTrack track, integer index, integer showFlag)

Python: RPR_TrackFX_Show(MediaTrack track, Int index, Int showFlag)

Description:
Shows a track-FX-window.

Parameters:
          track - the MediaTrack, whose TrackFX you want to show
          index - the id of the track within the fxchain
          showFlag - how to show the FX-window
0, for hidechain
1, for show chain(index valid)
2, for hide floating window(index valid)
3, for show floating window(index valid)


^ Reaper version 5.62Lua version 5.3 TrackList_AdjustWindows

Functioncall:

C: void TrackList_AdjustWindows(bool isMinor)

EEL: TrackList_AdjustWindows(bool isMinor)

Lua: reaper.TrackList_AdjustWindows(boolean isMinor)

Python: RPR_TrackList_AdjustWindows(Boolean isMinor)

Description:


Parameters:
          isMinor -


^ Reaper version 5.62Lua version 5.3 TrackList_UpdateAllExternalSurfaces

Functioncall:

C: void TrackList_UpdateAllExternalSurfaces()

EEL: TrackList_UpdateAllExternalSurfaces()

Lua: reaper.TrackList_UpdateAllExternalSurfaces()

Python: RPR_TrackList_UpdateAllExternalSurfaces()

Description:




^ Reaper version 5.62Lua version 5.3 Undo_BeginBlock

Functioncall:

C: void Undo_BeginBlock()

EEL: Undo_BeginBlock()

Lua: reaper.Undo_BeginBlock()

Python: RPR_Undo_BeginBlock()

Description:
call to start a new block



^ Reaper version 5.62Lua version 5.3 Undo_BeginBlock2

Functioncall:

C: void Undo_BeginBlock2(ReaProject* proj)

EEL: Undo_BeginBlock2(ReaProject proj)

Lua: reaper.Undo_BeginBlock2(ReaProject proj)

Python: RPR_Undo_BeginBlock2(ReaProject proj)

Description:
call to start a new undo block. Code after that and before Undo_EndBlock can be undone.

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 Undo_CanRedo2

Functioncall:

C: const char* Undo_CanRedo2(ReaProject* proj)

EEL: bool Undo_CanRedo2(#retval, ReaProject proj)

Lua: string = reaper.Undo_CanRedo2(ReaProject proj)

Python: String RPR_Undo_CanRedo2(ReaProject proj)

Description:
returns string of next action,if able,NULL if not

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


^ Reaper version 5.62Lua version 5.3 Undo_CanUndo2

Functioncall:

C: const char* Undo_CanUndo2(ReaProject* proj)

EEL: bool Undo_CanUndo2(#retval, ReaProject proj)

Lua: string = reaper.Undo_CanUndo2(ReaProject proj)

Python: String RPR_Undo_CanUndo2(ReaProject proj)

Description:
returns string of last action,if able,NULL if not

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


^ Reaper version 5.62Lua version 5.3 Undo_DoRedo2

Functioncall:

C: int Undo_DoRedo2(ReaProject* proj)

EEL: int Undo_DoRedo2(ReaProject proj)

Lua: integer = reaper.Undo_DoRedo2(ReaProject proj)

Python: Int RPR_Undo_DoRedo2(ReaProject proj)

Description:
nonzero if success

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


^ Reaper version 5.62Lua version 5.3 Undo_DoUndo2

Functioncall:

C: int Undo_DoUndo2(ReaProject* proj)

EEL: int Undo_DoUndo2(ReaProject proj)

Lua: integer = reaper.Undo_DoUndo2(ReaProject proj)

Python: Int RPR_Undo_DoUndo2(ReaProject proj)

Description:
nonzero if success

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


^ Reaper version 5.979Lua version 5.3 Undo_EndBlock

Functioncall:

C: void Undo_EndBlock(const char* descchange, int extraflags)

EEL: Undo_EndBlock("descchange", int extraflags)

Lua: reaper.Undo_EndBlock(string descchange, integer extraflags)

Python: RPR_Undo_EndBlock(String descchange, Int extraflags)

Description:
call to end the block,with extra flags if any,and a description

Parameters:
          descchange - a string that describes the changes of the undo-block
          extraflags - -1, all undo states
1, track/master vol/pan/routing, routing/hwout envelopes too
2, track/master fx
4, track items
8, loop selection, markers, regions, extensions
16, freeze state
32, non-FX envelopes only
64, FX envelopes, implied by UNDO_STATE_FX too
128, contents of automation items -- not position, length, rate etc of automation items, which is part of envelope state
256, ARA state


^ Reaper version 5.979Lua version 5.3 Undo_EndBlock2

Functioncall:

C: void Undo_EndBlock2(ReaProject* proj, const char* descchange, int extraflags)

EEL: Undo_EndBlock2(ReaProject proj, "descchange", int extraflags)

Lua: reaper.Undo_EndBlock2(ReaProject proj, string descchange, integer extraflags)

Python: RPR_Undo_EndBlock2(ReaProject proj, String descchange, Int extraflags)

Description:
call to end the block,with extra flags if any,and a description

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          descchange - a string that describes the changes of the undo-block
          extraflags - -1, all undo states
1, track/master vol/pan/routing, routing/hwout envelopes too
2, track/master fx
4, track items
8, loop selection, markers, regions, extensions
16, freeze state
32, non-FX envelopes only
64, FX envelopes, implied by UNDO_STATE_FX too
128, contents of automation items -- not position, length, rate etc of automation items, which is part of envelope state
256, ARA state


^ Reaper version 5.62Lua version 5.3 Undo_OnStateChange

Functioncall:

C: void Undo_OnStateChange(const char* descchange)

EEL: Undo_OnStateChange("descchange")

Lua: reaper.Undo_OnStateChange(string descchange)

Python: RPR_Undo_OnStateChange(String descchange)

Description:
limited state change to items

Parameters:
          descchange -


^ Reaper version 5.62Lua version 5.3 Undo_OnStateChange2

Functioncall:

C: void Undo_OnStateChange2(ReaProject* proj, const char* descchange)

EEL: Undo_OnStateChange2(ReaProject proj, "descchange")

Lua: reaper.Undo_OnStateChange2(ReaProject proj, string descchange)

Python: RPR_Undo_OnStateChange2(ReaProject proj, String descchange)

Description:
limited state change to items

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


^ Reaper version 5.62Lua version 5.3 Undo_OnStateChange_Item

Functioncall:

C: void Undo_OnStateChange_Item(ReaProject* proj, const char* name, MediaItem* item)

EEL: Undo_OnStateChange_Item(ReaProject proj, "name", MediaItem item)

Lua: reaper.Undo_OnStateChange_Item(ReaProject proj, string name, MediaItem item)

Python: RPR_Undo_OnStateChange_Item(ReaProject proj, String name, MediaItem item)

Description:


Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          name -
          item -


^ Reaper version 5.62Lua version 5.3 Undo_OnStateChangeEx

Functioncall:

C: void Undo_OnStateChangeEx(const char* descchange, int whichStates, int trackparm)

EEL: Undo_OnStateChangeEx("descchange", int whichStates, int trackparm)

Lua: reaper.Undo_OnStateChangeEx(string descchange, integer whichStates, integer trackparm)

Python: RPR_Undo_OnStateChangeEx(String descchange, Int whichStates, Int trackparm)

Description:
rackparm=-1 by default,or if updating one fx chain,you can specify track index

Parameters:
          descchange -
          whichStates -
          trackparm -


^ Reaper version 5.62Lua version 5.3 Undo_OnStateChangeEx2

Functioncall:

C: void Undo_OnStateChangeEx2(ReaProject* proj, const char* descchange, int whichStates, int trackparm)

EEL: Undo_OnStateChangeEx2(ReaProject proj, "descchange", int whichStates, int trackparm)

Lua: reaper.Undo_OnStateChangeEx2(ReaProject proj, string descchange, integer whichStates, integer trackparm)

Python: RPR_Undo_OnStateChangeEx2(ReaProject proj, String descchange, Int whichStates, Int trackparm)

Description:
rackparm=-1 by default,or if updating one fx chain,you can specify track index

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          descchange -
          whichStates -
          trackparm -


^ Reaper version 5.62Lua version 5.3 UpdateArrange

Functioncall:

C: void UpdateArrange()

EEL: UpdateArrange()

Lua: reaper.UpdateArrange()

Python: RPR_UpdateArrange()

Description:
Redraw the arrange view



^ Reaper version 5.62Lua version 5.3 UpdateItemInProject

Functioncall:

C: void UpdateItemInProject(MediaItem* item)

EEL: UpdateItemInProject(MediaItem item)

Lua: reaper.UpdateItemInProject(MediaItem item)

Python: RPR_UpdateItemInProject(MediaItem item)

Description:


Parameters:
          item -


^ Reaper version 5.62Lua version 5.3 UpdateTimeline

Functioncall:

C: void UpdateTimeline()

EEL: UpdateTimeline()

Lua: reaper.UpdateTimeline()

Python: RPR_UpdateTimeline()

Description:
Redraw the arrange view and ruler



^ Reaper version 5.62Lua version 5.3 ValidatePtr

Functioncall:

C: bool ValidatePtr(void* pointer, const char* ctypename)

EEL: bool ValidatePtr(void* pointer, "ctypename")

Lua: boolean = reaper.ValidatePtr(identifier pointer, string ctypename)

Python: Boolean RPR_ValidatePtr(void pointer, String ctypename)

Description:
Return true if the pointer is a valid object of the right type in proj (proj is ignored if pointer is itself a project). Supported types are: ReaProject*, MediaTrack*, MediaItem*, MediaItem_Take*, TrackEnvelope* and PCM_source*.

see ValidatePtr2

Parameters:
          pointer - a pointer to the object to check for. In Lua or Python, you just give the object to check as this parameter.
          ctypename - the type of project to check for(given as a pointer)
Returnvalues:
          boolean - true, the object/pointer is of ctypename; false, it is not


^ Reaper version 5.62Lua version 5.3 ValidatePtr2

Functioncall:

C: bool ValidatePtr2(ReaProject* proj, void* pointer, const char* ctypename)

EEL: bool ValidatePtr2(ReaProject proj, void* pointer, "ctypename")

Lua: boolean = reaper.ValidatePtr2(ReaProject proj, identifier pointer, string ctypename)

Python: Boolean RPR_ValidatePtr2(ReaProject proj, void pointer, String ctypename)

Description:
Return true if the pointer is a valid object of the right type in proj (proj is ignored if pointer is itself a project). Supported types are: ReaProject*, MediaTrack*, MediaItem*, MediaItem_Take*, TrackEnvelope* and PCM_source*.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          pointer - a pointer to the object to check for. In Lua or Python, you just give the object to check as this parameter.
          ctypename - the type of project to check for(given as a pointer)
Returnvalues:
          boolean - true, the object/pointer is of ctypename; false, it is not


^ Reaper version 5.62Lua version 5.3 ViewPrefs

Functioncall:

C: void ViewPrefs(int page, const char* pageByName)

EEL: ViewPrefs(int page, "pageByName")

Lua: reaper.ViewPrefs(integer page, string pageByName)

Python: RPR_ViewPrefs(Int page, String pageByName)

Description:
Opens the prefs to a page, use pageByName if page is 0.

Parameters:
          page - the idx of the preferences-page. The following are valid:
139, General
474, Paths
219, Keyboard/Multitouch
212, Project
178, Track/Send Defaults
477, Media Item Defaults
156, Audio
118, Device
153, MIDI Devices
203, Buffering
584, Mute/Solo
136, Playback
517, Seeking
137, Recording
518, Loop Recording
478, Rendering
213, Appearance
236, Media(Appearance)
459, Peaks/Waveforms
524, Fades/Crossfades
458, Track Control Panels
172, Editing Behavior
447, Envelope Display
519, Automation
215, Mouse
466, Mouse Modifiers
490, MIDI Editor
138, Media
257, MIDI
449, Video/REX/Misc
154, Plug-ins
505, Compatibility
210, VST
209, ReWire/DX
515, ReaScript
227, ReaMote
257, Control/OSC/web
160, External Editors
          pageByName -


^ Reaper version 5.70Lua version 5.3 GetSetTrackGroupMembershipHigh

Functioncall:

C: unsigned int GetSetTrackGroupMembershipHigh(MediaTrack* tr, const char* groupname, unsigned int setmask, unsigned int setvalue)

EEL: uint GetSetTrackGroupMembershipHigh(MediaTrack tr, "groupname", uint setmask, uint setvalue)

Lua: integer groupstate = reaper.GetSetTrackGroupMembershipHigh(MediaTrack tr, string groupname, integer setmask, integer setvalue)

Python: Unknown RPR_GetSetTrackGroupMembershipHigh(MediaTrack tr, String groupname, Unknown setmask, Unknown setvalue)

Description:
Parameters:
          tr -
          groupname -
          setmask -
          setvalue -
Returnvalues:
          groupstate -


^ Reaper version 5.975Lua version 5.3 GetSetTrackSendInfo_String

Functioncall:

C: bool GetSetTrackSendInfo_String(MediaTrack* tr, int category, int sendidx, const char* parmname, char* stringNeedBig, bool setNewValue)

EEL: bool GetSetTrackSendInfo_String(MediaTrack tr, int category, int sendidx, "parmname", #stringNeedBig, bool setNewValue)

Lua: boolean retval, string stringNeedBig = reaper.GetSetTrackSendInfo_String(MediaTrack tr, integer category, integer sendidx, string parmname, string stringNeedBig, boolean setNewValue)

Python: (Boolean retval, MediaTrack tr, Int category, Int sendidx, String parmname, String stringNeedBig, Boolean setNewValue) = RPR_GetSetTrackSendInfo_String(tr, category, sendidx, parmname, stringNeedBig, setNewValue)

Description:
Parameters:
          MediaTrack tr -
          integer category -
          integer sendidx -
          string parmname -
          string stringNeedBig -
          boolean setNewValue -
Returnvalues:
          boolean retval -
          string stringNeedBig -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvAlloc(SWS)

Functioncall:

C: BR_Envelope* BR_EnvAlloc(TrackEnvelope* envelope, bool takeEnvelopesUseProjectTime)

EEL: BR_Envelope extension_api("BR_EnvAlloc", TrackEnvelope envelope, bool takeEnvelopesUseProjectTime)

Lua: BR_Envelope = reaper.BR_EnvAlloc(TrackEnvelope envelope, boolean takeEnvelopesUseProjectTime)

Python: BR_Envelope BR_EnvAlloc(TrackEnvelope envelope, Boolean takeEnvelopesUseProjectTime)

Description:
[BR] Create a BR_Envelope-object from a track-envelope pointer or take-envelope pointer.
To apply changes to a BR_Envelope-object, always call BR_EnvFree to release the object and commit changes if needed.
A BR_Envelope is not a TrackEnvelope-object and therefore can't be used as TrackEnvelope-object!

For manipulation see BR_EnvCountPoints, BR_EnvDeletePoint, BR_EnvFind, BR_EnvFindNext, BR_EnvFindPrevious, BR_EnvGetParentTake, BR_EnvGetParentTrack, BR_EnvGetPoint, BR_EnvGetProperties, BR_EnvSetPoint, BR_EnvSetProperties, BR_EnvValueAtPos.

Parameters:
          envelope - a TrackEnvelope-object of the envelope, that you want to have as a BR_Envelope
          takeEnvelopesUseProjectTime - false, take envelope points' positions are counted from take position, not project start time; true, work with project time instead
Returnvalues:
          BR_Envelope - the requested Envelope as a BR_Envelope-object


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvCountPoints(SWS)

Functioncall:

C: int BR_EnvCountPoints(BR_Envelope* envelope)

EEL: int extension_api("BR_EnvCountPoints", BR_Envelope envelope)

Lua: integer = reaper.BR_EnvCountPoints(BR_Envelope envelope)

Python: Int BR_EnvCountPoints(BR_Envelope envelope)

Description:
[BR] Count envelope points in the envelope object allocated with BR_EnvAlloc.

Parameters:
          envelope - the BR_Envelope-object, whose points you want to count
Returnvalues:
          integer - the number of envelope-points in the BR_Envelope-object


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvDeletePoint(SWS)

Functioncall:

C: bool BR_EnvDeletePoint(BR_Envelope* envelope, int id)

EEL: bool extension_api("BR_EnvDeletePoint", BR_Envelope envelope, int id)

Lua: boolean = reaper.BR_EnvDeletePoint(BR_Envelope envelope, integer id)

Python: Boolean BR_EnvDeletePoint(BR_Envelope envelope, Int id)

Description:
[BR] Delete envelope point by index (zero-based) in the envelope object allocated with BR_EnvAlloc.

Parameters:
          envelope - the BR_Envelope-object, where you want to delete an envelope-point
          id - the envelope-point-idx, that you want to delete. 0, first envelope-point; 1, second envelope-point, etc
Returnvalues:
          boolean - true, deleting was successful; false, deleting was unsuccessful


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvFind(SWS)

Functioncall:

C: int BR_EnvFind(BR_Envelope* envelope, double position, double delta)

EEL: int extension_api("BR_EnvFind", BR_Envelope envelope, position, delta)

Lua: integer = reaper.BR_EnvFind(BR_Envelope envelope, number position, number delta)

Python: Int BR_EnvFind(BR_Envelope envelope, Float position, Float delta)

Description:
[BR] Find envelope point at time position in the envelope object allocated with BR_EnvAlloc. Pass delta > 0 to search surrounding range - in that case the closest point to position within delta will be searched for. Returns envelope point id (zero-based) on success or -1 on failure.

Parameters:
          envelope - the BR_Envelope-object, in which you want to find an envelope-point
          position - the position in seconds, where you want to find from
          delta - delta > 0 to search surrounding range
Returnvalues:
          integer - envelope-point-id or -1 on failure


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvFindNext(SWS)

Functioncall:

C: int BR_EnvFindNext(BR_Envelope* envelope, double position)

EEL: int extension_api("BR_EnvFindNext", BR_Envelope envelope, position)

Lua: integer = reaper.BR_EnvFindNext(BR_Envelope envelope, number position)

Python: Int BR_EnvFindNext(BR_Envelope envelope, Float position)

Description:
[BR] Find next envelope point after time position in the envelope object allocated with BR_EnvAlloc. Returns envelope point id (zero-based) on success or -1 on failure.

Parameters:
          envelope - the BR_Envelope-object, in which you want to find the next envelope-point
          position - the position in seconds, where you want to find the next envelope-point from
Returnvalues:
          integer - envelope-point-id or -1 on failure


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvFindPrevious(SWS)

Functioncall:

C: int BR_EnvFindPrevious(BR_Envelope* envelope, double position)

EEL: int extension_api("BR_EnvFindPrevious", BR_Envelope envelope, position)

Lua: integer = reaper.BR_EnvFindPrevious(BR_Envelope envelope, number position)

Python: Int BR_EnvFindPrevious(BR_Envelope envelope, Float position)

Description:
[BR] Find previous envelope point before time position in the envelope object allocated with BR_EnvAlloc. Returns envelope point id (zero-based) on success or -1 on failure.

Parameters:
          envelope - the BR_Envelope-object, in which you want to find the previous envelope-point
          position - the position in seconds, where you want to find the previous envelope-point from
Returnvalues:
          integer - envelope-point-id or -1 on failure


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvFree(SWS)

Functioncall:

C: bool BR_EnvFree(BR_Envelope* envelope, bool commit)

EEL: bool extension_api("BR_EnvFree", BR_Envelope envelope, bool commit)

Lua: boolean = reaper.BR_EnvFree(BR_Envelope envelope, boolean commit)

Python: Boolean BR_EnvFree(BR_Envelope envelope, Boolean commit)

Description:
[BR] Free envelope object allocated with BR_EnvAlloc and commit changes if needed. Returns true if changes were committed successfully. Note that when envelope object wasn't modified nothing will get committed even if commit = true - in that case function returns false.

Parameters:
          envelope - the BR_Envelope-object that you want to commit and be freed
          commit - true, commit changes when freeing the BR_Envelope-object; false, don't commit changes when freeing the BR_Envelope-object
Returnvalues:
          boolean - true, committing was successful; false, committing was unsuccessful or no committing was necessary


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvGetParentTake(SWS)

Functioncall:

C: MediaItem_Take* BR_EnvGetParentTake(BR_Envelope* envelope)

EEL: MediaItem_Take extension_api("BR_EnvGetParentTake", BR_Envelope envelope)

Lua: MediaItem_Take = reaper.BR_EnvGetParentTake(BR_Envelope envelope)

Python: MediaItem_Take BR_EnvGetParentTake(BR_Envelope envelope)

Description:
[BR] If envelope object allocated with BR_EnvAlloc is take envelope, returns parent media item take, otherwise NULL.

Parameters:
          envelope -
Returnvalues:
          MediaItem_Take -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvGetParentTrack(SWS)

Functioncall:

C: MediaItem* BR_EnvGetParentTrack(BR_Envelope* envelope)

EEL: MediaItem extension_api("BR_EnvGetParentTrack", BR_Envelope envelope)

Lua: MediaItem = reaper.BR_EnvGetParentTrack(BR_Envelope envelope)

Python: MediaItem BR_EnvGetParentTrack(BR_Envelope envelope)

Description:
[BR] Get parent track of envelope object allocated with BR_EnvAlloc. If take envelope, returns NULL.

Parameters:
          envelope -
Returnvalues:
          MediaItem -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvGetPoint(SWS)

Functioncall:

C: bool BR_EnvGetPoint(BR_Envelope* envelope, int id, double* positionOut, double* valueOut, int* shapeOut, bool* selectedOut, double* bezierOut)

EEL: bool extension_api("BR_EnvGetPoint", BR_Envelope envelope, int id, &position, &value, int &shape, bool &selected, &bezier)

Lua: boolean retval, number position, number value, number shape, boolean selected, number bezier = reaper.BR_EnvGetPoint(BR_Envelope envelope, integer id)

Python: (Boolean retval, BR_Envelope envelope, Int id, Float positionOut, Float valueOut, Int shapeOut, Boolean selectedOut, Float bezierOut) = BR_EnvGetPoint(envelope, id, positionOut, valueOut, shapeOut, selectedOut, bezierOut)

Description:
[BR] Get envelope point by id (zero-based) from the envelope object allocated with BR_EnvAlloc. Returns true on success.

Parameters:
          envelope -
          id -
Returnvalues:
          retval -
          position -
          value -
          shape -
          selected -
          bezier -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvGetProperties(SWS)

Functioncall:

C: void BR_EnvGetProperties(BR_Envelope* envelope, bool* activeOut, bool* visibleOut, bool* armedOut, bool* inLaneOut, int* laneHeightOut, int* defaultShapeOut, double* minValueOut, double* maxValueOut, double* centerValueOut, int* typeOut, bool* faderScalingOut)

EEL: extension_api("BR_EnvGetProperties", BR_Envelope envelope, bool &active, bool &visible, bool &armed, bool &inLane, int &laneHeight, int &defaultShape, &minValue, &maxValue, &centerValue, int &type, bool &faderScaling)

Lua: boolean active retval, boolean visible, boolean armed, boolean inLane, number laneHeight, number defaultShape, number minValue, number maxValue, number centerValue, number type, boolean faderScaling = reaper.BR_EnvGetProperties(BR_Envelope envelope)

Python: (BR_Envelope envelope, Boolean activeOut, Boolean visibleOut, Boolean armedOut, Boolean inLaneOut, Int laneHeightOut, Int defaultShapeOut, Float minValueOut, Float maxValueOut, Float centerValueOut, Int typeOut, Boolean faderScalingOut) = BR_EnvGetProperties(envelope, activeOut, visibleOut, armedOut, inLaneOut, laneHeightOut, defaultShapeOut, minValueOut, maxValueOut, centerValueOut, typeOut, faderScalingOut)

Description:
[BR] Get envelope properties for the envelope object allocated with BR_EnvAlloc.

active: true if envelope is active
visible: true if envelope is visible
armed: true if envelope is armed
inLane: true if envelope has it's own envelope lane
laneHeight: envelope lane override height. 0 for none, otherwise size in pixels
defaultShape: default point shape: 0->Linear, 1->Square, 2->Slow start/end, 3->Fast start, 4->Fast end, 5->Bezier
minValue: minimum envelope value
maxValue: maximum envelope value
type: envelope type: 0->Volume, 1->Volume (Pre-FX), 2->Pan, 3->Pan (Pre-FX), 4->Width, 5->Width (Pre-FX), 6->Mute, 7->Pitch, 8->Playrate, 9->Tempo map, 10->Parameter
faderScaling: true if envelope uses fader scaling

Parameters:
          envelope -
Returnvalues:
          active retval -
          visible -
          armed -
          inLane -
          laneHeight -
          defaultShape -
          minValue -
          maxValue -
          centerValue -
          type -
          faderScaling -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvSetPoint(SWS)

Functioncall:

C: bool BR_EnvSetPoint(BR_Envelope* envelope, int id, double position, double value, int shape, bool selected, double bezier)

EEL: bool extension_api("BR_EnvSetPoint", BR_Envelope envelope, int id, position, value, int shape, bool selected, bezier)

Lua: boolean = reaper.BR_EnvSetPoint(BR_Envelope envelope, integer id, number position, number value, integer shape, boolean selected, number bezier)

Python: Boolean BR_EnvSetPoint(BR_Envelope envelope, Int id, Float position, Float value, Int shape, Boolean selected, Float bezier)

Description:
[BR] Set envelope point by id (zero-based) in the envelope object allocated with BR_EnvAlloc. To create point instead, pass id = -1. Note that if new point is inserted or existing point's time position is changed, points won't automatically get sorted. To do that, see BR_EnvSortPoints.
Returns true on success.

Parameters:
          envelope -
          id -
          position -
          value -
          shape -
          selected -
          bezier -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvSetProperties(SWS)

Functioncall:

C: void BR_EnvSetProperties(BR_Envelope* envelope, bool active, bool visible, bool armed, bool inLane, int laneHeight, int defaultShape, bool faderScaling)

EEL: extension_api("BR_EnvSetProperties", BR_Envelope envelope, bool active, bool visible, bool armed, bool inLane, int laneHeight, int defaultShape, bool faderScaling)

Lua: reaper.BR_EnvSetProperties(BR_Envelope envelope, boolean active, boolean visible, boolean armed, boolean inLane, integer laneHeight, integer defaultShape, boolean faderScaling)

Python: BR_EnvSetProperties(BR_Envelope envelope, Boolean active, Boolean visible, Boolean armed, Boolean inLane, Int laneHeight, Int defaultShape, Boolean faderScaling)

Description:
[BR] Set envelope properties for the envelope object allocated with BR_EnvAlloc. For parameter description see BR_EnvGetProperties.

Parameters:
          envelope -
          active -
          visible -
          armed -
          inLane -
          laneHeight -
          defaultShape -
          faderScaling -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvSortPoints(SWS)

Functioncall:

C: void BR_EnvSortPoints(BR_Envelope* envelope)

EEL: extension_api("BR_EnvSortPoints", BR_Envelope envelope)

Lua: reaper.BR_EnvSortPoints(BR_Envelope envelope)

Python: BR_EnvSortPoints(BR_Envelope envelope)

Description:
[BR] Sort envelope points by position. The only reason to call this is if sorted points are explicitly needed after editing them with BR_EnvSetPoint. Note that you do not have to call this before doing BR_EnvFree since it does handle unsorted points too.

Parameters:
          envelope -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_EnvValueAtPos(SWS)

Functioncall:

C: double BR_EnvValueAtPos(BR_Envelope* envelope, double position)

EEL: double extension_api("BR_EnvValueAtPos", BR_Envelope envelope, position)

Lua: number = reaper.BR_EnvValueAtPos(BR_Envelope envelope, number position)

Python: Float BR_EnvValueAtPos(BR_Envelope envelope, Float position)

Description:
[BR] Get envelope value at time position for the envelope object allocated with BR_EnvAlloc.

Parameters:
          envelope -
          position -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetArrangeView(SWS)

Functioncall:

C: void BR_GetArrangeView(ReaProject* proj, double* startTimeOut, double* endTimeOut)

EEL: extension_api("BR_GetArrangeView", ReaProject proj, &startTime, &endTime)

Lua: number startTime retval, number endTime = reaper.BR_GetArrangeView(ReaProject proj)

Python: (ReaProject proj, Float startTimeOut, Float endTimeOut) = BR_GetArrangeView(proj, startTimeOut, endTimeOut)

Description:
[BR] Deprecated, see GetSet_ArrangeView2 (REAPER v5.12pre4+) -- Get start and end time position of arrange view. To set arrange view instead, see BR_SetArrangeView.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
Returnvalues:
          startTime retval - the current starttime in the arrangeview in seconds
          endTime - the current endtime in the arrangeview in seconds


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetClosestGridDivision(SWS)

Functioncall:

C: double BR_GetClosestGridDivision(double position)

EEL: double extension_api("BR_GetClosestGridDivision", position)

Lua: number = reaper.BR_GetClosestGridDivision(number position)

Python: Float BR_GetClosestGridDivision(Float position)

Description:
[BR] Get closest grid division to position. Note that this functions is different from SnapToGrid in two regards. SnapToGrid() needs snap enabled to work and this one works always. Secondly, grid divisions are different from grid lines because some grid lines may be hidden due to zoom level - this function ignores grid line visibility and always searches for the closest grid division at given position. For more grid division functions, see BR_GetNextGridDivision and BR_GetPrevGridDivision.

Parameters:
          position -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetCurrentTheme(SWS)

Functioncall:

C: void BR_GetCurrentTheme(char* themePathOut, int themePathOut_sz, char* themeNameOut, int themeNameOut_sz)

EEL: extension_api("BR_GetCurrentTheme", #themePath, #themeName)

Lua: string themePath retval, string themeName = reaper.BR_GetCurrentTheme()

Python: (String themePathOut, Int themePathOut_sz, String themeNameOut, Int themeNameOut_sz) = BR_GetCurrentTheme(themePathOut, themePathOut_sz, themeNameOut, themeNameOut_sz)

Description:
[BR] Get current theme information. themePathOut is set to full theme path and themeNameOut is set to theme name excluding any path info and extension

Returnvalues:
          themePath retval -
          themeName -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaItemByGUID(SWS)

Functioncall:

C: MediaItem* BR_GetMediaItemByGUID(ReaProject* proj, const char* guidStringIn)

EEL: MediaItem extension_api("BR_GetMediaItemByGUID", ReaProject proj, "guidStringIn")

Lua: MediaItem = reaper.BR_GetMediaItemByGUID(ReaProject proj, string guidStringIn)

Python: MediaItem BR_GetMediaItemByGUID(ReaProject proj, String guidStringIn)

Description:
[BR] Get media item from GUID string. Note that the GUID must be enclosed in braces {}. To get item's GUID as a string, see BR_GetMediaItemGUID.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          guidStringIn - the guid of the MediaItem you want to request.
Returnvalues:
          MediaItem - the requested MediaItem as a MediaItem-object


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaItemGUID(SWS)

Functioncall:

C: void BR_GetMediaItemGUID(MediaItem* item, char* guidStringOut, int guidStringOut_sz)

EEL: extension_api("BR_GetMediaItemGUID", MediaItem item, #guidString)

Lua: string guidString = reaper.BR_GetMediaItemGUID(MediaItem item)

Python: (MediaItem item, String guidStringOut, Int guidStringOut_sz) = BR_GetMediaItemGUID(item, guidStringOut, guidStringOut_sz)

Description:
[BR] Get media item GUID as a string (guidStringOut_sz should be at least 64). To get media item back from GUID string, see BR_GetMediaItemByGUID.

Parameters:
          item - the MediaItem, whose guid you want to request
Returnvalues:
          guidString - the requested guid of the MediaItem


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaItemImageResource(SWS)

Functioncall:

C: bool BR_GetMediaItemImageResource(MediaItem* item, char* imageOut, int imageOut_sz, int* imageFlagsOut)

EEL: bool extension_api("BR_GetMediaItemImageResource", MediaItem item, #image, int &imageFlags)

Lua: boolean retval, string image, number imageFlags = reaper.BR_GetMediaItemImageResource(MediaItem item)

Python: (Boolean retval, MediaItem item, String imageOut, Int imageOut_sz, Int imageFlagsOut) = BR_GetMediaItemImageResource(item, imageOut, imageOut_sz, imageFlagsOut)

Description:
[BR] Get currently loaded image resource and it's flags for a given item. Returns false if there is no image resource set. To set image resource, see BR_SetMediaItemImageResource.

Parameters:
          item -
Returnvalues:
          retval -
          image -
          imageFlags -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaItemTakeGUID(SWS)

Functioncall:

C: void BR_GetMediaItemTakeGUID(MediaItem_Take* take, char* guidStringOut, int guidStringOut_sz)

EEL: extension_api("BR_GetMediaItemTakeGUID", MediaItem_Take take, #guidString)

Lua: string guidString = reaper.BR_GetMediaItemTakeGUID(MediaItem_Take take)

Python: (MediaItem_Take take, String guidStringOut, Int guidStringOut_sz) = BR_GetMediaItemTakeGUID(take, guidStringOut, guidStringOut_sz)

Description:
[BR] Get media item take GUID as a string (guidStringOut_sz should be at least 64). To get take from GUID string, see SNM_GetMediaItemTakeByGUID.

Parameters:
          take -
Returnvalues:
          guidString -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaSourceProperties(SWS)

Functioncall:

C: bool BR_GetMediaSourceProperties(MediaItem_Take* take, bool* sectionOut, double* startOut, double* lengthOut, double* fadeOut, bool* reverseOut)

EEL: bool extension_api("BR_GetMediaSourceProperties", MediaItem_Take take, bool &section, &start, &length, &fade, bool &reverse)

Lua: boolean retval, boolean section, number start, number length, number fade, boolean reverse = reaper.BR_GetMediaSourceProperties(MediaItem_Take take)

Python: (Boolean retval, MediaItem_Take take, Boolean sectionOut, Float startOut, Float lengthOut, Float fadeOut, Boolean reverseOut) = BR_GetMediaSourceProperties(take, sectionOut, startOut, lengthOut, fadeOut, reverseOut)

Description:
[BR] Get take media source properties as they appear in Item properties. Returns false if take can't have them (MIDI items etc.).
To set source properties, see BR_SetMediaSourceProperties.

Parameters:
          take -
Returnvalues:
          retval -
          section -
          start -
          length -
          fade -
          reverse -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaTrackByGUID(SWS)

Functioncall:

C: MediaTrack* BR_GetMediaTrackByGUID(ReaProject* proj, const char* guidStringIn)

EEL: MediaTrack extension_api("BR_GetMediaTrackByGUID", ReaProject proj, "guidStringIn")

Lua: MediaTrack = reaper.BR_GetMediaTrackByGUID(ReaProject proj, string guidStringIn)

Python: MediaTrack BR_GetMediaTrackByGUID(ReaProject proj, String guidStringIn)

Description:
[BR] Get media track from GUID string. Note that the GUID must be enclosed in braces {}. To get track's GUID as a string, see BR_GetMediaTrackGUID.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          guidStringIn - the guid of the track you want to request
Returnvalues:
          MediaTrack - the MediaTrack requested, as MediaTrack-object


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaTrackFreezeCount(SWS)

Functioncall:

C: int BR_GetMediaTrackFreezeCount(MediaTrack* track)

EEL: int extension_api("BR_GetMediaTrackFreezeCount", MediaTrack track)

Lua: integer = reaper.BR_GetMediaTrackFreezeCount(MediaTrack track)

Python: Int BR_GetMediaTrackFreezeCount(MediaTrack track)

Description:
[BR] Get media track freeze count (if track isn't frozen at all, returns 0).

Parameters:
          track -
Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaTrackGUID(SWS)

Functioncall:

C: void BR_GetMediaTrackGUID(MediaTrack* track, char* guidStringOut, int guidStringOut_sz)

EEL: extension_api("BR_GetMediaTrackGUID", MediaTrack track, #guidString)

Lua: string guidString = reaper.BR_GetMediaTrackGUID(MediaTrack track)

Python: (MediaTrack track, String guidStringOut, Int guidStringOut_sz) = BR_GetMediaTrackGUID(track, guidStringOut, guidStringOut_sz)

Description:
[BR] Get media track GUID as a string (guidStringOut_sz should be at least 64). To get media track back from GUID string, see BR_GetMediaTrackByGUID.

Parameters:
          track -
Returnvalues:
          guidString -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaTrackLayouts(SWS)

Functioncall:

C: void BR_GetMediaTrackLayouts(MediaTrack* track, char* mcpLayoutNameOut, int mcpLayoutNameOut_sz, char* tcpLayoutNameOut, int tcpLayoutNameOut_sz)

EEL: extension_api("BR_GetMediaTrackLayouts", MediaTrack track, #mcpLayoutName, #tcpLayoutName)

Lua: string mcpLayoutName retval, string tcpLayoutName = reaper.BR_GetMediaTrackLayouts(MediaTrack track)

Python: (MediaTrack track, String mcpLayoutNameOut, Int mcpLayoutNameOut_sz, String tcpLayoutNameOut, Int tcpLayoutNameOut_sz) = BR_GetMediaTrackLayouts(track, mcpLayoutNameOut, mcpLayoutNameOut_sz, tcpLayoutNameOut, tcpLayoutNameOut_sz)

Description:
[BR] Deprecated, see GetSetMediaTrackInfo (REAPER v5.02+). Get media track layouts for MCP and TCP. Empty string ("") means that layout is set to the default layout. To set media track layouts, see BR_SetMediaTrackLayouts.

Parameters:
          track -
Returnvalues:
          mcpLayoutName retval -
          tcpLayoutName -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaTrackSendInfo_Envelope(SWS)

Functioncall:

C: TrackEnvelope* BR_GetMediaTrackSendInfo_Envelope(MediaTrack* track, int category, int sendidx, int envelopeType)

EEL: TrackEnvelope extension_api("BR_GetMediaTrackSendInfo_Envelope", MediaTrack track, int category, int sendidx, int envelopeType)

Lua: TrackEnvelope = reaper.BR_GetMediaTrackSendInfo_Envelope(MediaTrack track, integer category, integer sendidx, integer envelopeType)

Python: TrackEnvelope BR_GetMediaTrackSendInfo_Envelope(MediaTrack track, Int category, Int sendidx, Int envelopeType)

Description:
[BR] Get track envelope for send/receive/hardware output.

category is <0 for receives, 0=sends, >0 for hardware outputs
sendidx is zero-based (see GetTrackNumSends to count track sends/receives/hardware outputs)
envelopeType determines which envelope is returned (0=volume, 1=pan, 2=mute)

Note: To get or set other send attributes, see BR_GetSetTrackSendInfo and BRGetMediaTrackSendInfoTrack.

Parameters:
          track -
          category -
          sendidx -
          envelopeType -
Returnvalues:
          TrackEnvelope -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMediaTrackSendInfo_Track(SWS)

Functioncall:

C: MediaTrack* BR_GetMediaTrackSendInfo_Track(MediaTrack* track, int category, int sendidx, int trackType)

EEL: MediaTrack extension_api("BR_GetMediaTrackSendInfo_Track", MediaTrack track, int category, int sendidx, int trackType)

Lua: MediaTrack = reaper.BR_GetMediaTrackSendInfo_Track(MediaTrack track, integer category, integer sendidx, integer trackType)

Python: MediaTrack BR_GetMediaTrackSendInfo_Track(MediaTrack track, Int category, Int sendidx, Int trackType)

Description:
[BR] Get source or destination media track for send/receive.

category is <0 for receives, 0=sends
sendidx is zero-based (see GetTrackNumSends to count track sends/receives)
trackType determines which track is returned (0=source track, 1=destination track)

Note: To get or set other send attributes, see BR_GetSetTrackSendInfo and BR_GetMediaTrackSendInfo_Envelope.

Parameters:
          track -
          category -
          sendidx -
          trackType -
Returnvalues:
          MediaTrack -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMidiSourceLenPPQ(SWS)

Functioncall:

C: double BR_GetMidiSourceLenPPQ(MediaItem_Take* take)

EEL: double extension_api("BR_GetMidiSourceLenPPQ", MediaItem_Take take)

Lua: number = reaper.BR_GetMidiSourceLenPPQ(MediaItem_Take take)

Python: Float BR_GetMidiSourceLenPPQ(MediaItem_Take take)

Description:
[BR] Get MIDI take source length in PPQ. In case the take isn't MIDI, return value will be -1.

Parameters:
          take -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMidiTakePoolGUID(SWS)

Functioncall:

C: bool BR_GetMidiTakePoolGUID(MediaItem_Take* take, char* guidStringOut, int guidStringOut_sz)

EEL: bool extension_api("BR_GetMidiTakePoolGUID", MediaItem_Take take, #guidString)

Lua: boolean retval, string guidString = reaper.BR_GetMidiTakePoolGUID(MediaItem_Take take)

Python: (Boolean retval, MediaItem_Take take, String guidStringOut, Int guidStringOut_sz) = BR_GetMidiTakePoolGUID(take, guidStringOut, guidStringOut_sz)

Description:
[BR] Get MIDI take pool GUID as a string (guidStringOut_sz should be at least 64). Returns true if take is pooled.

Parameters:
          take -
Returnvalues:
          retval -
          guidString -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMidiTakeTempoInfo(SWS)

Functioncall:

C: bool BR_GetMidiTakeTempoInfo(MediaItem_Take* take, bool* ignoreProjTempoOut, double* bpmOut, int* numOut, int* denOut)

EEL: bool extension_api("BR_GetMidiTakeTempoInfo", MediaItem_Take take, bool &ignoreProjTempo, &bpm, int &num, int &den)

Lua: boolean retval, boolean ignoreProjTempo, number bpm, number num, number den = reaper.BR_GetMidiTakeTempoInfo(MediaItem_Take take)

Python: (Boolean retval, MediaItem_Take take, Boolean ignoreProjTempoOut, Float bpmOut, Int numOut, Int denOut) = BR_GetMidiTakeTempoInfo(take, ignoreProjTempoOut, bpmOut, numOut, denOut)

Description:
[BR] Get "ignore project tempo" information for MIDI take. Returns true if take can ignore project tempo (no matter if it's actually ignored), otherwise false.

Parameters:
          take -
Returnvalues:
          retval -
          ignoreProjTempo -
          bpm -
          num -
          den -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext(SWS)

Functioncall:

C: void BR_GetMouseCursorContext(char* windowOut, int windowOut_sz, char* segmentOut, int segmentOut_sz, char* detailsOut, int detailsOut_sz)

EEL: extension_api("BR_GetMouseCursorContext", #window, #segment, #details)

Lua: string window retval, string segment, string details = reaper.BR_GetMouseCursorContext()

Python: (String windowOut, Int windowOut_sz, String segmentOut, Int segmentOut_sz, String detailsOut, Int detailsOut_sz) = BR_GetMouseCursorContext(windowOut, windowOut_sz, segmentOut, segmentOut_sz, detailsOut, detailsOut_sz)

Description:
[BR] Get mouse cursor context. Each parameter returns information in a form of string as specified in the table below.

To get more info on stuff that was found under mouse cursor see BR_GetMouseCursorContext_Envelope, BR_GetMouseCursorContext_Item, BR_GetMouseCursorContext_MIDI, BR_GetMouseCursorContext_Position, BR_GetMouseCursorContext_Take, BR_GetMouseCursorContext_Track





















WindowSegmentDetails
unknown""""
rulerregion_lane ""
marker_lane ""
tempo_lane ""
timeline""
transport""""
tcp track""
envelope""
empty""
mcp track""
empty""
arrangetrackempty,item, item_stretch_marker,env_point, env_segment
envelopeempty, env_point, env_segment
empty""
midi_editor unknown""
ruler""
piano""
notes""
cc_lanecc_selector, cc_lane


Returnvalues:
          window retval - the window, in which the mouse-cursor was, at time of calling BR_GetMouseCursorContext
          segment - the segment within the window
          details - details with the segment of the window


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext_Envelope(SWS)

Functioncall:

C: TrackEnvelope* BR_GetMouseCursorContext_Envelope(bool* takeEnvelopeOut)

EEL: TrackEnvelope extension_api("BR_GetMouseCursorContext_Envelope", bool &takeEnvelope)

Lua: TrackEnvelope retval, boolean takeEnvelope = reaper.BR_GetMouseCursorContext_Envelope()

Python: (TrackEnvelope retval, Boolean takeEnvelopeOut) = BR_GetMouseCursorContext_Envelope(takeEnvelopeOut)

Description:
[BR] Returns envelope that was captured with the last call to BR_GetMouseCursorContext. In case the envelope belongs to take, takeEnvelope will be true.

Returnvalues:
          retval -
          takeEnvelope -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext_Item(SWS)

Functioncall:

C: MediaItem* BR_GetMouseCursorContext_Item()

EEL: MediaItem extension_api("BR_GetMouseCursorContext_Item")

Lua: MediaItem = reaper.BR_GetMouseCursorContext_Item()

Python: MediaItem BR_GetMouseCursorContext_Item()

Description:
[BR] Returns item under mouse cursor that was captured with the last call to BR_GetMouseCursorContext. Note that the function will return item even if mouse cursor is over some other track lane element like stretch marker or envelope. This enables for easier identification of items when you want to ignore elements within the item.

Returnvalues:
          MediaItem -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_GetMouseCursorContext_MIDI(SWS)

Functioncall:

C: void* BR_GetMouseCursorContext_MIDI(bool* inlineEditorOut, int* noteRowOut, int* ccLaneOut, int* ccLaneValOut, int* ccLaneIdOut)

EEL: void* extension_api("BR_GetMouseCursorContext_MIDI", bool &inlineEditor, int &noteRow, int &ccLane, int &ccLaneVal, int &ccLaneId)

Lua: identifier retval, boolean inlineEditor, number noteRow, number ccLane, number ccLaneVal, number ccLaneId = reaper.BR_GetMouseCursorContext_MIDI()

Python: (void retval, Boolean inlineEditorOut, Int noteRowOut, Int ccLaneOut, Int ccLaneValOut, Int ccLaneIdOut) = BR_GetMouseCursorContext_MIDI(inlineEditorOut, noteRowOut, ccLaneOut, ccLaneValOut, ccLaneIdOut)

Description:
[BR] Returns midi editor under mouse cursor that was captured with the last call to BR_GetMouseCursorContext.

inlineEditor: if mouse was captured in inline MIDI editor, this will be true (consequentially, returned MIDI editor will be NULL)
noteRow: note row or piano key under mouse cursor (0-127)
ccLane: CC lane under mouse cursor (CC0-127=CC, 0x100|(0-31)=14-bit CC, 0x200=velocity, 0x201=pitch, 0x202=program, 0x203=channel pressure, 0x204=bank/program select, 0x205=text, 0x206=sysex, 0x207=off velocity, 0x208=notation events)
ccLaneVal: value in CC lane under mouse cursor (0-127 or 0-16383)
ccLaneId: lane position, counting from the top (0 based)

Note: due to API limitations, if mouse is over inline MIDI editor with some note rows hidden, noteRow will be -1

Returnvalues:
          retval -
          inlineEditor -
          noteRow -
          ccLane -
          ccLaneVal -
          ccLaneId -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext_Position(SWS)

Functioncall:

C: double BR_GetMouseCursorContext_Position()

EEL: double extension_api("BR_GetMouseCursorContext_Position")

Lua: number = reaper.BR_GetMouseCursorContext_Position()

Python: Float BR_GetMouseCursorContext_Position()

Description:
[BR] Returns project time position in arrange/ruler/midi editor that was captured with the last call to BR_GetMouseCursorContext.

Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext_StretchMarker(SWS)

Functioncall:

C: int BR_GetMouseCursorContext_StretchMarker()

EEL: int extension_api("BR_GetMouseCursorContext_StretchMarker")

Lua: integer = reaper.BR_GetMouseCursorContext_StretchMarker()

Python: Int BR_GetMouseCursorContext_StretchMarker()

Description:
[BR] Returns id of a stretch marker under mouse cursor that was captured with the last call to BR_GetMouseCursorContext.

Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext_Take(SWS)

Functioncall:

C: MediaItem_Take* BR_GetMouseCursorContext_Take()

EEL: MediaItem_Take extension_api("BR_GetMouseCursorContext_Take")

Lua: MediaItem_Take = reaper.BR_GetMouseCursorContext_Take()

Python: MediaItem_Take BR_GetMouseCursorContext_Take()

Description:
[BR] Returns take under mouse cursor that was captured with the last call to BR_GetMouseCursorContext.

Returnvalues:
          MediaItem_Take -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetMouseCursorContext_Track(SWS)

Functioncall:

C: MediaTrack* BR_GetMouseCursorContext_Track()

EEL: MediaTrack extension_api("BR_GetMouseCursorContext_Track")

Lua: MediaTrack = reaper.BR_GetMouseCursorContext_Track()

Python: MediaTrack BR_GetMouseCursorContext_Track()

Description:
[BR] Returns track under mouse cursor that was captured with the last call to BR_GetMouseCursorContext.

Returnvalues:
          MediaTrack -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetNextGridDivision(SWS)

Functioncall:

C: double BR_GetNextGridDivision(double position)

EEL: double extension_api("BR_GetNextGridDivision", position)

Lua: number = reaper.BR_GetNextGridDivision(number position)

Python: Float BR_GetNextGridDivision(Float position)

Description:
[BR] Get next grid division after the time position. For more grid divisions function, see BR_GetClosestGridDivision and BR_GetPrevGridDivision.

Parameters:
          position -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetPrevGridDivision(SWS)

Functioncall:

C: double BR_GetPrevGridDivision(double position)

EEL: double extension_api("BR_GetPrevGridDivision", position)

Lua: number = reaper.BR_GetPrevGridDivision(number position)

Python: Float BR_GetPrevGridDivision(Float position)

Description:
[BR] Get previous grid division before the time position. For more grid division functions, see BR_GetClosestGridDivision and BR_GetNextGridDivision.

Parameters:
          position -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetSetTrackSendInfo(SWS)

Functioncall:

C: double BR_GetSetTrackSendInfo(MediaTrack* track, int category, int sendidx, const char* parmname, bool setNewValue, double newValue)

EEL: double extension_api("BR_GetSetTrackSendInfo", MediaTrack track, int category, int sendidx, "parmname", bool setNewValue, newValue)

Lua: number = reaper.BR_GetSetTrackSendInfo(MediaTrack track, integer category, integer sendidx, string parmname, boolean setNewValue, number newValue)

Python: Float BR_GetSetTrackSendInfo(MediaTrack track, Int category, Int sendidx, String parmname, Boolean setNewValue, Float newValue)

Description:
[BR] Get or set send attributes.

category is <0 for receives, 0=sends, >0 for hardware outputs
sendidx is zero-based (see GetTrackNumSends to count track sends/receives/hardware outputs)
To set attribute, pass setNewValue as true

List of possible parameters:

B_MUTE : send mute state (1.0 if muted, otherwise 0.0)
B_PHASE : send phase state (1.0 if phase is inverted, otherwise 0.0)
B_MONO : send mono state (1.0 if send is set to mono, otherwise 0.0)
D_VOL : send volume (1.0=+0dB etc...)
D_PAN : send pan (-1.0=100%L, 0=center, 1.0=100%R)
D_PANLAW : send pan law (1.0=+0.0db, 0.5=-6dB, -1.0=project default etc...)
I_SENDMODE : send mode (0=post-fader, 1=pre-fx, 2=post-fx(deprecated), 3=post-fx)
I_SRCCHAN : audio source starting channel index or -1 if audio send is disabled (&1024=mono...note that in that case, when reading index, you should do (index XOR 1024) to get starting channel index)
I_DSTCHAN : audio destination starting channel index (&1024=mono (and in case of hardware output &512=rearoute)...note that in that case, when reading index, you should do (index XOR (1024 OR 512)) to get starting channel index)
I_MIDI_SRCCHAN : source MIDI channel, -1 if MIDI send is disabled (0=all, 1-16)
I_MIDI_DSTCHAN : destination MIDI channel, -1 if MIDI send is disabled (0=original, 1-16)
I_MIDI_SRCBUS : source MIDI bus, -1 if MIDI send is disabled (0=all, otherwise bus index)
I_MIDI_DSTBUS : receive MIDI bus, -1 if MIDI send is disabled (0=all, otherwise bus index)
I_MIDI_LINK_VOLPAN : link volume/pan controls to MIDI

Note: To get or set other send attributes, see BR_GetMediaTrackSendInfo_Envelope and BR_GetMediaTrackSendInfo_Track.

Parameters:
          track -
          category -
          sendidx -
          parmname -
          setNewValue -
          newValue -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_GetTakeFXCount(SWS)

Functioncall:

C: int BR_GetTakeFXCount(MediaItem_Take* take)

EEL: int extension_api("BR_GetTakeFXCount", MediaItem_Take take)

Lua: integer = reaper.BR_GetTakeFXCount(MediaItem_Take take)

Python: Int BR_GetTakeFXCount(MediaItem_Take take)

Description:
[BR] Returns FX count for supplied take

Parameters:
          take -
Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_IsMidiOpenInInlineEditor(SWS)

Functioncall:

C: bool BR_IsMidiOpenInInlineEditor(MediaItem_Take* take)

EEL: bool extension_api("BR_IsMidiOpenInInlineEditor", MediaItem_Take take)

Lua: boolean = reaper.BR_IsMidiOpenInInlineEditor(MediaItem_Take take)

Python: Boolean BR_IsMidiOpenInInlineEditor(MediaItem_Take take)

Description:
[SWS] Check if take has MIDI inline editor open and returns true or false.

Parameters:
          take -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_IsTakeMidi(SWS)

Functioncall:

C: bool BR_IsTakeMidi(MediaItem_Take* take, bool* inProjectMidiOut)

EEL: bool extension_api("BR_IsTakeMidi", MediaItem_Take take, bool &inProjectMidi)

Lua: boolean retval, boolean inProjectMidi = reaper.BR_IsTakeMidi(MediaItem_Take take)

Python: (Boolean retval, MediaItem_Take take, Boolean inProjectMidiOut) = BR_IsTakeMidi(take, inProjectMidiOut)

Description:
[BR] Check if take is MIDI take, in case MIDI take is in-project MIDI source data, inProjectMidiOut will be true, otherwise false.

Parameters:
          take -
Returnvalues:
          retval -
          inProjectMidi -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_ItemAtMouseCursor(SWS)

Functioncall:

C: MediaItem* BR_ItemAtMouseCursor(double* positionOut)

EEL: MediaItem extension_api("BR_ItemAtMouseCursor", &position)

Lua: MediaItem retval, number position = reaper.BR_ItemAtMouseCursor()

Python: (MediaItem retval, Float positionOut) = BR_ItemAtMouseCursor(positionOut)

Description:
[BR] Get media item under mouse cursor. Position is mouse cursor position in arrange.

Returnvalues:
          retval -
          position -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_MIDI_CCLaneRemove(SWS)

Functioncall:

C: bool BR_MIDI_CCLaneRemove(vpid* midiEditor, int laneId)

EEL: bool extension_api("BR_MIDI_CCLaneRemove", void* midiEditor, int laneId)

Lua: boolean = reaper.BR_MIDI_CCLaneRemove(identifier midiEditor, integer laneId)

Python: Boolean BR_MIDI_CCLaneRemove(void midiEditor, Int laneId)

Description:
[BR] Remove CC lane in midi editor. Top visible CC lane is laneId 0. Returns true on success

Parameters:
          midiEditor -
          laneId -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_MIDI_CCLaneReplace(SWS)

Functioncall:

C: bool BR_MIDI_CCLaneReplace(void* midiEditor, int laneId, int newCC)

EEL: bool extension_api("BR_MIDI_CCLaneReplace", void* midiEditor, int laneId, int newCC)

Lua: boolean = reaper.BR_MIDI_CCLaneReplace(identifier midiEditor, integer laneId, integer newCC)

Python: Boolean BR_MIDI_CCLaneReplace(void midiEditor, Int laneId, Int newCC)

Description:
[BR] Replace CC lane in midi editor. Top visible CC lane is laneId 0. Returns true on success.
Valid CC lanes: CC0-127=CC, 0x100|(0-31)=14-bit CC, 0x200=velocity, 0x201=pitch, 0x202=program, 0x203=channel pressure, 0x204=bank/program select, 0x205=text, 0x206=sysex, 0x207

Parameters:
          midiEditor -
          laneId -
          newCC -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_PositionAtMouseCursor(SWS)

Functioncall:

C: double BR_PositionAtMouseCursor(bool checkRuler)

EEL: double extension_api("BR_PositionAtMouseCursor", bool checkRuler)

Lua: number = reaper.BR_PositionAtMouseCursor(boolean checkRuler)

Python: Float BR_PositionAtMouseCursor(Boolean checkRuler)

Description:
[BR] Get position at mouse cursor. To check ruler along with arrange, pass checkRuler=true. Returns -1 if cursor is not over arrange/ruler.

Parameters:
          checkRuler -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetArrangeView(SWS)

Functioncall:

C: void BR_SetArrangeView(ReaProject* proj, double startTime, double endTime)

EEL: extension_api("BR_SetArrangeView", ReaProject proj, startTime, endTime)

Lua: reaper.BR_SetArrangeView(ReaProject proj, number startTime, number endTime)

Python: BR_SetArrangeView(ReaProject proj, Float startTime, Float endTime)

Description:
[BR] Deprecated, see GetSet_ArrangeView2 (REAPER v5.12pre4+) -- Set start and end time position of arrange view. To get arrange view instead, see BR_GetArrangeView.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          startTime - the new starttime of the arrangewview in seconds
          endTime - the new endtime of the arrangewview in seconds


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetItemEdges(SWS)

Functioncall:

C: bool BR_SetItemEdges(MediaItem* item, double startTime, double endTime)

EEL: bool extension_api("BR_SetItemEdges", MediaItem item, startTime, endTime)

Lua: boolean = reaper.BR_SetItemEdges(MediaItem item, number startTime, number endTime)

Python: Boolean BR_SetItemEdges(MediaItem item, Float startTime, Float endTime)

Description:
[BR] Set item start and end edges' position - returns true in case of any changes

Parameters:
          item -
          startTime -
          endTime -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetMediaItemImageResource(SWS)

Functioncall:

C: void BR_SetMediaItemImageResource(MediaItem* item, const char* imageIn, int imageFlags)

EEL: extension_api("BR_SetMediaItemImageResource", MediaItem item, "imageIn", int imageFlags)

Lua: reaper.BR_SetMediaItemImageResource(MediaItem item, string imageIn, integer imageFlags)

Python: BR_SetMediaItemImageResource(MediaItem item, String imageIn, Int imageFlags)

Description:
[BR] Set image resource and it's flags for a given item. To clear current image resource, pass imageIn as . To get image resource, see BR_GetMediaItemImageResource.

Parameters:
          item -
          imageIn -
          imageFlags -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetMediaSourceProperties(SWS)

Functioncall:

C: bool BR_SetMediaSourceProperties(MediaItem_Take* take, bool section, double start, double length, double fade, bool reverse)

EEL: bool extension_api("BR_SetMediaSourceProperties", MediaItem_Take take, bool section, start, length, fade, bool reverse)

Lua: boolean = reaper.BR_SetMediaSourceProperties(MediaItem_Take take, boolean section, number start, number length, number fade, boolean reverse)

Python: Boolean BR_SetMediaSourceProperties(MediaItem_Take take, Boolean section, Float start, Float length, Float fade, Boolean reverse)

Description:
[BR] Set take media source properties. Returns false if take can't have them (MIDI items etc.). Section parameters have to be valid only when passing section=true.
To get source properties, see BR_GetMediaSourceProperties.

Parameters:
          take -
          section -
          start -
          length -
          fade -
          reverse -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetMediaTrackLayouts(SWS)

Functioncall:

C: bool BR_SetMediaTrackLayouts(MediaTrack* track, const char* mcpLayoutNameIn, const char* tcpLayoutNameIn)

EEL: bool extension_api("BR_SetMediaTrackLayouts", MediaTrack track, "mcpLayoutNameIn", "tcpLayoutNameIn")

Lua: boolean = reaper.BR_SetMediaTrackLayouts(MediaTrack track, string mcpLayoutNameIn, string tcpLayoutNameIn)

Python: Boolean BR_SetMediaTrackLayouts(MediaTrack track, String mcpLayoutNameIn, String tcpLayoutNameIn)

Description:
[BR] Deprecated, see GetSetMediaTrackInfo (REAPER v5.02+). Set media track layouts for MCP and TCP. To set default layout, pass empty string ("") as layout name. In case layouts were successfully set, returns true (if layouts are already set to supplied layout names, it will return false since no changes were made).
To get media track layouts, see BR_GetMediaTrackLayouts.

Parameters:
          track -
          mcpLayoutNameIn -
          tcpLayoutNameIn -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetMidiTakeTempoInfo(SWS)

Functioncall:

C: bool BR_SetMidiTakeTempoInfo(MediaItem_Take* take, bool ignoreProjTempo, double bpm, int num, int den)

EEL: bool extension_api("BR_SetMidiTakeTempoInfo", MediaItem_Take take, bool ignoreProjTempo, bpm, int num, int den)

Lua: boolean = reaper.BR_SetMidiTakeTempoInfo(MediaItem_Take take, boolean ignoreProjTempo, number bpm, integer num, integer den)

Python: Boolean BR_SetMidiTakeTempoInfo(MediaItem_Take take, Boolean ignoreProjTempo, Float bpm, Int num, Int den)

Description:
[BR] Set "ignore project tempo" information for MIDI take. Returns true in case the take was successfully updated.

Parameters:
          take -
          ignoreProjTempo -
          bpm -
          num -
          den -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetTakeSourceFromFile(SWS)

Functioncall:

C: bool BR_SetTakeSourceFromFile(MediaItem_Take* take, const char* filenameIn, bool inProjectData)

EEL: bool extension_api("BR_SetTakeSourceFromFile", MediaItem_Take take, "filenameIn", bool inProjectData)

Lua: boolean = reaper.BR_SetTakeSourceFromFile(MediaItem_Take take, string filenameIn, boolean inProjectData)

Python: Boolean BR_SetTakeSourceFromFile(MediaItem_Take take, String filenameIn, Boolean inProjectData)

Description:
[BR] Set new take source from file. To import MIDI file as in-project source data pass inProjectData=true. Returns false if failed.
Any take source properties from the previous source will be lost - to preserve them, see BR_SetTakeSourceFromFile2.
Note: To set source from existing take, see SNM_GetSetSourceState2.

Parameters:
          take -
          filenameIn -
          inProjectData -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_SetTakeSourceFromFile2(SWS)

Functioncall:

C: bool BR_SetTakeSourceFromFile2(MediaItem_Take* take, const char* filenameIn, bool inProjectData, bool keepSourceProperties)

EEL: bool extension_api("BR_SetTakeSourceFromFile2", MediaItem_Take take, "filenameIn", bool inProjectData, bool keepSourceProperties)

Lua: boolean = reaper.BR_SetTakeSourceFromFile2(MediaItem_Take take, string filenameIn, boolean inProjectData, boolean keepSourceProperties)

Python: Boolean BR_SetTakeSourceFromFile2(MediaItem_Take take, String filenameIn, Boolean inProjectData, Boolean keepSourceProperties)

Description:
[BR] Differs from BR_SetTakeSourceFromFile only that it can also preserve existing take media source properties.

Parameters:
          take -
          filenameIn -
          inProjectData -
          keepSourceProperties -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_TakeAtMouseCursor(SWS)

Functioncall:

C: MediaItem_Take* BR_TakeAtMouseCursor(double* positionOut)

EEL: MediaItem_Take extension_api("BR_TakeAtMouseCursor", &position)

Lua: MediaItem_Take retval, number position = reaper.BR_TakeAtMouseCursor()

Python: (MediaItem_Take retval, Float positionOut) = BR_TakeAtMouseCursor(positionOut)

Description:
[BR] Get take under mouse cursor. Position is mouse cursor position in arrange.

Returnvalues:
          retval -
          position -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_TrackAtMouseCursor(SWS)

Functioncall:

C: MediaTrack* BR_TrackAtMouseCursor(int* contextOut, double* positionOut)

EEL: MediaTrack extension_api("BR_TrackAtMouseCursor", int &context, &position)

Lua: MediaTrack retval, number context, number position = reaper.BR_TrackAtMouseCursor()

Python: (MediaTrack retval, Int contextOut, Float positionOut) = BR_TrackAtMouseCursor(contextOut, positionOut)

Description:
[BR] Get track under mouse cursor.
Context signifies where the track was found: 0 = TCP, 1 = MCP, 2 = Arrange.
Position will hold mouse cursor position in arrange if applicable.

Returnvalues:
          retval -
          context -
          position -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_TrackFX_GetFXModuleName(SWS)

Functioncall:

C: bool BR_TrackFX_GetFXModuleName(MediaTrack* track, int fx, char* nameOut, int nameOutSz)

EEL: bool extension_api("BR_TrackFX_GetFXModuleName", MediaTrack track, int fx, # name, int name)

Lua: boolean retval, string name = reaper.BR_TrackFX_GetFXModuleName(MediaTrack track, integer fx)

Python: (Boolean retval, MediaTrack track, Int fx, String nameOut, Int nameOutSz) = BR_TrackFX_GetFXModuleName(track, fx, nameOut, nameOutSz)

Description:
[BR] Get the exact name (like effect.dll, effect.vst3, etc...) of an FX.

Parameters:
          track -
          fx -
Returnvalues:
          retval -
          name -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_Win32_GetPrivateProfileString(SWS)

Functioncall:

C: int BR_Win32_GetPrivateProfileString(const char* sectionName, const char* keyName, const char* defaultString, const char* filePath, char* stringOut, int stringOut_sz)

EEL: int extension_api("BR_Win32_GetPrivateProfileString", "sectionName", "keyName", "defaultString", "filePath", #string)

Lua: integer retval, string string = reaper.BR_Win32_GetPrivateProfileString(string sectionName, string keyName, string defaultString, string filePath)

Python: (Int retval, String sectionName, String keyName, String defaultString, String filePath, String stringOut, Int stringOut_sz) = BR_Win32_GetPrivateProfileString(sectionName, keyName, defaultString, filePath, stringOut, stringOut_sz)

Description:
[BR] Equivalent to win32 API GetPrivateProfileString(). For example, you can use this to get values from REAPER.ini

If you have multiple sections in that file with the same name, only the first one will be used, the rest will be ignored by Reaper.
If you have multiple keys with the same name within a section, only the first one will be used, the rest will be ignored by Reaper.
You can get the paths using GetExePath for the Reaper-application-folder, GetResourcePath for the ressources-folder or get_ini_file for the path+filename of the Reaper.ini-file.

Parameters:
          sectionName - the [section] in which the key is stored, you'd like to get
          keyName - the key from the [section], whose value you'd like to get
          defaultString - a default value that will be returned, if the [section] and/or key does not exist in the ini-file yet.
          filePath - the path+filename, where the [section] and key are stored
Returnvalues:
          retval - number of characters of the value
          string - the value of that key


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_Win32_ShellExecute(SWS)

Functioncall:

C: int BR_Win32_ShellExecute(const char* operation, const char* file, const char* parameters, const char* directory, int showFlags)

EEL: int extension_api("BR_Win32_ShellExecute", "operation", "file", "parameters", "directory", int showFlags)

Lua: integer = reaper.BR_Win32_ShellExecute(string operation, string file, string parameters, string directory, integer showFlags)

Python: Int BR_Win32_ShellExecute(String operation, String file, String parameters, String directory, Int showFlags)

Description:
[BR] Equivalent to win32 API ShellExecute() with HWND set to main window

Parameters:
          operation -
          file -
          parameters -
          directory -
          showFlags -
Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 BR_Win32_WritePrivateProfileString(SWS)

Functioncall:

C: bool BR_Win32_WritePrivateProfileString(const char* sectionName, const char* keyName, const char* value, const char* filePath)

EEL: bool extension_api("BR_Win32_WritePrivateProfileString", "sectionName", "keyName", "value", "filePath")

Lua: boolean = reaper.BR_Win32_WritePrivateProfileString(string sectionName, string keyName, string value, string filePath)

Python: Boolean BR_Win32_WritePrivateProfileString(String sectionName, String keyName, String value, String filePath)

Description:
[BR] Equivalent to win32 API WritePrivateProfileString(). For example, you can use this to write to REAPER.ini

If you have multiple sections in that file with the same name, only the first one will be used, the rest will be ignored by Reaper.
If you have multiple keys with the same name within a section, only the first one will be used, the rest will be ignored by Reaper.
You can get the paths using GetExePath for the Reaper-application-folder, GetResourcePath for the ressources-folder or get_ini_file for the path+filename of the Reaper.ini-file.

Parameters:
          sectionName - the [section] in which the key is stored, you'd like to set
          keyName - the key from the [section], whose value you'd like to set
          value - the value you want to have set to the key
          filePath - the path+filename, where the [section] and key are going to be stored
Returnvalues:
          boolean - true, if it worked


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 CF_GetClipboard(SWS)

Functioncall:

C: void CF_GetClipboard(char* buf, int buf_sz)

EEL: extension_api("CF_GetClipboard", #buf)

Lua: string buf = reaper.CF_GetClipboard(string buf)

Python: (String buf, Int buf_sz) = CF_GetClipboard(buf, buf_sz)

Description:
Read the contents of the system clipboard (limited to 1023 characters in Lua).

Returnvalues:
          buf - the content of the clipboard


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 CF_GetClipboardBig(SWS)

Functioncall:

C: const char* CF_GetClipboardBig(WDL_FastString* output)

EEL: bool extension_api("CF_GetClipboardBig", #retval, WDL_FastString output)

Lua: string = reaper.CF_GetClipboardBig(WDL_FastString output)

Python: String CF_GetClipboardBig(WDL_FastString output)

Description:
Read the contents of the system clipboard. See SNM_CreateFastString and SNM_DeleteFastString.

Parameters:
          output - a faststring used by this
Returnvalues:
          string - the content of the clipboard


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 CF_SetClipboard(SWS)

Functioncall:

C: void CF_SetClipboard(const char* str)

EEL: extension_api("CF_SetClipboard", "str")

Lua: reaper.CF_SetClipboard(string str)

Python: CF_SetClipboard(String str)

Description:
Write the given string into the system clipboard.

Parameters:
          str - the string to put into the clipboard


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_AddMidiNote(SWS)

Functioncall:

C: RprMidiNote* FNG_AddMidiNote(RprMidiTake* midiTake)

EEL: RprMidiNote extension_api("FNG_AddMidiNote", RprMidiTake midiTake)

Lua: RprMidiNote = reaper.FNG_AddMidiNote(RprMidiTake midiTake)

Python: RprMidiNote FNG_AddMidiNote(RprMidiTake midiTake)

Description:
[FNG]Add MIDI note to MIDI take

Parameters:
          midiTake -
Returnvalues:
          RprMidiNote -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_AllocMidiTake(SWS)

Functioncall:

C: RprMidiTake* FNG_AllocMidiTake(MediaItem_Take* take)

EEL: RprMidiTake extension_api("FNG_AllocMidiTake", MediaItem_Take take)

Lua: RprMidiTake = reaper.FNG_AllocMidiTake(MediaItem_Take take)

Python: RprMidiTake FNG_AllocMidiTake(MediaItem_Take take)

Description:
[FNG]Allocate a RprMidiTake from a take pointer. Returns a NULL pointer if the take is not an in-project MIDI take

Parameters:
          take -
Returnvalues:
          RprMidiTake -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_CountMidiNotes(SWS)

Functioncall:

C: int FNG_CountMidiNotes(RprMidiTake* midiTake)

EEL: int extension_api("FNG_CountMidiNotes", RprMidiTake midiTake)

Lua: integer = reaper.FNG_CountMidiNotes(RprMidiTake midiTake)

Python: Int FNG_CountMidiNotes(RprMidiTake midiTake)

Description:
[FNG]Count of how many MIDI notes are in the MIDI take

Parameters:
          midiTake -
Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_FreeMidiTake(SWS)

Functioncall:

C: void FNG_FreeMidiTake(RprMidiTake* midiTake)

EEL: extension_api("FNG_FreeMidiTake", RprMidiTake midiTake)

Lua: reaper.FNG_FreeMidiTake(RprMidiTake midiTake)

Python: FNG_FreeMidiTake(RprMidiTake midiTake)

Description:
[FNG]Commit changes to MIDI take and free allocated memory

Parameters:
          midiTake -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_GetMidiNote(SWS)

Functioncall:

C: RprMidiNote* FNG_GetMidiNote(RprMidiTake* midiTake, int index)

EEL: RprMidiNote extension_api("FNG_GetMidiNote", RprMidiTake midiTake, int index)

Lua: RprMidiNote = reaper.FNG_GetMidiNote(RprMidiTake midiTake, integer index)

Python: RprMidiNote FNG_GetMidiNote(RprMidiTake midiTake, Int index)

Description:
[FNG]Get a MIDI note from a MIDI take at specified index

Parameters:
          midiTake -
          index -
Returnvalues:
          RprMidiNote -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_GetMidiNoteIntProperty(SWS)

Functioncall:

C: int FNG_GetMidiNoteIntProperty(RprMidiNote* midiNote, const char* property)

EEL: int extension_api("FNG_GetMidiNoteIntProperty", RprMidiNote midiNote, "property")

Lua: integer = reaper.FNG_GetMidiNoteIntProperty(RprMidiNote midiNote, string property)

Python: Int FNG_GetMidiNoteIntProperty(RprMidiNote midiNote, String property)

Description:
[FNG]Get MIDI note property

Parameters:
          midiNote -
          property -
Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 FNG_SetMidiNoteIntProperty(SWS)

Functioncall:

C: void FNG_SetMidiNoteIntProperty(RprMidiNote* midiNote, const char* property, int value)

EEL: extension_api("FNG_SetMidiNoteIntProperty", RprMidiNote midiNote, "property", int value)

Lua: reaper.FNG_SetMidiNoteIntProperty(RprMidiNote midiNote, string property, integer value)

Python: FNG_SetMidiNoteIntProperty(RprMidiNote midiNote, String property, Int value)

Description:
[FNG]Set MIDI note property

Parameters:
          midiNote -
          property -
          value -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 NF_AnalyzeTakeLoudness(SWS)

Functioncall:

C: bool NF_AnalyzeTakeLoudness(MediaItem_Take* take, bool analyzeTruePeak, double* lufsIntegratedOut, double* rangeOut, double* truePeakOut, double* truePeakPosOut, double* shortTermMaxOut, double* momentaryMaxOut)

EEL: bool extension_api("NF_AnalyzeTakeLoudness", MediaItem_Take take, bool analyzeTruePeak, &lufsIntegrated, &range, & truePeak, &truePeakPos, &shortTermMax, &momentaryMax)

Lua: boolean retval, number lufsIntegrated, number range, number truePeak, number truePeakPos, number shortTermMax, number momentaryMax = reaper.NF_AnalyzeTakeLoudness(MediaItem_Take take, boolean analyzeTruePeak)

Python: (Boolean retval, MediaItem_Take take, Boolean analyzeTruePeak, Float lufsIntegratedOut, Float rangeOut, Float truePeakOut, Float truePeakPosOut, Float shortTermMaxOut, Float momentaryMaxOut) = NF_AnalyzeTakeLoudness(take, analyzeTruePeak, lufsIntegratedOut, rangeOut, truePeakOut, truePeakPosOut, shortTermMaxOut, momentaryMaxOut)

Description:
Full loudness analysis. retval: returns true on successful analysis, false on MIDI take or when analysis failed for some reason. analyzeTruePeak=true: Also do true peak analysis. Returns true peak value and true peak position (relative to item position). Considerably slower than without true peak analysis (since it uses oversampling). Note: Short term uses a time window of 3 sec. for calculation. So for items shorter than this shortTermMaxOut can't be calculated correctly. Momentary uses a time window of 0.4 sec.

Parameters:
          take -
          analyzeTruePeak -
Returnvalues:
          retval -
          lufsIntegrated -
          range -
          truePeak -
          truePeakPos -
          shortTermMax -
          momentaryMax -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_AnalyzeTakeLoudness2(SWS)

Functioncall:

C: bool NF_AnalyzeTakeLoudness2(MediaItem_Take* take, bool analyzeTruePeak, double* lufsIntegratedOut, double* rangeOut, double* truePeakOut, double* truePeakPosOut, double* shortTermMaxOut, double* momentaryMaxOut, double* shortTermMaxPosOut, double* momentaryMaxPosOut)

EEL: bool extension_api("NF_AnalyzeTakeLoudness2", MediaItem_Take take, bool analyzeTruePeak, &lufsIntegrated, &range, & truePeak, &truePeakPos, &shortTermMax, &momentaryMax, &shortTermMaxPos, &momentaryMaxPos)

Lua: boolean retval, number lufsIntegrated, number range, number truePeak, number truePeakPos, number shortTermMax, number momentaryMax, number shortTermMaxPos, number momentaryMaxPos = reaper.NF_AnalyzeTakeLoudness2(MediaItem_Take take, boolean analyzeTruePeak)

Python: (Boolean retval, MediaItem_Take take, Boolean analyzeTruePeak, Float lufsIntegratedOut, Float rangeOut, Float truePeakOut, Float truePeakPosOut, Float shortTermMaxOut, Float momentaryMaxOut, Float shortTermMaxPosOut, Float momentaryMaxPosOut) = NF_AnalyzeTakeLoudness2(take, analyzeTruePeak, lufsIntegratedOut, rangeOut, truePeakOut, truePeakPosOut, shortTermMaxOut, momentaryMaxOut, shortTermMaxPosOut, momentaryMaxPosOut)

Description:
Same as NF_AnalyzeTakeLoudness but additionally returns shortTermMaxPos and momentaryMaxPos (in absolute project time). Note: shortTermMaxPos and momentaryMaxPos actually indicate the beginning of time intervalls, (3 sec. and 0.4 sec. resp.).

Parameters:
          take -
          analyzeTruePeak -
Returnvalues:
          retval -
          lufsIntegrated -
          range -
          truePeak -
          truePeakPos -
          shortTermMax -
          momentaryMax -
          shortTermMaxPos -
          momentaryMaxPos -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_AnalyzeTakeLoudness_IntegratedOnly(SWS)

Functioncall:

C: bool NF_AnalyzeTakeLoudness_IntegratedOnly(MediaItem_Take* take, double* lufsIntegratedOut)

EEL: bool extension_api("NF_AnalyzeTakeLoudness_IntegratedOnly", MediaItem_Take take, &lufsIntegrated)

Lua: boolean retval, number lufsIntegrated = reaper.NF_AnalyzeTakeLoudness_IntegratedOnly(MediaItem_Take take)

Python: (Boolean retval, MediaItem_Take take, Float lufsIntegratedOut) = NF_AnalyzeTakeLoudness_IntegratedOnly(take, lufsIntegratedOut)

Description:
Does LUFS integrated analysis only. Faster than full loudness analysis (NF_AnalyzeTakeLoudness) . Use this if only LUFS integrated is required.
Take vol. env. is taken into account.

See: Signal flow.


Parameters:
          take -
Returnvalues:
          retval -
          lufsIntegrated -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 NF_GetMediaItemAverageRMS(SWS)

Functioncall:

C: double NF_GetMediaItemAverageRMS(MediaItem* item)

EEL: double extension_api("NF_GetMediaItemAverageRMS", MediaItem item)

Lua: number = reaper.NF_GetMediaItemAverageRMS(MediaItem item)

Python: Float NF_GetMediaItemAverageRMS(MediaItem item)

Description:
Returns the average overall (non-windowed) RMS level of active channels of an audio item active take, post item gain, post take volume envelope, post-fade, pre fader, pre item FX.
Returns -150.0 if MIDI take or empty item.

Parameters:
          item -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 NF_GetMediaItemMaxPeak(SWS)

Functioncall:

C: double NF_GetMediaItemMaxPeak(MediaItem* item)

EEL: double extension_api("NF_GetMediaItemMaxPeak", MediaItem item)

Lua: number = reaper.NF_GetMediaItemMaxPeak(MediaItem item)

Python: Float NF_GetMediaItemMaxPeak(MediaItem item)

Description:
Returns the greatest max. peak value of all active channels of an audio item active take, post item gain, post take volume envelope, post-fade, pre fader, pre item FX.
Returns -150.0 if MIDI take or empty item.

Parameters:
          item -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 NF_GetMediaItemPeakRMS_NonWindowed(SWS)

Functioncall:

C: double NF_GetMediaItemPeakRMS_NonWindowed(MediaItem* item)

EEL: double extension_api("NF_GetMediaItemPeakRMS_NonWindowed", MediaItem item)

Lua: number = reaper.NF_GetMediaItemPeakRMS_NonWindowed(MediaItem item)

Python: Float NF_GetMediaItemPeakRMS_NonWindowed(MediaItem item)

Description:
Returns the greatest overall (non-windowed) RMS peak level of all active channels of an audio item active take, post item gain, post take volume envelope, post-fade, pre fader, pre item FX.
Returns -150.0 if MIDI take or empty item.

Parameters:
          item -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 NF_GetMediaItemPeakRMS_Windowed(SWS)

Functioncall:

C: double NF_GetMediaItemPeakRMS_Windowed(MediaItem* item)

EEL: double extension_api("NF_GetMediaItemPeakRMS_Windowed", MediaItem item)

Lua: number = reaper.NF_GetMediaItemPeakRMS_Windowed(MediaItem item)

Python: Float NF_GetMediaItemPeakRMS_Windowed(MediaItem item)

Description:
Returns the average RMS peak level of all active channels of an audio item active take, post item gain, post take volume envelope, post-fade, pre fader, pre item FX.
Obeys 'Window size for peak RMS' setting in 'SWS: Set RMS analysis/normalize options' for calculation. Returns -150.0 if MIDI take or empty item.

Parameters:
          item -
Returnvalues:
          number -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_AddReceive(SWS)

Functioncall:

C: bool SNM_AddReceive(MediaTrack* src, MediaTrack* dest, int type)

EEL: bool extension_api("SNM_AddReceive", MediaTrack src, MediaTrack dest, int type)

Lua: boolean = reaper.SNM_AddReceive(MediaTrack src, MediaTrack dest, integer type)

Python: Boolean SNM_AddReceive(MediaTrack src, MediaTrack dest, Int type)

Description:
[S&M] Deprecated, see CreateTrackSend (v5.15pre1+). Adds a receive. Returns false if nothing updated.
type -1=Default type (user preferences), 0=Post-Fader (Post-Pan), 1=Pre-FX, 2=deprecated, 3=Pre-Fader (Post-FX).
Note: obeys default sends preferences, supports frozen tracks, etc..

Parameters:
          src -
          dest -
          type -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_AddTCPFXParm(SWS)

Functioncall:

C: bool SNM_AddTCPFXParm(MediaTrack* tr, int fxId, int prmId)

EEL: bool extension_api("SNM_AddTCPFXParm", MediaTrack tr, int fxId, int prmId)

Lua: boolean = reaper.SNM_AddTCPFXParm(MediaTrack tr, integer fxId, integer prmId)

Python: Boolean SNM_AddTCPFXParm(MediaTrack tr, Int fxId, Int prmId)

Description:
[S&M] Add an FX parameter knob in the TCP. Returns false if nothing updated (invalid parameters, knob already present, etc..)

Parameters:
          tr -
          fxId -
          prmId -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_CreateFastString(SWS)

Functioncall:

C: WDL_FastString* SNM_CreateFastString(const char* str)

EEL: WDL_FastString extension_api("SNM_CreateFastString", "str")

Lua: WDL_FastString = reaper.SNM_CreateFastString(string str)

Python: WDL_FastString SNM_CreateFastString(String str)

Description:
[S&M] Instantiates a new "fast string". You must delete this string, see SNM_DeleteFastString.

Parameters:
          str -
Returnvalues:
          WDL_FastString -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_DeleteFastString(SWS)

Functioncall:

C: void SNM_DeleteFastString(WDL_FastString* str)

EEL: extension_api("SNM_DeleteFastString", WDL_FastString str)

Lua: reaper.SNM_DeleteFastString(WDL_FastString str)

Python: SNM_DeleteFastString(WDL_FastString str)

Description:
[S&M] Deletes a "fast string" instance.

Parameters:
          str -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetDoubleConfigVar(SWS)

Functioncall:

C: double SNM_GetDoubleConfigVar(const char* varname, double errvalue)

EEL: double extension_api("SNM_GetDoubleConfigVar", "varname", errvalue)

Lua: number = reaper.SNM_GetDoubleConfigVar(string varname, number errvalue)

Python: Float SNM_GetDoubleConfigVar(String varname, Float errvalue)

Description:
[S&M] Returns a double preference (look in project prefs first, then in general prefs). Returns errvalue if failed (e.g. varname not found).

The settings can be from the Preferences, Project settings and Render-dialog, as well as numerous other settings, as e.g. set in the context menu of the transport-area.
Some variables are bitfields, where each bit represents e.g a checkbox in the preferences.            

Parameters:
          string varname - the name of the config-variable to be read; not case sensitive
see Reaper Config Variables for valid config-vars
          number errvalue - the errorvalue that will be returned, if varname isn't a valid one
Returnvalues:
          number - the returned number/doublefloat-value of varname


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetFastString(SWS)

Functioncall:

C: const char* SNM_GetFastString(WDL_FastString* str)

EEL: bool extension_api("SNM_GetFastString", #retval, WDL_FastString str)

Lua: string = reaper.SNM_GetFastString(WDL_FastString str)

Python: String SNM_GetFastString(WDL_FastString str)

Description:
[S&M] Gets the "fast string" content.

Parameters:
          str -
Returnvalues:
          string -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetFastStringLength(SWS)

Functioncall:

C: int SNM_GetFastStringLength(WDL_FastString* str)

EEL: int extension_api("SNM_GetFastStringLength", WDL_FastString str)

Lua: integer = reaper.SNM_GetFastStringLength(WDL_FastString str)

Python: Int SNM_GetFastStringLength(WDL_FastString str)

Description:
[S&M] Gets the "fast string" length.

Parameters:
          str -
Returnvalues:
          integer -


^ Reaper version 5.80SWS version 2.9.7Lua version 5.3 SNM_GetIntConfigVar(SWS)

Functioncall:

C: int SNM_GetIntConfigVar(const char* varname, int errvalue)

EEL: int extension_api("SNM_GetIntConfigVar", "varname", int errvalue)

Lua: integer retval = reaper.SNM_GetIntConfigVar(string varname, integer errvalue)

Python: Int SNM_GetIntConfigVar(String varname, Int errvalue)

Description:
[S&M] Returns an integer preference (look in project prefs first, then in general prefs). Returns errvalue if failed (e.g. varname not found).

The settings can be from the Preferences, Project settings and Render-dialog, as well as numerous other settings, as e.g. set in the context menu of the transport-area.
Some variables are bitfields, where each bit represents e.g a checkbox in the preferences.

Parameters:
          string varname - the name of the config-variable to be read; not case sensitive
see Reaper_Config_Variables.html for valid config-vars
          integer errvalue - the errorvalue that will be returned, if varname isn't a valid one
Returnvalues:
          integer retval - the returned integer-value of varname


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetMediaItemTakeByGUID(SWS)

Functioncall:

C: MediaItem_Take* SNM_GetMediaItemTakeByGUID(ReaProject* project, const char* guid)

EEL: MediaItem_Take extension_api("SNM_GetMediaItemTakeByGUID", ReaProject project, "guid")

Lua: MediaItem_Take = reaper.SNM_GetMediaItemTakeByGUID(ReaProject project, string guid)

Python: MediaItem_Take SNM_GetMediaItemTakeByGUID(ReaProject project, String guid)

Description:
[S&M] Gets a take by GUID as string. The GUID must be enclosed in braces {}. To get take GUID as string, see BR_GetMediaItemTakeGUID

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


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetProjectMarkerName(SWS)

Functioncall:

C: bool SNM_GetProjectMarkerName(ReaProject* proj, int num, bool isrgn, WDL_FastString* name)

EEL: bool extension_api("SNM_GetProjectMarkerName", ReaProject proj, int num, bool isrgn, WDL_FastString name)

Lua: boolean = reaper.SNM_GetProjectMarkerName(ReaProject proj, integer num, boolean isrgn, WDL_FastString name)

Python: Boolean SNM_GetProjectMarkerName(ReaProject proj, Int num, Boolean isrgn, WDL_FastString name)

Description:
[S&M] Gets a marker/region name. Returns true if marker/region found.

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


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetSetObjectState(SWS)

Functioncall:

C: bool SNM_GetSetObjectState(void* obj, WDL_FastString* state, bool setnewvalue, bool wantminimalstate)

EEL: bool extension_api("SNM_GetSetObjectState", void* obj, WDL_FastString state, bool setnewvalue, bool wantminimalstate)

Lua: boolean = reaper.SNM_GetSetObjectState(identifier obj, WDL_FastString state, boolean setnewvalue, boolean wantminimalstate)

Python: Boolean SNM_GetSetObjectState(void obj, WDL_FastString state, Boolean setnewvalue, Boolean wantminimalstate)

Description:
[S&M] Gets or sets the state of a track, an item or an envelope. The state chunk size is unlimited. Returns false if failed.
When getting a track state (and when you are not interested in FX data), you can use wantminimalstate=true to radically reduce the length of the state. Do not set such minimal states back though, this is for read-only applications!
Note: unlike the native GetSetObjectState, calling to FreeHeapPtr() is not required.

Parameters:
          obj -
          WDL_FastString state -
          setnewvalue -
          wantminimalstate -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetSetSourceState(SWS)

Functioncall:

C: bool SNM_GetSetSourceState(MediaItem* item, int takeidx, WDL_FastString* state, bool setnewvalue)

EEL: bool extension_api("SNM_GetSetSourceState", MediaItem item, int takeidx, WDL_FastString state, bool setnewvalue)

Lua: boolean = reaper.SNM_GetSetSourceState(MediaItem item, integer takeidxWDL_FastString state, boolean setnewvalue)

Python: Boolean SNM_GetSetSourceState(MediaItem item, Int takeidx, WDL_FastString state, Boolean setnewvalue)

Description:
[S&M] Gets or sets a take source state. Returns false if failed. Use takeidx=-1 to get/alter the active take.
Note: this function does not use a MediaItem_Take* param in order to manage empty takes (i.e. takes with MediaItem_Take*==NULL), see SNM_GetSetSourceState2.

Parameters:
          item -
          takeidx -
          WDL_FastString state -
          setnewvalue -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetSetSourceState2(SWS)

Functioncall:

C: bool SNM_GetSetSourceState2(MediaItem_Take* take, WDL_FastString* state, bool setnewvalue)

EEL: bool extension_api("SNM_GetSetSourceState2", MediaItem_Take take, WDL_FastString state, bool setnewvalue)

Lua: boolean = reaper.SNM_GetSetSourceState2(MediaItem_Take takeWDL_FastString state, boolean setnewvalue)

Python: Boolean SNM_GetSetSourceState2(MediaItem_Take take, WDL_FastString state, Boolean setnewvalue)

Description:
[S&M] Gets or sets a take source state. Returns false if failed.
Note: this function cannot deal with empty takes, see SNM_GetSetSourceState.

Parameters:
          take -
          WDL_FastString state -
          setnewvalue -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_GetSourceType(SWS)

Functioncall:

C: bool SNM_GetSourceType(MediaItem_Take* take, WDL_FastString* type)

EEL: bool extension_api("SNM_GetSourceType", MediaItem_Take take, WDL_FastString type)

Lua: boolean = reaper.SNM_GetSourceType(MediaItem_Take takeWDL_FastString type)

Python: Boolean SNM_GetSourceType(MediaItem_Take take, WDL_FastString type)

Description:
[S&M] Gets the source type of a take. Returns false if failed (e.g. take with empty source, etc..)

Parameters:
          takeWDL_FastString type -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 SNM_MoveOrRemoveTrackFX(SWS)

Functioncall:

C: bool SNM_MoveOrRemoveTrackFX(MediaTrack* tr, int fxId, int what)

EEL: bool extension_api("SNM_MoveOrRemoveTrackFX", MediaTrack tr, int fxId, int what)

Lua: boolean = reaper.SNM_MoveOrRemoveTrackFX(MediaTrack tr, integer fxId, integer what)

Python: Boolean SNM_MoveOrRemoveTrackFX(MediaTrack tr, Int fxId, Int what)

Description:
[S&M] Deprecated, see TakeFX_/TrackFX_ CopyToTrack/Take, TrackFX/TakeFX _Delete (v5.95pre2+). Move or removes a track FX. Returns true if tr has been updated.
fxId: fx index in chain or -1 for the selected fx. what: 0 to remove, -1 to move fx up in chain, 1 to move fx down in chain.

Parameters:
          tr -
          fxId -
          what -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_ReadMediaFileTag(SWS)

Functioncall:

C: bool SNM_ReadMediaFileTag(const char* fn, const char* tag, char* tagval, int tagval_sz)

EEL: bool extension_api("SNM_ReadMediaFileTag", "fn", "tag", #tagval)

Lua: boolean retval, string tagval = reaper.SNM_ReadMediaFileTag(string fn, string tag, string tagval)

Python: (Boolean retval, String fn, String tag, String tagval, Int tagval_sz) = SNM_ReadMediaFileTag(fn, tag, tagval, tagval_sz)

Description:
[S&M] Reads a media file tag. Supported tags: "artist", "album", "genre", "comment", "title", or "year". Returns false if tag was not found. See SNM_TagMediaFile.

Parameters:
          fn -
          tag -
Returnvalues:
          retval -
          tagval -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_RemoveReceive(SWS)

Functioncall:

C: bool SNM_RemoveReceive(MediaTrack* tr, int rcvidx)

EEL: bool extension_api("SNM_RemoveReceive", MediaTrack tr, int rcvidx)

Lua: boolean = reaper.SNM_RemoveReceive(MediaTrack tr, integer rcvidx)

Python: Boolean SNM_RemoveReceive(MediaTrack tr, Int rcvidx)

Description:
[S&M] Deprecated, see RemoveTrackSend (v5.15pre1+). Removes a receive. Returns false if nothing updated.

Parameters:
          tr -
          rcvidx -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_RemoveReceivesFrom(SWS)

Functioncall:

C: bool SNM_RemoveReceivesFrom(MediaTrack* tr, MediaTrack* srctr)

EEL: bool extension_api("SNM_RemoveReceivesFrom", MediaTrack tr, MediaTrack srctr)

Lua: boolean = reaper.SNM_RemoveReceivesFrom(MediaTrack tr, MediaTrack srctr)

Python: Boolean SNM_RemoveReceivesFrom(MediaTrack tr, MediaTrack srctr)

Description:
[S&M] Removes all receives from srctr. Returns false if nothing updated.

Parameters:
          tr -
          srctr -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_SelectResourceBookmark(SWS)

Functioncall:

C: int SNM_SelectResourceBookmark(const char* name)

EEL: int extension_api("SNM_SelectResourceBookmark", "name")

Lua: integer = reaper.SNM_SelectResourceBookmark(string name)

Python: Int SNM_SelectResourceBookmark(String name)

Description:
[S&M] Select a bookmark of the Resources window. Returns the related bookmark id (or -1 if failed).

Parameters:
          name -
Returnvalues:
          integer -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_SetDoubleConfigVar(SWS)

Functioncall:

C: bool SNM_SetDoubleConfigVar(const char* varname, double newvalue)

EEL: bool extension_api("SNM_SetDoubleConfigVar", "varname", newvalue)

Lua: boolean retval = reaper.SNM_SetDoubleConfigVar(string varname, number newvalue)

Python: Boolean SNM_SetDoubleConfigVar(String varname, Float newvalue)

Description:
[S&M] Sets a double preference (look in project prefs first, then in general prefs). Returns false if failed (e.g. varname not found).

The settings can be from the Preferences, Project settings and Render-dialog, as well as numerous other settings, as e.g. set in the context menu of the transport-area.
Some variables are bitfields, where each bit represents e.g a checkbox in the preferences.

The changed settings are usually only changed within the running Reaper, but not stored in the config-files, so you need to do it manually or they get lost after Reaper is closed!

Parameters:
          string varname - the name of the config-variable to be read; not case sensitive
see Reaper_Config_Variables.html for valid config-vars
          number newvalue - the new value to be set into varname
Returnvalues:
          boolean retval - true, if setting was successful; false, if not


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_SetFastString(SWS)

Functioncall:

C: WDL_FastString* SNM_SetFastString(WDL_FastString* str, const char* newstr)

EEL: WDL_FastString extension_api("SNM_SetFastString", WDL_FastString str, "newstr")

Lua: WDL_FastString = reaper.SNM_SetFastString(WDL_FastString str, string newstr)

Python: WDL_FastString SNM_SetFastString(WDL_FastString str, String newstr)

Description:
[S&M] Sets the "fast string" content. Returns str for facility.

Parameters:
          str -
          newstr -
Returnvalues:
          WDL_FastString -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_SetIntConfigVar(SWS)

Functioncall:

C: bool SNM_SetIntConfigVar(const char* varname, int newvalue)

EEL: bool extension_api("SNM_SetIntConfigVar", "varname", int newvalue)

Lua: boolean retval = reaper.SNM_SetIntConfigVar(string varname, integer newvalue)

Python: Boolean SNM_SetIntConfigVar(String varname, Int newvalue)

Description:
[S&M] Sets an integer preference (look in project prefs first, then in general prefs). Returns false if failed (e.g. varname not found).

Some variables are bitfields, where each bit represents e.g a checkbox in the preferences.
The changed settings are usually only changed within the running Reaper, but not stored in the config-files, so you need to do it manually or they get lost after Reaper is closed!

Parameters:
          string varname - the name of the config-variable to be read; not case sensitive
see Reaper_Config_Variables.html for valid config-vars
          integer newvalue - the newly set value for varname
Returnvalues:
          boolean retval - true, if setting was successful, false if not


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_SetProjectMarker(SWS)

Functioncall:

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

EEL: bool extension_api("SNM_SetProjectMarker", ReaProject proj, int num, bool isrgn, pos, rgnend, "name", int color)

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

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

Description:
[S&M] Deprecated, see SetProjectMarker4 -- Same function as SetProjectMarker3() except it can set empty names "".

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          num -
          isrgn -
          pos -
          rgnend -
          name -
          color -
Returnvalues:
          boolean -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_TagMediaFile(SWS)

Functioncall:

C: bool SNM_TagMediaFile(const char* fn, const char* tag, const char* tagval)

EEL: bool extension_api("SNM_TagMediaFile", "fn", "tag", "tagval")

Lua: boolean = reaper.SNM_TagMediaFile(string fn, string tag, string tagval)

Python: Boolean SNM_TagMediaFile(String fn, String tag, String tagval)

Description:
[S&M] Tags a media file thanks to TagLib. Use an empty tagval to clear a tag. When a file is opened in REAPER, turn it offline before using this function. Returns false if nothing updated. See SNM_ReadMediaFileTag.

Parameters:
          fn - the mediafilename, in which to add the tag
          tag - "artist", "album", "genre", "comment", "title", or "year"
          tagval - the new value to be added
Returnvalues:
          boolean - true, if adding the tag worked; false, if adding didn't work.


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SNM_TieResourceSlotActions(SWS)

Functioncall:

C: void SNM_TieResourceSlotActions(int bookmarkId)

EEL: extension_api("SNM_TieResourceSlotActions", int bookmarkId)

Lua: reaper.SNM_TieResourceSlotActions(integer bookmarkId)

Python: SNM_TieResourceSlotActions(Int bookmarkId)

Description:
[S&M] Attach Resources slot actions to a given bookmark.

Parameters:
          bookmarkId -


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 SN_FocusMIDIEditor(SWS)

Functioncall:

C: void SN_FocusMIDIEditor()

EEL: extension_api("SN_FocusMIDIEditor")

Lua: reaper.SN_FocusMIDIEditor()

Python: SN_FocusMIDIEditor()

Description:
Focuses the active/open MIDI editor.



^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 ULT_GetMediaItemNote(SWS)

Functioncall:

C: const char* ULT_GetMediaItemNote(MediaItem* item)

EEL: bool extension_api("ULT_GetMediaItemNote", #retval, MediaItem item)

Lua: string = reaper.ULT_GetMediaItemNote(MediaItem item)

Python: String ULT_GetMediaItemNote(MediaItem item)

Description:
[ULT]Get item notes.

Gets the information from the NOTES-tag, as stored by ULT_SetMediaItemNote.

Parameters:
          item - the MediaItem from which to get the notes from
Returnvalues:
          string - the notes, as stored in the MediaItem. If no notes exist, it will return ""


^ Reaper version 5.62SWS version 2.9.7Lua version 5.3 ULT_SetMediaItemNote(SWS)

Functioncall:

C: void ULT_SetMediaItemNote(MediaItem* item, const char* note)

EEL: extension_api("ULT_SetMediaItemNote", MediaItem item, "note")

Lua: reaper.ULT_SetMediaItemNote(MediaItem item, string note)

Python: ULT_SetMediaItemNote(MediaItem item, String note)

Description:
[ULT]Set item notes.

Will be added as new tag NOTES in the MediaItem-StateChunk. Can be read again with ULT_GetMediaItemNote

Parameters:
          item - the MediaItem in which to add the Notes
          note - the notes to be added. Newlines are allowed. Long strings may slow down Reaper!


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Byte(JS)

Functioncall:

C: void JS_Byte(void* pointer, int offset, int* byteOut)

EEL: extension_api("JS_Byte", void* pointer, int offset, int &byte)

Lua: number byte = reaper.JS_Byte(identifier pointer, integer offset)

Python: (void pointer, Int offset, Int byteOut) = JS_Byte(pointer, offset, byteOut)

Description:
Returns the unsigned byte at address[offset]. Offset is added as steps of 1 byte each.


Parameters:
          identifier address -
          integer offset -
Returnvalues:
          number byte -


^ Reaper version 5.965Julian Sader's plugin version 0.986Lua version 5.3 JS_Composite(JS)

Functioncall:

C: int JS_Composite(void* windowHWND, int srcx, int srcy, int srcw, int srch, void* sysBitmap, int dstx, int dsty, int dstw, int dsth)

EEL: int extension_api("JS_Composite", void* windowHWND, int srcx, int srcy, int srcw, int srch, void* sysBitmap, int dstx, int dsty, int dstw, int dsth)

Lua: integer retval = reaper.JS_Composite(identifier windowHWND, integer srcx, integer srcy, integer srcw, integer srch, identifier sysBitmap, integer dstx, integer dsty, integer dstw, integer dsth)

Python: Int JS_Composite(void windowHWND, Int srcx, Int srcy, Int srcw, Int srch, void sysBitmap, Int dstx, Int dsty, Int dstw, Int dsth)

Description:
Composites a LICE bitmap with a REAPER window.

Each time that the window is re-drawn, the bitmap will be blitted over the window's client area (with per-pixel alpha blending).

If dstw or dsth is -1, the bitmap will be stretched to fill the width or height of the window, respectively.

Notes:

* Re-drawing can also be induced by JS_Window_InvalidateRect.
* This function should not be applied directly to top-level windows, but rather to child windows.
* Some classes of UI elements, particularly buttons, do not take kindly to being composited, and may crash REAPER.

Returns:
1 if successful, otherwise -1 = windowHWND is not window, -3 = Could not obtain the original window process, -4 = sysBitmap is not a LICE bitmap, -5 = sysBitmap is not a system bitmap, -6 = Could not obtain the window HDC.


Parameters:
          identifier windowHWND -
          integer srcx -
          integer srcy -
          integer srcw -
          integer srch -
          identifier sysBitmap -
          integer dstx -
          integer dsty -
          integer dstw -
          integer dsth -
Returnvalues:
          integer retval -


^ Reaper version 5.965Julian Sader's plugin version 0.980Lua version 5.3 JS_Composite_ListBitmaps(JS)

Functioncall:

C: int JS_Composite_ListBitmaps(void* windowHWND, char* listOutNeedBig, int listOutNeedBig_sz)

EEL: int extension_api("JS_Composite_ListBitmaps", void* windowHWND, #list)

Lua: integer retval, string list = reaper.JS_Composite_ListBitmaps(identifier windowHWND)

Python: (Int retval, void windowHWND, String listOutNeedBig, Int listOutNeedBig_sz) = JS_Composite_ListBitmaps(windowHWND, listOutNeedBig, listOutNeedBig_sz)

Description:
Returns all bitmaps composited to the given window.

The list is formatted as a comma-separated string of hexadecimal values, each representing a LICE_IBitmap* pointer.

retval is the number of linked bitmaps found, or negative if an error occured.


Parameters:
          identifier windowHWND -
Returnvalues:
          integer retval -
          string list -


^ Reaper version 5.965Julian Sader's plugin version 0.980Lua version 5.3 JS_Composite_Unlink(JS)

Functioncall:

C: void JS_Composite_Unlink(void* windowHWND, void* bitmap)

EEL: extension_api("JS_Composite_Unlink", void* windowHWND, void* bitmap)

Lua: reaper.JS_Composite_Unlink(identifier windowHWND, identifier bitmap)

Python: JS_Composite_Unlink(void windowHWND, void bitmap)

Description:


Parameters:
          identifier windowHWND -
          identifier bitmap -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Double(JS)

Functioncall:

C: void JS_Double(void* pointer, int offset, double* doubleOut)

EEL: extension_api("JS_Double", void* pointer, int offset, &double)

Lua: number double = reaper.JS_Double(identifier address, integer pointer)

Python: (void pointer, Int offset, Float doubleOut) = JS_Double(pointer, offset, doubleOut)

Description:
Returns the 8-byte floating point value at address[offset]. Offset is added as steps of 8 bytes each.

Parameters:
          identifier address -
          integer offset -
Returnvalues:
          number double -


^ Reaper version 5.95Julian Sader's plugin version 0.988Lua version 5.3 JS_GDI_Blit(JS)

Functioncall:

C: void JS_GDI_Blit(void* destHDC, int dstx, int dsty, void* sourceHDC, int srcx, int srxy, int width, int height, const char* modeOptional)

EEL: extension_api("JS_GDI_Blit", void* destHDC, int dstx, int dsty, void* sourceHDC, int srcx, int srxy, int width, int height, optional "mode")

Lua: reaper.JS_GDI_Blit(identifier destHDC, integer dstx, integer dsty, identifier sourceHDC, integer srcx, integer srxy, integer width, integer height, optional string mode)

Python: JS_GDI_Blit(void destHDC, Int dstx, Int dsty, void sourceHDC, Int srcx, Int srxy, Int width, Int height, String modeOptional)

Description:
Blits between two device contexts, which may include LICE "system bitmaps".

mode: Optional parameter. "SRCCOPY" by default, or specify "ALPHA" to enable per-pixel alpha blending.

WARNING: On WindowsOS, GDI_Blit does not perform alpha multiplication of the source bitmap. For proper color rendering, a seperate pre-multiplication step is therefore required, using either LICE_Blit or LICE_ProcessRect.

Parameters:
          identifier destHDC -
          integer dstx -
          integer dsty -
          identifier sourceHDC -
          integer srcx -
          integer srxy -
          integer width -
          integer height -
          optional string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_CreateFillBrush(JS)

Functioncall:

C: void* JS_GDI_CreateFillBrush(int color)

EEL: void* extension_api("JS_GDI_CreateFillBrush", int color)

Lua: identifier reaper.JS_GDI_CreateFillBrush(integer color)

Python: void JS_GDI_CreateFillBrush(Int color)

Description:


Parameters:
          integer color -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_CreateFont(JS)

Functioncall:

C: void* JS_GDI_CreateFont(int height, int weight, int angle, bool italic, bool underline, bool strikeOut, const char* fontName)

EEL: void* extension_api("JS_GDI_CreateFont", int height, int weight, int angle, bool italic, bool underline, bool strike, "fontName")

Lua: identifier reaper.JS_GDI_CreateFont(integer height, integer weight, integer angle, boolean italic, boolean underline, boolean strike, string fontName)

Python: void JS_GDI_CreateFont(Int height, Int weight, Int angle, Boolean italic, Boolean underline, Boolean strikeOut, String fontName)

Description:
Parameters:

* weight: 0 - 1000, with 0 = auto, 400 = normal and 700 = bold.

* angle: the angle, in tenths of degrees, between the text and the x-axis of the device.

* fontName: If empty string "", uses first font that matches the other specified attributes.



Note: Text color must be set separately.


Parameters:
          integer height -
          integer weight -
          integer angle -
          boolean italic -
          boolean underline -
          boolean strike -
          string fontName -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_CreatePen(JS)

Functioncall:

C: void* JS_GDI_CreatePen(int width, int color)

EEL: void* extension_api("JS_GDI_CreatePen", int width, int color)

Lua: identifier reaper.JS_GDI_CreatePen(integer width, integer color)

Python: void JS_GDI_CreatePen(Int width, Int color)

Description:


Parameters:
          integer width -
          integer color -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_DeleteObject(JS)

Functioncall:

C: void JS_GDI_DeleteObject(void* GDIObject)

EEL: extension_api("JS_GDI_DeleteObject", void* GDIObject)

Lua: reaper.JS_GDI_DeleteObject(identifier GDIObject)

Python: JS_GDI_DeleteObject(void GDIObject)

Description:


Parameters:
          identifier GDIObject -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_DrawText(JS)

Functioncall:

C: int JS_GDI_DrawText(void* deviceHDC, const char* text, int len, int left, int top, int right, int bottom, const char* align))

EEL: int extension_api("JS_GDI_DrawText", void* deviceHDC, "text", int len, int left, int top, int right, int bottom, "align)")

Lua: integer reaper.JS_GDI_DrawText(identifier deviceHDC, string text, integer len, integer left, integer top, integer right, integer bottom, string align))

Python: Int JS_GDI_DrawText(void deviceHDC, String text, Int len, Int left, Int top, Int right, Int bottom, String align))

Description:
Parameters:

* align: Combination of: "TOP", "VCENTER", "LEFT", "HCENTER", "RIGHT", "BOTTOM", "WORDBREAK", "SINGLELINE", "NOCLIP", "CALCRECT", "NOPREFIX" or "ELLIPSIS"


Parameters:
          identifier deviceHDC -
          string text -
          integer len -
          integer left -
          integer top -
          integer right -
          integer bottom -
          string align -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_FillEllipse(JS)

Functioncall:

C: void JS_GDI_FillEllipse(void* deviceHDC, int left, int top, int right, int bottom)

EEL: extension_api("JS_GDI_FillEllipse", void* deviceHDC, int left, int top, int right, int bottom)

Lua: reaper.JS_GDI_FillEllipse(identifier deviceHDC, integer left, integer top, integer right, integer bottom)

Python: JS_GDI_FillEllipse(void deviceHDC, Int left, Int top, Int right, Int bottom)

Description:


Parameters:
          identifier deviceHDC -
          integer left -
          integer top -
          integer right -
          integer bottom -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_FillPolygon(JS)

Functioncall:

C: void JS_GDI_FillPolygon(void* deviceHDC, const char* packedX, const char* packedY, int numPoints)

EEL: extension_api("JS_GDI_FillPolygon", void* deviceHDC, "packedX", "packedY", int numPoints)

Lua: reaper.JS_GDI_FillPolygon(identifier deviceHDC, string packedX, string packedY, integer numPoints)

Python: JS_GDI_FillPolygon(void deviceHDC, String packedX, String packedY, Int numPoints)

Description:
packedX and packedY are strings of points, each packed as "<i4".


Parameters:
          identifier deviceHDC -
          string packedX -
          string packedY -
          integer numPoints -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_FillRect(JS)

Functioncall:

C: void JS_GDI_FillRect(void* deviceHDC, int left, int top, int right, int bottom)

EEL: extension_api("JS_GDI_FillRect", void* deviceHDC, int left, int top, int right, int bottom)

Lua: reaper.JS_GDI_FillRect(identifier deviceHDC, integer left, integer top, integer right, integer bottom)

Python: JS_GDI_FillRect(void deviceHDC, Int left, Int top, Int right, Int bottom)

Description:


Parameters:
          identifier deviceHDC -
          integer left -
          integer top -
          integer right -
          integer bottom -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_FillRoundRect(JS)

Functioncall:

C: void JS_GDI_FillRoundRect(void* deviceHDC, int left, int top, int right, int bottom, int xrnd, int yrnd)

EEL: extension_api("JS_GDI_FillRoundRect", void* deviceHDC, int left, int top, int right, int bottom, int xrnd, int yrnd)

Lua: reaper.JS_GDI_FillRoundRect(identifier deviceHDC, integer left, integer top, integer right, integer bottom, integer xrnd, integer yrnd)

Python: JS_GDI_FillRoundRect(void deviceHDC, Int left, Int top, Int right, Int bottom, Int xrnd, Int yrnd)

Description:


Parameters:
          identifier deviceHDC -
          integer left -
          integer top -
          integer right -
          integer bottom -
          integer xrnd -
          integer yrnd -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_GetClientDC(JS)

Functioncall:

C: void* JS_GDI_GetClientDC(void* windowHWND)

EEL: void* extension_api("JS_GDI_GetClientDC", void* windowHWND)

Lua: identifier reaper.JS_GDI_GetClientDC(identifier windowHWND)

Python: void JS_GDI_GetClientDC(void windowHWND)

Description:
Returns the device context for the client area of the specified window.


Parameters:
          identifier windowHWND -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_GetScreenDC(JS)

Functioncall:

C: void* JS_GDI_GetScreenDC()

EEL: void* extension_api("JS_GDI_GetScreenDC")

Lua: identifier reaper.JS_GDI_GetScreenDC()

Python: void JS_GDI_GetScreenDC()

Description:
Returns a device context for the entire screen.



WARNING: Only available on Windows, not Linux or MacOS.


Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_GetSysColor(JS)

Functioncall:

C: int JS_GDI_GetSysColor(const char* GUIElement)

EEL: int extension_api("JS_GDI_GetSysColor", "GUIElement")

Lua: integer reaper.JS_GDI_GetSysColor(string GUIElement)

Python: Int JS_GDI_GetSysColor(String GUIElement)

Description:


Parameters:
          string GUIElement -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_GetTextColor(JS)

Functioncall:

C: int JS_GDI_GetTextColor(void* deviceHDC)

EEL: int extension_api("JS_GDI_GetTextColor", void* deviceHDC)

Lua: integer reaper.JS_GDI_GetTextColor(identifier deviceHDC)

Python: Int JS_GDI_GetTextColor(void deviceHDC)

Description:


Parameters:
          identifier deviceHDC -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_GetWindowDC(JS)

Functioncall:

C: void* JS_GDI_GetWindowDC(void* windowHWND)

EEL: void* extension_api("JS_GDI_GetWindowDC", void* windowHWND)

Lua: identifier reaper.JS_GDI_GetWindowDC(identifier windowHWND)

Python: void JS_GDI_GetWindowDC(void windowHWND)

Description:
Returns the device context for the entire window, including title bar and frame.


Parameters:
          identifier windowHWND -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_Line(JS)

Functioncall:

C: void JS_GDI_Line(void* deviceHDC, int x1, int y1, int x2, int y2)

EEL: extension_api("JS_GDI_Line", void* deviceHDC, int x1, int y1, int x2, int y2)

Lua: reaper.JS_GDI_Line(identifier deviceHDC, integer x1, integer y1, integer x2, integer y2)

Python: JS_GDI_Line(void deviceHDC, Int x1, Int y1, Int x2, Int y2)

Description:


Parameters:
          identifier deviceHDC -
          integer x1 -
          integer y1 -
          integer x2 -
          integer y2 -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_Polyline(JS)

Functioncall:

C: void JS_GDI_Polyline(void* deviceHDC, const char* packedX, const char* packedY, int numPoints)

EEL: extension_api("JS_GDI_Polyline", void* deviceHDC, "packedX", "packedY", int numPoints)

Lua: reaper.JS_GDI_Polyline(identifier deviceHDC, string packedX, string packedY, integer numPoints)

Python: JS_GDI_Polyline(void deviceHDC, String packedX, String packedY, Int numPoints)

Description:
packedX and packedY are strings of points, each packed as "<i4".


Parameters:
          identifier deviceHDC -
          string packedX -
          string packedY -
          integer numPoints -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_GDI_ReleaseDC(JS)

Functioncall:

C: void JS_GDI_ReleaseDC(void* windowHWND, void* deviceHDC)

EEL: extension_api("JS_GDI_ReleaseDC", void* windowHWND, void* deviceHDC)

Lua: reaper.JS_GDI_ReleaseDC(identifier windowHWND, identifier deviceHDC)

Python: JS_GDI_ReleaseDC(void windowHWND, void deviceHDC)

Description:
Any GDI HDC should be released immediately after drawing, and deferred scripts should get and release new DCs in each cycle.

Parameters:
          identifier windowHWND -
          identifier deviceHDC -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_SelectObject(JS)

Functioncall:

C: void* JS_GDI_SelectObject(void* deviceHDC, void* GDIObject)

EEL: void* extension_api("JS_GDI_SelectObject", void* deviceHDC, void* GDIObject)

Lua: identifier reaper.JS_GDI_SelectObject(identifier deviceHDC, identifier GDIObject)

Python: void JS_GDI_SelectObject(void deviceHDC, void GDIObject)

Description:
Activates a font, pen, or fill brush for subsequent drawing in the specified device context.


Parameters:
          identifier deviceHDC -
          identifier GDIObject -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_SetPixel(JS)

Functioncall:

C: void JS_GDI_SetPixel(void* deviceHDC, int x, int y, int color)

EEL: extension_api("JS_GDI_SetPixel", void* deviceHDC, int x, int y, int color)

Lua: reaper.JS_GDI_SetPixel(identifier deviceHDC, integer x, integer y, integer color)

Python: JS_GDI_SetPixel(void deviceHDC, Int x, Int y, Int color)

Description:


Parameters:
          identifier deviceHDC -
          integer x -
          integer y -
          integer color -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_SetTextBkColor(JS)

Functioncall:

C: void JS_GDI_SetTextBkColor(void* deviceHDC, int color)

EEL: extension_api("JS_GDI_SetTextBkColor", void* deviceHDC, int color)

Lua: reaper.JS_GDI_SetTextBkColor(identifier deviceHDC, integer color)

Python: JS_GDI_SetTextBkColor(void deviceHDC, Int color)

Description:


Parameters:
          identifier deviceHDC -
          integer color -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_SetTextBkMode(JS)

Functioncall:

C: void JS_GDI_SetTextBkMode(void* deviceHDC, int mode)

EEL: extension_api("JS_GDI_SetTextBkMode", void* deviceHDC, int mode)

Lua: reaper.JS_GDI_SetTextBkMode(identifier deviceHDC, integer mode)

Python: JS_GDI_SetTextBkMode(void deviceHDC, Int mode)

Description:


Parameters:
          identifier deviceHDC -
          integer mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_GDI_SetTextColor(JS)

Functioncall:

C: void JS_GDI_SetTextColor(void* deviceHDC, int color)

EEL: extension_api("JS_GDI_SetTextColor", void* deviceHDC, int color)

Lua: reaper.JS_GDI_SetTextColor(identifier deviceHDC, integer color)

Python: JS_GDI_SetTextColor(void deviceHDC, Int color)

Description:


Parameters:
          identifier deviceHDC -
          integer color -


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_GDI_StretchBlit(JS)

Functioncall:

C: void JS_GDI_StretchBlit(void* destHDC, int dstx, int dsty, int dstw, int dsth, void* sourceHDC, int srcx, int srxy, int srcw, int srch, const char* modeOptional)

EEL: extension_api("JS_GDI_StretchBlit", void* destHDC, int dstx, int dsty, int dstw, int dsth, void* sourceHDC, int srcx, int srxy, int srcw, int srch, optional "mode")

Lua: reaper.JS_GDI_StretchBlit(identifier destHDC, integer dstx, integer dsty, integer dstw, integer dsth, identifier sourceHDC, integer srcx, integer srxy, integer srcw, integer srch, optional string mode)

Python: JS_GDI_StretchBlit(void destHDC, Int dstx, Int dsty, Int dstw, Int dsth, void sourceHDC, Int srcx, Int srxy, Int srcw, Int srch, String modeOptional)

Description:
Blits between two device contexts, which may include LICE "system bitmaps".

modeOptional: "SRCCOPY" by default, or specify "ALPHA" to enable per-pixel alpha blending.

Parameters:
          identifier destHDC -
          integer dstx -
          integer dsty -
          integer dstw -
          integer dsth -
          identifier sourceHDC -
          integer srcx -
          integer srxy -
          integer srcw -
          integer srch -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Int(JS)

Functioncall:

C: void JS_Int(void* pointer, int offset, int* intOut)

EEL: extension_api("JS_Int", void* pointer, int offset, int &int)

Lua: number int = reaper.JS_Int(identifier pointer, integer offset)

Python: (void pointer, Int offset, Int intOut) = JS_Int(pointer, offset, intOut)

Description:
Returns the 4-byte signed integer at address[offset]. Offset is added as steps of 4 bytes each.


Parameters:
          identifier address -
          integer offset -
Returnvalues:
          number int -


^ Reaper version 5.965Julian Sader's plugin version 0.988Lua version 5.3 JS_LICE_AlterBitmapHSV(JS)

Functioncall:

C: void JS_LICE_AlterBitmapHSV(void* bitmap, double hue, double saturation, double value)

EEL: extension_api("JS_LICE_AlterBitmapHSV", void* bitmap, hue, saturation, value)

Lua: reaper.JS_LICE_AlterBitmapHSV(identifier bitmap, number hue, number saturation, number value)

Python: (JS_LICE_AlterBitmapHSV(void bitmap, Float hue, Float saturation, Float value)

Description:
Hue is rolled over, saturation and value are clamped, all 0..1. (Alpha remains unchanged.)

Parameters:
          identifier bitmap -
          number hue -
          number saturation -
          number value -


^ Reaper version 5.965Julian Sader's plugin version 0.988Lua version 5.3 JS_LICE_AlterRectHSV(JS)

Functioncall:

C: void JS_LICE_AlterRectHSV(void* bitmap, int x, int y, int w, int h, double hue, double saturation, double value)

EEL: extension_api("JS_LICE_AlterRectHSV", void* bitmap, int x, int y, int w, int h, hue, saturation, value)

Lua: reaper.JS_LICE_AlterRectHSV(identifier bitmap, integer x, integer y, integer w, integer h, number hue, number saturation, number value)

Python: JS_LICE_AlterRectHSV(void bitmap, Int x, Int y, Int w, Int h, Float hue, Float saturation, Float value)

Description:
Hue is rolled over, saturation and value are clamped, all 0..1. (Alpha remains unchanged.)

Parameters:
          identifier bitmap -
          integer x -
          integer y -
          integer w -
          integer h -
          number hue -
          number saturation -
          number value -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_Arc(JS)

Functioncall:

C: void JS_LICE_Arc(void* bitmap, double cx, double cy, double r, double minAngle, double maxAngle, int color, double alpha, const char* mode, bool antialias)

EEL: extension_api("JS_LICE_Arc", void* bitmap, cx, cy, r, minAngle, maxAngle, int color, alpha, "mode", bool antialias)

Lua: reaper.JS_LICE_Arc(identifier bitmap, number cx, number cy, number r, number minAngle, number maxAngle, integer color, number alpha, string mode, boolean antialias)

Python: JS_LICE_Arc(void bitmap, Float cx, Float cy, Float r, Float minAngle, Float maxAngle, Int color, Float alpha, String mode, Boolean antialias)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          number cx -
          number cy -
          number r -
          number minAngle -
          number maxAngle -
          integer color -
          number alpha -
          string mode -
          boolean antialias -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_LICE_Bezier(JS)

Functioncall:

C: void JS_LICE_Bezier(void* bitmap, double xstart, double ystart, double xctl1, double yctl1, double xctl2, double yctl2, double xend, double yend, double tol, int color, double alpha, const char* mode, bool antialias)

EEL: extension_api("JS_LICE_Bezier", void* bitmap, xstart, ystart, xctl1, yctl1, xctl2, yctl2, xend, yend, tol, int color, alpha, "mode", bool antialias)

Lua: reaper.JS_LICE_Bezier(identifier bitmap, number xstart, number ystart, number xctl1, number yctl1, number xctl2, number yctl2, number xend, number yend, number tol, integer color, number alpha, string mode, boolean antialias)

Python: JS_LICE_Bezier(void bitmap, Float xstart, Float ystart, Float xctl1, Float yctl1, Float xctl2, Float yctl2, Float xend, Float yend, Float tol, Int color, Float alpha, String mode, Boolean antialias)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA" to enable per-pixel alpha blending.

LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).

Parameters:
          identifier bitmap -
          number xstart -
          number ystart -
          number xctl1 -
          number yctl1 -
          number xctl2 -
          number yctl2 -
          number xend -
          number yend -
          number tol -
          integer color -
          number alpha -
          string mode -
          boolean antialias -


^ Reaper version 5.95Julian Sader's plugin version 0.988Lua version 5.3 JS_LICE_Blit(JS)

Functioncall:

C: void JS_LICE_Blit(void* destBitmap, int dstx, int dsty, void* sourceBitmap, int srcx, int srcy, int width, int height, double alpha, const char* mode)

EEL: extension_api("JS_LICE_Blit", void* destBitmap, int dstx, int dsty, void* sourceBitmap, int srcx, int srcy, int width, int height, alpha, "mode")

Lua: reaper.JS_LICE_Blit(identifier destBitmap, integer dstx, integer dsty, identifier sourceBitmap, integer srcx, integer srcy, integer width, integer height, number alpha, string mode)

Python: JS_LICE_Blit(void destBitmap, Int dstx, Int dsty, void sourceBitmap, Int srcx, Int srcy, Int width, Int height, Float alpha, String mode)

Description:
Standard LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA" to enable per-pixel alpha blending.

In addition to the standard LICE modes, LICE_Blit also offers:
* "CHANCOPY_XTOY", with X and Y any of the four channels, A, R, G or B. (CHANCOPY_ATOA is similar to MASK mode.)
* "BLUR"
* "ALPHAMUL", which overwrites the destination with a per-pixel alpha-multiplied copy of the source. (Similar to first clearing the destination with 0x00000000 and then blitting with "COPY,ALPHA".)

Parameters:
          identifier destBitmap -
          integer dstx -
          integer dsty -
          identifier sourceBitmap -
          integer srcx -
          integer srcy -
          integer width -
          integer height -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_Circle(JS)

Functioncall:

C: void JS_LICE_Circle(void* bitmap, double cx, double cy, double r, int color, double alpha, const char* mode, bool antialias)

EEL: extension_api("JS_LICE_Circle", void* bitmap, cx, cy, r, int color, alpha, "mode", bool antialias)

Lua: reaper.JS_LICE_Circle(identifier bitmap, number cx, number cy, number r, integer color, number alpha, string mode, boolean antialias)

Python: JS_LICE_Circle(void bitmap, Float cx, Float cy, Float r, Int color, Float alpha, String mode, Boolean antialias)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          number cx -
          number cy -
          number r -
          integer color -
          number alpha -
          string mode -
          boolean antialias -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_Clear(JS)

Functioncall:

C: void JS_LICE_Clear(void* bitmap, int color)

EEL: extension_api("JS_LICE_Clear", void* bitmap, int color)

Lua: reaper.JS_LICE_Clear(identifier bitmap, integer color)

Python: JS_LICE_Clear(void bitmap, Int color)

Description:


Parameters:
          identifier bitmap -
          integer color -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_CreateBitmap(JS)

Functioncall:

C: void* JS_LICE_CreateBitmap(bool isSysBitmap, int width, int height)

EEL: void* extension_api("JS_LICE_CreateBitmap", bool isSysBitmap, int width, int height)

Lua: identifier reaper.JS_LICE_CreateBitmap(boolean isSysBitmap, integer width, integer height)

Python: void JS_LICE_CreateBitmap(Boolean isSysBitmap, Int width, Int height)

Description:


Parameters:
          boolean isSysBitmap -
          integer width -
          integer height -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_CreateFont(JS)

Functioncall:

C: void* JS_LICE_CreateFont()

EEL: void* extension_api("JS_LICE_CreateFont")

Lua: identifier reaper.JS_LICE_CreateFont()

Python: void JS_LICE_CreateFont()

Description:


Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_DestroyBitmap(JS)

Functioncall:

C: void JS_LICE_DestroyBitmap(void* bitmap)

EEL: extension_api("JS_LICE_DestroyBitmap", void* bitmap)

Lua: reaper.JS_LICE_DestroyBitmap(identifier bitmap)

Python: JS_LICE_DestroyBitmap(void bitmap)

Description:


Parameters:
          identifier bitmap -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_DestroyFont(JS)

Functioncall:

C: void JS_LICE_DestroyFont(void* LICEFont)

EEL: extension_api("JS_LICE_DestroyFont", void* LICEFont)

Lua: reaper.JS_LICE_DestroyFont(identifier LICEFont)

Python: JS_LICE_DestroyFont(void LICEFont)

Description:


Parameters:
          identifier LICEFont -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_DrawChar(JS)

Functioncall:

C: void JS_LICE_DrawChar(void* bitmap, int x, int y, char c, int color, double alpha, int mode))

EEL: extension_api("JS_LICE_DrawChar", void* bitmap, int x, int y, char c, int color, alpha, int mode))

Lua: reaper.JS_LICE_DrawChar(identifier bitmap, integer x, integer y, integer c, integer color, number alpha, integer mode))

Python: JS_LICE_DrawChar(void bitmap, Int x, Int y, Int c, Int color, Float alpha, Int mode))

Description:


Parameters:
          identifier bitmap -
          integer x -
          integer y -
          integer c -
          integer color -
          number alpha -
          integer mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_DrawText(JS)

Functioncall:

C: int JS_LICE_DrawText(void* bitmap, void* LICEFont, const char* text, int textLen, int x1, int y1, int x2, int y2)

EEL: int extension_api("JS_LICE_DrawText", void* bitmap, void* LICEFont, "text", int textLen, int x1, int y1, int x2, int y2)

Lua: integer reaper.JS_LICE_DrawText(identifier bitmap, identifier LICEFont, string text, integer textLen, integer x1, integer y1, integer x2, integer y2)

Python: Int JS_LICE_DrawText(void bitmap, void LICEFont, String text, Int textLen, Int x1, Int y1, Int x2, Int y2)

Description:


Parameters:
          identifier bitmap -
          identifier LICEFont -
          string text -
          integer textLen -
          integer x1 -
          integer y1 -
          integer x2 -
          integer y2 -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_FillCircle(JS)

Functioncall:

C: void JS_LICE_FillCircle(void* bitmap, double cx, double cy, double r, int color, double alpha, const char* mode, bool antialias)

EEL: extension_api("JS_LICE_FillCircle", void* bitmap, cx, cy, r, int color, alpha, "mode", bool antialias)

Lua: reaper.JS_LICE_FillCircle(identifier bitmap, number cx, number cy, number r, integer color, number alpha, string mode, boolean antialias)

Python: JS_LICE_FillCircle(void bitmap, Float cx, Float cy, Float r, Int color, Float alpha, String mode, Boolean antialias)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          number cx -
          number cy -
          number r -
          integer color -
          number alpha -
          string mode -
          boolean antialias -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_LICE_FillPolygon(JS)

Functioncall:

C: void JS_LICE_FillPolygon(void* bitmap, const char* packedX, const char* packedY, int numPoints, int color, double alpha, const char* mode)

EEL: extension_api("JS_LICE_FillPolygon", void* bitmap, "packedX", "packedY", int numPoints, int color, alpha, "mode")

Lua: reaper.JS_LICE_FillPolygon(identifier bitmap, string packedX, string packedY, integer numPoints, integer color, number alpha, string mode)

Python: JS_LICE_FillPolygon(void bitmap, String packedX, String packedY, Int numPoints, Int color, Float alpha, String mode)

Description:
packedX and packedY are two strings of coordinates, each packed as "<i4".

LICE modes : "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA" to enable per-pixel alpha blending.

LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).

Parameters:
          identifier bitmap -
          string packedX -
          string packedY -
          integer numPoints -
          integer color -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_FillRect(JS)

Functioncall:

C: void JS_LICE_FillRect(void* bitmap, int x, int y, int w, int h, int color, double alpha, const char* mode)

EEL: extension_api("JS_LICE_FillRect", void* bitmap, int x, int y, int w, int h, int color, alpha, "mode")

Lua: reaper.JS_LICE_FillRect(identifier bitmap, integer x, integer y, integer w, integer h, integer color, number alpha, string mode)

Python: JS_LICE_FillRect(void bitmap, Int x, Int y, Int w, Int h, Int color, Float alpha, String mode)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          integer x -
          integer y -
          integer w -
          integer h -
          integer color -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_FillTriangle(JS)

Functioncall:

C: void JS_LICE_FillTriangle(void* bitmap, int x1, int y1, int x2, int y2, int x3, int y3, int color, double alpha, const char* mode)

EEL: extension_api("JS_LICE_FillTriangle", void* bitmap, int x1, int y1, int x2, int y2, int x3, int y3, int color, alpha, "mode")

Lua: reaper.JS_LICE_FillTriangle(identifier bitmap, integer x1, integer y1, integer x2, integer y2, integer x3, integer y3, integer color, number alpha, string mode)

Python: JS_LICE_FillTriangle(void bitmap, Int x1, Int y1, Int x2, Int y2, Int x3, Int y3, Int color, Float alpha, String mode)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          integer x1 -
          integer y1 -
          integer x2 -
          integer y2 -
          integer x3 -
          integer y3 -
          integer color -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_GetDC(JS)

Functioncall:

C: void* JS_LICE_GetDC(void* bitmap)

EEL: void* extension_api("JS_LICE_GetDC", void* bitmap)

Lua: identifier reaper.JS_LICE_GetDC(identifier bitmap)

Python: void JS_LICE_GetDC(void bitmap)

Description:


Parameters:
          identifier bitmap -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_GetHeight(JS)

Functioncall:

C: int JS_LICE_GetHeight(void* bitmap)

EEL: int extension_api("JS_LICE_GetHeight", void* bitmap)

Lua: integer reaper.JS_LICE_GetHeight(identifier bitmap)

Python: Int JS_LICE_GetHeight(void bitmap)

Description:


Parameters:
          identifier bitmap -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_GetPixel(JS)

Functioncall:

C: int JS_LICE_GetPixel(void* bitmap, int x, int y)

EEL: int extension_api("JS_LICE_GetPixel", void* bitmap, int x, int y)

Lua: integer reaper.JS_LICE_GetPixel(identifier bitmap, integer x, integer y)

Python: Int JS_LICE_GetPixel(void bitmap, Int x, Int y)

Description:
Returns the color of the specified pixel.


Parameters:
          identifier bitmap -
          integer x -
          integer y -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_GetWidth(JS)

Functioncall:

C: int JS_LICE_GetWidth(void* bitmap)

EEL: int extension_api("JS_LICE_GetWidth", void* bitmap)

Lua: integer reaper.JS_LICE_GetWidth(identifier bitmap)

Python: Int JS_LICE_GetWidth(void bitmap)

Description:


Parameters:
          identifier bitmap -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_GradRect(JS)

Functioncall:

C: void JS_LICE_GradRect(void* bitmap, int dstx, int dsty, int dstw, int dsth, double ir, double ig, double ib, double ia, double drdx, double dgdx, double dbdx, double dadx, double drdy, double dgdy, double dbdy, double dady, const char* mode)

EEL: extension_api("JS_LICE_GradRect", void* bitmap, int dstx, int dsty, int dstw, int dsth, ir, ig, ib, ia, drdx, dgdx, dbdx, dadx, drdy, dgdy, dbdy, dady, "mode")

Lua: reaper.JS_LICE_GradRect(identifier bitmap, integer dstx, integer dsty, integer dstw, integer dsth, number ir, number ig, number ib, number ia, number drdx, number dgdx, number dbdx, number dadx, number drdy, number dgdy, number dbdy, number dady, string mode)

Python: JS_LICE_GradRect(void bitmap, Int dstx, Int dsty, Int dstw, Int dsth, Float ir, Float ig, Float ib, Float ia, Float drdx, Float dgdx, Float dbdx, Float dadx, Float drdy, Float dgdy, Float dbdy, Float dady, String mode)

Description:


Parameters:
          identifier bitmap -
          integer dstx -
          integer dsty -
          integer dstw -
          integer dsth -
          number ir -
          number ig -
          number ib -
          number ia -
          number drdx -
          number dgdx -
          number dbdx -
          number dadx -
          number drdy -
          number dgdy -
          number dbdy -
          number dady -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_IsFlipped(JS)

Functioncall:

C: bool JS_LICE_IsFlipped(void* bitmap)

EEL: bool extension_api("JS_LICE_IsFlipped", void* bitmap)

Lua: boolean reaper.JS_LICE_IsFlipped(identifier bitmap)

Python: Boolean JS_LICE_IsFlipped(void bitmap)

Description:


Parameters:
          identifier bitmap -
Returnvalues:
          boolean -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_Line(JS)

Functioncall:

C: void JS_LICE_Line(void* bitmap, double x1, double y1, double x2, double y2, int color, double alpha, const char* mode, bool antialias)

EEL: extension_api("JS_LICE_Line", void* bitmap, x1, y1, x2, y2, int color, alpha, "mode", bool antialias)

Lua: reaper.JS_LICE_Line(identifier bitmap, number x1, number y1, number x2, number y2, integer color, number alpha, string mode, boolean antialias)

Python: JS_LICE_Line(void bitmap, Float x1, Float y1, Float x2, Float y2, Int color, Float alpha, String mode, Boolean antialias)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          number x1 -
          number y1 -
          number x2 -
          number y2 -
          integer color -
          number alpha -
          string mode -
          boolean antialias -


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_LICE_LoadPNG(JS)

Functioncall:

C: void* JS_LICE_LoadPNG(const char* filename)

EEL: void* extension_api("JS_LICE_LoadPNG", "filename")

Lua: identifier reaper.JS_LICE_LoadPNG(string filename)

Python: void JS_LICE_LoadPNG(String filename)

Description:
Returns a system LICE bitmap containing the PNG.


Parameters:
          string filename -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_LICE_MeasureText(JS)

Functioncall:

C: void JS_LICE_MeasureText(const char* text, int* widthOut, int* HeightOut)

EEL: extension_api("JS_LICE_MeasureText", "text", int &width, int &Height)

Lua: number width, number Height = reaper.JS_LICE_MeasureText(string text)

Python: (String text, Int widthOut, Int HeightOut) = JS_LICE_MeasureText(text, widthOut, HeightOut)

Description:


Parameters:
          string text -
Returnvalues:
          number width -
          number Height -


^ Reaper version 5.95Julian Sader's plugin version 0.988Lua version 5.3 JS_LICE_ProcessRect(JS)

Functioncall:

C: bool JS_LICE_ProcessRect(void* bitmap, int x, int y, int w, int h, const char* mode, double operand)

EEL: bool extension_api("JS_LICE_ProcessRect", void* bitmap, int x, int y, int w, int h, "mode", operand)

Lua: boolean reaper.JS_LICE_ProcessRect(identifier bitmap, integer x, integer y, integer w, integer h, string mode, number operand)

Python: Boolean JS_LICE_ProcessRect(void bitmap, Int x, Int y, Int w, Int h, String mode, Float operand)

Description:
Applies bitwise operations to each pixel in the target rectangle.

operand: a color in 0xAARRGGBB format.

modes:
* "XOR", "OR" or "AND".
* "SET_XYZ", with XYZ any combination of A, R, G, and B: copies the specified channels from operand to the bitmap. (Useful for setting the alpha values of a bitmap.)
* "ALPHAMUL": Performs alpha pre-multiplication on each pixel in the rect. operand is ignored in this mode. (On WindowsOS, GDI_Blit does not perform alpha multiplication on the fly, and a separate alpha pre-multiplication step is therefore required.)

NOTE:
LICE_Blit and LICE_ScaledBlit are also useful for processing bitmap colors. For example, to multiply all channel values by 1.5:
reaper.JS_LICE_Blit(bitmap, x, y, bitmap, x, y, w, h, 0.5, "ADD").

Parameters:
          identifier bitmap -
          integer x -
          integer y -
          integer w -
          integer h -
          string mode -
          number operand -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_PutPixel(JS)

Functioncall:

C: void JS_LICE_PutPixel(void* bitmap, int x, int y, int color, double alpha, const char* mode)

EEL: extension_api("JS_LICE_PutPixel", void* bitmap, int x, int y, int color, alpha, "mode")

Lua: reaper.JS_LICE_PutPixel(identifier bitmap, integer x, integer y, integer color, number alpha, string mode)

Python: JS_LICE_PutPixel(void bitmap, Int x, Int y, Int color, Float alpha, String mode)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          integer x -
          integer y -
          integer color -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_Resize(JS)

Functioncall:

C: void JS_LICE_Resize(void* bitmap, int width, int height)

EEL: extension_api("JS_LICE_Resize", void* bitmap, int width, int height)

Lua: reaper.JS_LICE_Resize(identifier bitmap, integer width, integer height)

Python: JS_LICE_Resize(void bitmap, Int width, Int height)

Description:


Parameters:
          identifier bitmap -
          integer width -
          integer height -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_LICE_RotatedBlit(JS)

Functioncall:

C: void JS_LICE_RotatedBlit(void* destBitmap, int dstx, int dsty, int dstw, int dsth, void* sourceBitmap, double srcx, double srcy, double srcw, double srch, double angle, double rotxcent, double rotycent, bool cliptosourcerect, double alpha, const char* mode)

EEL: extension_api("JS_LICE_RotatedBlit", void* destBitmap, int dstx, int dsty, int dstw, int dsth, void* sourceBitmap, srcx, srcy, srcw, srch, angle, rotxcent, rotycent, bool cliptosourcerect, alpha, "mode")

Lua: reaper.JS_LICE_RotatedBlit(identifier destBitmap, integer dstx, integer dsty, integer dstw, integer dsth, identifier sourceBitmap, number srcx, number srcy, number srcw, number srch, number angle, number rotxcent, number rotycent, boolean cliptosourcerect, number alpha, string mode)

Python: JS_LICE_RotatedBlit(void destBitmap, Int dstx, Int dsty, Int dstw, Int dsth, void sourceBitmap, Float srcx, Float srcy, Float srcw, Float srch, Float angle, Float rotxcent, Float rotycent, Boolean cliptosourcerect, Float alpha, String mode)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA" to enable per-pixel alpha blending.

Parameters:
          identifier destBitmap -
          integer dstx -
          integer dsty -
          integer dstw -
          integer dsth -
          identifier sourceBitmap -
          number srcx -
          number srcy -
          number srcw -
          number srch -
          number angle -
          number rotxcent -
          number rotycent -
          boolean cliptosourcerect -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_RoundRect(JS)

Functioncall:

C: void JS_LICE_RoundRect(void* bitmap, double x, double y, double w, double h, int cornerradius, int color, double alpha, const char* mode, bool antialias)

EEL: extension_api("JS_LICE_RoundRect", void* bitmap, x, y, w, h, int cornerradius, int color, alpha, "mode", bool antialias)

Lua: reaper.JS_LICE_RoundRect(identifier bitmap, number x, number y, number w, number h, integer cornerradius, integer color, number alpha, string mode, boolean antialias)

Python: JS_LICE_RoundRect(void bitmap, Float x, Float y, Float w, Float h, Int cornerradius, Int color, Float alpha, String mode, Boolean antialias)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA".



LICE color format: 0xAARRGGBB (AA is only used in ALPHA mode).


Parameters:
          identifier bitmap -
          number x -
          number y -
          number w -
          number h -
          integer cornerradius -
          integer color -
          number alpha -
          string mode -
          boolean antialias -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_LICE_ScaledBlit(JS)

Functioncall:

C: void JS_LICE_ScaledBlit(void* destBitmap, int dstx, int dsty, int dstw, int dsth, void* srcBitmap, double srcx, double srcy, double srcw, double srch, double alpha, const char* mode)

EEL: extension_api("JS_LICE_ScaledBlit", void* destBitmap, int dstx, int dsty, int dstw, int dsth, void* srcBitmap, srcx, srcy, srcw, srch, alpha, "mode")

Lua: reaper.JS_LICE_ScaledBlit(identifier destBitmap, integer dstx, integer dsty, integer dstw, integer dsth, identifier srcBitmap, number srcx, number srcy, number srcw, number srch, number alpha, string mode)

Python: JS_LICE_ScaledBlit(void destBitmap, Int dstx, Int dsty, Int dstw, Int dsth, void srcBitmap, Float srcx, Float srcy, Float srcw, Float srch, Float alpha, String mode)

Description:
LICE modes: "COPY" (default if empty string), "MASK", "ADD", "DODGE", "MUL", "OVERLAY" or "HSVADJ", any of which may be combined with "ALPHA" to enable per-pixel alpha blending.

Parameters:
          identifier destBitmap -
          integer dstx -
          integer dsty -
          integer dstw -
          integer dsth -
          identifier srcBitmap -
          number srcx -
          number srcy -
          number srcw -
          number srch -
          number alpha -
          string mode -


^ Reaper version 5.95Julian Sader's plugin version 0.988Lua version 5.3 JS_LICE_SetAlphaFromColorMask(JS)

Functioncall:

C: void JS_LICE_SetAlphaFromColorMask(void* bitmap, int colorRGB)

EEL: extension_api("JS_LICE_SetAlphaFromColorMask", void* bitmap, int colorRGB)

Lua: reaper.JS_LICE_SetAlphaFromColorMask(identifier bitmap, integer colorRGB)

Python: JS_LICE_SetAlphaFromColorMask(void bitmap, Int colorRGB)

Description:
Sets all pixels that match the given color's RGB values to fully transparent, and all other pixels to fully opaque. (All pixels' RGB values remain unchanged.)

Parameters:
          identifier bitmap -
          integer colorRGB -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_SetFontBkColor(JS)

Functioncall:

C: void JS_LICE_SetFontBkColor(void* LICEFont, int color)

EEL: extension_api("JS_LICE_SetFontBkColor", void* LICEFont, int color)

Lua: reaper.JS_LICE_SetFontBkColor(identifier LICEFont, integer color)

Python: JS_LICE_SetFontBkColor(void LICEFont, Int color)

Description:


Parameters:
          identifier LICEFont -
          integer color -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_SetFontColor(JS)

Functioncall:

C: void JS_LICE_SetFontColor(void* LICEFont, int color)

EEL: extension_api("JS_LICE_SetFontColor", void* LICEFont, int color)

Lua: reaper.JS_LICE_SetFontColor(identifier LICEFont, integer color)

Python: JS_LICE_SetFontColor(void LICEFont, Int color)

Description:


Parameters:
          identifier LICEFont -
          integer color -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_LICE_SetFontFromGDI(JS)

Functioncall:

C: void JS_LICE_SetFontFromGDI(void* LICEFont, void* GDIFont, const char* moreFormats)

EEL: extension_api("JS_LICE_SetFontFromGDI", void* LICEFont, void* GDIFont, "moreFormats")

Lua: reaper.JS_LICE_SetFontFromGDI(identifier LICEFont, identifier GDIFont, string moreFormats)

Python: JS_LICE_SetFontFromGDI(void LICEFont, void GDIFont, String moreFormats)

Description:
Converts a GDI font into a LICE font.

The font can be modified by the following flags, in a comma-separated list:

"VERTICAL", "BOTTOMUP", "NATIVE", "BLUR", "INVERT", "MONO", "SHADOW" or "OUTLINE".


Parameters:
          identifier LICEFont -
          identifier GDIFont -
          string moreFormats -


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_LICE_WritePNG(JS)

Functioncall:

C: bool JS_LICE_WritePNG(const char* filename, void* bitmap, bool wantAlpha)

EEL: bool extension_api("JS_LICE_WritePNG", "filename", void* bitmap, bool wantAlpha)

Lua: boolean retval = reaper.JS_LICE_WritePNG(string filename, identifier bitmap, boolean wantAlpha)

Python: Boolean JS_LICE_WritePNG(String filename, void bitmap, Boolean wantAlpha)

Description:


Parameters:
          string filename -
          identifier bitmap -
          boolean wantAlpha -
Returnvalues:
          boolean retval -


^ Reaper version 5.982Julian Sader's plugin version 0.990Lua version 5.3 JS_ListView_EnsureVisible(JS)

Functioncall:

C: void JS_ListView_EnsureVisible(void* listviewHWND, int index, bool partialOK)

EEL: extension_api("JS_ListView_EnsureVisible", void* listviewHWND, int index, bool partialOK)

Lua: reaper.JS_ListView_EnsureVisible(identifier listviewHWND, integer index, boolean partialOK)

Python: JS_ListView_EnsureVisible(void listviewHWND, Int index, Boolean partialOK)

Description:


Parameters:
          identifier listviewHWND -
          integer index -
          boolean partialOK -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Localize(JS)

Functioncall:

C: void JS_Localize(const char* USEnglish, const char* LangPackSection, char* translationOut, int translationOut_sz)

EEL: extension_api("JS_Localize", "USEnglish", "LangPackSection", #translation)

Lua: string translation = reaper.JS_Localize(string USEnglish, string LangPackSection)

Python: (String USEnglish, String LangPackSection, String translationOut, Int translationOut_sz) = JS_Localize(USEnglish, LangPackSection, translationOut, translationOut_sz)

Description:
Returns the translation of the given US English text, according to the currently loaded Language Pack.

Parameters:
* LangPackSection: Language Packs are divided into sections such as "common" or "DLG_102".
* In Lua, by default, text of up to 1024 chars can be returned. To increase (or reduce) the default buffer size, a string and size can be included as optional 3rd and 4th arguments.

Example: reaper.JS_Localize("Actions", "common", "", 20)

Parameters:
          string USEnglish - the original english string
          string LangPackSection - the section in the Reaper-language-pack-file, in which the string is locate
Returnvalues:
          string translation - the translated string, according to the currently used LangPack


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_MIDIEditor_ArrayAll(JS)

Functioncall:

C: void JS_MIDIEditor_ArrayAll(void* reaperarray)

EEL: extension_api("JS_MIDIEditor_ArrayAll", void* reaperarray)

Lua: reaper.JS_MIDIEditor_ArrayAll(identifier reaperarray)

Python: JS_MIDIEditor_ArrayAll(void reaperarray)

Description:
Returns the addresses of all open MIDI windows (whether docked or not).

* The addresses are stored in the provided reaper.array.

* Each address can be converted to a REAPER object (HWND) by the function JS_Window_HandleFromAddress.


Parameters:
          identifier reaperarray -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_MIDIEditor_ListAll(JS)

Functioncall:

C: void JS_MIDIEditor_ListAll(char* buf, int buf_sz)

EEL: extension_api("JS_MIDIEditor_ListAll", #buf)

Lua: string buf = reaper.JS_MIDIEditor_ListAll(string buf)

Python: (String buf, Int buf_sz) = JS_MIDIEditor_ListAll(buf, buf_sz)

Description:
Returns a list of HWNDs of all open MIDI windows (whether docked or not).

* The list is formatted as a comma-separated (and terminated) string of hexadecimal values.

* Each value is an address that can be converted to a HWND by the function JS_Window_HandleFromAddress.


Parameters:
          string buf -
Returnvalues:
          string buf -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Mem_Alloc(JS)

Functioncall:

C: void* JS_Mem_Alloc(int sizeBytes)

EEL: void* extension_api("JS_Mem_Alloc", int sizeBytes)

Lua: identifier reaper.JS_Mem_Alloc(integer sizeBytes)

Python: void JS_Mem_Alloc(Int sizeBytes)

Description:
Allocates memory for general use by functions that require memory buffers.

Parameters:
          integer sizeBytes -
Returnvalues:
          identifier -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Mem_Free(JS)

Functioncall:

C: void* JS_Mem_Alloc(int sizeBytes)

EEL: void* extension_api("JS_Mem_Alloc", int sizeBytes)

Lua: identifier reaper.JS_Mem_Alloc(integer sizeBytes)

Python: Boolean JS_Mem_Free(void mallocPointer)

Description:
Frees memory that was previously allocated by JS_Mem_Alloc.

Parameters:
          integer sizeBytes -
Returnvalues:
          identifier -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Mem_FromString(JS)

Functioncall:

C: bool JS_Mem_FromString(void* mallocPointer, int offset, const char* packedString, int stringLength)

EEL: bool extension_api("JS_Mem_FromString", void* mallocPointer, int offset, "packedString", int stringLength)

Lua: boolean reaper.JS_Mem_FromString(identifier mallocPointer, integer offset, string packedString, integer stringLength)

Python: Boolean JS_Mem_FromString(void mallocPointer, Int offset, String packedString, Int stringLength)

Description:
Copies a packed string into a memory buffer.

Parameters:
          identifier mallocPointer -
          integer offset -
          string packedString -
          integer stringLength -
Returnvalues:
          boolean -


^ Reaper version 5.965Julian Sader's plugin version 0.988Lua version 5.3 JS_Mouse_GetCursor(JS)

Functioncall:

C: void* JS_Mouse_GetCursor()

EEL: void* extension_api("JS_Mouse_GetCursor")

Lua: identifier = reaper.JS_Mouse_GetCursor()

Python: void JS_Mouse_GetCursor()

Description:
On Windows, retrieves a handle to the current mouse cursor.
On Linux and macOS, retrieves a handle to the last cursor set by REAPER or its extensions via SWELL.

Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Mouse_GetState(JS)

Functioncall:

C: int JS_Mouse_GetState(int flags)

EEL: int extension_api("JS_Mouse_GetState", int flags)

Lua: integer reaper.JS_Mouse_GetState(integer flags)

Python: Int JS_Mouse_GetState(Int flags)

Description:
Retrieves the states of mouse buttons and modifiers keys.



Parameters:

* flags, state: The parameter and the return value both use the same format as gfx.mouse_cap. I.e., to get the states of the left mouse button and the ctrl key, use flags = 0b00000101.

use -1 as flags to retrieve the states of all mouse-buttons and modifier


Parameters:
          integer flags -
Returnvalues:
          integer -


^ Reaper version 5.965Julian Sader's plugin version 0.964Lua version 5.3 JS_Mouse_LoadCursor(JS)

Functioncall:

C: void* JS_Mouse_LoadCursor(int cursorNumber)

EEL: void* extension_api("JS_Mouse_LoadCursor", int cursorNumber)

Lua: identifier reaper.JS_Mouse_LoadCursor(integer cursorNumber)

Python: void JS_Mouse_LoadCursor(Int cursorNumber)

Description:
Loads a cursor by number.

cursorNumber: Same as used for gfx.setcursor, and includes some of Windows' predefined cursors (with numbers > 32000; refer to documentation for the Win32 C++ function LoadCursor), and REAPER's own cursors (with numbers < 2000).

If successful, returns a handle to the cursor, which can be used in JS_Mouse_SetCursor.


Parameters:
          integer cursorNumber -
Returnvalues:
          identifier -


^ Reaper version 5.965Julian Sader's plugin version 0.964Lua version 5.3 JS_Mouse_LoadCursorFromFile(JS)

Functioncall:

C: void* JS_Mouse_LoadCursorFromFile(const char* pathAndFileName, bool* forceNewLoad)

EEL: void* extension_api("JS_Mouse_LoadCursorFromFile", "pathAndFileName", unsupported forceNewLoad)

Lua: identifier reaper.JS_Mouse_LoadCursorFromFile(string pathAndFileName, unsupported optional boolean forceNewLoad)

Python: void JS_Mouse_LoadCursorFromFile(String pathAndFileName, Boolean forceNewLoadOptional)

Description:
Loads a cursor from a .cur file.

If omitted or false, and if the .cur file has already been loaded previously during the REAPER session, the file will not be re-loaded, and the previous handle will be returned, thereby (slightly) improving speed and (slighty) lowering memory usage.
If true, the file will be re-loaded and a new handle will be returned.

If successful, returns a handle to the cursor, which can be used in JS_Mouse_SetCursor.
forceNewLoad is an optional boolean parameter:

Parameters:
          string pathAndFileName -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Mouse_SetCursor(JS)

Functioncall:

C: void JS_Mouse_SetCursor(void* cursorHandle)

EEL: extension_api("JS_Mouse_SetCursor", void* cursorHandle)

Lua: reaper.JS_Mouse_SetCursor(identifier cursorHandle)

Python: JS_Mouse_SetCursor(void cursorHandle)

Description:
Sets the mouse cursor. (Only lasts while script is running, and for a single "defer" cycle.)


Parameters:
          identifier cursorHandle -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Mouse_SetPosition(JS)

Functioncall:

C: bool JS_Mouse_SetPosition(int x, int y)

EEL: bool extension_api("JS_Mouse_SetPosition", int x, int y)

Lua: boolean reaper.JS_Mouse_SetPosition(integer x, integer y)

Python: Boolean JS_Mouse_SetPosition(Int x, Int y)

Description:
Moves the mouse cursor to the specified coordinates.


Parameters:
          integer x -
          integer y -
Returnvalues:
          boolean -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_PtrFromStr(JS)

Functioncall:

C: void* JS_PtrFromStr(const char* s)

EEL: void* extension_api("JS_PtrFromStr", "s")

Lua: identifier reaper.JS_PtrFromStr(string s)

Python: void JS_PtrFromStr(String s)

Description:


Parameters:
          string s -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_ReaScriptAPI_Version(JS)

Functioncall:

C: void JS_ReaScriptAPI_Version(double* versionOut)

EEL: extension_api("JS_ReaScriptAPI_Version", &version)

Lua: number version = reaper.JS_ReaScriptAPI_Version()

Python: (Float versionOut) JS_ReaScriptAPI_Version(versionOut)

Description:
Returns the version of the js_ReaScriptAPI extension.


Returnvalues:
          number version -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_String(JS)

Functioncall:

C: bool JS_String(void* pointer, int offset, int lengthChars, char* bufOutNeedBig, int bufOutNeedBig_sz)

EEL: bool extension_api("JS_String", void* pointer, int offset, int lengthChars, #buf)

Lua: boolean retval, string buf = reaper.JS_String(identifier pointer, integer offset, integer lengthChars)

Python: (Boolean retval, void pointer, Int offset, Int lengthChars, String bufOutNeedBig, Int bufOutNeedBig_sz) = JS_String(pointer, offset, lengthChars, bufOutNeedBig, bufOutNeedBig_sz)

Description:
Returns the memory contents starting at address[offset] as a packed string. Offset is added as steps of 1 byte (char) each.

Parameters:
          identifier pointer -
          integer offset -
          integer lengthChars -
Returnvalues:
          boolean retval -
          string buf -


^ Reaper version 5.965Julian Sader's plugin version 0.993Lua version 5.3 JS_VKeys_GetDown(JS)

Functioncall:

C: void JS_VKeys_GetDown(double cutoffTime, char* stateOutNeedBig, int* stateOutNeedBig_sz)

EEL: extension_api("JS_VKeys_GetDown", cutoffTime, #state)

Lua: string state = reaper.JS_VKeys_GetDown(number cutoffTime)

Python: (Float cutoffTime, String stateOutNeedBig, Int stateOutNeedBig_sz) = JS_VKeys_GetDown(cutoffTime, stateOutNeedBig, stateOutNeedBig_sz)

Description:
Returns a 255-byte array that specifies which virtual keys, from 0x01 to 0xFF, have sent KEYDOWN messages since cutoffTime.

Notes:
* Mouse buttons and modifier keys are not (currently) reliably detected, and JS_Mouse_GetState can be used instead.
* Auto-repeated KEYDOWN messages are ignored.

Parameters:
          number cutoffTime -
Returnvalues:
          string state -


^ Reaper version 5.965Julian Sader's plugin version 0.980Lua version 5.3 JS_VKeys_ClearHistory(JS)

Functioncall:

C: void JS_VKeys_ClearHistory()

EEL: extension_api("JS_VKeys_ClearHistory")

Lua: reaper.JS_VKeys_ClearHistory()

Python: JS_VKeys_ClearHistory()

Description:
deprecated



^ Reaper version 5.965Julian Sader's plugin version 0.980Lua version 5.3 JS_VKeys_GetHistory(JS)

Functioncall:

C: bool JS_VKeys_GetHistory(char* stateOutNeedBig, int* stateOutNeedBig_sz)

EEL: bool extension_api("JS_VKeys_GetHistory", #state)

Lua: boolean retval, string state = reaper.JS_VKeys_GetHistory()

Python: (Boolean retval, String stateOutNeedBig, Int stateOutNeedBig_sz) = JS_VKeys_GetHistory(stateOutNeedBig, stateOutNeedBig_sz)

Description:
deprecated

Returnvalues:
          boolean retval -
          string state -


^ Reaper version 5.965Julian Sader's plugin version 0.993Lua version 5.3 JS_VKeys_GetState(JS)

Functioncall:

C: bool JS_VKeys_GetState(char* stateOutNeedBig, int* stateOutNeedBig_sz)

EEL: bool extension_api("JS_VKeys_GetState", #state)

Lua: boolean retval, string state = reaper.JS_VKeys_GetState()

Python: (Boolean retval, String stateOutNeedBig, Int stateOutNeedBig_sz) = JS_VKeys_GetState(stateOutNeedBig, stateOutNeedBig_sz)

Description:
Retrieves the current states (0 or 1) of all virtual keys, from 0x01 to 0xFF, in a 255-byte array.

cutoffTime: A key is only regarded as down if it sent a KEYDOWN message after the cut-off time, not followed by KEYUP. (This is useful for excluding old KEYDOWN messages that weren't properly followed by KEYUP.)
If cutoffTime is positive, is it interpreted as absolute time in similar format as time_precise().
If cutoffTime is negative, it is relative to the current time.

Notes:
Notes:
* Mouse buttons and modifier keys are not (currently) reliably detected, and JS_Mouse_GetState can be used instead.
* Auto-repeated KEYDOWN messages are ignored.

Returnvalues:
          boolean retval -
          string state -


^ Reaper version 5.965Julian Sader's plugin version 0.986Lua version 5.3 JS_VKeys_GetUp(JS)

Functioncall:

C: void JS_VKeys_GetUp(double cutoffTime, char* stateOutNeedBig, int* stateOutNeedBig_sz)

EEL: extension_api("JS_VKeys_GetUp", cutoffTime, #state)

Lua: string state = reaper.JS_VKeys_GetUp(number cutoffTime)

Python: (Float cutoffTime, String stateOutNeedBig, Int stateOutNeedBig_sz) = JS_VKeys_GetUp(cutoffTime, stateOutNeedBig, stateOutNeedBig_sz)

Description:
Return a 255-byte array that specifies which virtual keys, from 0x01 to 0xFF, have sent KEYUP messages since cutoffTime.

Note: Mouse buttons and modifier keys are not (currently) reliably detected, and JS_Mouse_GetState can be used instead.

Parameters:
          number cutoffTime -
Returnvalues:
          string state -


^ Reaper version 5.965Julian Sader's plugin version 0.980Lua version 5.3 JS_VKeys_Intercept(JS)

Functioncall:

C: int JS_VKeys_Intercept(int keyCode, int intercept)

EEL: int extension_api("JS_VKeys_Intercept", int keyCode, int intercept)

Lua: integer retval = reaper.JS_VKeys_Intercept(integer keyCode, integer intercept)

Python: Int JS_VKeys_Intercept(Int keyCode, Int intercept)

Description:
Intercepting (blocking) virtual keys work similar to the native function PreventUIRefresh: Each key has a (non-negative) intercept state, and the key is passed through as usual if the state equals 0, or blocked if the state is greater than 0.

keyCode: The virtual key code of the key, or -1 to change the state of all keys.

intercept: A script can increase the intercept state by passing +1, or lower the state by passing -1.
Multiple scripts can block the same key, and the intercept state may reach up to 255.
If zero is passed, the intercept state is not changed, but the current state is returned.

Returns: If keyCode refers to a single key, the intercept state of that key is returned. If keyCode = -1, the state of the key that is most strongly blocked (highest intercept state) is returned.

Parameters:
          integer keyCode -
          integer intercept -
Returnvalues:
          integer retval -


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_WindowMessage_Intercept(JS)

Functioncall:

C: int JS_WindowMessage_Intercept(void* windowHWND, const char* messages, bool passThrough)

EEL: int extension_api("JS_WindowMessage_Intercept", void* windowHWND, "messages", bool passThrough)

Lua: integer reaper.JS_WindowMessage_Intercept(identifier windowHWND, string messages, boolean passThrough)

Python: Int JS_WindowMessage_Intercept(void windowHWND, String messages, Boolean passThrough)

Description:
Intercepts window messages to specified window.

Parameters:

* message: a single message type to be intercepted, either in WM_ or hexadecimal format. For example "WM_SETCURSOR" or "0x0020".

* passThrough: Whether message should be blocked (false) or passed through (true) to the window.

    For more information on message codes, refer to the Win32 C++ API documentation.

    For a list of message types that are valid cross-platform, refer to swell-types.h. Only these will be recognized by WM_ name.



Returns:

* 1: Success.

* 0: The message type is already being intercepted by another script.

* -2: message string could not be parsed.

* -3: Failure getting original window process / window not valid.

* -6: Could not obtain the window client HDC.


Notes:

* Intercepted messages can be polled using JS_WindowMessage_Peek.

* Intercepted messages can be edited, if necessary, and then forwarded to their original destination using JS_WindowMessage_Post or JS_WindowMessage_Send.

* To check whether a message type is being blocked or passed through, Peek the message type, or retrieve the entire List of intercepts.

* Mouse events are typically received by the child window under the mouse, not the parent window.

Keyboard events are usually *not* received by any individual window. To intercept keyboard events, use the VKey functions.

Parameters:
          identifier windowHWND -
          string messages -
          boolean passThrough -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_WindowMessage_InterceptList(JS)

Functioncall:

C: int JS_WindowMessage_InterceptList(void* windowHWND, const char* messages)

EEL: int extension_api("JS_WindowMessage_InterceptList", void* windowHWND, "messages")

Lua: integer reaper.JS_WindowMessage_InterceptList(identifier windowHWND, string messages)

Python: Int JS_WindowMessage_InterceptList(void windowHWND, String messages)

Description:
Intercepts window messages to specified window.



Parameters:

* messages: comma-separated string of message types to be intercepted (either in WM_ or hexadecimal format), each with a "block" or "passthrough" modifier to specify whether the message should be blocked or passed through to the window. For example "WM_SETCURSOR:block, 0x0201:passthrough".

   For more information on message codes, refer to the Win32 C++ API documentation.

   For a list of message types that are valid cross-platform, refer to swell-types.h. Only these will be recognized by WM_ name.



Returns:

* 1: Success.

* 0: The message type is already being intercepted by another script.

* -1: windowHWND is not a valid window.

* -2: message string could not be parsed.

* -3: Failure getting original window process.

* -6: Could not obtain the window client HDC.

Notes:

* Intercepted messages can be polled using JS_WindowMessage_Peek.

* Intercepted messages can be edited, if necessary, and then forwarded to their original destination using JS_WindowMessage_Post or JS_WindowMessage_Send.

* To check whether a message type is being blocked or passed through, Peek the message type, or retrieve the entire List of intercepts.


Parameters:
          identifier windowHWND -
          string messages -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_WindowMessage_ListIntercepts(JS)

Functioncall:

C: bool JS_WindowMessage_ListIntercepts(void* windowHWND, char* buf, int buf_sz)

EEL: bool extension_api("JS_WindowMessage_ListIntercepts", void* windowHWND, #buf)

Lua: boolean retval, string buf = reaper.JS_WindowMessage_ListIntercepts(identifier windowHWND, string buf)

Python: (Boolean retval, void windowHWND, String buf, Int buf_sz) = JS_WindowMessage_ListIntercepts(windowHWND, buf, buf_sz)

Description:
Returns a string with a list of all message types currently being intercepted for the specified window.


Parameters:
          identifier windowHWND -
          string buf -
Returnvalues:
          boolean retval -
          string buf -


^ Reaper version 5.95Julian Sader's plugin version 0.998Lua version 5.3 JS_WindowMessage_PassThrough(JS)

Functioncall:

C: int JS_WindowMessage_PassThrough(void* windowHWND, const char* message, bool passThrough)

EEL: int extension_api("JS_WindowMessage_PassThrough", void* windowHWND, "message", bool passThrough)

Lua: integer reaper.JS_WindowMessage_PassThrough(identifier windowHWND, string message, boolean passThrough)

Python: Int JS_WindowMessage_PassThrough(void windowHWND, String message, Boolean passThrough)

Description:
Changes the passthrough setting of a message type that is already being intercepted.

Returns 1 if successful, 0 if the message type is not yet being intercepted, or -2 if the argument could not be parsed.

Parameters:
          identifier windowHWND -
          string message -
          boolean passThrough -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_WindowMessage_Peek(JS)

Functioncall:

C: bool JS_WindowMessage_Peek(void* windowHWND, const char* message, bool* passedThroughOut, double* timeOut, int* wParamLowOut, int* wParamHighOut, int* lParamLowOut, int* lParamHighOut)

EEL: bool extension_api("JS_WindowMessage_Peek", void* windowHWND, "message", bool &passedThrough, &time, int &wParamLow, int &wParamHigh, int &lParamLow, int &lParamHigh)

Lua: boolean retval, boolean passedThrough, number time, number wParamLow, number wParamHigh, number lParamLow, number lParamHigh = reaper.JS_WindowMessage_Peek(identifier windowHWND, string message)

Python: (Boolean retval, void windowHWND, String message, Boolean passedThroughOut, Float timeOut, Int wParamLowOut, Int wParamHighOut, Int lParamLowOut, Int lParamHighOut) = JS_WindowMessage_Peek(windowHWND, message, passedThroughOut, timeOut, wParamLowOut, wParamHighOut, lParamLowOut, lParamHighOut)

Description:
Polls the state of an intercepted message.



Parameters:

* message: String containing a single message name, such as "WM_SETCURSOR", or in hexadecimal format, "0x0020".

(For a list of message types that are valid cross-platform, refer to swell-types.h. Only these will be recognized by WM_ name.)



Returns:

* A retval of false indicates that the message type is not being intercepted in the specified window.

* All messages are timestamped. A time of 0 indicates that no message if this type has been intercepted yet.

* For more information about wParam and lParam for different message types, refer to Win32 C++ documentation.

* For example, in the case of mousewheel, returns mousewheel delta, modifier keys, x position and y position.

* wParamHigh, lParamLow and lParamHigh are signed, whereas wParamLow is unsigned.


Parameters:
          identifier windowHWND -
          string message -
Returnvalues:
          boolean retval -
          boolean passedThrough -
          number time -
          number wParamLow -
          number wParamHigh -
          number lParamLow -
          number lParamHigh -


^ Reaper version 5.95Julian Sader's plugin version 0.998Lua version 5.3 JS_WindowMessage_Post(JS)

Functioncall:

C: bool JS_WindowMessage_Post(void* windowHWND, const char* message, double wParam, int wParamHighWord, double lParam, int lParamHighWord)

EEL: bool extension_api("JS_WindowMessage_Post", void* windowHWND, "message", wParam, int wParamHighWord, lParam, int lParamHighWord)

Lua: boolean retval = reaper.JS_WindowMessage_Post(identifier windowHWND, string message, number wParam, integer wParamHighWord, number lParam, integer lParamHighWord)

Python: Boolean JS_WindowMessage_Post(void windowHWND, String message, Float wParam, Int wParamHighWord, Float lParam, Int lParamHighWord)

Description:
If the specified window and message type are not currently being intercepted by a script, this function will post the message in the message queue of the specified window, and return without waiting.

If the window and message type are currently being intercepted, the message will be sent directly to the original window process, similar to WindowMessage_Send, thereby skipping any intercepts.

Parameters:
* message: String containing a single message name, such as "WM_SETCURSOR", or in hexadecimal format, "0x0020".
(For a list of WM_ and CB_ message types that are valid cross-platform, refer to swell-types.h. Only these will be recognized by WM_ or CB_ name.)
* wParam, wParamHigh, lParam and lParamHigh: Low and high 16-bit WORDs of the WPARAM and LPARAM parameters.
(Most window messages encode separate information into the two WORDs. However, for those rare cases in which the entire WPARAM and LPARAM must be used to post a large pointer, the script can store this address in wParam or lParam, and keep wParamHigh and lParamHigh zero.)

Notes:
* For more information about parameter values, refer to documentation for the Win32 C++ function PostMessage.
* Messages should only be sent to windows that were created from the main thread.
* Useful for simulating mouse clicks and calling mouse modifier actions from scripts.

Parameters:
          identifier windowHWND -
          string message -
          number wParam -
          integer wParamHighWord -
          number lParam -
          integer lParamHighWord -
Returnvalues:
          boolean retval -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_WindowMessage_Release(JS)

Functioncall:

C: int JS_WindowMessage_Release(void* windowHWND, const char* messages)

EEL: int extension_api("JS_WindowMessage_Release", void* windowHWND, "messages")

Lua: integer reaper.JS_WindowMessage_Release(identifier windowHWND, string messages)

Python: Int JS_WindowMessage_Release(void windowHWND, String messages)

Description:
Release intercepts of specified message types.

Parameters:

* messages: "WM_SETCURSOR,WM_MOUSEHWHEEL" or "0x0020,0x020E", for example.


Parameters:
          identifier windowHWND -
          string messages -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_WindowMessage_ReleaseAll(JS)

Functioncall:

C: void JS_WindowMessage_ReleaseAll()

EEL: extension_api("JS_WindowMessage_ReleaseAll")

Lua: reaper.JS_WindowMessage_ReleaseAll()

Python: JS_WindowMessage_ReleaseAll()

Description:
Release script intercepts of window messages for all windows.




^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_WindowMessage_ReleaseWindow(JS)

Functioncall:

C: void JS_WindowMessage_ReleaseWindow(void* windowHWND)

EEL: extension_api("JS_WindowMessage_ReleaseWindow", void* windowHWND)

Lua: reaper.JS_WindowMessage_ReleaseWindow(identifier windowHWND)

Python: JS_WindowMessage_ReleaseWindow(void windowHWND)

Description:
Release script intercepts of window messages for specified window.


Parameters:
          identifier windowHWND -


^ Reaper version 5.95Julian Sader's plugin version 0.998Lua version 5.3 JS_WindowMessage_Send(JS)

Functioncall:

C: int JS_WindowMessage_Send(void* windowHWND, const char* message, double wParam, int wParamHighWord, double lParam, int lParamHighWord)

EEL: int extension_api("JS_WindowMessage_Send", void* windowHWND, "message", wParam, int wParamHighWord, lParam, int lParamHighWord)

Lua: integer reaper.JS_WindowMessage_Send(identifier windowHWND, string message, number wParam, integer wParamHighWord, number lParam, integer lParamHighWord)

Python: Int JS_WindowMessage_Send(void windowHWND, String message, Float wParam, Int wParamHighWord, Float lParam, Int lParamHighWord)

Description:
Sends a message to the specified window by calling the window process directly, and only returns after the message has been processed. Any intercepts of the message by scripts will be skipped, and the message can therefore not be blocked.

Parameters:
* message: String containing a single message name, such as "WM_SETCURSOR", or in hexadecimal format, "0x0020".
(For a list of WM_ and CB_ message types that are valid cross-platform, refer to swell-types.h. Only these will be recognized by WM_ or CB_ name.)
* wParam, wParamHigh, lParam and lParamHigh: Low and high 16-bit WORDs of the WPARAM and LPARAM parameters.
(Most window messages encode separate information into the two WORDs. However, for those rare cases in which the entire WPARAM and LPARAM must be used to post a large pointer, the script can store this address in wParam or lParam, and keep wParamHigh and lParamHigh zero.)

Notes:
* For more information about parameter and return values, refer to documentation for the Win32 C++ function SendMessage.
* Messages should only be sent to windows that were created from the main thread.
* Useful for simulating mouse clicks and calling mouse modifier actions from scripts.

Parameters:
          identifier windowHWND -
          string message -
          number wParam -
          integer wParamHighWord -
          number lParam -
          integer lParamHighWord -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_AddressFromHandle(JS)

Functioncall:

C: void JS_Window_AddressFromHandle(void* handle, double* addressOut)

EEL: extension_api("JS_Window_AddressFromHandle", void* handle, &address)

Lua: number address = reaper.JS_Window_AddressFromHandle(identifier handle)

Python: (void handle, Float addressOut) = JS_Window_AddressFromHandle(handle, addressOut)

Description:


Parameters:
          identifier handle -
Returnvalues:
          number address -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_ArrayAllChild(JS)

Functioncall:

C: void JS_Window_ArrayAllChild(void* parentHWND, void* reaperarray)

EEL: extension_api("JS_Window_ArrayAllChild", void* parentHWND, void* reaperarray)

Lua: reaper.JS_Window_ArrayAllChild(identifier parentHWND, identifier reaperarray)

Python: JS_Window_ArrayAllChild(void parentHWND, void reaperarray)

Description:
Returns all child windows of the specified parent.



The addresses are stored in the provided reaper.array, and can be converted to REAPER objects (HWNDs) by the function JS_Window_HandleFromAddress.


Parameters:
          identifier parentHWND -
          identifier reaperarray -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_ArrayAllTop(JS)

Functioncall:

C: void JS_Window_ArrayAllTop(void* reaperarray)

EEL: extension_api("JS_Window_ArrayAllTop", void* reaperarray)

Lua: reaper.JS_Window_ArrayAllTop(identifier reaperarray)

Python: JS_Window_ArrayAllTop(void reaperarray)

Description:
Returns all top-level windows.



The addresses are stored in the provided reaper.array, and can be converted to REAPER objects (HWNDs) by the function JS_Window_HandleFromAddress.


Parameters:
          identifier reaperarray -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_ArrayFind(JS)

Functioncall:

C: void JS_Window_ArrayFind(const char* title, bool exact, void* reaperarray)

EEL: extension_api("JS_Window_ArrayFind", "title", bool exact, void* reaperarray)

Lua: reaper.JS_Window_ArrayFind(string title, boolean exact, identifier reaperarray)

Python: JS_Window_ArrayFind(String title, Boolean exact, void reaperarray)

Description:
Returns all windows, whether top-level or child, whose titles match the specified string.



The addresses are stored in the provided reaper.array, and can be converted to REAPER objects (HWNDs) by the function JS_Window_HandleFromAddress.



Parameters: * exact: Match entire title exactly, or match substring of title.


Parameters:
          string title -
          boolean exact -
          identifier reaperarray -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_AttachResizeGrip(JS)

Functioncall:

C: void JS_Window_AttachResizeGrip(void* windowHWND)

EEL: extension_api("JS_Window_AttachResizeGrip", void* windowHWND)

Lua: reaper.JS_Window_AttachResizeGrip(identifier windowHWND)

Python: JS_Window_AttachResizeGrip(void windowHWND)

Description:


Parameters:
          identifier windowHWND -


^ Reaper version 5.965Julian Sader's plugin version 0.988Lua version 5.3 JS_Window_AttachTopmostPin(JS)

Functioncall:

C: void* JS_Window_AttachTopmostPin(void* windowHWND)

EEL: void extension_api("JS_Window_AttachTopmostPin", void* windowHWND)

Lua: identifier HWND = reaper.JS_Window_AttachTopmostPin(identifier windowHWND)

Python: void JS_Window_AttachTopmostPin(void windowHWND)

Description:
Attaches a "pin on top" button to the window frame. The button should remember its state when closing and re-opening the window.

WARNING: This function does not yet work on Linux.

Parameters:
          identifier windowHWND -
Returnvalues:
          identifier HWND -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_ClientToScreen(JS)

Functioncall:

C: void JS_Window_ClientToScreen(void* windowHWND, int x, int y, int* xOut, int* yOut)

EEL: extension_api("JS_Window_ClientToScreen", void* windowHWND, int x, int y, int &x, int &y)

Lua: number x, number y = reaper.JS_Window_ClientToScreen(identifier windowHWND, integer x, integer y)

Python: (void windowHWND, Int x, Int y, Int xOut, Int yOut) = JS_Window_ClientToScreen(windowHWND, x, y, xOut, yOut)

Description:
Converts the client-area coordinates of a specified point to screen coordinates.


Parameters:
          identifier windowHWND -
          integer x -
          integer y -
Returnvalues:
          number x -
          number y -


^ Reaper version 5.982Julian Sader's plugin version 0.995Lua version 5.3 JS_Window_Create(JS)

Functioncall:

C: void* JS_Window_Create(const char* title, const char* className, int x, int y, int w, int h, char* styleOptional, void* ownerHWNDOptional)

EEL: void* extension_api("JS_Window_Create", "title", "className", int x, int y, int w, int h, optional #style, void* ownerHWND)

Lua: identifier retval, optional string style = reaper.JS_Window_Create(string title, string className, integer x, integer y, integer w, integer h, optional string style, identifier ownerHWND)

Python: (void retval, String title, String className, Int x, Int y, Int w, Int h, String styleOptional, void ownerHWNDOptional) = JS_Window_Create(title, className, x, y, w, h, styleOptional, ownerHWNDOptional)

Description:
Creates a modeless window with WS_OVERLAPPEDWINDOW style and only rudimentary features. Scripts can paint into the window using GDI or LICE/Composite functions (and JS_Window_InvalidateRect to trigger re-painting).

style: An optional parameter that overrides the default style. The string may include any combination of standard window styles, such as "POPUP" for a frameless window, or "CAPTION,SIZEBOX,SYSMENU" for a standard framed window.

On Linux and macOS, "MAXIMIZE" has not yet been implemented, and the remaining styles may appear slightly different from their WindowsOS counterparts.

className: On Windows, only standard ANSI characters are supported.

ownerHWND: Optional parameter, only available on WindowsOS. Usually either the REAPER main window or another script window, and useful for ensuring that the created window automatically closes when the owner is closed.

NOTE: On Linux and macOS, the window contents are only updated *between* defer cycles, so the window cannot be animated by for/while loops within a single defer cycle.

Parameters:
          string title -
          string className -
          integer x -
          integer y -
          integer w -
          integer h -
          optional string style -
          identifier ownerHWND -
Returnvalues:
          identifier retval -
          optional string style -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_Destroy(JS)

Functioncall:

C: void JS_Window_Destroy(void* windowHWND)

EEL: extension_api("JS_Window_Destroy", void* windowHWND)

Lua: reaper.JS_Window_Destroy(identifier windowHWND)

Python: JS_Window_Destroy(void windowHWND)

Description:
Destroys the specified window.


Parameters:
          identifier windowHWND -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_Enable(JS)

Functioncall:

C: void JS_Window_Enable(void* windowHWND, bool enable)

EEL: extension_api("JS_Window_Enable", void* windowHWND, bool enable)

Lua: reaper.JS_Window_Enable(identifier windowHWND, boolean enable)

Python: JS_Window_Enable(void windowHWND, Boolean enable)

Description:
Enables or disables mouse and keyboard input to the specified window or control.


Parameters:
          identifier windowHWND -
          boolean enable -


^ Reaper version 5.95Julian Sader's plugin version 0.989Lua version 5.3 JS_Window_Find(JS)

Functioncall:

C: void* JS_Window_Find(const char* title, bool exact)

EEL: void* extension_api("JS_Window_Find", "title", bool exact)

Lua: identifier reaper.JS_Window_Find(string title, boolean exact)

Python: void JS_Window_Find(String title, Boolean exact)

Description:
Returns a HWND to a window whose title matches the specified string.
* Unlike the Win32 function FindWindow, this function searches top-level as well as child windows, so that the target window can be found irrespective of docked state.
* In addition, the function can optionally match substrings of the title.
* Matching is not case sensitive.

Parameters:
* exact: Match entire title, or match substring of title.

Parameters:
          string title - the title of the window to find
          boolean exact - true, title must match exactly the name of the window; false, title can only partially match the windowtitle
Returnvalues:
          identifier - the identifier of the found window, or nil


^ Reaper version 5.982Julian Sader's plugin version 0.990Lua version 5.3 JS_Window_FindChild(JS)

Functioncall:

C: void* JS_Window_FindChild(void* parentHWND, const char* title, bool exact)

EEL: void* extension_api("JS_Window_FindChild", void* parentHWND, "title", bool exact)

Lua: identifier reaper.JS_Window_FindChild(identifier parentHWND, string title, boolean exact)

Python: void JS_Window_FindChild(void parentHWND, String title, Boolean exact)

Description:
Returns a HWND to a child window whose title matches the specified string.

Parameters:

* exact: Match entire title length, or match substring of title. In both cases, matching is not case sensitive.


Parameters:
          identifier parentHWND - the identifier of the parent window to the child-window
          string title - the title of the child-window to find
          boolean exact - true, title must match exactly the name of the window; false, title can only partially match the windowtitle
Returnvalues:
          identifier - the identifier for the window found; nil, if no such window found


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Window_FindChildByID(JS)

Functioncall:

C: void* JS_Window_FindChildByID(void* parentHWND, int ID)

EEL: void* extension_api("JS_Window_FindChildByID", void* parentHWND, int ID)

Lua: identifier HWND = reaper.JS_Window_FindChildByID(identifier parentHWND, integer ID)

Python: void JS_Window_FindChildByID(void parentHWND, Int ID)

Description:
Similar to the C++ WIN32 function GetDlgItem, this function finds child windows by ID.

(The ID of a window may be retrieved by JS_Window_GetLongPtr.)

For instance: with Reaper's MainHWND, you can get:
0: Transport(Windows)/MainHWND(Mac)
999: project-tabs(if existing, otherwise will be nil)
1000: trackview
1005: timeline
1259: Mouse editing help in the area beneath the track control panels

Parameters:
          identifier parentHWND - the parent HWND, whose child-HWNDs you want to search through
          integer ID - the ID of the childHWND
Returnvalues:
          identifier HWND - the HWND of the window, that the function found


^ Reaper version 5.965Julian Sader's plugin version 0.964Lua version 5.3 JS_Window_FindEx(JS)

Functioncall:

C: void* JS_Window_FindEx(void* parentHWND, void* childHWND, const char* className, const char* title)

EEL: void* extension_api("JS_Window_FindEx", void* parentHWND, void* childHWND, "className", "title")

Lua: identifier HWND - reaper.JS_Window_FindEx(identifier parentHWND, identifier childHWND, string className, string title)

Python: void JS_Window_FindEx(void parentHWND, void childHWND, String className, String title)

Description:
Returns a handle to a child window whose class and title match the specified strings.

Parameters: * childWindow: The function searches child windows, beginning with the window after the specified child window. If childHWND is equal to parentHWND, the search begins with the first child window of parentHWND.
* title: An empty string, "", will match all windows. (Search is not case sensitive.)

Parameters:
          identifier parentHWND - the parent hwnd of the child-window to find
          identifier childHWND - the parent child-window of the window to find; set it to parentHWND to search beginning with the first childhwnd of the parenthwnd
          string className - the name of the class of the child-window, that you want to find
          string title - the title of the child-window to find
Returnvalues:
          identifier HWND - the found window; nil, if no window has been found


^ Reaper version 5.965Julian Sader's plugin version 0.989Lua version 5.3 JS_Window_FindTop(JS)

Functioncall:

C: void* JS_Window_FindTop(const char* title, bool exact)

EEL: void* extension_api("JS_Window_FindTop", "title", bool exact)

Lua: identifier reaper.JS_Window_FindTop(string title, boolean exact)

Python: void JS_Window_FindTop(String title, Boolean exact)

Description:
Returns a HWND to a top-level window whose title matches the specified string.

Parameters:
* exact: Match entire title length, or match substring of title. In both cases, matching is not case sensitive.

Parameters:
          string title - the title of the top-level window to find
          boolean exact - true, title must match exactly the name of the window; false, title can only partially match the windowtitle
Returnvalues:
          identifier HWND - the found identifier of the window; nil, if not found


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_FromPoint(JS)

Functioncall:

C: void* JS_Window_FromPoint(int x, int y)

EEL: void* extension_api("JS_Window_FromPoint", int x, int y)

Lua: identifier reaper.JS_Window_FromPoint(integer x, integer y)

Python: void JS_Window_FromPoint(Int x, Int y)

Description:
Retrieves a HWND to the window that contains the specified point.


Parameters:
          integer x - the x-position in pixels, at which to find the window
          integer y - the y-position in pixels, at which to find the window
Returnvalues:
          identifier - the window found at the coordinates


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetClassName(JS)

Functioncall:

C: void JS_Window_GetClassName(void* windowHWND, char* buf, int buf_sz)

EEL: extension_api("JS_Window_GetClassName", void* windowHWND, #buf)

Lua: string buf = reaper.JS_Window_GetClassName(identifier windowHWND, string buf)

Python: (void windowHWND, String buf, Int buf_sz) = JS_Window_GetClassName(windowHWND, buf, buf_sz)

Description:
WARNING: May not be fully implemented on MacOS and Linux.


Parameters:
          identifier windowHWND -
          string buf -
Returnvalues:
          string buf -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetClientRect(JS)

Functioncall:

C: bool JS_Window_GetClientRect(void* windowHWND, int* leftOut, int* topOut, int* rightOut, int* bottomOut)

EEL: bool extension_api("JS_Window_GetClientRect", void* windowHWND, int &left, int &top, int &right, int &bottom)

Lua: boolean retval, number left, number top, number right, number bottom = reaper.JS_Window_GetClientRect(identifier windowHWND)

Python: (Boolean retval, void windowHWND, Int leftOut, Int topOut, Int rightOut, Int bottomOut) = JS_Window_GetClientRect(windowHWND, leftOut, topOut, rightOut, bottomOut)

Description:
Retrieves the coordinates of the client area rectangle of the specified window. The dimensions are given in screen coordinates relative to the upper-left corner of the screen.

NOTE 1: Unlike the C++ function GetClientRect, this function returns the actual coordinates, not the width and height.

NOTE 2: The pixel at (right, bottom) lies immediately outside the rectangle.


Parameters:
          identifier windowHWND -
Returnvalues:
          boolean retval -
          number left -
          number top -
          number right -
          number bottom -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetFocus(JS)

Functioncall:

C: void* JS_Window_GetFocus()

EEL: void* extension_api("JS_Window_GetFocus")

Lua: identifier reaper.JS_Window_GetFocus()

Python: void JS_Window_GetFocus()

Description:
Retrieves a HWND to the window that has the keyboard focus, if the window is attached to the calling thread's message queue.


Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetForeground(JS)

Functioncall:

C: void* JS_Window_GetForeground()

EEL: void* extension_api("JS_Window_GetForeground")

Lua: identifier reaper.JS_Window_GetForeground()

Python: void JS_Window_GetForeground()

Description:
Retrieves a HWND to the foreground window (the window with which the user is currently working).


Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetLongPtr(JS)

Functioncall:

C: void* JS_Window_GetLongPtr(void* windowHWND, const char* info)

EEL: void* extension_api("JS_Window_GetLongPtr", void* windowHWND, "info")

Lua: identifier reaper.JS_Window_GetLongPtr(identifier windowHWND, string info)

Python: void JS_Window_GetLongPtr(void windowHWND, String info)

Description:
Returns information about the specified window.



info: "USERDATA", "WNDPROC", "DLGPROC", "ID", "EXSTYLE" or "STYLE".



For documentation about the types of information returned, refer to the Win32 function GetWindowLongPtr.


Parameters:
          identifier windowHWND -
          string info -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetParent(JS)

Functioncall:

C: void* JS_Window_GetParent(void* windowHWND)

EEL: void* extension_api("JS_Window_GetParent", void* windowHWND)

Lua: identifier reaper.JS_Window_GetParent(identifier windowHWND)

Python: void JS_Window_GetParent(void windowHWND)

Description:
Retrieves a HWND to the specified window's parent or owner.

Returns NULL if the window is unowned or if the function otherwise fails.


Parameters:
          identifier windowHWND -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetRect(JS)

Functioncall:

C: bool JS_Window_GetRect(void* windowHWND, int* leftOut, int* topOut, int* rightOut, int* bottomOut)

EEL: bool extension_api("JS_Window_GetRect", void* windowHWND, int &left, int &top, int &right, int &bottom)

Lua: boolean retval, number left, number top, number right, number bottom = reaper.JS_Window_GetRect(identifier windowHWND)

Python: (Boolean retval, void windowHWND, Int leftOut, Int topOut, Int rightOut, Int bottomOut) = JS_Window_GetRect(windowHWND, leftOut, topOut, rightOut, bottomOut)

Description:
Retrieves the coordinates of the bounding rectangle of the specified window. The dimensions are given in screen coordinates relative to the upper-left corner of the screen.

NOTE: The pixel at (right, bottom) lies immediately outside the rectangle.


Parameters:
          identifier windowHWND -
Returnvalues:
          boolean retval -
          number left -
          number top -
          number right -
          number bottom -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetRelated(JS)

Functioncall:

C: void* JS_Window_GetRelated(void* windowHWND, const char* relation)

EEL: void* extension_api("JS_Window_GetRelated", void* windowHWND, "relation")

Lua: identifier reaper.JS_Window_GetRelated(identifier windowHWND, string relation)

Python: void JS_Window_GetRelated(void windowHWND, String relation)

Description:
Retrieves a handle to a window that has the specified relationship (Z-Order or owner) to the specified window.

relation: "LAST", "NEXT", "PREV", "OWNER" or "CHILD".

(Refer to documentation for Win32 C++ function GetWindow.)


Parameters:
          identifier windowHWND -
          string relation -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_GetScrollInfo(JS)

Functioncall:

C: bool JS_Window_GetScrollInfo(void* windowHWND, const char* scrollbar, int* positionOut, int* pageSizeOut, int* minOut, int* maxOut, int* trackPosOut)

EEL: bool extension_api("JS_Window_GetScrollInfo", void* windowHWND, "scrollbar", int &position, int &pageSize, int &min, int &max, int &trackPos)

Lua: boolean retval, number position, number pageSize, number min, number max, number trackPos = reaper.JS_Window_GetScrollInfo(identifier windowHWND, string scrollbar)

Python: (Boolean retval, void windowHWND, String scrollbar, Int positionOut, Int pageSizeOut, Int minOut, Int maxOut, Int trackPosOut) = JS_Window_GetScrollInfo(windowHWND, scrollbar, positionOut, pageSizeOut, minOut, maxOut, trackPosOut)

Description:
Retrieves the scroll information of a window.



Parameters:

* scrollbar: "v" (or "SB_VERT", or "VERT") for vertical scroll, "h" (or "SB_HORZ" or "HORZ") for horizontal.



Returns:

* Leftmost or topmost visible pixel position, as well as the visible page size, the range minimum and maximum, and scroll box tracking position.


Parameters:
          identifier windowHWND -
          string scrollbar -
Returnvalues:
          boolean retval -
          number position -
          number pageSize -
          number min -
          number max -
          number trackPos -


^ Reaper version 5.95Julian Sader's plugin version 0.992Lua version 5.3 JS_Window_GetTitle(JS)

Functioncall:

C: void JS_Window_GetTitle(void* windowHWND, char* titleOut, int titleOut_sz)

EEL: extension_api("JS_Window_GetTitle", void* windowHWND, #title)

Lua: string title = reaper.JS_Window_GetTitle(identifier windowHWND)

Python: (void windowHWND, String titleOut, Int titleOut_sz) = JS_Window_GetTitle(windowHWND, titleOut, titleOut_sz)

Description:
Returns the title (if any) of the specified window.


Parameters:
          identifier windowHWND - the hwnd of the window, whose title you want to retrieve
Returnvalues:
          string title - the title of the window


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_Window_GetViewportFromRect(JS)

Functioncall:

C: void JS_Window_GetViewportFromRect(int x1, int y1, int x2, int y2, bool wantWork, int* leftOut, int* topOut, int* rightOut, int* bottomOut)

EEL: extension_api("JS_Window_GetViewportFromRect", int x1, int y1, int x2, int y2, bool wantWork, int &left, int &top, int &right, int &bottom)

Lua: number left, number top, number right, number bottom = reaper.JS_Window_GetViewportFromRect(integer x1, integer y1, integer x2, integer y2, boolean wantWork)

Python: (Int x1, Int y1, Int x2, Int y2, Boolean wantWork, Int leftOut, Int topOut, Int rightOut, Int bottomOut) = JS_Window_GetViewportFromRect(x1, y1, x2, y2, wantWork, leftOut, topOut, rightOut, bottomOut)

Description:
Retrieves the dimensions of the display monitor that has the largest area of intersection with the specified rectangle.

If the monitor is not the primary display, some of the rectangle's coordinates may be negative.

wantWork: Returns the work area of the display, which excludes the system taskbar or application desktop toolbars.

Parameters:
          integer x1 -
          integer y1 -
          integer x2 -
          integer y2 -
          boolean wantWork -
Returnvalues:
          number left -
          number top -
          number right -
          number bottom -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_HandleFromAddress(JS)

Functioncall:

C: void* JS_Window_HandleFromAddress(double address)

EEL: void* extension_api("JS_Window_HandleFromAddress", address)

Lua: identifier reaper.JS_Window_HandleFromAddress(number address)

Python: void JS_Window_HandleFromAddress(Float address)

Description:
Converts an address to a handle (such as a HWND) that can be utilized by REAPER and other API functions.


Parameters:
          number address -
Returnvalues:
          identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_Window_InvalidateRect(JS)

Functioncall:

C: bool JS_Window_InvalidateRect(void* windowHWND, int left, int top, int right, int bottom, bool eraseBackground)

EEL: bool extension_api("JS_Window_InvalidateRect", void* windowHWND, int left, int top, int right, int bottom, bool eraseBackground)

Lua: boolean retval = reaper.JS_Window_InvalidateRect(identifier windowHWND, integer left, integer top, integer right, integer bottom, boolean eraseBackground)

Python: Boolean JS_Window_InvalidateRect(void windowHWND, Int left, Int top, Int right, Int bottom, Boolean eraseBackground)

Description:
Similar to the Win32 function InvalidateRect.


Parameters:
          identifier windowHWND -
          integer left -
          integer top -
          integer right -
          integer bottom -
          boolean eraseBackground -
Returnvalues:
          boolean retval -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_IsChild(JS)

Functioncall:

C: bool JS_Window_IsChild(void* parentHWND, void* childHWND)

EEL: bool extension_api("JS_Window_IsChild", void* parentHWND, void* childHWND)

Lua: boolean reaper.JS_Window_IsChild(identifier parentHWND, identifier childHWND)

Python: Boolean JS_Window_IsChild(void parentHWND, void childHWND)

Description:
Determines whether a window is a child window or descendant window of a specified parent window.


Parameters:
          identifier parentHWND -
          identifier childHWND -
Returnvalues:
          boolean -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_IsVisible(JS)

Functioncall:

C: bool JS_Window_IsVisible(void* windowHWND)

EEL: bool extension_api("JS_Window_IsVisible", void* windowHWND)

Lua: boolean reaper.JS_Window_IsVisible(identifier windowHWND)

Python: Boolean JS_Window_IsVisible(void windowHWND)

Description:
Determines the visibility state of the window.


Parameters:
          identifier windowHWND -
Returnvalues:
          boolean -


^ Reaper version 5.965Julian Sader's plugin version 0.971Lua version 5.3 JS_Window_IsWindow(JS)

Functioncall:

C: bool JS_Window_IsWindow(void* windowHWND)

EEL: bool extension_api("JS_Window_IsWindow", void* windowHWND)

Lua: boolean reaper.JS_Window_IsWindow(identifier windowHWND)

Python: Boolean JS_Window_IsWindow(void windowHWND)

Description:
DEPRECATED: Since REAPER v5.974, windows can be checked using the native function ValidatePtr(windowHWND, "HWND").

Determines whether the specified window handle identifies an existing window.

On macOS and Linux, only windows that were created by WDL/swell will be identified (and only such windows should be acted on by scripts).

WARNING! On MacOS and Linux, REAPER WILL CRASH if the handle passed to a JS_Window or JS_WindowMessage function does not refer to an existing window.

The IsWindow function is slower on macOS and Linux. Preferably use native functions such as MIDIEditor_GetMode to test handles.

Parameters:
          identifier windowHWND -
Returnvalues:
          boolean -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Window_ListAllChild(JS)

Functioncall:

C: int JS_Window_ListAllChild(void* parentHWND, char* listOutNeedBig, int listOutNeedBig_sz)

EEL: int extension_api("JS_Window_ListAllChild", void* parentHWND, #list)

Lua: integer retval, string list = reaper.JS_Window_ListAllChild(identifier parentHWND)

Python: (Int retval, void parentHWND, String listOutNeedBig, Int listOutNeedBig_sz) = JS_Window_ListAllChild(parentHWND, listOutNeedBig, listOutNeedBig_sz)

Description:
Finds all child windows of the specified parent.

Returns:
* retval: The number of windows found; negative if an error occurred.
* list: A comma-separated string of hexadecimal values.
Each value is an address that can be converted to a HWND by the function JS_Window_HandleFromAddress.

Parameters:
          identifier parentHWND -
Returnvalues:
          integer retval -
          string list -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Window_ListAllTop(JS)

Functioncall:

C: int JS_Window_ListAllTop(char* listOutNeedBig, int listOutNeedBig_sz)

EEL: int extension_api("JS_Window_ListAllTop", #list)

Lua: integer retval, string list = reaper.JS_Window_ListAllTop()

Python: (Int retval, String listOutNeedBig, Int listOutNeedBig_sz) = JS_Window_ListAllTop(listOutNeedBig, listOutNeedBig_sz)

Description:
Finds all top-level windows.

Returns:
* retval: The number of windows found; negative if an error occurred.
* list: A comma-separated string of hexadecimal values. Each value is an address that can be converted to a HWND by the function JS_Window_HandleFromAddress.

Returnvalues:
          integer retval -
          string list -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Window_ListFind(JS)

Functioncall:

C: int JS_Window_ListFind(const char* title, bool exact, char* listOutNeedBig, int listOutNeedBig_sz)

EEL: int extension_api("JS_Window_ListFind", "title", bool exact, #list)

Lua: integer retval, string list = reaper.JS_Window_ListFind(string title, boolean exact)

Python: (Int retval, String title, Boolean exact, String listOutNeedBig, Int listOutNeedBig_sz) = JS_Window_ListFind(title, exact, listOutNeedBig, listOutNeedBig_sz)

Description:
Finds all windows (whether top-level or child) whose titles match the specified string.

Returns:
* retval: The number of windows found; negative if an error occurred.
* list: A comma-separated string of hexadecimal values. Each value is an address that can be converted to a HWND by the function JS_Window_HandleFromAddress.

Parameters:
* exact: Match entire title exactly, or match substring of title.

Parameters:
          string title -
          boolean exact -
Returnvalues:
          integer retval -
          string list -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Window_MonitorFromRect(JS)

Functioncall:

C: void JS_Window_MonitorFromRect(int x1, int y1, int x2, int y2, bool wantWork, int* leftOut, int* topOut, int* rightOut, int* bottomOut)

EEL: extension_api("JS_Window_MonitorFromRect", int x1, int y1, int x2, int y2, bool wantWork, int &left, int &top, int &right, int &bottom)

Lua: number left, number top, number right, number bottom = reaper.JS_Window_MonitorFromRect(integer x1, integer y1, integer x2, integer y2, boolean wantWork)

Python: (Int x1, Int y1, Int x2, Int y2, Boolean wantWork, Int leftOut, Int topOut, Int rightOut, Int bottomOut) = JS_Window_MonitorFromRect(x1, y1, x2, y2, wantWork, leftOut, topOut, rightOut, bottomOut)

Description:
Deprecated - use GetViewportFromRect instead.

Parameters:
          integer x1 -
          integer y1 -
          integer x2 -
          integer y2 -
          boolean wantWork -
Returnvalues:
          number left -
          number top -
          number right -
          number bottom -


^ Reaper version 5.95Julian Sader's plugin version 0.993Lua version 5.3 JS_Window_Move(JS)

Functioncall:

C: void JS_Window_Move(void* windowHWND, int left, int top)

EEL: extension_api("JS_Window_Move", void* windowHWND, int left, int top)

Lua: reaper.JS_Window_Move(identifier windowHWND, integer left, integer top)

Python: JS_Window_Move(void windowHWND, Int left, Int top)

Description:
Changes the position of the specified window, keeping its size constant.

NOTES:
* For top-level windows, position is relative to the primary display.
* On Windows and Linux, position is calculated as the coordinates of the upper left corner of the window, relative to upper left corner of the primary display, and the positive Y-axis points downward.
* On macOS, position is calculated as the coordinates of the bottom left corner of the window, relative to bottom left corner of the display, and the positive Y-axis points upward.
* For a child window, on all platforms, position is relative to the upper-left corner of the parent window's client area.
* Equivalent to calling JS_Window_SetPosition with NOSIZE, NOZORDER, NOACTIVATE and NOOWNERZORDER flags set.

Parameters:
          identifier windowHWND -
          integer left -
          integer top -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_Window_OnCommand(JS)

Functioncall:

C: bool JS_Window_OnCommand(void* windowHWND, int commandID)

EEL: bool extension_api("JS_Window_OnCommand", void* windowHWND, int commandID)

Lua: boolean retval = reaper.JS_Window_OnCommand(identifier windowHWND, integer commandID)

Python: Boolean JS_Window_OnCommand(void windowHWND, Int commandID)

Description:
Sends a "WM_COMMAND" message to the specified window, which simulates a user selecting a command in the window menu.

This function is similar to Main_OnCommand and MIDIEditor_OnCommand, but can send commands to any window that has a menu.

In the case of windows that are listed among the Action list's contexts (such as the Media Explorer), the commandIDs of the actions in the Actions list may be used.

Parameters:
          identifier windowHWND -
          integer commandID -
Returnvalues:
          boolean retval -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_RemoveXPStyle(JS)

Functioncall:

C: bool JS_Window_RemoveXPStyle(void* windowHWND, bool remove)

EEL: bool extension_api("JS_Window_RemoveXPStyle", void* windowHWND, bool remove)

Lua: boolean reaper.JS_Window_RemoveXPStyle(identifier windowHWND, boolean remove)

Python: Boolean JS_Window_RemoveXPStyle(void windowHWND, Boolean remove)

Description:
deprecated, removed from JS_0.952 and later

Parameters:
          identifier windowHWND -
          boolean remove -
Returnvalues:
          boolean -


^ Reaper version 5.95Julian Sader's plugin version 0.993Lua version 5.3 JS_Window_Resize(JS)

Functioncall:

C: void JS_Window_Resize(void* windowHWND, int width, int height)

EEL: extension_api("JS_Window_Resize", void* windowHWND, int width, int height)

Lua: reaper.JS_Window_Resize(identifier windowHWND, integer width, integer height)

Python: JS_Window_Resize(void windowHWND, Int width, Int height)

Description:
Changes the dimensions of the specified window, keeping the top left corner position constant.

* If resizing script GUIs, call gfx.update() after resizing.

* Equivalent to calling JS_Window_SetPosition with NOMOVE, NOZORDER, NOACTIVATE and NOOWNERZORDER flags set.

Parameters:
          identifier windowHWND -
          integer width -
          integer height -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_ScreenToClient(JS)

Functioncall:

C: void JS_Window_ScreenToClient(void* windowHWND, int x, int y, int* xOut, int* yOut)

EEL: extension_api("JS_Window_ScreenToClient", void* windowHWND, int x, int y, int &x, int &y)

Lua: number x, number y = reaper.JS_Window_ScreenToClient(identifier windowHWND, integer x, integer y)

Python: (void windowHWND, Int x, Int y, Int xOut, Int yOut) = JS_Window_ScreenToClient(windowHWND, x, y, xOut, yOut)

Description:
Converts the screen coordinates of a specified point on the screen to client-area coordinates.


Parameters:
          identifier windowHWND -
          integer x -
          integer y -
Returnvalues:
          number x -
          number y -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_SetFocus(JS)

Functioncall:

C: void JS_Window_SetFocus(void* windowHWND)

EEL: extension_api("JS_Window_SetFocus", void* windowHWND)

Lua: reaper.JS_Window_SetFocus(identifier windowHWND)

Python: JS_Window_SetFocus(void windowHWND)

Description:
Sets the keyboard focus to the specified window.


Parameters:
          identifier windowHWND -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_SetForeground(JS)

Functioncall:

C: void JS_Window_SetForeground(void* windowHWND)

EEL: extension_api("JS_Window_SetForeground", void* windowHWND)

Lua: reaper.JS_Window_SetForeground(identifier windowHWND)

Python: JS_Window_SetForeground(void windowHWND)

Description:
Brings the specified window into the foreground, activates the window, and directs keyboard input to it.


Parameters:
          identifier windowHWND -


^ Reaper version 5.982Julian Sader's plugin version 0.990Lua version 5.3 JS_Window_SetLong(JS)

Functioncall:

C: void JS_Window_SetLong(void* windowHWND, const char* info, double value, double* retvalOut)

EEL: extension_api("JS_Window_SetLong", void* windowHWND, "info", value, &retval)

Lua: number retval = reaper.JS_Window_SetLong(identifier windowHWND, string info, number value)

Python: (void windowHWND, String info, Float value, Float retvalOut) = JS_Window_SetLong(windowHWND, info, value, retvalOut)

Description:
Similar to the Win32 function SetWindowLongPtr.

info: "USERDATA", "WNDPROC", "DLGPROC", "ID", "EXSTYLE" or "STYLE", and only on WindowOS, "INSTANCE" and "PARENT".

Parameters:
          identifier windowHWND -
          string info -
          number value -
Returnvalues:
          number retval -


^ Reaper version 5.982Julian Sader's plugin version 0.990Lua version 5.3 JS_Window_SetOpacity(JS)

Functioncall:

C: bool JS_Window_SetOpacity(void* windowHWND, const char* mode, double value)

EEL: bool extension_api("JS_Window_SetOpacity", void* windowHWND, "mode", value)

Lua: boolean reaper.JS_Window_SetOpacity(identifier windowHWND, string mode, number value)

Python: Boolean JS_Window_SetOpacity(void windowHWND, String mode, Float value)

Description:
Sets the window opacity.

Parameters:
mode: either "ALPHA" or "COLOR".
value: If ALPHA, the specified value may range from zero to one, and will apply to the entire window, frame included.
If COLOR, value specifies a 0xRRGGBB color, and all pixels of this color will be made transparent. (All mouse clicks over transparent pixels will pass through, too).

WARNING: COLOR mode is only available in Windows, not Linux or macOS.

Transparency can only be applied to top-level windows. If windowHWND refers to a child window, the entire top-level window that contains windowHWND will be made transparent.

Parameters:
          identifier windowHWND -
          string mode -
          number value -
Returnvalues:
          boolean -


^ Reaper version 5.982Julian Sader's plugin version 0.998Lua version 5.3 JS_Window_SetParent(JS)

Functioncall:

C: void* JS_Window_SetParent(void* childHWND, void* parentHWND)

EEL: void* extension_api("JS_Window_SetParent", void* childHWND, void* parentHWND)

Lua: identifier reaper.JS_Window_SetParent(identifier childHWND, identifier parentHWND)

Python: void JS_Window_SetParent(void childHWND, void parentHWND)

Description:
If successful, returns a handle to the previous parent window.

Parameters:
          identifier childHWND -
          identifier parentHWND -
Returnvalues:
          identifier Identifier -


^ Reaper version 5.95Julian Sader's plugin version 0.991Lua version 5.3 JS_Window_SetPosition(JS)

Functioncall:

C: bool JS_Window_SetPosition(void* windowHWND, int left, int top, int width, int height, char* ZOrderOptional, char* flagsOptional)

EEL: bool extension_api("JS_Window_SetPosition", void* windowHWND, int left, int top, int width, int height, optional #ZOrder, optional #flags)

Lua: boolean retval, optional string ZOrder, optional string flags = reaper.JS_Window_SetPosition(identifier windowHWND, integer left, integer top, integer width, integer height, optional string ZOrder, optional string flags)

Python: (Boolean retval, void windowHWND, Int left, Int top, Int width, Int height, String ZOrderOptional, String flagsOptional) = JS_Window_SetPosition(windowHWND, left, top, width, height, ZOrderOptional, flagsOptional)

Description:
Interface to the Win32/swell function SetWindowPos, with which window position, size, Z-order and visibility can be set, and new frame styles can be applied.

ZOrder and flags are optional parameters. If no arguments are supplied, the window will simply be moved and resized, as if the NOACTIVATE, NOZORDER, NOOWNERZORDER flags were set.
* ZOrder: "BOTTOM", "TOPMOST", "NOTOPMOST", "TOP" or a window HWND converted to a string, for example by the Lua function tostring.
* flags: Any combination of the standard flags, of which "NOMOVE", "NOSIZE", "NOZORDER", "NOACTIVATE", "SHOWWINDOW", "FRAMECHANGED" and "NOCOPYBITS" should be valid cross-platform.

Parameters:
          identifier windowHWND -
          integer left -
          integer top -
          integer width -
          integer height -
          optional string ZOrder -
          optional string flags -
Returnvalues:
          boolean retval -
          optional string ZOrder -
          optional string flags -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_SetScrollPos(JS)

Functioncall:

C: bool JS_Window_SetScrollPos(void* windowHWND, const char* scrollbar, int position)

EEL: bool extension_api("JS_Window_SetScrollPos", void* windowHWND, "scrollbar", int position)

Lua: boolean reaper.JS_Window_SetScrollPos(identifier windowHWND, string scrollbar, integer position)

Python: Boolean JS_Window_SetScrollPos(void windowHWND, String scrollbar, Int position)

Description:
Parameters:

* scrollbar: "v" (or "SB_VERT", or "VERT") for vertical scroll, "h" (or "SB_HORZ" or "HORZ") for horizontal.



NOTE: API functions can scroll REAPER's windows, but cannot zoom them.  Instead, use actions such as "View: Zoom to one loop iteration".


Parameters:
          identifier windowHWND -
          string scrollbar -
          integer position -
Returnvalues:
          boolean -


^ Reaper version 5.95Julian Sader's plugin version 0.991Lua version 5.3 JS_Window_SetStyle(JS)

Functioncall:

C: bool JS_Window_SetStyle(void* windowHWND, char* style)

EEL: bool extension_api("JS_Window_SetStyle", void* windowHWND, #style)

Lua: boolean retval, string style = reaper.JS_Window_SetStyle(identifier windowHWND, string style)

Python: (Boolean retval, void windowHWND, String style) = JS_Window_SetStyle(windowHWND, style)

Description:
Sets and applies a window style.

style may include any combination of standard window styles, such as "POPUP" for a frameless window, or "CAPTION,SIZEBOX,SYSMENU" for a standard framed window.

On Linux and macOS, "MAXIMIZE" has not yet been implmented, and the remaining styles may appear slightly different from their WindowsOS counterparts.

Parameters:
          identifier windowHWND -
          string style -
Returnvalues:
          boolean retval -
          string style -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 JS_Window_SetTitle(JS)

Functioncall:

C: bool JS_Window_SetTitle(void* windowHWND, const char* title)

EEL: bool extension_api("JS_Window_SetTitle", void* windowHWND, "title")

Lua: boolean reaper.JS_Window_SetTitle(identifier windowHWND, string title)

Python: Boolean JS_Window_SetTitle(void windowHWND, String title)

Description:
Changes the title of the specified window. Returns true if successful.


Parameters:
          identifier windowHWND -
          string title -
Returnvalues:
          boolean -


^ Reaper version 5.982Julian Sader's plugin version 0.991Lua version 5.3 JS_Window_SetZOrder(JS)

Functioncall:

C: bool JS_Window_SetZOrder(void* windowHWND, const char* ZOrder, void* insertAfterHWND)

EEL: bool extension_api("JS_Window_SetZOrder", void* windowHWND, "ZOrder", void* insertAfterHWND)

Lua: boolean reaper.JS_Window_SetZOrder(identifier windowHWND, string ZOrder, identifier insertAfterHWND)

Python: Boolean JS_Window_SetZOrder(void windowHWND, String ZOrder, void insertAfterHWND)

Description:
Sets the window Z order.
* Equivalent to calling JS_Window_SetPos with flags NOMOVE | NOSIZE.
* Not all the Z orders have been implemented in Linux yet.

Parameters:
* ZOrder: "BOTTOM", "TOPMOST", "NOTOPMOST", "TOP", or a window HWND converted to a string, for example by the Lua function tostring.

* InsertAfterHWND: For compatibility with older versions, this parameter is still available, and is optional. If ZOrder is "INSERTAFTER", insertAfterHWND must be a handle to the window behind which windowHWND will be placed in the Z order, equivalent to setting ZOrder to this HWND; otherwise, insertAfterHWND is ignored and can be left out (or it can simply be set to the same value as windowHWND).

Parameters:
          identifier windowHWND -
          string ZOrder -
          identifier insertAfterHWND -
Returnvalues:
          boolean -


^ Reaper version 5.982Julian Sader's plugin version 0.991Lua version 5.3 JS_Window_Show(JS)

Functioncall:

C: void JS_Window_Show(void* windowHWND, const char* state)

EEL: extension_api("JS_Window_Show", void* windowHWND, "state")

Lua: reaper.JS_Window_Show(identifier windowHWND, string state)

Python: JS_Window_Show(void windowHWND, String state)

Description:
Sets the specified window's show state.

Parameters:
* state: One of the following options: "SHOW", "SHOWNA" (or "SHOWNOACTIVATE"), "SHOWMINIMIZED", "HIDE", "NORMAL", "SHOWNORMAL", "SHOWMAXIMIZED", "SHOWDEFAULT" or "RESTORE".

On Linux and macOS, only the first four options are fully implemented.


Parameters:
          identifier windowHWND -
          string state -


^ Reaper version 5.95Julian Sader's plugin version 0.980Lua version 5.3 JS_Window_Update(JS)

Functioncall:

C: void JS_Window_Update(void* windowHWND)

EEL: extension_api("JS_Window_Update", void* windowHWND)

Lua: reaper.JS_Window_Update(identifier windowHWND)

Python: JS_Window_Update(void windowHWND)

Description:
Similar to the Win32 function UpdateWindow.

Parameters:
          identifier windowHWND -


^ Reaper version 5.95Julian Sader's plugin version 0.962Lua version 5.3 JS_Dialog_BrowseForFolder(JS)

Functioncall:

C: int JS_Dialog_BrowseForFolder(const char* caption, const char* initialFolder, char* folderOutNeedBig, int folderOutNeedBig_sz)

EEL: int extension_api("JS_Dialog_BrowseForFolder", "caption", "initialFolder", #folder)

Lua: integer retval, string folder = reaper.JS_Dialog_BrowseForFolder(string caption, string initialFolder)

Python: (Int retval, String caption, String initialFolder, String folderOutNeedBig, Int folderOutNeedBig_sz) = JS_Dialog_BrowseForFolder(caption, initialFolder, folderOutNeedBig, folderOutNeedBig_sz)

Description:
retval is 1 if a folder was selected, 0 if the user canceled the dialog, and -1 if an error occurred.

Parameters:
          string caption - the captiontext for the folder-selection dialog
          string initialFolder - the path to the folder, which shall be highlighted initially
Returnvalues:
          integer retval - 0, no folder was selected(user hit cancel-button); 1, folder was selected; -1, in case of an error
          string folder - the path to the folder that was selected


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_Dialog_BrowseForOpenFiles(JS)

Functioncall:

C: int JS_Dialog_BrowseForOpenFiles(const char* windowTitle, const char* initialFolder, const char* initialFile, const char* extensionList, bool allowMultiple, char* fileNamesOutNeedBig, int fileNamesOutNeedBig_sz)

EEL: int extension_api("JS_Dialog_BrowseForOpenFiles", "windowTitle", "initialFolder", "initialFile", "extensionList", bool allowMultiple, #fileNames)

Lua: integer retval, string fileNames = reaper.JS_Dialog_BrowseForOpenFiles(string windowTitle, string initialFolder, string initialFile, string extensionList, boolean allowMultiple)

Python: (Int retval, String windowTitle, String initialFolder, String initialFile, String extensionList, Boolean allowMultiple, String fileNamesOutNeedBig, Int fileNamesOutNeedBig_sz) = JS_Dialog_BrowseForOpenFiles(windowTitle, initialFolder, initialFile, extensionList, allowMultiple, fileNamesOutNeedBig, fileNamesOutNeedBig_sz)

Description:
If allowMultiple is true, multiple files may be selected. The returned string is \0-separated, with the first substring containing the folder path and subsequent substrings containing the file names.
* On macOS, the first substring may be empty, and each file name will then contain its entire path.
* This function only allows selection of existing files, and does not allow creation of new files.

extensionList is a string containing pairs of \0-terminated substrings. The last substring must be terminated by two \0 characters. Each pair defines one filter pattern:
* The first substring in each pair describes the filter in user-readable form (for example, "Lua script files (*.lua)") and will be displayed in the dialog box.
* The second substring specifies the filter that the operating system must use to search for the files (for example, "*.txt"; the wildcard should not be omitted). To specify multiple extensions for a single display string, use a semicolon to separate the patterns (for example, "*.lua;*.eel").

An example of an extensionList string:
"ReaScript files\0*.lua;*.eel\0Lua files (.lua)\0*.lua\0EEL files (.eel)\0*.eel\0\0".

On macOS, file dialogs do not accept empty extensionLists, nor wildcard extensions (such as "All files\0*.*\0\0"), so each acceptable extension must be listed explicitly. On Linux and Windows, wildcard extensions are acceptable, and if the extensionList string is empty, the dialog will display a default "All files (*.*)" filter.

retval is 1 if one or more files were selected, 0 if the user cancelled the dialog, or negative if an error occurred.

Displaying \0-separated strings:
* REAPER's IDE and ShowConsoleMsg only display strings up to the first \0 byte. If multiple files were selected, only the first substring containing the path will be displayed. This is not a problem for Lua or EEL, which can access the full string beyond the first \0 byte as usual.

Parameters:
          string windowTitle - the title of the file-selection-window
          string initialFolder - the initial folder opened in the file-chooser-dialog
          string initialFile - the default-filename already entered in the filename-entrybox
          string extensionList - a list of extensions that can be selected in the selection-list.
the list has the following structure(separate the entries with a \0):
       "description of type1\0type1\0description of type 2\0type2\0"
the description of type can be anything that describes the type(s),
to define one type, write: *.ext
to define multiple types, write: *.ext;*.ext2;*.ext3
the extensionList must end with a \0
          boolean allowMultiple - true, allows selection of multiple files; false, allows only selection of one file
Returnvalues:
          integer retval - 1, file was selected; 0, no file selected; -1, in case of an error
          string fileNames - the selected filenames. when parameter allowMultiple=false, this returnvalue holds filename with path when parameter allowMultiple=true, this returnvalue holds the path and all selected files, separated by \0 path\0filename1\0filename2\0filename3


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 JS_Dialog_BrowseForSaveFile(JS)

Functioncall:

C: int JS_Dialog_BrowseForSaveFile(const char* windowTitle, const char* initialFolder, const char* initialFile, const char* extensionList, char* fileNameOutNeedBig, int fileNameOutNeedBig_sz)

EEL: int extension_api("JS_Dialog_BrowseForSaveFile", "windowTitle", "initialFolder", "initialFile", "extensionList", #fileName)

Lua: integer retval, string fileName = reaper.JS_Dialog_BrowseForSaveFile(string windowTitle, string initialFolder, string initialFile, string extensionList)

Python: (Int retval, String windowTitle, String initialFolder, String initialFile, String extensionList, String fileNameOutNeedBig, Int fileNameOutNeedBig_sz) = JS_Dialog_BrowseForSaveFile(windowTitle, initialFolder, initialFile, extensionList, fileNameOutNeedBig, fileNameOutNeedBig_sz)

Description:
Opens a file-chooser-dialog for saving operations.

retval is 1 if a file was selected, 0 if the user cancelled the dialog, or negative if an error occurred.

extensionList is a string containing pairs of 0-terminated substrings. The last substring must be terminated by two 0 characters. Each pair defines one filter pattern:
* The first substring in each pair describes the filter in user-readable form (for example, "Lua script files (*.lua)") and will be displayed in the dialog box.
* The second substring specifies the filter that the operating system must use to search for the files (for example, "*.txt"; the wildcard should not be omitted). To specify multiple extensions for a single display string, use a semicolon to separate the patterns (for example, "*.lua;*.eel").

An example of an extensionList string:
"ReaScript files\0*.lua;*.eel\0Lua files (.lua)\0*.lua\0EEL files (.eel)\0*.eel\0\0".

If the extensionList string is empty, it will display the default "All files (*.*)" filter.

Parameters:
          string windowTitle - the title of the file-selection-window
          string initialFolder - the initial folder opened in the file-chooser-dialog
          string initialFile - the default-filename already entered in the filename-entrybox
          string extensionList - a list of extensions that can be selected in the selection-list.
the list has the following structure(separate the entries with a \0):
       "description of type1\0type1\0description of type 2\0type2\0"
the description of type can be anything that describes the type(s),
to define one type, write: *.ext
to define multiple types, write: *.ext;*.ext2;*.ext3
the extensionList must end with a \0
Returnvalues:
          integer retval - 1, file was selected; 0, no file selected; -1, in case of an error
          string fileNames - the selected filename.


^ Reaper version 5.95Julian Sader's plugin version 0.962Lua version 5.3 JS_ListView_EnumSelItems(JS)

Functioncall:

C: int JS_ListView_EnumSelItems(void* listviewHWND, int index)

EEL: int extension_api("JS_ListView_EnumSelItems", void* listviewHWND, int index)

Lua: integer reaper.JS_ListView_EnumSelItems(identifier listviewHWND, integer index)

Python: Int JS_ListView_EnumSelItems(void listviewHWND, Int index)

Description:
Returns the index of the next selected list item with index greater that the specified number. Returns -1 if no selected items left.

Parameters:
          identifier listviewHWND - the HWND of the window
          integer index - the index of the listitems before the next selected one
Returnvalues:
          integer retval - the index of the next selected list item


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_GetFocusedItem(JS)

Functioncall:

C: int JS_ListView_GetFocusedItem(void* listviewHWND, char* textOut, int textOut_sz)

EEL: int extension_api("JS_ListView_GetFocusedItem", void* listviewHWND, #text)

Lua: integer retval, string text = reaper.JS_ListView_GetFocusedItem(identifier listviewHWND)

Python: (Int retval, void listviewHWND, String textOut, Int textOut_sz) = JS_ListView_GetFocusedItem(listviewHWND, textOut, textOut_sz)

Description:
Returns the index and text of the focused item, if any.

Parameters:
          identifier listviewHWND -
Returnvalues:
          integer retval -
          string text -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_GetItem(JS)

Functioncall:

C: void JS_ListView_GetItem(void* listviewHWND, int index, int subItem, char* textOut, int textOut_sz, int* stateOut)

EEL: extension_api("JS_ListView_GetItem", void* listviewHWND, int index, int subItem, #text, int &state)

Lua: string text, number state = reaper.JS_ListView_GetItem(identifier listviewHWND, integer index, integer subItem)

Python: (void listviewHWND, Int index, Int subItem, String textOut, Int textOut_sz, Int stateOut) = JS_ListView_GetItem(listviewHWND, index, subItem, textOut, textOut_sz, stateOut)

Description:
Returns the text and state of specified item.

Parameters:
          identifier listviewHWND -
          integer index -
          integer subItem -
Returnvalues:
          string text -
          number state -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_GetItemCount(JS)

Functioncall:

C: int JS_ListView_GetItemCount(void* listviewHWND)

EEL: int extension_api("JS_ListView_GetItemCount", void* listviewHWND)

Lua: integer retval = reaper.JS_ListView_GetItemCount(identifier listviewHWND)

Python: Int JS_ListView_GetItemCount(void listviewHWND)

Description:


Parameters:
          identifier listviewHWND -
Returnvalues:
          integer retval -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_GetItemState(JS)

Functioncall:

C: int JS_ListView_GetItemState(void* listviewHWND, int index)

EEL: int extension_api("JS_ListView_GetItemState", void* listviewHWND, int index)

Lua: integer retval = reaper.JS_ListView_GetItemState(identifier listviewHWND, integer index)

Python: Int JS_ListView_GetItemState(void listviewHWND, Int index)

Description:


Parameters:
          identifier listviewHWND -
          integer index -
Returnvalues:
          integer retval -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_GetItemText(JS)

Functioncall:

C: void JS_ListView_GetItemText(void* listviewHWND, int index, int subItem, char* textOut, int textOut_sz)

EEL: extension_api("JS_ListView_GetItemText", void* listviewHWND, int index, int subItem, #text)

Lua: string text = reaper.JS_ListView_GetItemText(identifier listviewHWND, integer index, integer subItem)

Python: (void listviewHWND, Int index, Int subItem, String textOut, Int textOut_sz) = JS_ListView_GetItemText(listviewHWND, index, subItem, textOut, textOut_sz)

Description:


Parameters:
          identifier listviewHWND -
          integer index -
          integer subItem -
Returnvalues:
          string text -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_GetSelectedCount(JS)

Functioncall:

C: int JS_ListView_GetSelectedCount(void* listviewHWND)

EEL: int extension_api("JS_ListView_GetSelectedCount", void* listviewHWND)

Lua: integer retval = reaper.JS_ListView_GetSelectedCount(identifier listviewHWND)

Python: Int JS_ListView_GetSelectedCount(void listviewHWND)

Description:


Parameters:
          identifier listviewHWND -
Returnvalues:
          integer retval -


^ Reaper version 5.965Julian Sader's plugin version 0.963Lua version 5.3 JS_ListView_ListAllSelItems(JS)

Functioncall:

C: int JS_ListView_ListAllSelItems(void* listviewHWND, char* itemsOutNeedBig, int itemsOutNeedBig_sz)

EEL: int extension_api("JS_ListView_ListAllSelItems", void* listviewHWND, #items)

Lua: integer retval, string items = reaper.JS_ListView_ListAllSelItems(identifier listviewHWND)

Python: (Int retval, void listviewHWND, String itemsOutNeedBig, Int itemsOutNeedBig_sz) = JS_ListView_ListAllSelItems(listviewHWND, itemsOutNeedBig, itemsOutNeedBig_sz)

Description:
Returns the indices of all selected items as a comma-separated list.

* retval: Number of selected items found; negative or zero if an error occured.

Parameters:
          identifier listviewHWND -
Returnvalues:
          integer retval -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 Xen_AudioWriter_Create(JS)

Functioncall:

C: AudioWriter* Xen_AudioWriter_Create(const char* filename, int numchans, int samplerate)

EEL: AudioWriter extension_api("Xen_AudioWriter_Create", "filename", int numchans, int samplerate)

Lua: AudioWriter reaper.Xen_AudioWriter_Create(string filename, integer numchans, integer samplerate)

Python: AudioWriter Xen_AudioWriter_Create(String filename, Int numchans, Int samplerate)

Description:
Creates writer for 32 bit floating point WAV

Parameters:
          string filename -
          integer numchans -
          integer samplerate -
Returnvalues:
          AudioWriter -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 Xen_AudioWriter_Destroy(JS)

Functioncall:

C: void Xen_AudioWriter_Destroy(AudioWriter* writer)

EEL: extension_api("Xen_AudioWriter_Destroy", AudioWriter writer)

Lua: reaper.Xen_AudioWriter_Destroy(AudioWriter writer)

Python: Xen_AudioWriter_Destroy(AudioWriter writer)

Description:
Destroys writer

Parameters:
          AudioWriter writer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 Xen_AudioWriter_Write(JS)

Functioncall:

C: int Xen_AudioWriter_Write(AudioWriter* writer, int numframes, void* data, int offset)

EEL: int extension_api("Xen_AudioWriter_Write", AudioWriter writer, int numframes, void* data, int offset)

Lua: integer reaper.Xen_AudioWriter_Write(AudioWriter writer, integer numframes, identifier data, integer offset)

Python: Int Xen_AudioWriter_Write(AudioWriter writer, Int numframes, void data, Int offset)

Description:
Write interleaved audio data to disk

Parameters:
          AudioWriter writer -
          integer numframes -
          identifier data -
          integer offset -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.951Lua version 5.3 Xen_GetMediaSourceSamples(JS)

Functioncall:

C: int Xen_GetMediaSourceSamples(PCM_source* src, void* destbuf, int destbufoffset, int numframes, int numchans, double samplerate, double sourceposition)

EEL: int extension_api("Xen_GetMediaSourceSamples", PCM_source src, void* destbuf, int destbufoffset, int numframes, int numchans, samplerate, sourceposition)

Lua: integer reaper.Xen_GetMediaSourceSamples(PCM_source src, identifier destbuf, integer destbufoffset, integer numframes, integer numchans, number samplerate, number sourceposition)

Python: Int Xen_GetMediaSourceSamples(PCM_source src, void destbuf, Int destbufoffset, Int numframes, Int numchans, Float samplerate, Float sourceposition)

Description:
Get interleaved audio data from media source

Parameters:
          PCM_source src -
          identifier destbuf -
          integer destbufoffset -
          integer numframes -
          integer numchans -
          number samplerate -
          number sourceposition -
Returnvalues:
          integer -


^ Reaper version 5.95Julian Sader's plugin version 0.991Lua version 5.3 Xen_StartSourcePreview(JS)

Functioncall:

C: int Xen_StartSourcePreview(PCM_source* source, double gain, bool loop, int* outputchanindexInOptional)

EEL: int extension_api("Xen_StartSourcePreview", PCM_source source, gain, bool loop, optional int outputchanindexIn)

Lua: integer reaper.Xen_StartSourcePreview(PCM_source source, number gain, boolean loop, optional number outputchanindexIn)

Python: (Int retval, PCM_source source, Float gain, Boolean loop, Int outputchanindexInOptional) = Xen_StartSourcePreview(source, gain, loop, outputchanindexInOptional)

Description:
Start audio preview of a PCM_source, which can be created using functions like PCM_Source_CreateFromFile

Returns id of a preview handle that can be provided to Xen_StopSourcePreview.

If the given PCM_source does not belong to an existing MediaItem/Take, it will be deleted by the preview system when the preview is stopped.

You can preview more than one file at the same time.

Parameters:
          PCM_source source - a PCM_source-created using a mediafile/item
          number gain - the volume of the previewed pcm_source
          boolean loop - true, loop the PCM_source; false, play only once
          optional number outputchanindexIn -
Returnvalues:
          integer id - the id of this preview, which can be used to stop it again


^ Reaper version 5.95Julian Sader's plugin version 0.986Lua version 5.3 Xen_StopSourcePreview(JS)

Functioncall:

C: int Xen_StopSourcePreview(int preview_id)

EEL: int extension_api("Xen_StopSourcePreview", int preview_id)

Lua: integer retval = reaper.Xen_StopSourcePreview(integer preview_id)

Python: Int Xen_StopSourcePreview(Int preview_id)

Description:
Stop audio preview.

To stop all running previews, set id=-1

Parameters:
          integer preview_id - the id of the running preview; -1, stops all running previews
Returnvalues:
          integer retval -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_CB_FindString(SWS)

Functioncall:

C: int BR_Win32_CB_FindString(void* comboBoxHwnd, int startId, const char* string)

EEL: int extension_api("BR_Win32_CB_FindString", void* comboBoxHwnd, int startId, "string")

Lua: integer reaper.BR_Win32_CB_FindString(identifier comboBoxHwnd, integer startId, string string)

Python: Int BR_Win32_CB_FindString(void comboBoxHwnd, Int startId, String string)

Description:
[BR] Equivalent to win32 API ComboBox_FindString().


Parameters:
          identifier comboBoxHwnd -
          integer startId -
          string string -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_CB_FindStringExact(SWS)

Functioncall:

C: int BR_Win32_CB_FindStringExact(void* comboBoxHwnd, int startId, const char* string)

EEL: int extension_api("BR_Win32_CB_FindStringExact", void* comboBoxHwnd, int startId, "string")

Lua: integer reaper.BR_Win32_CB_FindStringExact(identifier comboBoxHwnd, integer startId, string string)

Python: Int BR_Win32_CB_FindStringExact(void comboBoxHwnd, Int startId, String string)

Description:
[BR] Equivalent to win32 API ComboBox_FindStringExact().


Parameters:
          identifier comboBoxHwnd -
          integer startId -
          string string -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_ClientToScreen(SWS)

Functioncall:

C: void BR_Win32_ClientToScreen(void* hwnd, int xIn, int yIn, int* xOut, int* yOut)

EEL: extension_api("BR_Win32_ClientToScreen", void* hwnd, int xIn, int yIn, int &x, int &y)

Lua: number x, number y = reaper.BR_Win32_ClientToScreen(identifier hwnd, integer xIn, integer yIn)

Python: (void hwnd, Int xIn, Int yIn, Int xOut, Int yOut) = BR_Win32_ClientToScreen(hwnd, xIn, yIn, xOut, yOut)

Description:
[BR] Equivalent to win32 API ClientToScreen().


Parameters:
          identifier hwnd -
          integer xIn -
          integer yIn -
Returnvalues:
          number x -
          number y -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_FindWindowEx(SWS)

Functioncall:

C: void* BR_Win32_FindWindowEx(const char* hwndParent, const char* hwndChildAfter, const char* className, const char* windowName, bool searchClass, bool searchName)

EEL: void* extension_api("BR_Win32_FindWindowEx", "hwndParent", "hwndChildAfter", "className", "windowName", bool searchClass, bool searchName)

Lua: identifier reaper.BR_Win32_FindWindowEx(string hwndParent, string hwndChildAfter, string className, string windowName, boolean searchClass, boolean searchName)

Python: void BR_Win32_FindWindowEx(String hwndParent, String hwndChildAfter, String className, String windowName, Boolean searchClass, Boolean searchName)

Description:
[BR] Equivalent to win32 API FindWindowEx(). Since ReaScript doesn't allow passing NULL (None in Python, nil in Lua etc...) parameters, to search by supplied class or name set searchClass and searchName accordingly. HWND parameters should be passed as either "0" to signify NULL or as string obtained from BR_Win32_HwndToString.


Parameters:
          string hwndParent -
          string hwndChildAfter -
          string className -
          string windowName -
          boolean searchClass -
          boolean searchName -
Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GET_X_LPARAM(SWS)

Functioncall:

C: int BR_Win32_GET_X_LPARAM(int lParam)

EEL: int extension_api("BR_Win32_GET_X_LPARAM", int lParam)

Lua: integer reaper.BR_Win32_GET_X_LPARAM(integer lParam)

Python: Int BR_Win32_GET_X_LPARAM(Int lParam)

Description:
[BR] Equivalent to win32 API GET_X_LPARAM().


Parameters:
          integer lParam -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GET_Y_LPARAM(SWS)

Functioncall:

C: int BR_Win32_GET_Y_LPARAM(int lParam)

EEL: int extension_api("BR_Win32_GET_Y_LPARAM", int lParam)

Lua: integer reaper.BR_Win32_GET_Y_LPARAM(integer lParam)

Python: Int BR_Win32_GET_Y_LPARAM(Int lParam)

Description:
[BR] Equivalent to win32 API GET_Y_LPARAM().


Parameters:
          integer lParam -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetConstant(SWS)

Functioncall:

C: int BR_Win32_GetConstant(const char* constantName)

EEL: int extension_api("BR_Win32_GetConstant", "constantName")

Lua: integer reaper.BR_Win32_GetConstant(string constantName)

Python: Int BR_Win32_GetConstant(String constantName)

Description:
[BR] Returns various constants needed for BR_Win32 functions.
Supported constants are:
CB_ERR, CB_GETCOUNT, CB_GETCURSEL, CB_SETCURSEL
EM_SETSEL
GW_CHILD, GW_HWNDFIRST, GW_HWNDLAST, GW_HWNDNEXT, GW_HWNDPREV, GW_OWNER
GWL_STYLE
SW_HIDE, SW_MAXIMIZE, SW_SHOW, SW_SHOWMINIMIZED, SW_SHOWNA, SW_SHOWNOACTIVATE, SW_SHOWNORMAL
SWP_FRAMECHANGED, SWP_FRAMECHANGED, SWP_NOMOVE, SWP_NOOWNERZORDER, SWP_NOSIZE, SWP_NOZORDER
VK_DOWN, VK_UP
WM_CLOSE, WM_KEYDOWN
WS_MAXIMIZE, WS_OVERLAPPEDWINDOW


Parameters:
          string constantName -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetCursorPos(SWS)

Functioncall:

C: bool BR_Win32_GetCursorPos(int* xOut, int* yOut)

EEL: bool extension_api("BR_Win32_GetCursorPos", int &x, int &y)

Lua: boolean retval, number x, number y = reaper.BR_Win32_GetCursorPos()

Python: (Boolean retval, Int xOut, Int yOut) = BR_Win32_GetCursorPos(xOut, yOut)

Description:
[BR] Equivalent to win32 API GetCursorPos().


Returnvalues:
          boolean retval -
          number x -
          number y -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetFocus(SWS)

Functioncall:

C: void* BR_Win32_GetFocus()

EEL: void* extension_api("BR_Win32_GetFocus")

Lua: identifier reaper.BR_Win32_GetFocus()

Python: void BR_Win32_GetFocus()

Description:
[BR] Equivalent to win32 API GetFocus().


Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetForegroundWindow(SWS)

Functioncall:

C: void* BR_Win32_GetForegroundWindow()

EEL: void* extension_api("BR_Win32_GetForegroundWindow")

Lua: identifier reaper.BR_Win32_GetForegroundWindow()

Python: void BR_Win32_GetForegroundWindow()

Description:
[BR] Equivalent to win32 API GetForegroundWindow().


Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetMainHwnd(SWS)

Functioncall:

C: void* BR_Win32_GetMainHwnd()

EEL: void* extension_api("BR_Win32_GetMainHwnd")

Lua: identifier reaper.BR_Win32_GetMainHwnd()

Python: void BR_Win32_GetMainHwnd()

Description:
[BR] Alternative to GetMainHwnd. REAPER seems to have problems with extensions using HWND type for exported functions so all BR_Win32 functions use void* instead of HWND type


Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetMixerHwnd(SWS)

Functioncall:

C: void* BR_Win32_GetMixerHwnd(bool* isDockedOut)

EEL: void* extension_api("BR_Win32_GetMixerHwnd", bool &isDocked)

Lua: identifier retval, boolean isDocked = reaper.BR_Win32_GetMixerHwnd()

Python: (void retval, Boolean isDockedOut) = BR_Win32_GetMixerHwnd(isDockedOut)

Description:
[BR] Get mixer window HWND. isDockedOut will be set to true if mixer is docked


Returnvalues:
          identifier retval -
          boolean isDocked -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetMonitorRectFromRect(SWS)

Functioncall:

C: void BR_Win32_GetMonitorRectFromRect(bool workingAreaOnly, int leftIn, int topIn, int rightIn, int bottomIn, int* leftOut, int* topOut, int* rightOut, int* bottomOut)

EEL: extension_api("BR_Win32_GetMonitorRectFromRect", bool workingAreaOnly, int leftIn, int topIn, int rightIn, int bottomIn, int &left, int &top, int &right, int &bottom)

Lua: number left, number top, number right, number bottom = reaper.BR_Win32_GetMonitorRectFromRect(boolean workingAreaOnly, integer leftIn, integer topIn, integer rightIn, integer bottomIn)

Python: (Boolean workingAreaOnly, Int leftIn, Int topIn, Int rightIn, Int bottomIn, Int leftOut, Int topOut, Int rightOut, Int bottomOut) = BR_Win32_GetMonitorRectFromRect(workingAreaOnly, leftIn, topIn, rightIn, bottomIn, leftOut, topOut, rightOut, bottomOut)

Description:
[BR] Get coordinates for screen which is nearest to supplied coordinates. Pass workingAreaOnly as true to get screen coordinates excluding taskbar (or menu bar on OSX).


Parameters:
          boolean workingAreaOnly -
          integer leftIn -
          integer topIn -
          integer rightIn -
          integer bottomIn -
Returnvalues:
          number left -
          number top -
          number right -
          number bottom -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetParent(SWS)

Functioncall:

C: void* BR_Win32_GetParent(void* hwnd)

EEL: void* extension_api("BR_Win32_GetParent", void* hwnd)

Lua: identifier reaper.BR_Win32_GetParent(identifier hwnd)

Python: void BR_Win32_GetParent(void hwnd)

Description:
[BR] Equivalent to win32 API GetParent().


Parameters:
          identifier hwnd -
Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetWindow(SWS)

Functioncall:

C: void* BR_Win32_GetWindow(void* hwnd, int cmd)

EEL: void* extension_api("BR_Win32_GetWindow", void* hwnd, int cmd)

Lua: identifier reaper.BR_Win32_GetWindow(identifier hwnd, integer cmd)

Python: void BR_Win32_GetWindow(void hwnd, Int cmd)

Description:
[BR] Equivalent to win32 API GetWindow().


Parameters:
          identifier hwnd -
          integer cmd -
Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetWindowLong(SWS)

Functioncall:

C: int BR_Win32_GetWindowLong(void* hwnd, int index)

EEL: int extension_api("BR_Win32_GetWindowLong", void* hwnd, int index)

Lua: integer reaper.BR_Win32_GetWindowLong(identifier hwnd, integer index)

Python: Int BR_Win32_GetWindowLong(void hwnd, Int index)

Description:
[BR] Equivalent to win32 API GetWindowLong().


Parameters:
          identifier hwnd -
          integer index -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetWindowRect(SWS)

Functioncall:

C: bool BR_Win32_GetWindowRect(void* hwnd, int* leftOut, int* topOut, int* rightOut, int* bottomOut)

EEL: bool extension_api("BR_Win32_GetWindowRect", void* hwnd, int &left, int &top, int &right, int &bottom)

Lua: boolean retval, number left, number top, number right, number bottom = reaper.BR_Win32_GetWindowRect(identifier hwnd)

Python: (Boolean retval, void hwnd, Int leftOut, Int topOut, Int rightOut, Int bottomOut) = BR_Win32_GetWindowRect(hwnd, leftOut, topOut, rightOut, bottomOut)

Description:
[BR] Equivalent to win32 API GetWindowRect().


Parameters:
          identifier hwnd -
Returnvalues:
          boolean retval -
          number left -
          number top -
          number right -
          number bottom -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_GetWindowText(SWS)

Functioncall:

C: int BR_Win32_GetWindowText(void* hwnd, char* textOut, int textOut_sz)

EEL: int extension_api("BR_Win32_GetWindowText", void* hwnd, #text)

Lua: integer retval, string text = reaper.BR_Win32_GetWindowText(identifier hwnd)

Python: (Int retval, void hwnd, String textOut, Int textOut_sz) = BR_Win32_GetWindowText(hwnd, textOut, textOut_sz)

Description:
[BR] Equivalent to win32 API GetWindowText().


Parameters:
          identifier hwnd -
Returnvalues:
          integer retval -
          string text -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_HIBYTE(SWS)

Functioncall:

C: int BR_Win32_HIBYTE(int value)

EEL: int extension_api("BR_Win32_HIBYTE", int value)

Lua: integer reaper.BR_Win32_HIBYTE(integer value)

Python: Int BR_Win32_HIBYTE(Int value)

Description:
[BR] Equivalent to win32 API HIBYTE().


Parameters:
          integer value -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_HIWORD(SWS)

Functioncall:

C: int BR_Win32_HIWORD(int value)

EEL: int extension_api("BR_Win32_HIWORD", int value)

Lua: integer reaper.BR_Win32_HIWORD(integer value)

Python: Int BR_Win32_HIWORD(Int value)

Description:
[BR] Equivalent to win32 API HIWORD().


Parameters:
          integer value -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_HwndToString(SWS)

Functioncall:

C: void BR_Win32_HwndToString(void* hwnd, char* stringOut, int stringOut_sz)

EEL: extension_api("BR_Win32_HwndToString", void* hwnd, #string)

Lua: string string = reaper.BR_Win32_HwndToString(identifier hwnd)

Python: (void hwnd, String stringOut, Int stringOut_sz) = BR_Win32_HwndToString(hwnd, stringOut, stringOut_sz)

Description:
[BR] Convert HWND to string. To convert string back to HWND, see BR_Win32_StringToHwnd.


Parameters:
          identifier hwnd -
Returnvalues:
          string string -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_IsWindow(SWS)

Functioncall:

C: bool BR_Win32_IsWindow(void* hwnd)

EEL: bool extension_api("BR_Win32_IsWindow", void* hwnd)

Lua: boolean reaper.BR_Win32_IsWindow(identifier hwnd)

Python: Boolean BR_Win32_IsWindow(void hwnd)

Description:
[BR] Equivalent to win32 API IsWindow().


Parameters:
          identifier hwnd -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_IsWindowVisible(SWS)

Functioncall:

C: bool BR_Win32_IsWindowVisible(void* hwnd)

EEL: bool extension_api("BR_Win32_IsWindowVisible", void* hwnd)

Lua: boolean reaper.BR_Win32_IsWindowVisible(identifier hwnd)

Python: Boolean BR_Win32_IsWindowVisible(void hwnd)

Description:
[BR] Equivalent to win32 API IsWindowVisible().


Parameters:
          identifier hwnd -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_LOBYTE(SWS)

Functioncall:

C: int BR_Win32_LOBYTE(int value)

EEL: int extension_api("BR_Win32_LOBYTE", int value)

Lua: integer reaper.BR_Win32_LOBYTE(integer value)

Python: Int BR_Win32_LOBYTE(Int value)

Description:
[BR] Equivalent to win32 API LOBYTE().



Parameters:
          integer value -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_LOWORD(SWS)

Functioncall:

C: int BR_Win32_LOWORD(int value)

EEL: int extension_api("BR_Win32_LOWORD", int value)

Lua: integer reaper.BR_Win32_LOWORD(integer value)

Python: Int BR_Win32_LOWORD(Int value)

Description:
[BR] Equivalent to win32 API LOWORD().


Parameters:
          integer value -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_MAKELONG(SWS)

Functioncall:

C: int BR_Win32_MAKELONG(int low, int high)

EEL: int extension_api("BR_Win32_MAKELONG", int low, int high)

Lua: integer reaper.BR_Win32_MAKELONG(integer low, integer high)

Python: Int BR_Win32_MAKELONG(Int low, Int high)

Description:
[BR] Equivalent to win32 API MAKELONG().


Parameters:
          integer low -
          integer high -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_MAKELPARAM(SWS)

Functioncall:

C: int BR_Win32_MAKELPARAM(int low, int high)

EEL: int extension_api("BR_Win32_MAKELPARAM", int low, int high)

Lua: integer reaper.BR_Win32_MAKELPARAM(integer low, integer high)

Python: Int BR_Win32_MAKELPARAM(Int low, Int high)

Description:
[BR] Equivalent to win32 API MAKELPARAM().


Parameters:
          integer low -
          integer high -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_MAKELRESULT(SWS)

Functioncall:

C: int BR_Win32_MAKELRESULT(int low, int high)

EEL: int extension_api("BR_Win32_MAKELRESULT", int low, int high)

Lua: integer reaper.BR_Win32_MAKELRESULT(integer low, integer high)

Python: Int BR_Win32_MAKELRESULT(Int low, Int high)

Description:
[BR] Equivalent to win32 API MAKELRESULT().


Parameters:
          integer low -
          integer high -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_MAKEWORD(SWS)

Functioncall:

C: int BR_Win32_MAKEWORD(int low, int high)

EEL: int extension_api("BR_Win32_MAKEWORD", int low, int high)

Lua: integer reaper.BR_Win32_MAKEWORD(integer low, integer high)

Python: Int BR_Win32_MAKEWORD(Int low, Int high)

Description:
[BR] Equivalent to win32 API MAKEWORD().


Parameters:
          integer low -
          integer high -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_MAKEWPARAM(SWS)

Functioncall:

C: int BR_Win32_MAKEWPARAM(int low, int high)

EEL: int extension_api("BR_Win32_MAKEWPARAM", int low, int high)

Lua: integer reaper.BR_Win32_MAKEWPARAM(integer low, integer high)

Python: Int BR_Win32_MAKEWPARAM(Int low, Int high)

Description:
[BR] Equivalent to win32 API MAKEWPARAM().


Parameters:
          integer low -
          integer high -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_MIDIEditor_GetActive(SWS)

Functioncall:

C: void* BR_Win32_MIDIEditor_GetActive()

EEL: void* extension_api("BR_Win32_MIDIEditor_GetActive")

Lua: identifier reaper.BR_Win32_MIDIEditor_GetActive()

Python: void BR_Win32_MIDIEditor_GetActive()

Description:
[BR] Alternative to MIDIEditor_GetActive. REAPER seems to have problems with extensions using HWND type for exported functions so all BR_Win32 functions use void* instead of HWND type.


Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_ScreenToClient(SWS)

Functioncall:

C: void BR_Win32_ScreenToClient(void* hwnd, int xIn, int yIn, int* xOut, int* yOut)

EEL: extension_api("BR_Win32_ScreenToClient", void* hwnd, int xIn, int yIn, int &x, int &y)

Lua: number x, number y = reaper.BR_Win32_ScreenToClient(identifier hwnd, integer xIn, integer yIn)

Python: (void hwnd, Int xIn, Int yIn, Int xOut, Int yOut) = BR_Win32_ScreenToClient(hwnd, xIn, yIn, xOut, yOut)

Description:
[BR] Equivalent to win32 API ClientToScreen().


Parameters:
          identifier hwnd -
          integer xIn -
          integer yIn -
Returnvalues:
          number x -
          number y -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_SendMessage(SWS)

Functioncall:

C: int BR_Win32_SendMessage(void* hwnd, int msg, int lParam, int wParam)

EEL: int extension_api("BR_Win32_SendMessage", void* hwnd, int msg, int lParam, int wParam)

Lua: integer reaper.BR_Win32_SendMessage(identifier hwnd, integer msg, integer lParam, integer wParam)

Python: Int BR_Win32_SendMessage(void hwnd, Int msg, Int lParam, Int wParam)

Description:
[BR] Equivalent to win32 API SendMessage().


Parameters:
          identifier hwnd -
          integer msg -
          integer lParam -
          integer wParam -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_SetFocus(SWS)

Functioncall:

C: void* BR_Win32_SetFocus(void* hwnd)

EEL: void* extension_api("BR_Win32_SetFocus", void* hwnd)

Lua: identifier reaper.BR_Win32_SetFocus(identifier hwnd)

Python: void BR_Win32_SetFocus(void hwnd)

Description:
[BR] Equivalent to win32 API SetFocus().


Parameters:
          identifier hwnd -
Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_SetForegroundWindow(SWS)

Functioncall:

C: int BR_Win32_SetForegroundWindow(void* hwnd)

EEL: int extension_api("BR_Win32_SetForegroundWindow", void* hwnd)

Lua: integer reaper.BR_Win32_SetForegroundWindow(identifier hwnd)

Python: Int BR_Win32_SetForegroundWindow(void hwnd)

Description:
[BR] Equivalent to win32 API SetForegroundWindow().


Parameters:
          identifier hwnd -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_SetWindowLong(SWS)

Functioncall:

C: int BR_Win32_SetWindowLong(void* hwnd, int index, int newLong)

EEL: int extension_api("BR_Win32_SetWindowLong", void* hwnd, int index, int newLong)

Lua: integer reaper.BR_Win32_SetWindowLong(identifier hwnd, integer index, integer newLong)

Python: Int BR_Win32_SetWindowLong(void hwnd, Int index, Int newLong)

Description:
[BR] Equivalent to win32 API SetWindowLong().


Parameters:
          identifier hwnd -
          integer index -
          integer newLong -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_SetWindowPos(SWS)

Functioncall:

C: bool BR_Win32_SetWindowPos(void* hwnd, const char* hwndInsertAfter, int x, int y, int width, int height, int flags)

EEL: bool extension_api("BR_Win32_SetWindowPos", void* hwnd, "hwndInsertAfter", int x, int y, int width, int height, int flags)

Lua: boolean reaper.BR_Win32_SetWindowPos(identifier hwnd, string hwndInsertAfter, integer x, integer y, integer width, integer height, integer flags)

Python: Boolean BR_Win32_SetWindowPos(void hwnd, String hwndInsertAfter, Int x, Int y, Int width, Int height, Int flags)

Description:
[BR] Equivalent to win32 API SetWindowPos().
hwndInsertAfter may be a string: "HWND_BOTTOM", "HWND_NOTOPMOST", "HWND_TOP", "HWND_TOPMOST" or a string obtained with BR_Win32_HwndToString.


Parameters:
          identifier hwnd -
          string hwndInsertAfter -
          integer x -
          integer y -
          integer width -
          integer height -
          integer flags -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_ShowWindow(SWS)

Functioncall:

C: bool BR_Win32_ShowWindow(void* hwnd, int cmdShow)

EEL: bool extension_api("BR_Win32_ShowWindow", void* hwnd, int cmdShow)

Lua: boolean reaper.BR_Win32_ShowWindow(identifier hwnd, integer cmdShow)

Python: Boolean BR_Win32_ShowWindow(void hwnd, Int cmdShow)

Description:
[BR] Equivalent to win32 API ShowWindow().


Parameters:
          identifier hwnd -
          integer cmdShow -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_StringToHwnd(SWS)

Functioncall:

C: void* BR_Win32_StringToHwnd(const char* string)

EEL: void* extension_api("BR_Win32_StringToHwnd", "string")

Lua: identifier reaper.BR_Win32_StringToHwnd(string string)

Python: void BR_Win32_StringToHwnd(String string)

Description:
[BR] Convert string to HWND. To convert HWND back to string, see BR_Win32_HwndToString.


Parameters:
          string string -
Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 BR_Win32_WindowFromPoint(SWS)

Functioncall:

C: void* BR_Win32_WindowFromPoint(int x, int y)

EEL: void* extension_api("BR_Win32_WindowFromPoint", int x, int y)

Lua: identifier reaper.BR_Win32_WindowFromPoint(integer x, integer y)

Python: void BR_Win32_WindowFromPoint(Int x, Int y)

Description:
[BR] Equivalent to win32 API WindowFromPoint().


Parameters:
          integer x -
          integer y -
Returnvalues:
          identifier -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_EnumMediaSourceCues(SWS)

Functioncall:

C: int CF_EnumMediaSourceCues(PCM_source* src, int index, double* timeOut, double* endTimeOut, bool* isRegionOut, char* nameOut, int nameOut_sz)

EEL: int extension_api("CF_EnumMediaSourceCues", PCM_source src, int index, &time, &endTime, bool &isRegion, #name)

Lua: integer retval, number time, number endTime, boolean isRegion, string name = reaper.CF_EnumMediaSourceCues(PCM_source src, integer index)

Python: (Int retval, PCM_source src, Int index, Float timeOut, Float endTimeOut, Boolean isRegionOut, String nameOut, Int nameOut_sz) = CF_EnumMediaSourceCues(src, index, timeOut, endTimeOut, isRegionOut, nameOut, nameOut_sz)

Description:
Enumerate the source's media cues. Returns the next index or 0 when finished.


Parameters:
          PCM_source src -
          integer index -
Returnvalues:
          integer retval -
          number time -
          number endTime -
          boolean isRegion -
          string name -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_EnumSelectedFX(SWS)

Functioncall:

C: int CF_EnumSelectedFX(FxChain* hwnd, int index)

EEL: int extension_api("CF_EnumSelectedFX", FxChain hwnd, int index)

Lua: integer reaper.CF_EnumSelectedFX(FxChain hwnd, integer index)

Python: Int CF_EnumSelectedFX(FxChain hwnd, Int index)

Description:
Return the index of the next selected effect in the given FX chain. Start index should be -1. Returns -1 if there are no more selected effects.


Parameters:
          FxChain hwnd -
          integer index -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_EnumerateActions(SWS)

Functioncall:

C: int CF_EnumerateActions(int section, int index, char* name, int name_sz)

EEL: int extension_api("CF_EnumerateActions", int section, int index, #name)

Lua: integer retval, string name = reaper.CF_EnumerateActions(integer section, integer index, string name)

Python: (Int retval, Int section, Int index, String name, Int name_sz) = CF_EnumerateActions(section, index, name, name_sz)

Description:
Wrapper for the unexposed kbd_enumerateActions API function.
Main=0, Main (alt recording)=100, MIDI Editor=32060, MIDI Event List Editor=32061, MIDI Inline Editor=32062, Media Explorer=32063


Parameters:
          integer section -
          integer index -
          string name -
Returnvalues:
          integer retval -
          string name -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_ExportMediaSource(SWS)

Functioncall:

C: bool CF_ExportMediaSource(PCM_source* src, const char* fn)

EEL: bool extension_api("CF_ExportMediaSource", PCM_source src, "fn")

Lua: boolean reaper.CF_ExportMediaSource(PCM_source src, string fn)

Python: Boolean CF_ExportMediaSource(PCM_source src, String fn)

Description:
Export the source to the given file (MIDI only).


Parameters:
          PCM_source src -
          string fn -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetCommandText(SWS)

Functioncall:

C: const char* CF_GetCommandText(int section, int command)

EEL: bool extension_api("CF_GetCommandText", #retval, int section, int command)

Lua: string reaper.CF_GetCommandText(integer section, integer command)

Python: String CF_GetCommandText(Int section, Int command)

Description:
Wrapper for the unexposed kbd_getTextFromCmd API function. See CF_EnumerateActions for common section IDs.


Parameters:
          integer section -
          integer command -
Returnvalues:
          string -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetFocusedFXChain(SWS)

Functioncall:

C: FxChain* CF_GetFocusedFXChain()

EEL: FxChain extension_api("CF_GetFocusedFXChain")

Lua: FxChain = reaper.CF_GetFocusedFXChain()

Python: FxChain CF_GetFocusedFXChain()

Description:
Return a handle to the currently focused FX chain window.


Returnvalues:
          FxChain -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetMediaSourceBitDepth(SWS)

Functioncall:

C: int CF_GetMediaSourceBitDepth(PCM_source* src)

EEL: int extension_api("CF_GetMediaSourceBitDepth", PCM_source src)

Lua: integer reaper.CF_GetMediaSourceBitDepth(PCM_source src)

Python: Int CF_GetMediaSourceBitDepth(PCM_source src)

Description:
Returns the bit depth if available (0 otherwise).


Parameters:
          PCM_source src -
Returnvalues:
          integer -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetMediaSourceMetadata(SWS)

Functioncall:

C: bool CF_GetMediaSourceMetadata(PCM_source* src, const char* name, char* out, int out_sz)

EEL: bool extension_api("CF_GetMediaSourceMetadata", PCM_source src, "name", #out)

Lua: boolean retval, string out = reaper.CF_GetMediaSourceMetadata(PCM_source src, string name, string out)

Python: (Boolean retval, PCM_source src, String name, String out, Int out_sz) = CF_GetMediaSourceMetadata(src, name, out, out_sz)

Description:
Get the value of the given metadata field (eg. DESC, ORIG, ORIGREF, DATE, TIME, UMI, CODINGHISTORY for BWF).


Parameters:
          PCM_source src -
          string name -
          string out -
Returnvalues:
          boolean retval -
          string out -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetMediaSourceOnline(SWS)

Functioncall:

C: bool CF_GetMediaSourceOnline(PCM_source* src)

EEL: bool extension_api("CF_GetMediaSourceOnline", PCM_source src)

Lua: boolean reaper.CF_GetMediaSourceOnline(PCM_source src)

Python: Boolean CF_GetMediaSourceOnline(PCM_source src)

Description:
Returns the online/offline status of the given source.


Parameters:
          PCM_source src -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetMediaSourceRPP(SWS)

Functioncall:

C: bool CF_GetMediaSourceRPP(PCM_source* src, char* fn, int fn_sz)

EEL: bool extension_api("CF_GetMediaSourceRPP", PCM_source src, #fn)

Lua: boolean retval, string fn = reaper.CF_GetMediaSourceRPP(PCM_source src, string fn)

Python: (Boolean retval, PCM_source src, String fn, Int fn_sz) = CF_GetMediaSourceRPP(src, fn, fn_sz)

Description:
Get the project associated with this source (BWF, subproject...).


Parameters:
          PCM_source src -
          string fn -
Returnvalues:
          boolean retval -
          string fn -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetSWSVersion(SWS)

Functioncall:

C: void CF_GetSWSVersion(char* buf, int buf_sz)

EEL: extension_api("CF_GetSWSVersion", #buf)

Lua: string buf = reaper.CF_GetSWSVersion(string buf)

Python: (String buf, Int buf_sz) = CF_GetSWSVersion(buf, buf_sz)

Description:
Return the current SWS version number.

Parameters:
          string buf -
Returnvalues:
          string buf -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetTakeFXChain(SWS)

Functioncall:

C: FxChain* CF_GetTakeFXChain(MediaItem_Take* take)

EEL: FxChain extension_api("CF_GetTakeFXChain", MediaItem_Take take)

Lua: FxChain reaper.CF_GetTakeFXChain(MediaItem_Take take)

Python: FxChain CF_GetTakeFXChain(MediaItem_Take take)

Description:
Return a handle to the given take FX chain window. HACK: This temporarily renames the take in order to disambiguate the take FX chain window from similarily named takes.


Parameters:
          MediaItem_Take take -
Returnvalues:
          FxChain -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_GetTrackFXChain(SWS)

Functioncall:

C: FxChain* CF_GetTrackFXChain(MediaTrack* track)

EEL: FxChain extension_api("CF_GetTrackFXChain", MediaTrack track)

Lua: FxChain reaper.CF_GetTrackFXChain(MediaTrack track)

Python: FxChain CF_GetTrackFXChain(MediaTrack track)

Description:
Return a handle to the given track FX chain window.


Parameters:
          MediaTrack track -
Returnvalues:
          FxChain -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_LocateInExplorer(SWS)

Functioncall:

C: bool CF_LocateInExplorer(const char* file)

EEL: bool extension_api("CF_LocateInExplorer", "file")

Lua: boolean reaper.CF_LocateInExplorer(string file)

Python: Boolean CF_LocateInExplorer(String file)

Description:
Select the given file in explorer/finder.


Parameters:
          string file -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_SetMediaSourceOnline(SWS)

Functioncall:

C: void CF_SetMediaSourceOnline(PCM_source* src, bool set)

EEL: extension_api("CF_SetMediaSourceOnline", PCM_source src, bool set)

Lua: reaper.CF_SetMediaSourceOnline(PCM_source src, boolean set)

Python: CF_SetMediaSourceOnline(PCM_source src, Boolean set)

Description:
Set the online/offline status of the given source (closes files when set=false).


Parameters:
          PCM_source src -
          boolean set -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 CF_ShellExecute(SWS)

Functioncall:

C: bool CF_ShellExecute(const char* file)

EEL: bool extension_api("CF_ShellExecute", "file")

Lua: boolean reaper.CF_ShellExecute(string file)

Python: Boolean CF_ShellExecute(String file)

Description:
Open the given file or URL in the default application. See also CF_LocateInExplorer.


Parameters:
          string file -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_AnalyzeMediaItemPeakAndRMS(SWS)

Functioncall:

C: bool NF_AnalyzeMediaItemPeakAndRMS(MediaItem* item, double windowSize, void* reaper.array_peaks, void* reaper.array_peakpositions, void* reaper.array_RMSs, void* reaper.array_RMSpositions)

EEL: bool extension_api("NF_AnalyzeMediaItemPeakAndRMS", MediaItem item, windowSize, void* reaper.array_peaks, void* reaper.array_peakpositions, void* reaper.array_RMSs, void* reaper.array_RMSpositions)

Lua: boolean reaper.NF_AnalyzeMediaItemPeakAndRMS(MediaItem item, number windowSize, identifier reaper.array_peaks, identifier reaper.array_peakpositions, identifier reaper.array_RMSs, identifier reaper.array_RMSpositions)

Python: Boolean NF_AnalyzeMediaItemPeakAndRMS(MediaItem item, Float windowSize, void reaper.array_peaks, void reaper.array_peakpositions, void reaper.array_RMSs, void reaper.array_RMSpositions)

Description:
This function combines all other NF_Peak/RMS functions in a single one and additionally returns peak RMS positions.

Lua example code here.

Note: It's recommended to use this function with ReaScript/Lua as it provides reaper.array objects.
If using this function with other scripting languages, you must provide arrays in the reaper.array format.


Parameters:
          MediaItem item -
          number windowSize -
          identifier reaper.array_peaks -
          identifier reaper.array_peakpositions -
          identifier reaper.array_RMSs -
          identifier reaper.array_RMSpositions -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_GetMediaItemMaxPeakAndMaxPeakPos(SWS)

Functioncall:

C: double NF_GetMediaItemMaxPeakAndMaxPeakPos(MediaItem* item, double* maxPeakPosOut)

EEL: double extension_api("NF_GetMediaItemMaxPeakAndMaxPeakPos", MediaItem item, &maxPeakPos)

Lua: number retval, number maxPeakPos = reaper.NF_GetMediaItemMaxPeakAndMaxPeakPos(MediaItem item)

Python: (Float retval, MediaItem item, Float maxPeakPosOut) = NF_GetMediaItemMaxPeakAndMaxPeakPos(item, maxPeakPosOut)

Description:
See NF_GetMediaItemMaxPeak, additionally returns maxPeakPos (relative to item position).


Parameters:
          MediaItem item -
Returnvalues:
          number retval -
          number maxPeakPos -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_GetSWSMarkerRegionSub(SWS)

Functioncall:

C: const char* NF_GetSWSMarkerRegionSub(int markerRegionIdx)

EEL: bool extension_api("NF_GetSWSMarkerRegionSub", #retval, int markerRegionIdx)

Lua: string reaper.NF_GetSWSMarkerRegionSub(integer markerRegionIdx)

Python: String NF_GetSWSMarkerRegionSub(Int markerRegionIdx)

Description:
Returns SWS/S&M marker/region subtitle. markerRegionIdx: Refers to index that can be passed to EnumProjectMarkers (not displayed marker/region index).
Returns empty string if marker/region with specified index not found or marker/region subtitle not set.

Lua code example can be found here

Parameters:
          integer markerRegionIdx -
Returnvalues:
          string -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_GetSWSTrackNotes(SWS)

Functioncall:

C: const char* NF_GetSWSTrackNotes(MediaTrack* track)

EEL: bool extension_api("NF_GetSWSTrackNotes", #retval, MediaTrack track)

Lua: string reaper.NF_GetSWSTrackNotes(MediaTrack track)

Python: String NF_GetSWSTrackNotes(MediaTrack track)

Description:


Parameters:
          MediaTrack track -
Returnvalues:
          string -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_SetSWSMarkerRegionSub(SWS)

Functioncall:

C: bool NF_SetSWSMarkerRegionSub(const char* markerRegionSub, int markerRegionIdx)

EEL: bool extension_api("NF_SetSWSMarkerRegionSub", "markerRegionSub", int markerRegionIdx)

Lua: boolean reaper.NF_SetSWSMarkerRegionSub(string markerRegionSub, integer markerRegionIdx)

Python: Boolean NF_SetSWSMarkerRegionSub(String markerRegionSub, Int markerRegionIdx)

Description:
Set SWS/S&M marker/region subtitle. markerRegionIdx: Refers to index that can be passed to EnumProjectMarkers(not displayed marker/region index).
Returns true if subtitle is set successfully (i.e. marker/region with specified index is present in project).

Lua code example can be found here

Parameters:
          string markerRegionSub -
          integer markerRegionIdx -
Returnvalues:
          boolean -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_SetSWSTrackNotes(SWS)

Functioncall:

C: void NF_SetSWSTrackNotes(MediaTrack* track, const char* str)

EEL: extension_api("NF_SetSWSTrackNotes", MediaTrack track, "str")

Lua: reaper.NF_SetSWSTrackNotes(MediaTrack track, string str)

Python: NF_SetSWSTrackNotes(MediaTrack track, String str)

Description:


Parameters:
          MediaTrack track -
          string str -


^ Reaper version 5.965SWS version 2.10.0.1Lua version 5.3 NF_UpdateSWSMarkerRegionSubWindow(SWS)

Functioncall:

C: void NF_UpdateSWSMarkerRegionSubWindow()

EEL: extension_api("NF_UpdateSWSMarkerRegionSubWindow")

Lua: reaper.NF_UpdateSWSMarkerRegionSubWindow()

Python: NF_UpdateSWSMarkerRegionSubWindow()

Description:
Redraw the Notes window (call if you've changed a subtitle via [NF_SetSWSMarkerRegionSub](#NF_SetSWSMarkerRegionSub) which is currently displayed in the Notes window and you want to appear the new subtitle immediately.)



^ Reaper version 5.62 abs

Functioncall:

EEL: abs(value)

Description:
Returns the absolute value of the parameter.

Parameters:
          value -


^ Reaper version 5.62 acos

Functioncall:

EEL: acos(value)

Description:
Returns the arc cosine of the value specified (return value is in radians). If the parameter is not between -1.0 and 1.0 inclusive, the return value is undefined.

Parameters:
          value -


^ Reaper version 5.62 asin

Functioncall:

EEL: asin(value)

Description:
Returns the arc sine of the value specified (return value is in radians). If the parameter is not between -1.0 and 1.0 inclusive, the return value is undefined.

Parameters:
          value -


^ Reaper version 5.62 atan

Functioncall:

EEL: atan(value)

Description:
Returns the arc tangent of the value specified (return value is in radians). If the parameter is not between -1.0 and 1.0 inclusive, the return value is undefined.

Parameters:
          value -


^ Reaper version 5.62 atan2

Functioncall:

EEL: atan2(numerator,denominator)

Description:
Returns the arc tangent of the numerator divided by the denominator, allowing the denominator to be 0, and using their signs to produce a more meaningful result.

Parameters:
          numerator -
          denominator -


^ Reaper version 5.62 atexit

Functioncall:

EEL: atexit(code)

Description:
Adds code to be executed when the script finishes or is ended by the user. Typically used to clean up after the user terminates defer() or runloop() code.

Parameters:
          code -


^ Reaper version 5.62 ceil

Functioncall:

EEL: ceil(value)

Description:
Returns the value rounded to the next highest integer (ceil(3.1)==4, ceil(-3.9)==-3).

Parameters:
          value -


^ Reaper version 5.62 convolve_c

Functioncall:

EEL: convolve_c(dest,src,size)

Description:
Multiplies each of size complex pairs in dest by the complex pairs in src. Often used for convolution.

Parameters:
          dest -
          src -
          size -


^ Reaper version 5.62 cos

Functioncall:

EEL: cos(angle)

Description:
Returns the cosine of the angle specified (specified in radians).

Parameters:
          angle -


^ Reaper version 5.62 defer

Functioncall:

EEL: defer("code")

Description:
Adds code to be called back by REAPER. Used to create persistent ReaScripts that continue to run and respond to input, while the user does other tasks. Identical to runloop().
Note that no undo point will be automatically created when the script finishes, unless you create it explicitly.

Parameters:
          code -


^ Reaper version 5.62 eval

Functioncall:

EEL: eval(code)

Description:
Executes code passed in. Code can use functions, but functions created in code can't be used elsewhere.

Parameters:
          code -


^ Reaper version 5.62 exp

Functioncall:

EEL: exp(exponent)

Description:
Returns the number e ($e, approximately 2.718) raised to the parameter-th power. This function is significantly faster than pow() or the ^ operator.

Parameters:
          exponent -


^ Reaper version 5.62 extension_api

Functioncall:

EEL: extension_api(function_name[,...])

Description:
Used to call functions exported by extension plugins. The first parameter must be the exported function name, then its own parameters (as if the function was called directly).

Parameters:
          functionname -


^ Reaper version 5.62 fclose

Functioncall:

EEL: fclose(fp)

Description:
Closes a file previously opened with fopen().

Parameters:
          fp -


^ Reaper version 5.62 feof

Functioncall:

EEL: feof(fp)

Description:
Returns nonzero if the file fp is at the end of file.

Parameters:
          fp -


^ Reaper version 5.62 fflush

Functioncall:

EEL: fflush(fp)

Description:
If file fp is open for writing, flushes out any buffered data to disk.

Parameters:
          fp -


^ Reaper version 5.62 fft

Functioncall:

EEL: fft(buffer,size)

Description:
Performs a FFT on the data in the local memory buffer at the offset specified by the first parameter. The size of the FFT is specified by the second parameter, which must be 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, or 32768. The outputs are permuted, so if you plan to use them in-order, call fft_permute(buffer, size) before and fft_ipermute(buffer,size) after your in-order use. Your inputs or outputs will need to be scaled down by 1/size, if used.
Note that fft()/ifft() require real / imaginary input pairs, so a 256 point FFT actually works with 512 items.
Note that fft()/ifft() must NOT cross a 65,536 item boundary, so be sure to specify the offset accordingly.

Parameters:
          buffer -
          size -


^ Reaper version 5.62 fft_ipermute

Functioncall:

EEL: fft_ipermute(buffer,size)

Description:
Permute the input for ifft(), taking bands from in-order to the order ifft() requires. See fft() for more information.

Parameters:
          buffer -
          size -


^ Reaper version 5.62 fft_permute

Functioncall:

EEL: fft_permute(buffer,size)

Description:
Permute the output of fft() to have bands in-order. See fft() for more information.

Parameters:
          buffer -
          size -


^ Reaper version 5.62 fft_real

Functioncall:

EEL: fft_real(buffer,size)

Description:
Performs an FFT, but takes size input samples and produces size/2 complex output pairs. Usually used along with fft_permute(size/2). Inputs/outputs will need to be scaled by 0.5/size.

Parameters:
          buffer -
          size -


^ Reaper version 5.62 fgetc

Functioncall:

EEL: fgetc(fp)

Description:
Reads a character from file fp, returns -1 if EOF.

Parameters:
          fp -


^ Reaper version 5.62 fgets

Functioncall:

EEL: fgets(fp,#str)

Description:
Reads a line from file fp into #str. Returns length of #str read.

Parameters:
          fp -
          #str -


^ Reaper version 5.62 floor

Functioncall:

EEL: floor(value)

Description:
Returns the value rounded to the next lowest integer (floor(3.9)==3, floor(-3.1)==-4).

Parameters:
          value -


^ Reaper version 5.62 fopen

Functioncall:

EEL: fopen(fn,mode)

Description:
Opens a file "fn" with mode "mode". For read, use "r" or "rb", write "w" or "wb". Returns a positive integer on success.

Parameters:
          fn -
          mode -


^ Reaper version 5.62 fprintf

Functioncall:

EEL: fprintf(fp,format[,...])

Description:
Formats a string and writes it to file fp. For more information on format specifiers, see sprintf(). Returns bytes written to file.

* %% = %
* %s = string from parameter
* %d = parameter as integer
* %i = parameter as integer
* %u = parameter as unsigned integer
* %x = parameter as hex (lowercase) integer
* %X = parameter as hex (uppercase) integer
* %c = parameter as character
* %f = parameter as floating point
* %e = parameter as floating point (scientific notation, lowercase)
* %E = parameter as floating point (scientific notation, uppercase)
* %g = parameter as floating point (shortest representation, lowercase)
* %G = parameter as floating point (shortest representation, uppercase)

Many standard C printf() modifiers can be used, including:

* %.10s = string, but only print up to 10 characters
* %-10s = string, left justified to 10 characters
* %10s = string, right justified to 10 characters
* %+f = floating point, always show sign
* %.4f = floating point, minimum of 4 digits after decimal point
* %10d = integer, minimum of 10 digits (space padded)
* %010f = integer, minimum of 10 digits (zero padded)

Values for format specifiers can be specified as additional parameters to fprintf, or within {} in the format specifier (such as %{varname}d, in that case a global variable is always used).

Parameters:
          fp -
          format -


^ Reaper version 5.62 fread

Functioncall:

EEL: fread(fp,#str,length)

Description:
Reads from file fp into #str, up to length bytes. Returns actual length read, or negative if error.

Parameters:
          fp -
          #str -
          length -


^ Reaper version 5.62 freembuf

Functioncall:

EEL: freembuf(address)

Description:
Hints the runtime that memory above the address specified may no longer be used. The runtime may, at its leisure, choose to lose the contents of memory above the address specified.

Parameters:
          address -


^ Reaper version 5.62 fseek

Functioncall:

EEL: fseek(fp,offset,whence)

Description:
Seeks file fp, offset bytes from whence reference. Whence negative specifies start of file, positive whence specifies end of file, and zero whence specifies current file position.

Parameters:
          fp -
          offset -
          whence -


^ Reaper version 5.62 ftell

Functioncall:

EEL: ftell(fp)

Description:
Returns the current file position.

Parameters:
          fp -


^ Reaper version 5.62 fwrite

Functioncall:

EEL: fwrite(fp,#str,len)

Description:
Writes up to len characters of #str to file fp. If len is less than 1, the full contents of #str will be written. Returns the number of bytes written to file.

Parameters:
          fp -
          #str -
          len -


^ Reaper version 5.62 get_action_context

Functioncall:

EEL: get_action_context(#filename,sectionID,cmdID,mode,resolution,val)

Description:
Queries contextual information about the script, typically MIDI/OSC input values.
Returns true if a new value has been updated.
val will be set to a relative or absolute value depending on mode (=0: absolute mode, >0: relative modes). resolution=127 for 7-bit resolution, =16383 for 14-bit resolution.
Notes: sectionID, and cmdID will be set to -1 if the script is not part of the action list. mode, resolution and val will be set to -1 if the script was not triggered via MIDI/OSC.

For relative mode bindings, calling get_action_context() will return the accumulated relative value in decoded form (not 65 or 63, but +1/-1 etc), and clear the internal state. So if you call it multiple times, the first one will return the accumulated value, and the second will always return 0.

Parameters:
          #filename -
          sectionID -
          cmdID -
          mode -
          resolution -
          val -


^ Reaper version 5.97 gfx_variables

Functioncall:

EEL: gfx VARIABLES

Description:
The following global variables are special and will be used by the graphics system:

   * gfx_r, gfx_g, gfx_b, gfx_a2 - These represent the current red, green, blue, and alpha components used by drawing operations (0.0..1.0). gfx_a2 is the value written to the alpha channel when writing solid colors (normally ignored but useful when creating transparent images)
   * gfx_a, gfx_mode - Alpha and blend mode for drawing. Set mode to 0 for default options. Add 1.0 for additive blend mode (if you wish to do subtractive, set gfx_a to negative and use gfx_mode as additive). Add 2.0 to disable source alpha for gfx_blit(). Add 4.0 to disable filtering for gfx_blit().
   * gfx_w, gfx_h - These are set to the current width and height of the UI framebuffer.
   * gfx_x, gfx_y - These set the "current" graphics position in x,y. You can set these yourselves, and many of the drawing functions update them as well.
   * gfx_clear - If set to a value greater than -1.0, this will result in the framebuffer being cleared to that color. the color for this one is packed RGB (0..255), i.e. red+green*256+blue*65536. The default is 0 (black).
   * gfx_dest - Defaults to -1, set to 0..1024-1 to have drawing operations go to an offscreen buffer (or loaded image).
   * gfx_texth - Set to the height of a line of text in the current font. Do not modify this variable.
   * gfx_ext_retina - If set to 1.0 on initialization, will be updated to 2.0 if high resolution display is supported, and if so gfx_w/gfx_h/etc will be doubled.
   * mouse_x, mouse_y - mouse_x and mouse_y are set to the coordinates of the mouse relative to the graphics window.
   * mouse_wheel, mouse_hwheel - mouse wheel (and horizontal wheel) positions. These will change typically by 120 or a multiple thereof, the caller should clear the state to 0 after reading it.
   * mouse_cap is a bitfield of mouse and keyboard modifier state.
        1: left mouse button
        2: right mouse button
        4: Control key
        8: Shift key
        16: Alt key
        32: Windows key
        64: middle mouse button
    Note: Mousebuttons will be returned after gfx_init(), the other keyboard-modifier only when using gfx_getchar()!



^ Reaper version 5.62 gfx_arc

Functioncall:

EEL: gfx_arc(x,y,r,ang1,ang2[,antialias])

Description:
Draws an arc of the circle centered at x,y, with ang1/ang2 being specified in radians.

Parameters:
          x - x position of the center of the circle
          y - y position of the center of the circle
          r - the radius of the circle
          ang1 - the beginning of the circle in radians; meant for partial circles; 0-6.28
          ang2 - the end of the circle in radians; meant for partial circles; 0-6.28
          antialias - <=0.5, antialias off; >0.5, antialias on


^ Reaper version 5.62 gfx_blit

Functioncall:

EEL: gfx_blit(source, scale, rotation[, srcx, srcy, srcw, srch, destx, desty, destw, desth, rotxoffs, rotyoffs])

Description:
srcx/srcy/srcw/srch specify the source rectangle (if omitted srcw/srch default to image size), destx/desty/destw/desth specify dest rectangle (if not specified, these will default to reasonable defaults -- destw/desth default to srcw/srch * scale).

Parameters:
          source -
          scale -
          rotation -
          srcx -
          srcy -
          srcw -
          srch -
          destx -
          desty -
          destw -
          desth -
          rotxoffs -
          rotyoffs -


^ Reaper version 5.62 gfx_blit

Functioncall:

EEL: gfx_blit(source,scale,rotation)

Description:
If three parameters are specified, copies the entirity of the source bitmap to gfx_x,gfx_y using current opacity and copy mode (set with gfx_a, gfx_mode). You can specify scale (1.0 is unscaled) and rotation (0.0 is not rotated, angles are in radians).
For the "source" parameter specify -1 to use the main framebuffer as source, or an image index (see gfx_loadimg().

Parameters:
          source -
          scale -
          rotation -


^ Reaper version 5.62 gfx_blitext

Functioncall:

EEL: gfx_blitext(source,coordinatelist,rotation)

Description:
Deprecated, use gfx_blit instead.

Parameters:
          source -
          coordinatelist -
          rotation -


^ Reaper version 5.62 gfx_blurto

Functioncall:

EEL: gfx_blurto(x,y)

Description:
Blurs the region of the screen between gfx_x,gfx_y and x,y, and updates gfx_x,gfx_y to x,y.

Parameters:
          x - x position of the other edge of the blur-region
          y - y position of the other edge of the blur-region


^ Reaper version 5.62 gfx_circle

Functioncall:

EEL: gfx_circle(x,y,r[,fill,antialias])

Description:
Draws a circle, optionally filling/antialiasing

Parameters:
          x - x position of center of the circle
          y - y position of center of the circle
          r - radius of the circle
          fill - <=0.5, circle is not filled; >0.5, circle is filled
          antialias - <=0.5, circle is not antialiased; >0.5, circle is antialiased


^ Reaper version 5.62 gfx_clienttoscreen

Functioncall:

EEL: gfx_clienttoscreen(x,y)

Description:
Converts client coordinates x,y to screen coordinates.

Parameters:
          x - the x coordinate within(!) the gfx_init()-window, that shall be converted to screen-coordinates
          y - the y coordinate within(!) the gfx_init()-window, that shall be converted to screen-coordinates


^ Reaper version 5.95 gfx_deltablit

Functioncall:

EEL: gfx_deltablit(srcimg,srcs,srct,srcw,srch,destx,desty,destw,desth,dsdx,dtdx,dsdy,dtdy,dsdxdy,dtdxdy[,usecliprect=1])

Description:
Blits from srcimg(srcs,srct,srcw,srch) to destination (destx,desty,destw,desth). Source texture coordinates are s/t, dsdx represents the change in s coordinate for each x pixel, dtdy represents the change in t coordinate for each y pixel, etc. dsdxdy represents the change in dsdx for each line. If usecliprect is specified and 0, then srcw/srch are ignored.

This function allows you to manipulate the image, which you want to blit, by transforming, moving or cropping it.

To do rotation, you can manipulate dtdx and dsdy together.

Parameters:
          srcimg - image - the image to blit
          srcs - positiondeltaX - the delta of the x-position of the image within the blitted area in pixels(useful default: 0)
          srct - positiondeltaY - the delta of the y-position of the image within the blitted area in pixels(useful default: 0)
          srcw - unknown - (useful default: 0)
          srch - unknown - (useful default: 0)
          destx - positiondeltaX - the delta of the x-position of the blitted area in pixels(useful default: 0)
          desty - positiondeltaY - the delta of the y-position of the blitted area in pixels(useful default: 0)
          destw - blitsizeX - the x-size of the blitted area in pixels; the deltaimage might be cropped, if it exceeds this size(useful default: width of the image)
          desth - blitsizeY - the y-size of the blitted area in pixels; the deltaimage might be cropped, if it exceeds this size(useful default: height of the image)
          dsdx - stretchfactorX, the lower, the more stretched is the image(minimum 0; 1 for full size); limited by blitsizeX(useful default: 1)
          dtdx - deltaY: the delta of the right side of the image, related to the left side of the image; positive, right is moved up; negative, right is moved down; this delta is linear(useful default: 0)
          dsdy - deltaX: the delta of the bottom side of the image, related to the top side of the image; positive, bottom is moved left; negative, bottom is moved right; this delta is linear(useful default: 0)
          dtdy - stretchfactorY, the lower, the more stretched is the image(minimum 0; 1 for full size); limited by blitsizeY(useful default: 1)
          dsdxdy - deltacurvedY: the delta of the right side of the image, related to the left side of the image; positive, right is moved up; negative, right is moved down; this delta "curves" the delta via a bezier(useful default: 0)
          dtdxdy - deltacurvedX: the delta of the bottom side of the image, related to the top side of the image; positive, bottom is moved left; negative, bottom is moved right; this delta "curves" the delta via a bezier(useful default: 0)
          usecliprect - can be set to 0 or 1(useful default: 0)


^ Reaper version 5.62 gfx_dock

Functioncall:

EEL: gfx_dock(v[,wx,wy,ww,wh])

Description:
Call with v=-1 to query docked state, otherwise v>=0 to set docked state. State is &1 if docked, second byte is docker index (or last docker index if undocked). If wx-wh are specified, they will be filled with the undocked window position/size

Parameters:
          v - -1, query docking-state; 0 and higher, set state of the window to docked
          wx - set to a number to query current-windowx-position
          wy - set to a number to query current-windowy-position
          ww - set to a number to query current-window-width
          wh - set to a number to query current-window-height
Returnvalues:
          querystate - 0 if not docked; &1 if docked; the byte &9 to &16 returns the docker-index
          window_x_position - the x position of the window in pixels
          window_y_position - the y position of the window in pixels
          window_width - the width of the window in pixels
          window_height - the height of the window in pixels


^ Reaper version 5.62 gfx_drawchar

Functioncall:

EEL: gfx_drawchar(char)

Description:
Draws the character (can be a numeric ASCII code as well), to gfx_x, gfx_y, and moves gfx_x over by the size of the character.

Parameters:
          char - the numeric ASCII-representation of the character to be drawn


^ Reaper version 5.62 gfx_drawnumber

Functioncall:

EEL: gfx_drawnumber(n,ndigits)

Description:
Draws the number n with ndigits of precision to gfx_x, gfx_y, and updates gfx_x to the right side of the drawing. The text height is gfx_texth.

Parameters:
          n -
          n digits -


^ Reaper version 5.62 gfx_drawstr

Functioncall:

EEL: gfx_drawstr(str[,flags,right,bottom])

Description:
Draws a string at gfx_x, gfx_y, and updates gfx_x/gfx_y so that subsequent draws will occur in a similar place.

* If flags, right ,bottom passed in:
* flags&1: center horizontally
* flags&2: right justify
* flags&4: center vertically
* flags&8: bottom justify
* flags&256: ignore right/bottom, otherwise text is clipped to (gfx_x, gfx_y, right, bottom)

Parameters:
          str -
          flags -
          right -
          bottom -


^ Reaper version 5.62 gfx_getchar

Functioncall:

EEL: gfx_getchar([char])

Description:
If char is 0 or omitted, returns a character from the keyboard queue, or 0 if no character is available, or -1 if the graphics window is not open. If char is specified and nonzero, that character's status will be checked, and the function will return greater than 0 if it is pressed.

Common values are standard ASCII, such as 'a', 'A', '=' and '1', but for many keys multi-byte values are used, including 'home', 'up', 'down', 'left', 'rght', 'f1'.. 'f12', 'pgup', 'pgdn', 'ins', and 'del'.

Modified and special keys can also be returned, including:

* Ctrl/Cmd+A..Ctrl+Z as 1..26
* Ctrl/Cmd+Alt+A..Z as 257..282
* Alt+A..Z as 'A'+256..'Z'+256
* 27 for ESC
* 13 for Enter
* ' ' for space

Parameters:
          char -


^ Reaper version 5.62 gfx_getfont

Functioncall:

EEL: gfx_getfont([#str])

Description:
Returns current font index. If a string is passed, it will receive the actual font face used by this font, if available.

Parameters:
          #str -


^ Reaper version 5.62 gfx_getimgdim

Functioncall:

EEL: gfx_getimgdim(image,w,h)

Description:
Retrieves the dimensions of image (representing a filename: index number) into w and h. Sets these values to 0 if an image failed loading (or if the filename index is invalid).

Parameters:
          image -
Returnvalues:
          w -
          h -


^ Reaper version 5.62 gfx_getpixel

Functioncall:

EEL: gfx_getpixel(r,g,b)

Description:
Gets the value of the pixel at gfx_x,gfx_y into r,g,b.

Returnvalues:
          r - the red-color-value, a value between 0 to 1
          g - the green-color-value, a value between 0 to 1
          b - the blue-color-value, a value between 0 to 1


^ Reaper version 5.62 gfx_gradrect

Functioncall:

EEL: gfx_gradrect(x,y,w,h, r,g,b,a[, drdx, dgdx, dbdx, dadx, drdy, dgdy, dbdy, dady])

Description:
Fills a gradient rectangle with the color and alpha specified. drdx-dadx reflect the adjustment (per-pixel) applied for each pixel moved to the right, drdy-dady are the adjustment applied for each pixel moved toward the bottom. Normally drdx=adjustamount/w, drdy=adjustamount/h, etc.

Parameters:
          x -
          y -
          w -
          h -
          r -
          g -
          b -
          a -
          drdx -
          dgdx -
          dbdx -
          dadx -
          drdy -
          dgdy -
          dbdy -
          dady -


^ Reaper version 5.62 gfx_init

Functioncall:

EEL: gfx_init(name[,width,height,dockstate,xpos,ypos])

Description:
Initializes the graphics window with title name. Suggested width and height can be specified.

Once the graphics window is open, gfx_update() should be called periodically.



^ Reaper version 5.62 gfx_line

Functioncall:

EEL: gfx_line(x,y,x2,y2[,aa])

Description:
Draws a line from x,y to x2,y2, and if aa is not specified or 0.5 or greater, it will be antialiased.

Parameters:
          x -
          y -
          x2 -
          y2 -
          aa -


^ Reaper version 5.62 gfx_lineto

Functioncall:

EEL: gfx_lineto(x,y[,aa])

Description:
Draws a line from gfx_x,gfx_y to x,y. If aa is 0.5 or greater, then antialiasing is used. Updates gfx_x and gfx_y to x,y.

Parameters:
          x -
          y -
          aa -


^ Reaper version 5.62 gfx_loadimg

Functioncall:

EEL: gfx_loadimg(image,filename)

Description:
Load image from filename into slot 0..1024-1 specified by image. Returns the image index if success, otherwise -1 if failure. The image will be resized to the dimensions of the image file.

Parameters:
          image -
          filename -


^ Reaper version 5.62 gfx_measurechar

Functioncall:

EEL: gfx_measurechar(character,&w,&h)

Description:
Measures the drawing dimensions of a character with the current font (as set by gfx.setfont). Returns width and height of character.

Parameters:
          character - a character, whose dimensions you want to know
          w - the width of this character
          h - the height if this character


^ Reaper version 5.62 gfx_measurestr

Functioncall:

EEL: gfx_measurestr(str,&w,&h)

Description:
Measures the drawing dimensions of a string with the current font (as set by gfx_setfont).

Parameters:
          str -
          w -
          h -


^ Reaper version 5.62 gfx_muladdrect

Functioncall:

EEL: gfx_muladdrect(x,y,w,h,mul_r,mul_g,mul_b[,mul_a,add_r,add_g,add_b,add_a])

Description:
Multiplies each pixel by mul_* and adds add_*, and updates in-place. Useful for changing brightness/contrast, or other effects.

Parameters:
          x -
          y -
          w -
          h -
          mul_r -
          mul_g -
          mul_b -
          mul_a -
          add_r -
          add_g -
          add_b -
          add_a -


^ Reaper version 5.62 gfx_printf

Functioncall:

EEL: gfx_printf(format[, ...])

Description:
Formats and draws a string at gfx_x, gfx_y, and updates gfx_x/gfx_y accordingly (the latter only if the formatted string contains newline). For more information on format strings, see sprintf()

* %% = %
* %s = string from parameter
* %d = parameter as integer
* %i = parameter as integer
* %u = parameter as unsigned integer
* %x = parameter as hex (lowercase) integer
* %X = parameter as hex (uppercase) integer
* %c = parameter as character
* %f = parameter as floating point
* %e = parameter as floating point (scientific notation, lowercase)
* %E = parameter as floating point (scientific notation, uppercase)
* %g = parameter as floating point (shortest representation, lowercase)
* %G = parameter as floating point (shortest representation, uppercase)

Many standard C printf() modifiers can be used, including:

* %.10s = string, but only print up to 10 characters
* %-10s = string, left justified to 10 characters
* %10s = string, right justified to 10 characters
* %+f = floating point, always show sign
* %.4f = floating point, minimum of 4 digits after decimal point
* %10d = integer, minimum of 10 digits (space padded)
* %010f = integer, minimum of 10 digits (zero padded)

Values for format specifiers can be specified as additional parameters to gfx_printf, or within {} in the format specifier (such as %{varname}d, in that case a global variable is always used).

Parameters:
          format -


^ Reaper version 5.62 gfx_quit

Functioncall:

EEL: gfx_quit()

Description:
Closes the graphics window.



^ Reaper version 5.62 gfx_rect

Functioncall:

EEL: gfx_rect(x,y,w,h[,filled])

Description:
Fills a rectangle at x,y,w,h pixels in dimension, filled by default.

Parameters:
          x -
          y -
          w -
          h -
          filled -


^ Reaper version 5.62 gfx_rectto

Functioncall:

EEL: gfx_rectto(x,y)

Description:
Fills a rectangle from gfx_x,gfx_y to x,y. Updates gfx_x,gfx_y to x,y.

Parameters:
          x -
          y -


^ Reaper version 5.62 gfx_roundrect

Functioncall:

EEL: gfx_roundrect(x,y,w,h,radius[,antialias])

Description:
Draws a rectangle with rounded corners.

Parameters:
          x -
          y -
          w -
          h -
          radius -
          antialias -


^ Reaper version 5.62 gfx_screentoclient

Functioncall:

EEL: gfx_screentoclient(x,y)

Description:
Converts screen coordinates x,y to client coordinates.

Parameters:
          x -
          y -


^ Reaper version 5.62 gfx_set

Functioncall:

EEL: gfx_set(r[,g,b,a2,mode,dest])

Description:
Sets gfx_r/gfx_g/gfx_b/gfx_a2/gfx_mode, sets gfx_dest if final parameter specified

Parameters:
          r -
          g -
          b -
          a -
          mode -
          dest -


^ Reaper version 5.62 gfx_setcursor

Functioncall:

EEL: gfx_setcursor(resource_id,custom_cursor_name)

Description:
Sets the mouse cursor. resource_id is a value like 32512 (for an arrow cursor), custom_cursor_name is a string like "arrow" (for the REAPER custom arrow cursor). resource_id must be nonzero, but custom_cursor_name is optional.

Parameters:
          resource_id -
          custom_cursor_name -


^ Reaper version 5.91Lua version 5.3 eel_getdropfile

Functioncall:

EEL: integer retval = gfx_getdropfile(integer idx[, string #filename])

Description:
Returns filenames, drag'n'dropped into a window created by gfx_init().
Use idx to get a specific filename, that has been dropped into the gfx_init()-window.

Does NOT support mediaitems/takes or other Reaper-objects!

It MUST be called BEFORE calling gfx_update, as gfx_update flushes the filelist accessible with gfx_getdropfile.

Parameters:
          integer idx - the indexnumber for a filename, that has been dropped into a gfx_init()-window.
0, the first file; 1, the second file; 2, the third file, etc.
-1, clears the filelist.
Returnvalues:
          integer retval - 0, if droppped-filename with indexnumber idx doesn't exist; 1, if it exists; hints, if you already read all dropped filenames.
          string filename - the filename of dropped-file with indexnumber idx


^ Reaper version 5.62 gfx_setfont

Functioncall:

EEL: gfx_setfont(idx[,fontface, sz, flags])

Description:
Can select a font and optionally configure it.

After calling gfx_setfont(), gfx_texth may be updated to reflect the new average line height.

Parameters:
          idx - the font-id; idx=0 for default bitmapped font, no configuration is possible for this font.
idx=1..16 for a configurable font
          fontface - the name of the font, like "arial"
          sz - the size of the font (8-100)
          flags - flags, how to render the text; values are repeating every 256 numbers
a multibyte character, which can include 'i' for italics, 'u' for underline, or 'b' for bold.
These flags may or may not be supported depending on the font and OS.
66 and 98, Bold (B), (b)
73 and 105, italic (I), (i)
79 and 111, white outline (O), (o)
82 and 114, reduced(halfbright) (R), (r)
83 and 115, sharpen (S), (s)
85 and 117, underline (U), (u)
86 and 118, inVerse (V), (v)


^ Reaper version 5.62 gfx_setimgdim

Functioncall:

EEL: gfx_setimgdim(image,w,h)

Description:
Resize image referenced by index 0..1024-1, width and height must be 0-2048. The contents of the image will be undefined after the resize.

Parameters:
          image -
          w -
          h -


^ Reaper version 5.62 gfx_setpixel

Functioncall:

EEL: gfx_setpixel(r,g,b)

Description:
Writes a pixel of r,g,b to gfx_x,gfx_y.

Parameters:
          r -
          g -
          b -


^ Reaper version 5.62 gfx_showmenu

Functioncall:

EEL: gfx_showmenu(str)

Description:
Shows a popup menu at gfx_x,gfx_y.
str is a list of fields separated by | characters. Each field represents a menu item.
Fields can start with special characters:

# : grayed out
! : checked
> : this menu item shows a submenu
< : last item in the current submenu

An empty field will appear as a separator in the menu. gfx_showmenu returns 0 if the user selected nothing from the menu, 1 if the first field is selected, etc.
Example:

gfx_showmenu("first item, followed by separator||!second item, checked|>third item which spawns a submenu|#first item in submenu, grayed out|
Parameters:
          str -


^ Reaper version 5.62 gfx_transformblit

Functioncall:

EEL: gfx_transformblit(srcimg,destx,desty,destw,desth,div_w,div_h,table)

Description:
Blits to destination at (destx,desty), size (destw,desth). div_w and div_h should be 2..64, and table should point to a table of 2*div_w*div_h values (this table must not cross a 65536 item boundary). Each pair in the table represents a S,T coordinate in the source image, and the table is treated as a left-right, top-bottom list of texture coordinates, which will then be rendered to the destination.

Parameters:
          srcimg -
          destx -
          desty -
          destw -
          desth -
          div_w -
          div_h -
          table -


^ Reaper version 5.62 gfx_triangle

Functioncall:

EEL: gfx_triangle(x1,y1,x2,y2,x3,y3[x4,y4...])

Description:
Draws a filled triangle, or any convex polygon.

Parameters:
          x1 -
          y1 -
          x2 -
          y2 -
          x3 -
          y3 -
          x4 -
          y4 -


^ Reaper version 5.62 gfx_update

Functioncall:

EEL: gfx_update()

Description:
Updates the graphics display, if opened.



^ Reaper version 5.62 ifft

Functioncall:

EEL: ifft(buffer,size)

Description:
Perform an inverse FFT. For more information see fft().

Parameters:
          buffer -
          size -


^ Reaper version 5.62 ifft_real

Functioncall:

EEL: ifft_real(buffer,size)

Description:
Performs an inverse FFT, but takes size/2 complex input pairs and produces size real output values. Usually used along with fft_ipermute(size/2).

Parameters:
          buffer -
          size -


^ Reaper version 5.62 invsqrt

Functioncall:

EEL: invsqrt(value)

Description:
Returns a fast inverse square root (1/sqrt(x)) approximation of the parameter.

Parameters:
          value -


^ Reaper version 5.62 log

Functioncall:

EEL: log(value)

Description:
Returns the natural logarithm (base e) of the parameter. If the value is not greater than 0, the return value is undefined.

Parameters:
          value -


^ Reaper version 5.62 log10

Functioncall:

EEL: log10(value)

Description:
Returns the base-10 logarithm of the parameter. If the value is not greater than 0, the return value is undefined.

Parameters:
          value -


^ Reaper version 5.62 loop

Functioncall:

EEL: loop(count,expression)

Description:
Evaluates count once, and then executes expression count, but not more than 1048576, times.

Parameters:
          count -
          expression -


^ Reaper version 5.62 match

Functioncall:

EEL: match(needle,haystack[, ...])

Description:
Searches for the first parameter in the second parameter, using a simplified regular expression syntax.

* * = match 0 or more characters
* *? = match 0 or more characters, lazy
* + = match 1 or more characters
* +? = match 1 or more characters, lazy
* ? = match one character

You can also use format specifiers to match certain types of data, and optionally put that into a variable:

* %s means 1 or more chars
* %0s means 0 or more chars
* %5s means exactly 5 chars
* %5-s means 5 or more chars
* %-10s means 1-10 chars
* %3-5s means 3-5 chars
* %0-5s means 0-5 chars
* %x, %d, %u, and %f are available for use similarly
* %c can be used, but can't take any length modifiers
* Use uppercase (%S, %D, etc) for lazy matching

See also sprintf() for other notes, including specifying direct variable references via {}.

Parameters:
          needle -
          haystack -


^ Reaper version 5.62 matchi

Functioncall:

EEL: matchi(needle,haystack[, ...])

Description:
Case-insensitive version of match().

Parameters:
          needle -
          haystack -


^ Reaper version 5.62 max

Functioncall:

EEL: max(&value,&value2)

Description:
Returns (by reference) the maximum value of the two parameters. Since max() returns by reference, expressions such as max(x,y) = 5 are possible.

Parameters:
          value -
          value2 -


^ Reaper version 5.62 mem_get_values

Functioncall:

EEL: mem_get_values(offset, ...)

Description:
Reads values from memory starting at offset into variables specified. Slower than regular memory reads for less than a few variables, faster for more than a few. Undefined behavior if used with more than 32767 variables.

Parameters:
          offset -


^ Reaper version 5.62 mem_set_values

Functioncall:

EEL: mem_set_values(offset, ...)

Description:
Writes values to memory starting at offset from variables specified. Slower than regular memory writes for less than a few variables, faster for more than a few. Undefined behavior if used with more than 32767 variables.

Parameters:
          offset -


^ Reaper version 5.62 memcpy

Functioncall:

EEL: memcpy(dest,src,length)

Description:
Copies length items of memory from src to dest. Regions are permitted to overlap.

Parameters:
          dest -
          src -
          length -


^ Reaper version 5.62 memset

Functioncall:

EEL: memset(offset,value,length)

Description:
Sets length items of memory at offset to value.

Parameters:
          offset -
          value -
          length -


^ Reaper version 5.62 min

Functioncall:

EEL: min(&value,&value2)

Description:
Returns (by reference) the minimum value of the two parameters. Since min() returns by reference, expressions such as min(x,y) = 5 are possible.

Parameters:
          value -
          value2 -


^ Reaper version 5.62 printf

Functioncall:

EEL: printf(format[, ...])

Description:
Output formatted string to system-specific destination, see sprintf() for more information

* %% = %
* %s = string from parameter
* %d = parameter as integer
* %i = parameter as integer
* %u = parameter as unsigned integer
* %x = parameter as hex (lowercase) integer
* %X = parameter as hex (uppercase) integer
* %c = parameter as character
* %f = parameter as floating point
* %e = parameter as floating point (scientific notation, lowercase)
* %E = parameter as floating point (scientific notation, uppercase)
* %g = parameter as floating point (shortest representation, lowercase)
* %G = parameter as floating point (shortest representation, uppercase)

Many standard C printf() modifiers can be used, including:

* %.10s = string, but only print up to 10 characters
* %-10s = string, left justified to 10 characters
* %10s = string, right justified to 10 characters
* %+f = floating point, always show sign
* %.4f = floating point, minimum of 4 digits after decimal point
* %10d = integer, minimum of 10 digits (space padded)
* %010f = integer, minimum of 10 digits (zero padded)

Values for format specifiers can be specified as additional parameters to printf, or within {} in the format specifier (such as %{varname}d, in that case a global variable is always used).

Parameters:
          format -


^ Reaper version 5.62 rand

Functioncall:

EEL: rand([max])

Description:
Returns a psuedorandom real number between 0 and the parameter, inclusive. If the parameter is omitted or less than 1.0, 1.0 is used as a maximum instead.

Parameters:
          max -


^ Reaper version 5.62 runloop

Functioncall:

EEL: runloop(code)

Description:
Adds code to be called back by REAPER. Used to create persistent ReaScripts that continue to run and respond to input, while the user does other tasks. Identical to defer().

Note that no undo point will be automatically created when the script finishes, unless you create it explicitly.

Parameters:
          code -


^ Reaper version 5.62 sign

Functioncall:

EEL: sign(value)

Description:
Returns 1.0 if the parameter is greater than 0, -1.0 if the parameter is less than 0, or 0 if the parameter is 0.

Parameters:
          value -


^ Reaper version 5.62 sin

Functioncall:

EEL: sin(angle)

Description:
Returns the sine of the angle specified (specified in radians -- to convert from degrees to radians, multiply by $pi/180, or 0.017453).

Parameters:
          angle -


^ Reaper version 5.62 sleep

Functioncall:

EEL: sleep(ms)

Description:
Yields the CPU for the millisecond count specified, calling Sleep() on Windows or usleep() on other platforms.

Parameters:
          ms -


^ Reaper version 5.62 sprintf

Functioncall:

EEL: sprintf(#dest,format[, ...])

Description:
Formats a string and stores it in #dest. Format specifiers begin with %, and may include:

    * %% = %
    * %s = string from parameter
    * %d = parameter as integer
    * %i = parameter as integer
    * %u = parameter as unsigned integer
    * %x = parameter as hex (lowercase) integer
    * %X = parameter as hex (uppercase) integer
    * %c = parameter as character
    * %f = parameter as floating point
    * %e = parameter as floating point (scientific notation, lowercase)
    * %E = parameter as floating point (scientific notation, uppercase)
    * %g = parameter as floating point (shortest representation, lowercase)
    * %G = parameter as floating point (shortest representation, uppercase)

Many standard C printf() modifiers can be used, including:

    * %.10s = string, but only print up to 10 characters
    * %-10s = string, left justified to 10 characters
    * %10s = string, right justified to 10 characters
    * %+f = floating point, always show sign
    * %.4f = floating point, minimum of 4 digits after decimal point
    * %10d = integer, minimum of 10 digits (space padded)
    * %010f = integer, minimum of 10 digits (zero padded)

Values for format specifiers can be specified as additional parameters to sprintf, or within {} in the format specifier (such as %{varname}d, in that case a global variable is always used).

Parameters:
          #dest -
          format -


^ Reaper version 5.62 sqr

Functioncall:

EEL: sqr(value)

Description:
Returns the square of the parameter (similar to value*value, but only evaluating value once).

Parameters:
          value -


^ Reaper version 5.62 sqrt

Functioncall:

EEL: sqrt(value)

Description:
Returns the square root of the parameter. If the parameter is negative, the return value is undefined.

Parameters:
          value -


^ Reaper version 5.62 stack_exch

Functioncall:

EEL: stack_exch(&value)

Description:
Exchanges a value with the top of the stack, and returns a reference to the parameter (with the new value).

Parameters:
          value -


^ Reaper version 5.62 stack_peek

Functioncall:

EEL: stack_peek(index)

Description:
Returns a reference to the item on the top of the stack (if index is 0), or to the Nth item on the stack if index is greater than 0.

Parameters:
          index -


^ Reaper version 5.62 stack_pop

Functioncall:

EEL: stack_pop(&value)

Description:
Pops a value from the user stack into value, or into a temporary buffer if value is not specified, and returns a reference to where the stack was popped. Note that no checking is done to determine if the stack is empty, and as such stack_pop() will never fail.

Parameters:
          value -


^ Reaper version 5.62 stack_push

Functioncall:

EEL: stack_push(&value)

Description:
Pushes value onto the user stack, returns a reference to the parameter.

Parameters:
          value -


^ Reaper version 5.62 str_delsub

Functioncall:

EEL: str_delsub(#str,pos,len)

Description:
Deletes len characters at offset pos from #str, and returns #str.

Parameters:
          #str -
          pos -
          len -


^ Reaper version 5.62 str_getchar

Functioncall:

EEL: str_getchar(str,offset[,type])

Description:
Returns the data at byte-offset offset of str. If offset is negative, position is relative to end of string.type defaults to signed char, but can be specified to read raw binary data in other formats (note the single quotes, these are single/multi-byte characters):

* 'c' - signed char
* 'cu' - unsigned char
* 's' - signed short
* 'S' - signed short, big endian
* 'su' - unsigned short
* 'Su' - unsigned short, big endian
* 'i' - signed int
* 'I' - signed int, big endian
* 'iu' - unsigned int
* 'Iu' - unsigned int, big endian
* 'f' - float
* 'F' - float, big endian
* 'd' - double
* 'D' - double, big endian

Parameters:
          str -
          offset -
          type -


^ Reaper version 5.62 str_insert

Functioncall:

EEL: str_insert(#str,srcstr,pos)

Description:
Inserts srcstr into #str at offset pos. Returns #str.

Parameters:
          #str -
          srcstr -
          pos -


^ Reaper version 5.62 str_setchar

Functioncall:

EEL: str_setchar(#str,offset,val[,type]))

Description:
Sets value at offset offset, type optional. offset may be negative to refer to offset relative to end of string, or between 0 and length, inclusive, and if set to length it will lengthen string. See str_getchar() for more information on types.

Parameters:
          #str -
          offset -
          val -
          type -


^ Reaper version 5.62 str_setlen

Functioncall:

EEL: str_setlen(#str,len)

Description:
Sets length of #str (if increasing, will be space-padded), and returns #str.

Parameters:
          #str -
          len -


^ Reaper version 5.62 strcat

Functioncall:

EEL: strcat(#str,srcstr)

Description:
Appends srcstr to #str, and returns #str

Parameters:
          #str -
          srcstr -


^ Reaper version 5.62 strcmp

Functioncall:

EEL: strcmp(str,str2)

Description:
Compares strings, returning 0 if equal

Parameters:
          str -
          str2 -


^ Reaper version 5.62 strcpy

Functioncall:

EEL: strcpy(#str,srcstr)

Description:
Copies the contents of srcstr to #str, and returns #str

Parameters:
          #str -
          srcstr -


^ Reaper version 5.62 strcpy_from

Functioncall:

EEL: strcpy_from(#str,srcstr,offset)

Description:
Copies srcstr to #str, but starts reading srcstr at offset offset

Parameters:
          #str -
          srcstr -
          offset -


^ Reaper version 5.62 strcpy_substr

Functioncall:

EEL: strcpy_substr(#str,srcstr,offs,ml))

Description:
PHP-style (start at offs, offs<0 means from end, ml for maxlen, ml<0 = reduce length by this amt)

Parameters:
          #str -
          srcstr -
          offs -
          ml -


^ Reaper version 5.62 stricmp

Functioncall:

EEL: stricmp(str,str2)

Description:
Compares strings ignoring case, returning 0 if equal.

Parameters:
          str -
          str2 -


^ Reaper version 5.62 strlen

Functioncall:

EEL: strlen(str)

Description:
Returns the length of the string passed as a parameter.

Parameters:
          str -


^ Reaper version 5.62 strncat

Functioncall:

EEL: strncat(#str,srcstr,maxlen)

Description:
Appends srcstr to #str, stopping after maxlen characters of srcstr. Returns #str.

Parameters:
          #str -
          srcstr -
          maxlen -


^ Reaper version 5.62 strncmp

Functioncall:

EEL: strncmp(str,str2,maxlen)

Description:
Compares strings giving up after maxlen characters, returning 0 if equal.

Parameters:
          str -
          str2 -
          maxlen -


^ Reaper version 5.62 strncpy

Functioncall:

EEL: strncpy(#str,srcstr,maxlen)

Description:
Copies srcstr to #str, stopping after maxlen characters. Returns #str.

Parameters:
          #str -
          srcstr -
          maxlen -


^ Reaper version 5.62 strnicmp

Functioncall:

EEL: strnicmp(str,str2,maxlen)

Description:
Compares strings giving up after maxlen characters, ignoring case, returning 0 if equal.

Parameters:
          str -
          str2 -
          maxlen -


^ Reaper version 5.62 tan

Functioncall:

EEL: tan(angle)

Description:
Returns the tangent of the angle specified (specified in radians).

Parameters:
          angle -


^ Reaper version 5.62 tcp_close

Functioncall:

EEL: tcp_close(connection)

Description:
Closes a TCP connection created by tcp_listen() or tcp_connect().

Parameters:
          connection -


^ Reaper version 5.62 tcp_connect

Functioncall:

EEL: tcp_connect(address,port[,block])

Description:
Create a new TCP connection to address:port. If block is specified and 0, connection will be made nonblocking. Returns TCP connection ID greater than 0 on success.

Parameters:
          address -
          port -
          block -


^ Reaper version 5.62 tcp_listen

Functioncall:

EEL: tcp_listen(port[,interface,#ip_out])

Description:
Listens on port specified. Returns less than 0 if could not listen, 0 if no new connection available, or greater than 0 (as a TCP connection ID) if a new connection was made. If a connection made and #ip_out specified, it will be set to the remote IP. interface can be empty for all interfaces, otherwise an interface IP as a string.

Parameters:
          port -
          interface -
          #ip_out -


^ Reaper version 5.62 tcp_listen_end

Functioncall:

EEL: tcp_listen_end(port)

Description:
Ends listening on port specified.

Parameters:
          port -


^ Reaper version 5.62 tcp_recv

Functioncall:

EEL: tcp_recv(connection,#str[,maxlen])

Description:
Receives data from a connection to #str. If maxlen is specified, no more than maxlen bytes will be received. If non-blocking, 0 will be returned if would block. Returns less than 0 if error.

Parameters:
          connection -
          #str -
          maxlen -


^ Reaper version 5.62 tcp_send

Functioncall:

EEL: tcp_send(connection,str[,len])

Description:
Sends a string to connection. Returns -1 on error, 0 if connection is non-blocking and would block, otherwise returns length sent. If len is specified and not less than 1, only the first len bytes of the string parameter will be sent.

Parameters:
          connection -
          str -
          len -


^ Reaper version 5.62 tcp_set_block

Functioncall:

EEL: tcp_set_block(connection,block)

Description:
Sets whether a connection blocks.

Parameters:
          connection -
          block -


^ Reaper version 5.62 time

Functioncall:

EEL: time([&val])

Description:
Sets the parameter (or a temporary buffer if omitted) to the number of seconds since January 1, 1970, and returns a reference to that value. The granularity of the value returned is 1 second.

Parameters:
          val -


^ Reaper version 5.62 time_precise

Functioncall:

EEL: time_precise([&val])

Description:
Sets the parameter (or a temporary buffer if omitted) to a system-local timestamp in seconds, and returns a reference to that value. The granularity of the value returned is system defined (but generally significantly smaller than one second).

Parameters:
          val -


^ Reaper version 5.62 while

Functioncall:

EEL: while(expression)

Description:
Executes expression until expression evaluates to zero, or until 1048576 iterations occur. An alternate and more useful syntax is while (expression) ( statements ), which evaluates statements after every non-zero evaluation of expression.

Parameters:
          expression -


^ Reaper version 5.62Lua version 5.3 atexit

Functioncall:

Lua: reaper.atexit(function function)

Description:
Adds code to be executed when the script finishes or is ended by the user. Typically used to clean up after the user terminates defer() or runloop() code.

You can't defer this atexit-function, when it is run as exit-function, though, when it is run regularily before exiting the script.

You can define more than one atexit-function. They will be run in the order they've been registered as atexit-functions.
For example:

    reaper.atexit(exit1)
    reaper.atexit(exit2)
    reaper.atexit(exit3)
    
will run exit1, exit2 and then exit3, when exiting the script.

You can have up to 1024 atexit-functions set in one script, no matter if its different or the same function.

Parameters:
          function function - the function, with which the script shall finish


^ Reaper version 5.62Lua version 5.3 defer

Functioncall:

Lua: boolean retval = reaper.defer(function function)

Description:
Adds code to be called back by REAPER. Used to create persistent ReaScripts that continue to run and respond to input, while the user does other tasks. Identical to runloop().Note that no undo point will be automatically created when the script finishes, unless you create it explicitly.

There can be 1024 defer-nodes running at the same time in one script, no matter if it's different functions or the same one.

Parameters:
          function function - the function to be called, when the current defer/runloop-run has ended
Returnvalues:
          boolean retval - true, node could be created; false, you tried to add more than 1024 defer-nodes in the script


^ Reaper version 5.62Lua version 5.3 get_action_context

Functioncall:

Lua: boolean is_new_value, string filename_with_path, integer sectionID, integer cmdID, integer mode, integer resolution, integer val = reaper.get_action_context()

Description:
Returns contextual information about the script, typically MIDI/OSC input values.val will be set to a relative or absolute value depending on mode (=0: absolute mode, >0: relative modes). resolution=127 for 7-bit resolution, =16383 for 14-bit resolution.Notes: sectionID, and cmdID will be set to -1 if the script is not part of the action list. mode, resolution and val will be set to -1 if the script was not triggered via MIDI/OSC.

For relative mode bindings, calling get_action_context() will return the accumulated relative value in decoded form (not 65 or 63, but +1/-1 etc), and clear the internal state. So if you call it multiple times, the first one will return the accumulated value, and the second will always return 0.

Returnvalues:
          boolean is_new_value -
          string filename_with_path - the script's own filename with path
          integer sectionID - the section, in which this script was called
          integer cmdID - the command-id associated with this script
          integer mode - -1, if script isn't run by shortcut; 55953, is script is run by shortcut; probably for for MIDI?
          integer resolution - -1, if script isn't run by shortcut; probably more for MIDI?
          integer val - -1, if script isn't run by shortcut; probably more for MIDI?


^ Reaper version 5.97Lua version 5.3 gfx_variables

Functioncall:

Lua: gfx VARIABLES

Description:
The following global variables are special and will be used by the graphics system:

* gfx.r, gfx.g, gfx.b, gfx.a2 - These represent the current red, green, blue, and alpha components used by drawing operations (0.0..1.0). gfx.a2 is the value written to the alpha channel when writing solid colors (normally ignored but useful when creating transparent images)
* gfx.a, gfx.mode - Alpha and blend mode for drawing. Set mode to 0 for default options. Add 1.0 for additive blend mode (if you wish to do subtractive, set gfx.a to negative and use gfx.mode as additive). Add 2.0 to disable source alpha for gfx.blit(). Add 4.0 to disable filtering for gfx.blit().
* gfx.w, gfx.h - These are set to the current width and height of the UI framebuffer.
* gfx.x, gfx.y - These set the "current" graphics position in x,y. You can set these yourselves, and many of the drawing functions update them as well.
* gfx.clear - If set to a value greater than -1.0, this will result in the framebuffer being cleared to that color. the color for this one is packed RGB (0..255), i.e. red+green*256+blue*65536. The default is 0 (black).
* gfx.dest - Defaults to -1, set to 0..1024-1 to have drawing operations go to an offscreen buffer (or loaded image).
* gfx.texth - Set to the height of a line of text in the current font. Do not modify this variable.
* gfx.ext_retina - If set to 1.0 on initialization, will be updated to 2.0 if high resolution display is supported, and if so gfx.w/gfx.h/etc will be doubled.
* gfx.mouse_x, gfx.mouse_y - gfx.mouse_x and gfx.mouse_y are set to the coordinates of the mouse relative to the graphics window.
* gfx.mouse_wheel, gfx.mouse_hwheel - mouse wheel (and horizontal wheel) positions. These will change typically by 120 or a multiple thereof, the caller should clear the state to 0 after reading it.
* gfx.mouse_cap is a bitfield of mouse and keyboard modifier state.
    1: left mouse button
    2: right mouse button
    4: Control key
    8: Shift key
    16: Alt key
    32: Windows key
    64: middle mouse button
Note: Mousebuttons will be returned after gfx.init(), the other keyboard-modifier only when using gfx.getchar()!



^ Reaper version 5.62Lua version 5.3 gfx.arc

Functioncall:

Lua: gfx.arc(integer x, integer y, integer r, number ang1, number ang2, optional number antialias)

Description:
Draws an arc of the circle centered at x,y, with ang1/ang2 being specified in radians.

Parameters:
          integer x - x position of the center of the circle
          integer y - y position of the center of the circle
          integer r - the radius of the circle
          number ang1 - the beginning of the circle in radians; meant for partial circles; 0-6.28
          number ang2 - the end of the circle in radians; meant for partial circles; 0-6.28
          optional number antialias - <=0.5, antialias off; >0.5, antialias on


^ Reaper version 5.62Lua version 5.3 gfx.blit

Functioncall:

Lua: integer source = gfx.blit(integer source, number scale, number rotation, optional number srcx, optional number srcy, optional number srcw, optional number srch, optional integer destx, optional integer desty, optional integer destw, optional integer desth, optional integer rotxoffs, optional integer rotyoffs)

Description:
Blits(draws) the content of source-image to another source-image or an opened window.

srcx/srcy/srcw/srch specify the source rectangle (if omitted srcw/srch default to image size), destx/desty/destw/desth specify dest rectangle (if not specified, these will default to reasonable defaults -- destw/desth default to srcw/srch * scale).

Parameters:
          integer source - the source-image/framebuffer to blit; -1 to 1023; -1 for the currently displayed framebuffer.
          number scale - the scale-factor; 1, for normal size; smaller or bigger than 1 make image smaller or bigger
has no effect, when destx, desty, destw, desth are given
          number rotation - the rotation-factor; 0 to 6.28; 3.14 for 180 degrees.
          optional number srcx - the x-coordinate-offset in the source-image
          optional number srcy - the y-coordinate-offset in the source-image
          optional number srcw - the width-offset in the source-image
          optional number srch - the height-offset in the source-image
          optional integer destx - the x-coordinate of the blitting destination
          optional integer desty - the y-coordinate of the blitting destination
          optional integer destw - the width of the blitting destination; may lead to stretched images
          optional integer desth - the height of the blitting destination; may lead to stretched images
          optional number rotxoffs - influences rotation
          optional number rotyoffs - influences rotation


^ Reaper version 5.62Lua version 5.3 gfx.blit(simplified)

Functioncall:

Lua: integer source = gfx.blit(integer source, number scale, number rotation)

Description:
Blits(draws) the content of source-image to another source-image or an opened window.

This is a simplified version of gfx.blit().

If three parameters are specified, copies the entirity of the source bitmap to gfx.x,gfx.y using current opacity and copy mode (set with gfx.a, gfx.mode). You can specify scale (1.0 is unscaled) and rotation (0.0 is not rotated, angles are in radians).For the "source" parameter specify -1 to use the main framebuffer as source, or an image index (see gfx.loadimg()).

Parameters:
          integer source - the source-image/framebuffer to blit; -1 to 1023; -1 for the currently displayed framebuffer.
          number scale - the scale-factor; 1, for normal size; smaller or bigger than 1 make image smaller or bigger
          number rotation - the rotation-factor; 0 to 6.28; 3.14 for 180 degrees.


^ Reaper version 5.62Lua version 5.3 gfx.blitext

Functioncall:

Lua: gfx.blitext(source,coordinatelist,rotation)

Description:
Deprecated, use gfx.blit instead.

Parameters:
          source -
          coordinatelist -
          rotation -


^ Reaper version 5.62Lua version 5.3 gfx.blurto

Functioncall:

Lua: gfx.blurto(integer x, integer y)

Description:
Blurs the region of the screen between gfx.x,gfx.y and x,y, and updates gfx.x,gfx.y to x,y.

Parameters:
          integer x - x position of the other edge of the blur-region
          integer y - y position of the other edge of the blur-region


^ Reaper version 5.62Lua version 5.3 gfx.circle

Functioncall:

Lua: gfx.circle(integer x, integer y, integer r, optional number fill, optional number antialias)

Description:
Draws a circle, optionally filling/antialiasing.

Parameters:
          integer x - x position of center of the circle
          integer y - y position of center of the circle
          integer r - radius of the circle
          optional number fill - <=0.5, circle is not filled; >0.5, circle is filled
          optional number antialias - <=0.5, circle is not antialiased; >0.5, circle is antialiased


^ Reaper version 5.62Lua version 5.3 gfx.clienttoscreen

Functioncall:

Lua: int convx, int convy = gfx.clienttoscreen(integer x, integer y)

Description:
Converts the coordinates x,y to screen coordinates, returns those values.

Parameters:
          integer x - the x coordinate within(!) the gfx.init()-window, that shall be converted to screen-coordinates
          integer y - the y coordinate within(!) the gfx.init()-window, that shall be converted to screen-coordinates
Returnvalues:
          integer convx - the converted coordinate in relation of the screen-viewport
          integer convy - the converted coordinate in relation of the screen-viewport


^ Reaper version 5.95Lua version 5.3 gfx.deltablit

Functioncall:

Lua: number retval = gfx.deltablit(integer srcimg, integer srcs, integer srct, integer srcw, integer srch, number destx, number desty, number destw, number desth, number dsdx, number dtdx, number dsdy, number dtdy, number dsdxdy, number dtdxdy,optional integer usecliprect)

Description:
Blits from srcimg(srcs,srct,srcw,srch) to destination (destx,desty,destw,desth). Source texture coordinates are s/t, dsdx represents the change in s coordinate for each x pixel, dtdy represents the change in t coordinate for each y pixel, etc. dsdxdy represents the change in dsdx for each line. If usecliprect is specified and 0, then srcw/srch are ignored.

This function allows you to manipulate the image, which you want to blit, by transforming, moving or cropping it.

To do rotation, you can manipulate dtdx and dsdy together.

Parameters:
          integer srcimg - image - the image to blit
          integer srcs - positiondeltaX - the delta of the x-position of the image within the blitted area in pixels(useful default: 0)
          integer srct - positiondeltaY - the delta of the y-position of the image within the blitted area in pixels(useful default: 0)
          integer srcw - unknown - (useful default: 0)
          integer srch - unknown - (useful default: 0)
          number destx - positiondeltaX - the delta of the x-position of the blitted area in pixels(useful default: 0)
          number desty - positiondeltaY - the delta of the y-position of the blitted area in pixels(useful default: 0)
          number destw - blitsizeX - the x-size of the blitted area in pixels; the deltaimage might be cropped, if it exceeds this size(useful default: width of the image)
          number desth - blitsizeY - the y-size of the blitted area in pixels; the deltaimage might be cropped, if it exceeds this size(useful default: height of the image)
          number dsdx - stretchfactorX, the lower, the more stretched is the image(minimum 0; 1 for full size); limited by blitsizeX(useful default: 1)
          number dtdx - deltaY: the delta of the right side of the image, related to the left side of the image; positive, right is moved up; negative, right is moved down; this delta is linear(useful default: 0)
          number dsdy - deltaX: the delta of the bottom side of the image, related to the top side of the image; positive, bottom is moved left; negative, bottom is moved right; this delta is linear(useful default: 0)
          number dtdy - stretchfactorY, the lower, the more stretched is the image(minimum 0; 1 for full size); limited by blitsizeY(useful default: 1)
          number dsdxdy - deltacurvedY: the delta of the right side of the image, related to the left side of the image; positive, right is moved up; negative, right is moved down; this delta "curves" the delta via a bezier(useful default: 0)
          number dtdxdy - deltacurvedX: the delta of the bottom side of the image, related to the top side of the image; positive, bottom is moved left; negative, bottom is moved right; this delta "curves" the delta via a bezier(useful default: 0)
          optional integer usecliprect - can be set to 0 or 1(useful default: 0)
Returnvalues:
          number retval - unknown, usually 0


^ Reaper version 5.62Lua version 5.3 gfx.dock

Functioncall:

Lua: number querystate, optional integer window_x_position, optional integer window_y_position, optional integer window_width, optional integer window_height = gfx.dock(integer v, optional integer wx, optional integer wy, optional integer ww, optional integer wh)

Description:
Queries or sets the docking-state of the gfx.init()-window.
Call with v=-1 to query docked state, otherwise v>=0 to set docked state.
State is &1 if docked, second byte is docker index (or last docker index if undocked).
If wx-wh specified, additional values will be returned with the undocked window position/size

A specific docking index does not necessarily represent a specific docker, means, you can not query/set left docker top, but rather all dockers that exist in the current screenset.
So the first queried/set docker can be top-left-docker or the top docker or even one of the bottom dockers.
The order doesn't seem to make any sense. Especially with more than 16 windows docked in the current screenset.

Parameters:
          integer v - -1, query docking-state; 0 and higher, set state of the window to docked; the bits &256, &512, &1024, &2048 set the docker-index
          optional integer wx - set to a number to query current-windowx-position
          optional integer wy - set to a number to query current-windowy-position
          optional integer ww - set to a number to query current-window-width
          optional integer wh - set to a number to query current-window-height
Returnvalues:
          integer querystate - 0 if not docked; &1 if docked; the bits &256, &512, &1024, &2048 get the docker-index
          integer window_x_position - the x position of the window in pixels
          integer window_y_position - the y position of the window in pixels
          integer window_width - the width of the window in pixels
          integer window_height - the height of the window in pixels


^ Reaper version 5.62Lua version 5.3 gfx.drawchar

Functioncall:

Lua: integer char = gfx.drawchar(integer char)

Description:
Draws the character (can be a numeric ASCII code as well), to gfx.x, gfx.y, and moves gfx.x over by the size of the character.

Parameters:
          integer char - the numeric ASCII-representation of the character to be drawn
Returnvalues:
          integer char - the character drawn; 0, if invalid(like strings or characters passed as parameter)


^ Reaper version 5.62Lua version 5.3 gfx.drawnumber

Functioncall:

Lua: gfx.drawnumber(number n, integer ndigits)

Description:
Draws the number n with ndigits of precision to gfx.x, gfx.y, and updates gfx.x to the right side of the drawing. The text height is gfx.texth.

Parameters:
          number n - the number to be drawn
          integer ndigits - the number of digits for the precision


^ Reaper version 5.62Lua version 5.3 gfx.drawstr

Functioncall:

Lua: gfx.drawstr(string str, optional integer flags, optional integer right, optional integer bottom)

Description:
Draws a string at gfx.x, gfx.y, and updates gfx.x/gfx.y so that subsequent draws will occur in a similar place.

You can optionally set a clipping area for the text, if you set parameter flags&256 and the parameters right and bottom.

Parameters:
          string str - the string to be drawn into the gfx.init-window
          optional integer flags - influence, how the text shall be drawn
flags&1: center horizontally
flags&2: right justify
flags&4: center vertically
flags&8: bottom justify
flags&256: ignore right/bottom, otherwise text is clipped to (gfx.x, gfx.y, right, bottom)
          optional integer right - if flags&256 is set, this parameter clips text on the right side in pixels
          optional integer bottom - if flags&256 is set, this parameter clips text on the bottom side in pixels


^ Reaper version 5.94Lua version 5.3 gfx.getchar

Functioncall:

Lua: integer charactercode = gfx.getchar(optional integer character)

Description:
If char is 0 or omitted, returns a character from the keyboard queue, or 0 if no character is available, or -1 if the graphics window is not open.

If char is specified and nonzero, that character's status will be checked, and the function will return greater than 0 if it is pressed.
Common values are standard ASCII, such as 'a', 'A', '=' and '1', but for many keys multi-byte values are used,
including 'home', 'up', 'down', 'left', 'right', 'f1'.. 'f12', 'pgup', 'pgdn', 'ins', and 'del'.

Modified and special keys can also be returned, including:  

- Ctrl/Cmd+A..Ctrl+Z as 1..26  
- Ctrl/Cmd+Alt+A..Z as 257..282  
- Alt+A..Z as 'A'+256..'Z'+256  
- 27 for ESC  
- 13 for Enter  
- ' ' for space  
-  
- use 65536 as parameter charactercode to query special flags, returns: &1 (supported in this script), &2=window has focus, &4=window is visible  

Some multibyte-characters, like home, up, down, left, right, f1 .. f12, pgup, pgdn, ins, del are returned as values above 255, but some other characters, like €,  
are "real"-multibyte-characters, stored as multiple 8-bit-values after each other.
To retrieve them, you need to run gfx.getchar() twice per defer-cycle and return their retvals into two variables:  
Example:

            A=gfx.getchar() -- first byte
            B=gfx.getchar() -- second byte
            
            if A==261 and B==128 then reaper.MB("You typed the Euro-symbol.", "Message", 0) end -- typed character is the Euro-currency-symbol.
                                    

Parameters:
          optional integer character - the character to check for; use 65536 to check window-state(visible, focus)
    &1 (supported in this script), &2=window has focus, &4=window is visible
Returnvalues:
          integer charactercode - either the charactercode or 0 if nothing is pressed -1, if the gfx.init-window is closed When the parameter character is given and not 0, charactercode is either 0, nothing is pressed, or >0, the character you want to check for is pressed.


^ Reaper version 5.91Lua version 5.3 gfx.getdropfile

Functioncall:

Lua: integer retval, string filename = gfx.getdropfile(integer idx)

Description:
Returns filenames, drag'n'dropped into a window created by gfx.init().
Use idx to get a specific filename, that has been dropped into the gfx.init()-window.

Does NOT support mediaitems/takes or other Reaper-objects!

It MUST be called BEFORE calling gfx.update, as gfx.update flushes the filelist accessible with gfx.getdropfile.

Parameters:
          integer idx - the indexnumber for a filename, that has been dropped into a gfx.init()-window.
0, the first file; 1, the second file; 2, the third file, etc.
-1, clears the filelist.
Returnvalues:
          integer retval - 0, if droppped-filename with indexnumber idx doesn't exist; 1, if it exists; hints, if you already reached the last filename dropped.
          string filename - the filename of dropped-file with indexnumber idx


^ Reaper version 5.62Lua version 5.3 gfx.getfont

Functioncall:

Lua: integer fontindex = gfx.getfont()

Description:
Returns current font index, and the actual font face used by this font (if available).

Returnvalues:
          integer fontindex - the index of the font used. Use gfx.setfont to set a font for a specific index.


^ Reaper version 5.62Lua version 5.3 gfx.getimgdim

Functioncall:

Lua: integer w, integer h = gfx.getimgdim(integer handle)

Description:
Retrieves the dimensions of an image specified by handle, returns w, h pair.
Handle is basically a frame-buffer.

Parameters:
          integer handle - the index of the image-handle/framebuffer to retrieve the dimensions from;-1 to 1023; -1 for the currently displayed framebuffer.
Returnvalues:
          integer w - the width of the image-handle in pixels
          integer h - the height of the image-handle in pixels


^ Reaper version 5.62Lua version 5.3 gfx.getpixel

Functioncall:

Lua: integer r, integer g, integer b = gfx.getpixel()

Description:
Returns r,g,b values [0..1] of the pixel at (gfx.x,gfx.y)

Returnvalues:
          integer r - the red-color-value, a value between 0 to 1
          integer g - the green-color-value, a value between 0 to 1
          integer b - the blue-color-value, a value between 0 to 1


^ Reaper version 5.62Lua version 5.3 gfx.gradrect

Functioncall:

Lua: gfx.gradrect(x,y,w,h, r,g,b,a[, drdx, dgdx, dbdx, dadx, drdy, dgdy, dbdy, dady])

Description:
Fills a gradient rectangle with the color and alpha specified. drdx-dadx reflect the adjustment (per-pixel) applied for each pixel moved to the right, drdy-dady are the adjustment applied for each pixel moved toward the bottom. Normally drdx=adjustamount/w, drdy=adjustamount/h, etc.

Parameters:
          x -
          y -
          w -
          h -
          r -
          g -
          b -
          a -
          drdx -
          dgdx -
          dbdx -
          dadx -
          drdy -
          dgdy -
          dbdy -
          dady -


^ Reaper version 5.62Lua version 5.3 gfx.init

Functioncall:

Lua: integer retval = gfx.init(string "name", optional integer width, optional integer height, optional integer dockstate, optional integer xpos, optional integer ypos)

Description:
Initializes the graphics window with title name. Suggested width and height can be specified.Once the graphics window is open, gfx.update() should be called periodically.

Only one graphics-window can be opened per script! Calling gfx.ini after a window has been opened has no effect.

Parameters:
          string name - the name of the window, which will be shown in the title of the window
          optional integer width - the width of the window; minmum is 50
          optional integer height - the height of the window; minimum is 16
          optional integer dockstate - &1=0, undocked; &1=1, docked
          optional integer xpos - x-position of the window in pixels; minimum is -80
          optional integer ypos - y-position of the window in pixels; minimum is -15
Returnvalues:
          number retval - 1.0, if window is opened


^ Reaper version 5.62Lua version 5.3 gfx.line

Functioncall:

Lua: gfx.line(integer x, integer y, integer x2, integer y2, optional number aa)

Description:
Draws a line from x,y to x2,y2, and if aa is not specified or 0.5 or greater, it will be antialiased.

Parameters:
          integer x - x-position of start of the line in pixels
          integer y - y-position of start of the line in pixels
          integer x2 - x-position of the end of the line in pixels
          integer y2 - y-position of the end of the line in pixels
          optional number aa - <0.5, no antialias; >=0.5, antialias


^ Reaper version 5.62Lua version 5.3 gfx.lineto

Functioncall:

Lua: gfx.lineto(integer x, integer y, number aa)

Description:
Draws a line from gfx.x,gfx.y to x,y. If aa is 0.5 or greater, then antialiasing is used. Updates gfx.x and gfx.y to x,y.

Parameters:
          integer x - x-position of the end of the line in pixels
          integer y - y-position of the end of the line in pixels
          optional number aa - <0.5, no antialias; >=0.5, antialias


^ Reaper version 5.62Lua version 5.3 gfx.loadimg

Functioncall:

Lua: integer retval = gfx.loadimg(integer image, string filename)

Description:
Load image from filename into slot 0..1024-1 specified by image. Returns the image index if success, otherwise -1 if failure. The image will be resized to the dimensions of the image file.

Parameters:
          integer image - the buffer-index(0 - 1023), in which to load the image
          string filename - the path+filename of the image to be loaded
Returnvalues:
          integer retval - the image-index in case of successful loading; -1 if loading failed


^ Reaper version 5.62Lua version 5.3 gfx.measurechar

Functioncall:

Lua: integer width, integer height = gfx.measurechar(integer char)

Description:
Measures the drawing dimensions of a character with the current font (as set by gfx.setfont). Returns width and height of character.

Parameters:
          integer char - ASCII-Code of the character to measure
Returnvalues:
          integer width - the width of the character in pixels
          integer height - the height of the character in pixels


^ Reaper version 5.62Lua version 5.3 gfx.measurestr

Functioncall:

Lua: integer width, integer height = gfx.measurestr(string str)

Description:
Measures the drawing dimensions of a string with the current font (as set by gfx.setfont). Returns width and height of string.

Parameters:
          string str - the string, whose drawing dimensions you want to know
Returnvalues:
          integer width - the width of the drawing dimensions of str in pixels
          integer height - the height of the drawing dimensions of str in pixels


^ Reaper version 5.62Lua version 5.3 gfx.muladdrect

Functioncall:

Lua: integer retval = gfx.muladdrect(integer x, integer y, integer w, integer h, number mul_r, number mul_g, number mul_b, optional number mul_a, optional number add_r, optional number add_g, optional number add_b, optional number add_a)

Description:
Multiplies each pixel within the given rectangle(x,y,w,h) by the mul_*-parameters and optionally adds add_*-parameters, and updates in-place. Useful for changing brightness/contrast, or other effects.

The multiplied values usually affect only pixels, that are not black(0,0,0,0), while the added values affect all pixels.

Parameters:
          integer x - the x-position of the rectangle in pixels, in which you want to multiply/add colorvalues to
          integer y - the y-position of the rectangle in pixels, in which you want to multiply/add colorvalues to
          integer w - the width of the rectangle in pixels, in which you want to multiply/add colorvalues to
          integer h - the height of the rectangle in pixels, in which you want to multiply/add colorvalues to
          number mul_r - the red-value to multiply by within the rectangle; 0 to 1
          number mul_g - the green-value to multiply by within the rectangle; 0 to 1
          number mul_b - the blue-value to multiply by within the rectangle; 0 to 1
          optional number mul_a - the alpha-value to multiply by within the rectangle; 0 to 1
          optional number add_r - the red-value to add by within the rectangle; 0 to 1
          optional number add_g - the green-value to add by within the rectangle; 0 to 1
          optional number add_b - the blue-value to add by within the rectangle; 0 to 1
          optional number add_a - the alpha-value to add by within the rectangle; 0 to 1
Returnvalues:
          integer retval - unknown


^ Reaper version 5.62Lua version 5.3 gfx.printf

Functioncall:

Lua: gfx.printf(format[, ...])

Description:
Formats and draws a string at gfx.x, gfx.y, and updates gfx.x/gfx.y accordingly (the latter only if the formatted string contains newline). For more information on format strings, see sprintf()

    * %% = %
    * %s = string from parameter
    * %d = parameter as integer
    * %i = parameter as integer
    * %u = parameter as unsigned integer
    * %x = parameter as hex (lowercase) integer
    * %X = parameter as hex (uppercase) integer
    * %c = parameter as character
    * %f = parameter as floating point
    * %e = parameter as floating point (scientific notation, lowercase)
    * %E = parameter as floating point (scientific notation, uppercase)
    * %g = parameter as floating point (shortest representation, lowercase)
    * %G = parameter as floating point (shortest representation, uppercase)

Many standard C printf() modifiers can be used, including:

    * %.10s = string, but only print up to 10 characters
    * %-10s = string, left justified to 10 characters
    * %10s = string, right justified to 10 characters
    * %+f = floating point, always show sign
    * %.4f = floating point, minimum of 4 digits after decimal point
    * %10d = integer, minimum of 10 digits (space padded)
    * %010f = integer, minimum of 10 digits (zero padded)

Values for format specifiers can be specified as additional parameters to gfx.printf, or within {} in the format specifier (such as %{varname}d, in that case a global variable is always used).

Parameters:
          format -


^ Reaper version 5.62Lua version 5.3 gfx.quit

Functioncall:

Lua: integer retval = gfx.quit()

Description:
Closes the graphics window.

Returnvalues:
          integer retval - unknown, usually 0


^ Reaper version 5.62Lua version 5.3 gfx.rect

Functioncall:

Lua: integer retval = gfx.rect(integer x, integer y, integer w, integer h, optional integer filled)

Description:
Fills a rectangle at x,y, w,h pixels in dimension, filled by default.

Parameters:
          integer x - the x-position of the upper left corner
          integer y - the y-position of the upper left corner
          integer w - the width of the rectangle; must be positive
          integer h - the height of the rectangle; must be positive
          optional integer filled - 0, unfilled; 1, filled; omitted/nil, filled
Returnvalues:
          integer retval - unknown; usually 0


^ Reaper version 5.62Lua version 5.3 gfx.rectto

Functioncall:

Lua: integer x_coordinate = gfx.rectto(integer x, integer y)

Description:
Fills a rectangle from gfx.x,gfx.y to x,y. Updates gfx.x,gfx.y to x,y.

Parameters:
          integer x - the x-coordinate, to which the rectangle shall be drawn to
          integer y - the y-coordinate, to which the rectangle shall be drawn to
Returnvalues:
          integer x_coordinate - the x-coordinate given as x-parameter; the purpose is unknown


^ Reaper version 5.62Lua version 5.3 gfx.roundrect

Functioncall:

Lua: integer retval = gfx.roundrect(integer x, integer y, integer w, integer h, number radius, optional integer antialias)

Description:
Draws a rectangle with rounded corners.

Parameters:
          integer x - the x-coordinate of the upper-left corner of the rectangle in pixels
          integer y - the y-coordinate of the upper-left corner of the rectangle in pixels
          integer w - the width of the rectangle in pixels
          integer h - the height of the rectangle in pixels
          number radius - the radius of the rounded corners of the rectangle; 0, for a normal rectangle;
          number antialias - 0, no antialias; 1 and higher, apply antialias to the rectangle
Returnvalues:
          integer retval - unknown


^ Reaper version 5.62Lua version 5.3 gfx.screentoclient

Functioncall:

Lua: integer convx, integer convy = gfx.screentoclient(integer x, integer y)

Description:
Converts the screen coordinates x,y to client coordinates, returns those values.

Parameters:
          integer x - the x-screen-coordinate that shall be converted, in pixels
          integer y - the y-screen-coordinate that shall be converted, in pixels
Returnvalues:
          integer convx - the x-client-coordinate, as converted from the x-screen-coordinate, in pixels
          integer convy - the y-client-coordinate, as converted from the y-screen-coordinate, in pixels


^ Reaper version 5.97Lua version 5.3 gfx.set

Functioncall:

Lua: integer retval = gfx.set(number r, optional number g, optional number b, optional number a2, optional integer mode, optional integer dest)

Description:
Sets color, drawing mode and optionally the drawing-image-source-destination.
If sets the corresponding gfx-variables.
Sets gfx.r/gfx.g/gfx.b/gfx.a2/gfx.mode sets gfx.dest if final parameter specified

Parameters:
          number r - the red-value; 0 to 1; if only parameter r is given, it's value will be used for g, b as well
          optional number g - the green-value; 0 to 1
          optional number b - the blue-value; 0 to 1
          optional number a2 - the alpha-value; 0 to 1
          optional integer mode - the drawing-mode;
  Set to 0 for default options. Add 1.0 for additive blend mode (if you wish to do subtractive, set gfx.a to negative and use gfx.mode as additive).
  Add 2.0 to disable source alpha for gfx.blit().
  Add 4.0 to disable filtering for gfx.blit().
          optional integer dest - the source-image/framebuffer to draw to; -1 to 1023; -1 for the currently displayed framebuffer.
Returnvalues:
          integer retval - unknown


^ Reaper version 5.62Lua version 5.3 gfx.setcursor

Functioncall:

Lua: gfx.setcursor(resource_id,custom_cursor_name)

Description:
Sets the mouse cursor. resource_id is a value like 32512 (for an arrow cursor), custom_cursor_name is a string like "arrow" (for the REAPER custom arrow cursor). resource_id must be nonzero, but custom_cursor_name is optional.

Parameters:
          resource_id -
          custom_cursor_name -


^ Reaper version 5.62Lua version 5.3 gfx.setfont

Functioncall:

Lua: gfx.setfont(integer idx,optional string fontface, optional integer sz, optional integer flags)

Description:
Can select a font and optionally configure it.

After calling gfx_setfont(), gfx_texth may be updated to reflect the new average line height.

Parameters:
          integer idx - the font-id; idx=0 for default bitmapped font, no configuration is possible for this font.
idx=1..16 for a configurable font
          optional string fontface - the name of the font, like "arial"
          optional integer sz - the size of the font (8-100)
          optional integer flags - flags, how to render the text; up to 4 flags can be passed at the same time
a multibyte character, which can include 'i' for italics, 'u' for underline, or 'b' for bold.
These flags may or may not be supported depending on the font and OS.
   66 and 98, Bold (B), (b)
   73 and 105, italic (I), (i)
   79 and 111, white outline (O), (o)
   82 and 114, blurred (R), (r)
   83 and 115, sharpen (S), (s)
   85 and 117, underline (U), (u)
   86 and 118, inVerse (V), (v)

To create such a multibyte-character, assume this flag-value as a 32-bit-value.
The first 8 bits are the first flag, the next 8 bits are the second flag,
the next 8 bits are the third flag and the last 8 bits are the second flag.
The flagvalue(each dot is a bit): .... ....   .... ....   .... ....   .... ....
If you want to set it to Bold(B) and Italic(I), you use the ASCII-Codes of both(66 and 73 respectively),
take them apart into bits and set them in this 32-bitfield.
The first 8 bits will be set by the bits of ASCII-value 66(B), the second 8 bits will be set by the bits of ASCII-Value 73(I).
The resulting flagvalue is: 0100 0010   1001 0010   0000 0000   0000 0000
which is a binary representation of the integer value 18754, which combines 66 and 73 in it.


^ Reaper version 5.62Lua version 5.3 gfx.setimgdim

Functioncall:

Lua: integer retval = gfx.setimgdim(integer image, integer w, integer h)

Description:
Resize image referenced by index 0..1024-1, width and height must be 0-2048. The contents of the image will be undefined after the resize.

Parameters:
          integer image - the image-handle/framebuffer, whose dimensions you want to set
          integer w - the new width of the image-handle
          integer h - the new height of the image-handle
Returnvalues:
          integer retval - 0, if image couldn't be set(e.g. no such handle exists); 1, if setting new dimensions was successful


^ Reaper version 5.62Lua version 5.3 gfx.setpixel

Functioncall:

Lua: integer retval = gfx.setpixel(number r, number g, number b)

Description:
Writes a pixel of r,g,b to gfx.x,gfx.y.

Parameters:
          number r - the red-color-value of the pixel; 0-1
          number g - the green-color-value of the pixel; 0-1
          number b - the blue-color-value of the pixel; 0-1
Returnvalues:
          integer retval - 1, if writing that pixel was successful; -1, is not


^ Reaper version 5.62Lua version 5.3 gfx.showmenu

Functioncall:

Lua: integer selection = gfx.showmenu(string str)

Description:
Shows a popup menu at gfx.x,gfx.y. str is a list of fields separated by | characters.
Each field represents a menu item. Fields can start with special characters:#, grayed out; !, checked; >, this menu item shows a submenu;>, last item in the current submenu.
An empty field will appear as a separator in the menu.

Example: selection = gfx.showmenu("first item, followed by separator||!second item, checked|>third item which spawns a submenu|#first item in submenu, grayed out|>second and last item in submenu|fourth item in top menu")

gfx.showmenu returns 0 if the user selected nothing from the menu, 1 if the first field is selected, etc.

Parameters:
          string str - a string with the menu-entries; separate the entrynames with a |
   Each menu-entry can start with special characters that influence the appearance of that entry:
   #, item is grayed out; !, item is checked; >, this menu item shows a submenu;<, last item in the current submenu.
Returnvalues:
          integer selection - the menu-entry the user selected, with 1 for the first, 2 for the second, etc; 0, nothing was selected


^ Reaper version 5.62Lua version 5.3 gfx.transformblit

Functioncall:

Lua: gfx.transformblit(integer srcimg, integer destx, integer desty, integer destw, integer desth, integer div_w, integer div_h, table table)

Description:
Blits to destination at (destx,desty), size (destw,desth). div_w and div_h should be 2..64, and table should point to a table of 2*div_w*div_h values (table can be a regular table or (for less overhead) a reaper.array). Each pair in the table represents a S,T coordinate in the source image, and the table is treated as a left-right, top-bottom list of texture coordinates, which will then be rendered to the destination.


Parameters:
          integer srcimg - the image-index (1 to 1024) that you want to blit into the screenbuffer -1
          integer destx - x position of the blit picture
          integer desty - y position of the blit picture
          integer destw - width of the blit picture
          integer desth - height of the blit picture
          integer div_w - unknown, 2 to 64; probably related to parameter table
          integer div_h - unknown, 2 to 64; probably related to parameter table
          table table - a table of the texture coordinates, with each entry being set to a pair of value, eg: 1, 0. Will be read from left to right and from top to bottom.
table[1]=1,2
table[2]=2,3
table[3]=3,1
How these values work needs more research...


^ Reaper version 5.62Lua version 5.3 gfx.triangle

Functioncall:

Lua: gfx.triangle(integer x1, integer y1, integer x2, integer y2, integer x3, integer y3, [optional integer x4, optional integer y4, ...)

Description:
Draws a filled triangle, or any convex polygon.

Parameters:
          integer x1 - the x-position of the first point of the polygon
          integer y1 - the y-position of the first point of the polygon
          integer x2 - the x-position of the second point of the polygon
          integer y2 - the y-position of the second point of the polygon
          integer x3 - the x-position of the third point of the polygon
          integer y3 - the y-position of the third point of the polygon
          optional integer x4 - the x-position of the fourth point of the polygon
          optional integer y4 - the y-position of the fourth point of the polygon
...
...


^ Reaper version 5.97Lua version 5.3 gmem_attach

Functioncall:

Lua: reaper.gmem_attach(string sharedMemoryName)

Description:
Causes gmem_read()/gmem_write() to read EEL2/JSFX/Video shared memory segment named by parameter. Set to empty string to detach.

Must be called, before you can use a specific gmem-variable-index with gmem_write!

Parameters:
          string sharedMemoryName - the name of the shared memory


^ Reaper version 5.97Lua version 5.3 gmem_read

Functioncall:

Lua: number retval = reaper.gmem_read(integer index)

Description:
Read (number) value from shared memory attached-to by gmem_attach(). index can be [0..1<<25).

returns nil if not available

Parameters:
          integer index - the index of the memory-variable to read from
Returnvalues:
          number retval - the stored number-value stored in gmem-variable with index


^ Reaper version 5.97Lua version 5.3 gmem_write

Functioncall:

Lua: reaper.gmem_write(integer index, number value)

Description:
Write (number) value to shared memory attached-to by gmem_attach(). index can be [0..1<<25).

Before you can write into a currently unused variable with index "index", you must call gmem_attach first!

Parameters:
          integer index - the index of the memory-variable to write to
          number value - a number, either integer or float


^ Reaper version 5.62Lua version 5.3 gfx.update

Functioncall:

Lua: gfx.update()

Description:
Updates the graphics display, if opened



^ Reaper version 5.62Lua version 5.3 new_array

Functioncall:

Lua: ReaperArray reaper_array = reaper.new_array([table|array][size])

Description:
Creates a new reaper.array object of maximum and initial size size, if specified, or from the size/values of a table/array. Both size and table/array can be specified, the size parameter will override the table/array size.

Parameters:
          table|array -
          size -
Returnvalues:
          reaper_array -


^ Reaper version 5.62Lua version 5.3 runloop

Functioncall:

Lua: boolean retval = reaper.runloop(function function)

Description:
Adds code to be called back by REAPER. Used to create persistent ReaScripts that continue to run and respond to input, while the user does other tasks. Identical to defer().Note that no undo point will be automatically created when the script finishes, unless you create it explicitly.

Parameters:
          function function - the function to be called
Returnvalues:
          int retval - true, if succeded


^ Reaper version 5.62Lua version 5.3 {reaper.array}.clear

Functioncall:

Lua: boolean retval = {reaper.array}.clear([value, offset, size])

Description:
Sets the value of zero or more items in the array. If value not specified, 0.0 is used. offset is 1-based, if size omitted then the maximum amount available will be set.

Parameters:
          value -
          offset -
          size -
Returnvalues:
          retval -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.convolve

Functioncall:

Lua: integer retval = {reaper.array}.convolve([src, srcoffs, size, destoffs])

Description:
Convolves complex value pairs from reaper.array, starting at 1-based srcoffs, reading/writing to 1-based destoffs. size is in normal items (so it must be even)

Parameters:
          src -
          scroffs -
          size -
          destoffs -
Returnvalues:
          retval -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.copy

Functioncall:

Lua: integer retval = {reaper.array}.copy([src, srcoffs, size, destoffs])

Description:
Copies values from reaper.array or table, starting at 1-based srcoffs, writing to 1-based destoffs.

Parameters:
          src -
          srcoffs -
          size -
          destoffs -
Returnvalues:
          retval -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.fft

Functioncall:

Lua: {reaper.array}.fft(size[, permute, offset])

Description:
Performs a forward FFT of size. size must be a power of two between 4 and 32768 inclusive. If permute is specified and true, the values will be shuffled following the FFT to be in normal order.

Parameters:
          size -
          premute -
          offset -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.fft_real

Functioncall:

Lua: {reaper.array}.fft_real(size[, permute, offset])

Description:
Performs a forward real->complex FFT of size. size must be a power of two between 4 and 32768 inclusive. If permute is specified and true, the values will be shuffled following the FFT to be in normal order.

Parameters:
          size -
          premute -
          offset -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.get_alloc

Functioncall:

Lua: integer size = {reaper.array}.get_alloc()

Description:
Returns the maximum (allocated) size of the array.

Returnvalues:
          size -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.ifft

Functioncall:

Lua: {reaper.array}.ifft(size[, permute, offset])

Description:
Performs a backwards FFT of size. size must be a power of two between 4 and 32768 inclusive. If permute is specified and true, the values will be shuffled before the IFFT to be in fft-order.

Parameters:
          size -
          permute -
          offset -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.ifft_real

Functioncall:

Lua: {reaper.array}.ifft_real(size[, permute, offset])

Description:
Performs a backwards complex->real FFT of size. size must be a power of two between 4 and 32768 inclusive. If permute is specified and true, the values will be shuffled before the IFFT to be in fft-order.

Parameters:
          size -
          permute -
          offset -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.multiply

Functioncall:

Lua: {reaper.array}.multiply([src, srcoffs, size, destoffs])

Description:
Multiplies values from reaper.array, starting at 1-based srcoffs, reading/writing to 1-based destoffs.

Parameters:
          src -
          srcoffs -
          size -
          destoff -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.resize

Functioncall:

Lua: {reaper.array}.resize(size)

Description:
Resizes an array object to size. size must be [0..max_size].

Parameters:
          size -


^ Reaper version 5.62Lua version 5.3 {reaper.array}.table

Functioncall:

Lua: {reaper.array}.table([offset, size])

Description:
Returns a new table with values from items in the array. Offset is 1-based and if size is omitted all available values are used.

Parameters:
          offset -
          size -


^ Reaper version 5.62 atexit

Functioncall:

Python: RPR_atexit(String code)

Description:
Adds code to be executed when the script finishes or is ended by the user. Typically used to clean up after the user terminates defer() or runloop() code.

Parameters:
          String code -


^ Reaper version 5.62 defer

Functioncall:

Python: RPR_defer(String code)

Description:
Adds code to be called back by REAPER. Used to create persistent ReaScripts that continue to run and respond to input, while the user does other tasks. Identical to runloop().
Note that no undo point will be automatically created when the script finishes, unless you create it explicitly.    

Parameters:
          code -


^ Reaper version 5.62 runloop

Functioncall:

Python: RPR_runloop(String code)

Description:
Adds code to be called back by REAPER. Used to create persistent ReaScripts that continue to run and respond to input, while the user does other tasks. Identical to defer().
Note that no undo point will be automatically created when the script finishes, unless you create it explicitly.

Parameters:
          code -


^ Reaper version 5.62 __mergesort

Functioncall:

C: void (*__mergesort)(void* base, size_t nmemb, size_t size, int (*cmpfunc)(const void*,const void*), void* tmpspace)

Description:
is a stable sorting function with an API similar to qsort().
HOWEVER, it requires some temporary space, equal to the size of the data being sorted, so you can pass it as the last parameter,
or NULL and it will allocate and free space internally.


Parameters:
          base -
          nmemb -
          size -
          *cmpfunc -
          tmpspace -
Returnvalues:
          void* -


^ Reaper version 5.62 AddCustomizableMenu

Functioncall:

C: bool (*AddCustomizableMenu)(const char* menuidstr, const char* menuname, const char* kbdsecname, bool addtomainmenu)

Description:
Adds customizable menu.

Parameters:
          menuidstr - is some unique identifying string
          menuname - is for main menus only (displayed in a menu bar somewhere), NULL otherwise
          kbdsecname - is the name of the KbdSectionInfo registered by this plugin, or NULL for the main actions section
          addtomainmenu - true, add to main menu; false, don't add to main menu
Returnvalues:
          bool -


^ Reaper version 5.62 AddExtensionsMainMenu

Functioncall:

C: bool (*AddExtensionsMainMenu)()

Description:
Add an Extensions main menu, which the extension can populate/modify with plugin_register("hookcustommenu")

Returnvalues:
          bool -


^ Reaper version 5.62 plugin_register

Functioncall:

C: int (*plugin_register)(const char* name, void* infostruct)

Description:
like rec->Register

if you have a function called myfunction(..) that you want to expose to other extensions or plug-ins, use register("API_myfunction",funcaddress), and "-API_myfunction" to remove.          Other extensions then use GetFunc("myfunction") to get the function pointer.

REAPER will also export the function address to ReaScript, so your extension could supply a Python module that provides a wrapper called RPR_myfunction(..).
register("APIdef_myfunction",defstring) will include your function declaration and help in the auto-generated REAPER API header and ReaScript documentation.

defstring is four null-separated fields: return type, argument types, argument names, and help.

   Example: double myfunction(char* str, int flag) would have defstring="double\0char*,int\0str,flag\0help text for myfunction"

another thing you can register is "hookcommand", which you pass a callback:

   NON_API: bool runCommand(int command, int flag);
            register("hookcommand",runCommand);

which returns TRUE to eat (process) the command.

flag is usually 0 but can sometimes have useful info depending on the message.

note: it's OK to call Main_OnCommand() within your runCommand, however you MUST check for recursion if doing so!
in fact, any use of this hook should benefit from a simple reentrancy test...

to get notified when an action of the main section is performed, you can register "hookpostcommand", which you pass a callback:

   NON_API: void postCommand(int command, int flag);
            register("hookpostcommand",postCommand);

you can also register "hookcommand2", which you pass a callback:

   NON_API: bool onAction(KbdSectionInfo *sec, int command, int val, int valhw, int relmode, HWND hwnd);
            register("hookcommand2",onAction);

which returns TRUE to eat (process) the command.

val/valhw are used for actions learned with MIDI/OSC.
val = \[0..127\] and valhw = -1 for MIDI CC,
valhw >=0 for MIDI pitch or OSC with value = (valhw|val<<7)/16383.0,
relmode absolute(0) or 1/2/3 for relative adjust modes

you can also register command IDs for actions, register with "command_id", parameter is a unique string with only A-Z, 0-9, returns command ID (or 0 if not supported/out of actions)

register("command_id_lookup", unique_string) will look up the integer ID of the named action without registering the string if it doesn't already exist.

Parameters:
          name -
          infostruct -
Returnvalues:
          int -


^ Reaper version 5.62 Audio_RegHardwareHook

Functioncall:

C: int (*Audio_RegHardwareHook)(bool isAdd, audio_hook_register_t* reg)

Description:
Registers Audio Hardware-Hook.

Parameters:
          isAdd -
          reg -
Returnvalues:
          int -


^ Reaper version 5.62 CalculatePeaks

Functioncall:

C: int (*CalculatePeaks)(PCM_source_transfer_t* srcBlock, PCM_source_peaktransfer_t* pksBlock)

Description:
Calculates Peaks.

Parameters:
          srcBlock -
          pksBlock -
Returnvalues:
          int -


^ Reaper version 5.62 CalculatePeaksFloatSrcPtr

Functioncall:

C: int (*CalculatePeaksFloatSrcPtr)(PCM_source_transfer_t* srcBlock, PCM_source_peaktransfer_t* pksBlock)

Description:
Calculates Peaks.

Parameters:
          srcBlock -
          pksBlock -
Returnvalues:
          int -


^ Reaper version 5.62 CountActionShortcuts

Functioncall:

C: int (*CountActionShortcuts)(KbdSectionInfo* section, int cmdID)

Description:
Returns the number of shortcuts that exist for the given command ID.
See GetActionShortcutDesc, DeleteActionShortcut, DoActionShortcutDialog.

Use NamedCommandLookup if you want to have the right commandID of an action, that is registered with an ActionCommandID-string.

Parameters:
          section - the section, in which the action lies
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          cmdID - the commandID of the action, whose count of shortcuts you want to know.
Returnvalues:
          int -


^ Reaper version 5.62 CreateLocalOscHandler

Functioncall:

C: void* (*CreateLocalOscHandler)(void* obj, void* callback)

Description:
callback is a function pointer: void (*callback)(void* obj, const char* msg, int msglen), which handles OSC messages sent from REAPER. The function return is a local osc handler. See SendLocalOscMessage, DestroyOscHandler.

Parameters:
          obj -
          callback -
Returnvalues:
          void* -


^ Reaper version 5.62 CreateMIDIInput

Functioncall:

C: midi_Input* (*CreateMIDIInput)(int dev)

Description:
Can only reliably create midi access for devices not already opened in prefs/MIDI, suitable for control surfaces etc.

Parameters:
          dev -
Returnvalues:
          midi_Input* -


^ Reaper version 5.62 CreateMIDIOutput

Functioncall:

C: midi_Output* (*CreateMIDIOutput)(int dev, bool streamMode, int* msoffset100)

Description:
Can only reliably create midi access for devices not already opened in prefs/MIDI, suitable for control surfaces etc.

Parameters:
          dev -
          streamMode - true, msoffset points to a persistent variable(see msoffset100 for more details)
          int* msoffset100 - points to a persistent variable that can change and reflects added delay to output in 100ths of a millisecond.
Returnvalues:
          midi_Output* -


^ Reaper version 5.62 CSurf_OnOscControlMessage

Functioncall:

C: void (*CSurf_OnOscControlMessage)(const char* msg, const float* arg)

Description:
On OSC Control Message.

Parameters:
          msg -   
          arg -


^ Reaper version 5.62 DeleteActionShortcut

Functioncall:

C: bool (*DeleteActionShortcut)(KbdSectionInfo* section, int cmdID, int shortcutidx)

Description:
Delete the specific shortcut for the given command ID.
See CountActionShortcuts, GetActionShortcutDesc, DoActionShortcutDialog.

Parameters:
          section - the section, to which this action belongs to
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          cmdID - the commandID for the shortcut to be deleted
          shortcutidx - the shortcut to be deleted
Returnvalues:
          bool -


^ Reaper version 5.62 DestroyLocalOscHandler

Functioncall:

C: void (*DestroyLocalOscHandler)(void* local_osc_handler)

Description:
See CreateLocalOscHandler, SendLocalOscMessage.

Parameters:
          local_osc_handler -


^ Reaper version 5.62 DoActionShortcutDialog

Functioncall:

C: bool (*DoActionShortcutDialog)(HWND hwnd, KbdSectionInfo* section, int cmdID, int shortcutidx)

Description:
Open the action shortcut dialog to edit or add a shortcut for the given command ID.
If (shortcutidx >= 0 && shortcutidx < CountActionShortcuts()), that specific shortcut will be replaced, otherwise a new shortcut will be added.
See CountActionShortcuts, GetActionShortcutDesc, DeleteActionShortcut.

Parameters:
          section -
          cmdID -
          shortcutidx -
Returnvalues:
          bool -


^ Reaper version 5.62 DuplicateCustomizableMenu

Functioncall:

C: bool (*DuplicateCustomizableMenu)(void* srcmenu, void* destmenu)

Description:
Populate destmenu with all the entries and submenus found in srcmenu.

Parameters:
          srcmenu -
          destmenu -
Returnvalues:
          bool -


^ Reaper version 5.62 FreeHeapPtr

Functioncall:

C: void (*FreeHeapPtr)(void* ptr)

Description:
free heap memory returned from a Reaper API function

Parameters:
          ptr -


^ Reaper version 5.62 get_config_var

Functioncall:

C: void* (*get_config_var)(const char* name, int* szOut)

Description:
gets config var

see Reaper_Config_Variables.html for valid config-vars

Parameters:
          name -
          szOut -
Returnvalues:
          void* -


^ Reaper version 5.62 get_midi_config_var

Functioncall:

C: void* (*get_midi_config_var)(const char* name, int* szOut);

Description:
Deprecated.

Parameters:
          name -
          szOut -
Returnvalues:
          void* -


^ Reaper version 5.62 GetActionShortcutDesc

Functioncall:

C: bool (*GetActionShortcutDesc)(KbdSectionInfo* section, int cmdID, int shortcutidx, char* desc, int desclen)

Description:
Get the text description of a specific shortcut for the given command ID.
See CountActionShortcuts,DeleteActionShortcut,DoActionShortcutDialog.

Parameters:
          section - the section of the action
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          cmdID - the commandID of the action, whose shortcut-description you want.
          shortcutidx -
          desc -
          descclean -
Returnvalues:
          bool -


^ Reaper version 5.62 GetColorTheme

Functioncall:

C: INT_PTR (*GetColorTheme)(int idx, int defval)

Description:
Deprecated, see GetColorThemeStruct.

Parameters:
          idx -
          defval -
Returnvalues:
          INT_PTR -


^ Reaper version 5.62 GetColorThemeStruct

Functioncall:

C: void* (*GetColorThemeStruct)(int* szOut)

Description:
returns the whole color theme (icontheme.h) and the size

Parameters:
          szOut -
Returnvalues:
          void* -


^ Reaper version 5.62 GetContextMenu

Functioncall:

C: HMENU (*GetContextMenu)(int idx)

Description:
gets context menus. submenu 0:trackctl, 1:mediaitems, 2:ruler, 3:empty track area

Parameters:
          idx -
Returnvalues:
          HMENU -


^ Reaper version 5.62 GetIconThemePointer

Functioncall:

C: void* (*GetIconThemePointer)(const char* name)

Description:
returns a named icontheme entry

Parameters:
          name -
Returnvalues:
          void* -


^ Reaper version 6.02 GetIconThemePointerForDPI

Functioncall:

C: void* (*GetIconThemePointerForDPI)(const char* name, int dpisc);

Description:
returns a named icontheme entry for a given DPI-scaling (256=1:1).

Note: the return value should not be stored, it should be queried at each paint!
Querying name=NULL returns the start of the structure

Parameters:
          name -
          dpisc -
Returnvalues:
          void* -


^ Reaper version 5.62 GetIconThemeStruct

Functioncall:

C: void* (*GetIconThemeStruct)(int* szOut)

Description:
returns a pointer to the icon theme (icontheme.h) and the size of that struct.

Parameters:
          szOut -
Returnvalues:
          void* -


^ Reaper version 5.62 GetPeaksBitmap

Functioncall:

C: void* (*GetPeaksBitmap)(PCM_source_peaktransfer_t* pks, double maxamp, int w, int h, LICE_IBitmap* bmp)

Description:
See note in reaper_plugin.h about PCM_source_peaktransfer_t::samplerate

Parameters:
          pks -
          maxamp -
          w -
          h -
          bmp -
Returnvalues:
          void* -


^ Reaper version 5.62 GetPreferredDiskReadMode

Functioncall:

C: void (*GetPreferredDiskReadMode)(int* mode, int* nb, int* bs)

Description:
Gets user configured preferred disk read mode. mode/nb/bs are all parameters that should be passed to WDL_FileRead, see for more information.

Parameters:
          mode -
          nb -
          bs -
Returnvalues:
          void -


^ Reaper version 5.62 GetPreferredDiskReadModePeak

Functioncall:

C: void (*GetPreferredDiskReadModePeak)(int* mode, int* nb, int* bs)

Description:
Gets user configured preferred disk read mode for use when building peaks. mode/nb/bs are all parameters that should be passed to WDL_FileRead, see for more information.

Parameters:
          mode -
          nb -
          bs -
Returnvalues:
          void -


^ Reaper version 5.62 GetPreferredDiskWriteMode

Functioncall:

C: void (*GetPreferredDiskWriteMode)(int* mode, int* nb, int* bs)

Description:
Gets user configured preferred disk write mode. nb will receive two values, the initial and maximum write buffer counts. mode/nb/bs are all parameters that should be passed to WDL_FileWrite, see for more information.

Parameters:
          mode -
          nb -
          bs -
Returnvalues:
          void -


^ Reaper version 5.62 GetSetMediaItemTakeInfo

Functioncall:

C: void* (*GetSetMediaItemTakeInfo)(MediaItem_Take* tk, const char* parmname, void* setNewValue)

Description:
Gets/Sets Media Item Take-parameters. Works like GetMediaItemTakeInfo_Value and SetMediaItemTakeInfo_Value but has more parameters.

Parameters:
          tk - a MediaItem_Take-object, that shall be altered
          parmname - the name of the parameter to be changed
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.
GUID : GUID * : 16-byte GUID, can query or update
P_NAME : char * to take name
D_STARTOFFS : double *, start offset in take of item
D_VOL : double *, take volume
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)
          setNewValue - the new value to be set to the parameter. See the description of parmname above for more details.
Returnvalues:
          void* -


^ Reaper version 5.941 GetSetMediaTrackInfo

Functioncall:

C: void* (*GetSetMediaTrackInfo)(MediaTrack* tr, const char* parmname, void* setNewValue)

Description:
Gets/Sets MediaTrack-parameters. Works like GetMediaTrackInfo_Value and SetMediaTrackInfo_Value but has more parameters.

Parameters:
          tr - the Mediatrack-object, that shall be modified
          parmname - the parameter to be gotten or set
P_PARTRACK : MediaTrack * : parent track (read-only)
P_PROJECT : ReaProject * : parent project (read-only)
GUID : GUID * : 16-byte GUID, can query or update (do not use on master though)
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

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 5 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 (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
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 : read only, returns TrackEnvelope *, setNewValue=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)
          setNewValue - the new value. See the description of parmname above for more details
Returnvalues:
          void* -


^ Reaper version 5.62 GetSetObjectState

Functioncall:

C: char* (*GetSetObjectState)(void* obj, const char* str)

Description:
get or set the state of a {track,item,envelope} as an RPPXML chunk
str="" to get the chunk string returned (must call FreeHeapPtr when done)
supply str to set the state (returns zero)

Parameters:
          obj - the object, to be modified. Can be MediaItem, TrackEnvelope, MediaTrack.
          str - supply str to set the state (returns zero); str="" to get the chunk string returned (must call FreeHeapPtr when done)
Returnvalues:
          char* -


^ Reaper version 5.62 GetSetObjectState2

Functioncall:

C: char* (*GetSetObjectState2)(void* obj, const char* str, bool isundo)

Description:
get or set the state of a {track,item,envelope} as an RPPXML chunk        

Parameters:
          obj - the object, to be modified. Can be MediaItem, TrackEnvelope, MediaTrack.
          str - supply str to set the state (returns zero); str="" to get the chunk string returned (must call FreeHeapPtr when done)
          isundo - set, if the state will be used for undo purposes (which may allow REAPER to get the state more efficiently
Returnvalues:
          char* -


^ Reaper version 6.02 GetSetTrackMIDISupportFile

Functioncall:

C: const char* (*GetSetTrackMIDISupportFile)(ReaProject* proj, MediaTrack* track, int which, const char* filename)

Description:
Get or set the filename for storage of the MIDI bank/program select file.
"which" must be 1.

If fn != NULL, a new track MIDI storage file will be set; otherwise the existing track MIDI storage file will be returned.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          track - the MediaTrack-object of the track to be treated
          which - thich MIDI-file to use
0, MIDI colormap image file,
1, MIDI bank/program select file,
2, MIDI text string file,
3, MIDI note mapping file.
          filename - If fn != NULL, a new track MIDI storage file will be set; otherwise the existing track MIDI storage file will be returned.
Returnvalues:
          char* -


^ Reaper version 5.62 GetSetTrackSendInfo

Functioncall:

C: void* (*GetSetTrackSendInfo)(MediaTrack* tr, int category, int sendidx, const char* parmname, void* setNewValue)

Description:
Get or set send/receive/hardware output attributes.

Parameters:
          tr - the MediaTrack object for the track to be gotten or set
          category - <0 for receives, 0=sends, >0 for hardware outputs
          sendidx - 0..n (to enumerate, iterate over sendidx until it returns NULL)
          parmname - the parameter to get/set
P_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 : read only, returns TrackEnvelope *, setNewValue=B_MUTE : returns bool *
B_PHASE : returns bool *, true to flip phase
B_MONO : returns bool *
D_VOL : returns double *, 1.0 = +0dB etc
D_PAN : returns double *, -1..+1
D_PANLAW : returns double *,1.0=+0.0db, 0.5=-6dB, -1.0 = projdef etc
I_SENDMODE : returns int *, 0=post-fader, 1=pre-fx, 2=post-fx (deprecated), 3=post-fx
I_AUTOMODE : returns int * : automation mode (-1=use track automode, 0=trim/off, 1=read, 2=touch, 3=write, 4=latch)
I_SRCCHAN : returns int *, index,&1024=mono, -1 for none
I_DSTCHAN : returns int *, index, &1024=mono, otherwise stereo pair, hwout:&512=rearoute
I_MIDIFLAGS : returns int *, low 5 bits=source channel 0=all, 1-16, next 5 bits=dest channel, 0=orig, 1-16=chan
          setNewValue - the new value to be set
Returnvalues:
          void* -


^ Reaper version 5.62 GetToggleCommandStateThroughHooks

Functioncall:

C: int (*GetToggleCommandStateThroughHooks)(KbdSectionInfo* section, int command_id)

Description:
Returns the state of an action via extension plugins' hooks.

Parameters:
          section - the section, in which the action appears in
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          command_id - the command-id of the action, whose state you want
Returnvalues:
          int -


^ Reaper version 5.62 HiresPeaksFromSource

Functioncall:

C: void (*HiresPeaksFromSource)(PCM_source* src, PCM_source_peaktransfer_t* block)

Description:
Hires peaks from source.

Parameters:
          src -
          block -
Returnvalues:
          void -


^ Reaper version 5.62 IsInRealTimeAudio

Functioncall:

C: int (*IsInRealTimeAudio)()

Description:
Are we in a realtime audio thread (between OnAudioBuffer calls,not in some worker/anticipative FX thread)? threadsafe

Returnvalues:
          int -


^ Reaper version 5.62 IsItemTakeActiveForPlayback

Functioncall:

C: bool (*IsItemTakeActiveForPlayback)(MediaItem* item, MediaItem_Take* take)

Description:
get whether a take will be played (active take, unmuted, etc)

Parameters:
          item - MediaItem in which the take is to be checked
          take - the MediaItem_Take to be checked
Returnvalues:
          bool -


^ Reaper version 5.62 IsREAPER

Functioncall:

C: bool (*IsREAPER)()

Description:
Returns true if dealing with REAPER, returns false for ReaMote, etc

Returnvalues:
          bool -


^ Reaper version 5.62 kbd_enumerateActions

Functioncall:

C: int (*kbd_enumerateActions)(KbdSectionInfo* section, int idx, const char** nameOut)

Description:
Enumerates actions.

Parameters:
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          idx -
          nameOut -
Returnvalues:
          int -


^ Reaper version 5.62 kbd_formatKeyName

Functioncall:

C: void (*kbd_formatKeyName)(ACCEL* ac, char* s)

Description:
Format keyname

Parameters:
          ac -
          s -
Returnvalues:
          void -


^ Reaper version 5.62 kbd_getCommandName

Functioncall:

C: void (*kbd_getCommandName)(int cmd, char* s, KbdSectionInfo* section)

Description:
Get the string of a key assigned to command "cmd" in a section.
This function is poorly named as it doesn't return the command's name, see kbd_getTextFromCmd.

Parameters:
          cmd - commandid of the action
          s -
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
Returnvalues:
          void -


^ Reaper version 5.62 kbd_getTextFromCmd

Functioncall:

C: const char* (*kbd_getTextFromCmd)(DWORD cmd, KbdSectionInfo* section)

Description:
Get text from Command

Parameters:
          cmd -
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
Returnvalues:
          const char* -


^ Reaper version 5.62 kbd_OnMidiEvent

Functioncall:

C: void (*kbd_OnMidiEvent)(MIDI_event_t* evt, int dev_index)

Description:
On Midi Event. Can be called from anywhere (threadsafe)

Parameters:
          evt - the MIDI-event
          dev_index -
Returnvalues:
          void -


^ Reaper version 5.62 kbd_OnMidiList

Functioncall:

C: void (*kbd_OnMidiList)(MIDI_eventlist* list, int dev_index)

Description:
On MIDI List. Can be called from anywhere (threadsafe)

Parameters:
          list -
          dev_index -
Returnvalues:
          void -


^ Reaper version 5.62 kbd_ProcessActionsMenu

Functioncall:

C: void (*kbd_ProcessActionsMenu)(HMENU menu, KbdSectionInfo* section)

Description:
Process actions-menu.

Parameters:
          menu -
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
Returnvalues:
          void -


^ Reaper version 5.62 kbd_processMidiEventActionEx

Functioncall:

C: bool (*kbd_processMidiEventActionEx)(MIDI_event_t* evt, KbdSectionInfo* section, HWND hwndCtx)

Description:
Process Midi Event Action

Parameters:
          evt -
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          hwndCtx -
Returnvalues:
          bool -


^ Reaper version 5.62 kbd_reprocessMenu

Functioncall:

C: void (*kbd_reprocessMenu)(HMENU menu, KbdSectionInfo* section)

Description:
Reprocess a menu recursively, setting key assignments to what their command IDs are mapped to.

Parameters:
          menu -
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
Returnvalues:
          void -


^ Reaper version 5.62 kbd_RunCommandThroughHooks

Functioncall:

C: bool (*kbd_RunCommandThroughHooks)(KbdSectionInfo* section, int* actionCommandID, int* val, int* valhw, int* relmode, HWND hwnd)

Description:
Run command through hooks. actioncommandID may get modified.

Parameters:
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          actionCommandID - the commandid-number of the action you want to run.
          val -
          valhw -
          relmode -
          hwnd -
Returnvalues:
          bool -


^ Reaper version 5.62 kbd_translateAccelerator

Functioncall:

C: int (*kbd_translateAccelerator)(HWND hwnd, MSG* msg, KbdSectionInfo* section)

Description:
Pass in the HWND to receive commands, a MSG of a key command,  and a valid section,
and kbd_translateAccelerator() will process it looking for any keys bound to it, and send the messages off.
Returns 1 if processed, 0 if no key binding found.

Parameters:
          hwnd -
          msg -
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
Returnvalues:
          int -


^ Reaper version 5.62 kbd_translateMouse

Functioncall:

C: bool (*kbd_translateMouse)(void* winmsg, unsigned char* midimsg)

Description:
Translate mouse.

Parameters:
          winmsg -
          midimsg -
Returnvalues:
          bool -


^ Reaper version 5.62 LICE__Destroy

Functioncall:

C: void (*LICE__Destroy)(LICE_IBitmap* bm)

Description:
LICE destroy.

Parameters:
          bm -
Returnvalues:
          void -


^ Reaper version 5.62 LICE__DestroyFont

Functioncall:

C: void (*LICE__DestroyFont)(LICE_IFont* font);

Description:
LICE destroy-font.

Parameters:
          font -
Returnvalues:
          void -


^ Reaper version 5.62 LICE__DrawText

Functioncall:

C: int (*LICE__DrawText)(LICE_IFont* font, LICE_IBitmap* bm, const char* str, int strcnt, RECT* rect, UINT dtFlags)

Description:
LICE draw text.

Parameters:
          font -
          bm -
          str -
          strcnt -
          rect -
          dtFlags -
Returnvalues:
          int -


^ Reaper version 5.62 LICE__GetBits

Functioncall:

C: void* (*LICE__GetBits)(LICE_IBitmap* bm)

Description:
LICE get bits.

Parameters:
          bm -
Returnvalues:
          void* -


^ Reaper version 5.62 LICE__GetDC

Functioncall:

C: HDC (*LICE__GetDC)(LICE_IBitmap* bm)

Description:
Translate mouse.

Parameters:
          bm -
Returnvalues:
          HDC -


^ Reaper version 5.62 LICE__GetHeight

Functioncall:

C: int (*LICE__GetHeight)(LICE_IBitmap* bm)

Description:
LICE get height

Parameters:
          bm -
Returnvalues:
          int -


^ Reaper version 5.62 LICE__GetRowSpan

Functioncall:

C: int (*LICE__GetRowSpan)(LICE_IBitmap* bm)

Description:
LICE get row span.

Parameters:
          bm -
Returnvalues:
          int -


^ Reaper version 5.62 LICE__GetWidth

Functioncall:

C: int (*LICE__GetWidth)(LICE_IBitmap* bm)

Description:
LICE get width.

Parameters:
          bm -
Returnvalues:
          int -


^ Reaper version 5.62 LICE__IsFlipped

Functioncall:

C: bool (*LICE__IsFlipped)(LICE_IBitmap* bm)

Description:
LICE is flipped

Parameters:
          bm -
Returnvalues:
          bool -


^ Reaper version 5.62 LICE__resize

Functioncall:

C: bool (*LICE__resize)(LICE_IBitmap* bm, int w, int h)

Description:
LICE resize

Parameters:
          bm -
          w -
          h -
Returnvalues:
          bool -


^ Reaper version 5.62 LICE__SetBkColor

Functioncall:

C: LICE_pixel (*LICE__SetBkColor)(LICE_IFont* font, LICE_pixel color)

Description:
LICE set bk color

Parameters:
          font -
          color -
Returnvalues:
          LICE_pixel -


^ Reaper version 5.62 LICE__SetFromHFont

Functioncall:

C: void (*LICE__SetFromHFont)(LICE_IFont* font, HFONT hfont, int flags)

Description:
LICE set from h-font

Parameters:
          font - font must REMAIN valid,unless LICE_FONT_FLAG_PRECALCALL is set
          hfont -
          flags -
Returnvalues:
          void -


^ Reaper version 5.62 LICE__SetTextColor

Functioncall:

C: LICE_pixel (*LICE__SetTextColor)(LICE_IFont* font, LICE_pixel color)

Description:
LICE set text color

Parameters:
          font -
          color -
Returnvalues:
          LICE_pixel -


^ Reaper version 5.62 LICE__SetTextCombineMode

Functioncall:

C: void (*LICE__SetTextCombineMode)(LICE_IFont* ifont, int mode, float alpha)

Description:
LICE set text combine mode

Parameters:
          ifont -
          mode -
          alpha -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Arc

Functioncall:

C: void (*LICE_Arc)(LICE_IBitmap* dest, float cx, float cy, float r, float minAngle, float maxAngle, LICE_pixel color, float alpha, int mode, bool aa)

Description:
LICE arc

Parameters:
          dest -
          cx -
          cy -
          r -
          minAngle -
          maxAngle -
          color -
          alpha -
          mode -
          aa -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Blit

Functioncall:

C: void (*LICE_Blit)(LICE_IBitmap* dest, LICE_IBitmap* src, int dstx, int dsty, int srcx, int srcy, int srcw, int srch, float alpha, int mode)

Description:
LICE blit

Parameters:
          dest -
          src -
          dstx -
          dsty -
          srcx -
          srcy -
          srcw -
          srch -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Blur

Functioncall:

C: void (*LICE_Blur)(LICE_IBitmap* dest, LICE_IBitmap* src, int dstx, int dsty, int srcx, int srcy, int srcw, int srch)

Description:
LICE blur

Parameters:
          dest -
          src -
          dstx -
          dsty -
          srcx -
          srcy -
          srcw -
          srch -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_BorderedRect

Functioncall:

C: void (*LICE_BorderedRect)(LICE_IBitmap* dest, int x, int y, int w, int h, LICE_pixel bgcolor, LICE_pixel fgcolor, float alpha, int mode)

Description:
LICE bordered rect.

Parameters:
          dest -
          x -
          y -
          w -
          h -
          bgcolor -
          fgcolor -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Circle

Functioncall:

C: void (*LICE_Circle)(LICE_IBitmap* dest, float cx, float cy, float r, LICE_pixel color, float alpha, int mode, bool aa)

Description:
LICE circle

Parameters:
          dest -
          cx -
          cy -
          r -
          color -
          alpha -
          mode -
          aa -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Clear

Functioncall:

C: void (*LICE_Clear)(LICE_IBitmap* dest, LICE_pixel color)

Description:
LICE clear

Parameters:
          dest -
          color -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_ClearRect

Functioncall:

C: void (*LICE_ClearRect)(LICE_IBitmap* dest, int x, int y, int w, int h, LICE_pixel mask, LICE_pixel orbits)

Description:
LICE clear rect

Parameters:
          dest -
          x -
          y -
          w -
          h -
          mask -
          orbits -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Copy

Functioncall:

C: void (*LICE_Copy)(LICE_IBitmap* dest, LICE_IBitmap* src)

Description:
LICE copy

Parameters:
          dest -
          src -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_CreateBitmap

Functioncall:

C: LICE_IBitmap* (*LICE_CreateBitmap)(int mode, int w, int h)

Description:
Create a new bitmap. this is like calling new LICE_MemBitmap (mode=0) or new LICE_SysBitmap (mode=1).

Parameters:
          mode -
          w -
          h -
Returnvalues:
          LICE_IBitmap* -


^ Reaper version 5.62 LICE_CreateFont

Functioncall:

C: LICE_IFont* (*LICE_CreateFont)()

Description:
LICE create font

Returnvalues:
          LICE_IFont* -


^ Reaper version 5.62 LICE_DrawChar

Functioncall:

C: void (*LICE_DrawChar)(LICE_IBitmap* bm, int x, int y, char c, LICE_pixel color, float alpha, int mode)

Description:
LICE draw char

Parameters:
          x -
          y -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_DrawGlyph

Functioncall:

C: void (*LICE_DrawGlyph)(LICE_IBitmap* dest, int x, int y, LICE_pixel color, LICE_pixel_chan* alphas, int glyph_w, int glyph_h, float alpha, int mode)

Description:
LICE draw glyph

Parameters:
          dest -
          x -
          y -
          color -
          alphas -
          glyph_w -
          glyph_h -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.80 LICE_DrawCBezier

Functioncall:

C: void (*LICE_DrawCBezier)(LICE_IBitmap* dest, double xstart, double ystart, double xctl1, double yctl1, double xctl2, double yctl2, double xend, double yend, LICE_pixel color, float alpha, int mode, bool aa, double tol)

Description:
LICE Draw C Bezier

Parameters:
          LICE_IBitmap* dest -
          double xstart -   
          double ystart -
          double xctl1 -   
          double yctl1 -   
          double xctl2 -   
          double yctl2 -
          double xend -
          double yend -
          LICE_pixel color -
          float alpha -
          int mode -
          bool aa -
          double tol -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_DrawRect

Functioncall:

C: void (*LICE_DrawRect)(LICE_IBitmap* dest, int x, int y, int w, int h, LICE_pixel color, float alpha, int mode)

Description:
LICE draw rect

Parameters:
          dest -
          x -
          y -
          w -
          h -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_DrawText

Functioncall:

C: void (*LICE_DrawText)(LICE_IBitmap* bm, int x, int y, const char* string, LICE_pixel color, float alpha, int mode)

Description:
LICE draw text

Parameters:
          bm -
          x -
          y -
          string -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.95 LICE_FillCBezier

Functioncall:

C: void (*LICE_FillCBezier)(LICE_IBitmap* dest, double xstart, double ystart, double xctl1, double yctl1, double xctl2, double yctl2, double xend, double yend, int yfill, LICE_pixel color, float alpha, int mode, bool aa, double tol);

Description:
LICE Fill CBezier

Parameters:
          LICE_IBitmap* dest -
          double xstart -
          double ystart -   
          double xctl1 -
          double yctl1 -
          double xctl2 -
          double yctl2 -
          double xend -
          double yend -
          int yfill -
          LICE_pixel color -
          float alpha -
          int mode -
          bool aa -
          double tol -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_FillCircle

Functioncall:

C: void (*LICE_FillCircle)(LICE_IBitmap* dest, float cx, float cy, float r, LICE_pixel color, float alpha, int mode, bool aa)

Description:
LICE fill circle

Parameters:
          dest -
          cx -
          cy -
          r -
          color -
          alpha -
          mode -
          aa -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_FillConvexPolygon

Functioncall:

C: void (*LICE_FillConvexPolygon)(LICE_IBitmap* dest, int* x, int* y, int npoints, LICE_pixel color, float alpha, int mode)

Description:
LICE fill convex polygon

Parameters:
          dest -
          x -
          y -
          npoints -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_FillRect

Functioncall:

C: void (*LICE_FillRect)(LICE_IBitmap* dest, int x, int y, int w, int h, LICE_pixel color, float alpha, int mode)

Description:
LICE fill rect

Parameters:
          dest -
          x -
          y -
          w -
          h -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_FillTrapezoid

Functioncall:

C: void (*LICE_FillTrapezoid)(LICE_IBitmap* dest, int x1a, int x1b, int y1, int x2a, int x2b, int y2, LICE_pixel color, float alpha, int mode)

Description:
LICE fill trapezoid

Parameters:
          dest -
          x1a -
          x1b -
          y1 -
          x2a -
          x2b -
          y2 -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_FillTriangle

Functioncall:

C: void (*LICE_FillTriangle)(LICE_IBitmap* dest, int x1, int y1, int x2, int y2, int x3, int y3, LICE_pixel color, float alpha, int mode)

Description:
LICE fill triangle

Parameters:
          dest -
          x1 -
          y1 -
          x2 -
          y2 -
          x3 -
          y3 -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_GetPixel

Functioncall:

C: LICE_pixel (*LICE_GetPixel)(LICE_IBitmap* bm, int x, int y)

Description:
LICE get pixel

Parameters:
          bm -
          x -
          y -
Returnvalues:
          LICE_pixel -


^ Reaper version 5.62 LICE_GradRect

Functioncall:

C: void (*LICE_GradRect)(LICE_IBitmap* dest, int dstx, int dsty, int dstw, int dsth, float ir, float ig, float ib, float ia, float drdx, float dgdx, float dbdx, float dadx, float drdy, float dgdy, float dbdy, float dady, int mode)

Description:
LICE grad rect

Parameters:
          dest -
          dstx -
          dsty -
          dstw -
          dsth -
          ir -
          ig -
          ib -
          ia -
          drdx -
          dgdx -
          dbdx -
          dadx -
          drdy -
          dgdy -
          dbdy -
          dady -
          mode -             
Returnvalues:
          void -


^ Reaper version 5.62 LICE_Line

Functioncall:

C: void (*LICE_Line)(LICE_IBitmap* dest, float x1, float y1, float x2, float y2, LICE_pixel color, float alpha, int mode, bool aa)

Description:
LICE line

Parameters:
          dest -
          x1 -
          y1 -
          x2 -
          y2 -
          color -
          alpha -
          mode -
          aa -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_LineInt

Functioncall:

C: void (*LICE_LineInt)(LICE_IBitmap* dest, int x1, int y1, int x2, int y2, LICE_pixel color, float alpha, int mode, bool aa)

Description:
LICE line int

Parameters:
          dest -
          x1 -
          y1 -
          x2 -
          y2 -
          color -
          alpha -
          mode -
          aa -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_LoadPNG

Functioncall:

C: LICE_IBitmap* (*LICE_LoadPNG)(const char* filename, LICE_IBitmap* bmp)

Description:
LICE load png

Parameters:
          filename -
          bmp -
Returnvalues:
          LICE_IBitmap* -


^ Reaper version 5.62 LICE_LoadPNGFromResource

Functioncall:

C: LICE_IBitmap* (*LICE_LoadPNGFromResource)(HINSTANCE hInst, int resid, LICE_IBitmap* bmp)

Description:
LICE load png from resource

Parameters:
          hInst -
          resid -
          bmp -
Returnvalues:
          LICE_IBitmap* -


^ Reaper version 5.62 LICE_MeasureText

Functioncall:

C: void (*LICE_MeasureText)(const char* string, int* w, int* h)

Description:
LICE measure text

Parameters:
          string -
          w -
          h -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_MultiplyAddRect

Functioncall:

C: void (*LICE_MultiplyAddRect)(LICE_IBitmap* dest, int x, int y, int w, int h, float rsc, float gsc, float bsc, float asc, float radd, float gadd, float badd, float aadd)

Description:
LICE multiplay add rect

Parameters:
          dest -
          x -
          y -
          w -
          h -
          rsc -
          gsc -
          bsc -
          asc -
          radd -
          gadd -
          badd -
          aadd -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_PutPixel

Functioncall:

C: void (*LICE_PutPixel)(LICE_IBitmap* bm, int x, int y, LICE_pixel color, float alpha, int mode)

Description:
LICE put pixel

Parameters:
          bm -
          x -
          y -
          color -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_RotatedBlit

Functioncall:

C: void (*LICE_RotatedBlit)(LICE_IBitmap* dest, LICE_IBitmap* src, int dstx, int dsty, int dstw, int dsth, float srcx, float srcy, float srcw, float srch, float angle, bool cliptosourcerect, float alpha, int mode, float rotxcent, float rotycent)

Description:
LICE rotate blit. These coordinates are offset from the center of the image,in source pixel coordinates.

Parameters:
          dest -
          src -
          dstx -
          dsty -
          dstw -
          dsth -
          srcx -
          srcy -
          srcw -
          srch -
          angle -
          cliptosourcerect -
          alpha -
          mode -
          rotxcent -
          rtoycent -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_RoundRect

Functioncall:

C: void (*LICE_RoundRect)(LICE_IBitmap* drawbm, float xpos, float ypos, float w, float h, int cornerradius, LICE_pixel col, float alpha, int mode, bool aa)

Description:
LICE round rect

Parameters:
          drawbm -
          xpos -
          ypos -
          w -
          h -
          cornerradius -
          col -
          alpha -
          mode -
          aa -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_ScaledBlit

Functioncall:

C: void (*LICE_ScaledBlit)(LICE_IBitmap* dest, LICE_IBitmap* src, int dstx, int dsty, int dstw, int dsth, float srcx, float srcy, float srcw, float srch, float alpha, int mode)

Description:
LICE scaled blit.

Parameters:
          dest -
          src -
          dstx -
          dsty -
          dstw -
          dsth -
          srcx -
          srcy -
          srcw -
          srch -
          alpha -
          mode -
Returnvalues:
          void -


^ Reaper version 5.62 LICE_SimpleFill

Functioncall:

C: void (*LICE_SimpleFill)(LICE_IBitmap* dest, int x, int y, LICE_pixel newcolor, LICE_pixel comparemask, LICE_pixel keepmask)

Description:
LICE simple fill

Parameters:
          dest -
          x -
          y -
          newcolor -
          comparemask -
          keepmask -
Returnvalues:
          void -


^ Reaper version 5.62 PCM_Source_CreateFromSimple

Functioncall:

C: PCM_source* (*PCM_Source_CreateFromSimple)(ISimpleMediaDecoder* dec, const char* fn)

Description:
PCM_Source create from simple

Parameters:
          dec -
          fn -
Returnvalues:
          PCM_source* -


^ Reaper version 5.62 PeakBuild_Create

Functioncall:

C: REAPER_PeakBuild_Interface* (*PeakBuild_Create)(PCM_source* src, const char* fn, int srate, int nch)

Description:
Peak build create

Parameters:
          src -
          fn -
          srate -
          nch -
Returnvalues:
          REAPER_PeakBuild_Interface* -


^ Reaper version 5.62 PeakBuild_CreateEx

Functioncall:

C: REAPER_PeakBuild_Interface* (*PeakBuild_CreateEx)(PCM_source* src, const char* fn, int srate, int nch, int flags)

Description:
Peakbuild create-ex. flags&1 for FP support

Parameters:
          src -
          fn -
          srate -
          nch -
          flags -
Returnvalues:
          REAPER_PeakBuild_Interface* -


^ Reaper version 5.62 PeakGet_Create

Functioncall:

C: REAPER_PeakGet_Interface* (*PeakGet_Create)(const char* fn, int srate, int nch)

Description:
Peak get create.

Parameters:
          fn -
          srate -
          nch -
Returnvalues:
          REAPER_PeakGet_Interface* -


^ Reaper version 5.62 PlayPreview

Functioncall:

C: int (*PlayPreview)(preview_register_t* preview)

Description:
Play preview. Return nonzero on success.

Parameters:
          preview -
Returnvalues:
          int -


^ Reaper version 5.62 PlayPreviewEx

Functioncall:

C: int (*PlayPreviewEx)(preview_register_t* preview, int bufflags, double MSI)

Description:
Play preview ex. Return nonzero on success.

Parameters:
          preview -
          bufflags -
          MSI -
Returnvalues:
          int -


^ Reaper version 5.62 PlayTrackPreview

Functioncall:

C: int (*PlayTrackPreview)(preview_register_t* preview)

Description:
Play track preview. Returns nonzero on success,in these,m_out_chan is a track index (0-n).

Parameters:
          preview -
Returnvalues:
          int -


^ Reaper version 5.62 PlayTrackPreview2

Functioncall:

C: int (*PlayTrackPreview2)(ReaProject* proj, preview_register_t* preview)

Description:
Play track preview. Return nonzero on success,in these,m_out_chan is a track index (0-n).

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


^ Reaper version 5.62 PlayTrackPreview2Ex

Functioncall:

C: int (*PlayTrackPreview2Ex)(ReaProject* proj, preview_register_t* preview, int flags, double msi)

Description:
Play track preview 2 Ex. Return nonzero on success,in these,m_out_chan is a track index (0-n).

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          preview -
          flags -
          msi -
Returnvalues:
          int -


^ Reaper version 5.62 plugin_getapi

Functioncall:

C: void* (*plugin_getapi)(const char* name)

Description:
Plugin get api.

Parameters:
          name -
Returnvalues:
          void* -


^ Reaper version 5.62 plugin_getFilterList

Functioncall:

C: const char* (*plugin_getFilterList)()

Description:
Plugin get filter list. Returns a double-NULL terminated list of importable media files, suitable for passing to GetOpenFileName() etc. Includes . (All files).

Returnvalues:
          char* -


^ Reaper version 5.62 plugin_getImportableProjectFilterList

Functioncall:

C: const char* (*plugin_getImportableProjectFilterList)()

Description:
Plugin get importable project filter list. Returns a double-NULL terminated list of importable project files, suitable for passing to GetOpenFileName() etc. Includes . (All files).

Returnvalues:
          char* -


^ Reaper version 5.62 projectconfig_var_addr

Functioncall:

C: void* (*projectconfig_var_addr)(ReaProject* proj, int idx)

Description:
Project config var addr.

see Reaper_Config_Variables.html for valid config-vars

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          idx -
Returnvalues:
          void* -


^ Reaper version 5.62 projectconfig_var_getoffs

Functioncall:

C: int (*projectconfig_var_getoffs)(const char* name, int* szOut)

Description:
Returns offset to pass to projectconfigvaraddr() to get project-config var of name. szout gets size of object.

see Reaper_Config_Variables.html for valid config-vars

Parameters:
          name -
          szOut - size of the object
Returnvalues:
          int -


^ Reaper version 5.62 ReaperGetPitchShiftAPI

Functioncall:

C: IReaperPitchShift* (*ReaperGetPitchShiftAPI)(int version)

Description:
version must be REAPER_PITCHSHIFT_API_VER

Parameters:
          version -
Returnvalues:
          IReaperPitchShift* -


^ Reaper version 5.62 Resampler_Create

Functioncall:

C: REAPER_Resample_Interface* (*Resampler_Create)()

Description:
Resampler create

Returnvalues:
          REAPER_Resample_Interface* -


^ Reaper version 5.62 screenset_register

Functioncall:

C: void (*screenset_register)(char* id, void* callbackFunc, void* param)

Description:
Screenset register.

Parameters:
          id -
          callbackFunc -
          param -
Returnvalues:
          void -


^ Reaper version 5.62 screenset_registerNew

Functioncall:

C: void (*screenset_registerNew)(char* id, screensetNewCallbackFunc callbackFunc, void* param)

Description:
Screenset register new.

Parameters:
          id -
          callbackFunc -
          param -
Returnvalues:
          void -


^ Reaper version 5.62 screenset_unregister

Functioncall:

C: void (*screenset_unregister)(char* id)

Description:
Screenset unregister.

Parameters:
          id -
Returnvalues:
          void -


^ Reaper version 5.62 screenset_unregisterByParam

Functioncall:

C: void (*screenset_unregisterByParam)(void* param)

Description:
Screenset unregister by param

Parameters:
          param -
Returnvalues:
          void -


^ Reaper version 5.62 screenset_updateLastFocus

Functioncall:

C: void (*screenset_updateLastFocus)(HWND prevWin)

Description:
LICE simple fill

Parameters:
          prevWin -
Returnvalues:
          void -


^ Reaper version 5.62 SectionFromUniqueID

Functioncall:

C: KbdSectionInfo* (*SectionFromUniqueID)(int uniqueID)

Description:
Section from unique ID.

Parameters:
          uniqueID -
Returnvalues:
          KbdSectionInfo* -


^ Reaper version 5.62 SetRenderLastError

Functioncall:

C: void (*SetRenderLastError)(const char* errorstr)

Description:
Set render last error.

Parameters:
          errorstr -
Returnvalues:
          void -


^ Reaper version 5.62 StopPreview

Functioncall:

C: int (*StopPreview)(preview_register_t* preview)

Description:
Stop preview.

Parameters:
          preview -
Returnvalues:
          int -


^ Reaper version 5.62 StopTrackPreview

Functioncall:

C: int (*StopTrackPreview)(preview_register_t* preview)

Description:
Stop track preview. Return nonzero on success.

Parameters:
          preview -
Returnvalues:
          int -


^ Reaper version 5.62 StopTrackPreview2

Functioncall:

C: int (*StopTrackPreview2)(void* proj, preview_register_t* preview)

Description:
Stop track preview2.

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


^ Reaper version 5.62 update_disk_counters

Functioncall:

C: void (*update_disk_counters)(int readamt, int writeamt)

Description:
Updates disk I/O statistics with bytes transferred since last call.

Parameters:
          readamt -
          writeamt -
Returnvalues:
          void -


^ Reaper version 5.62 WDL_VirtualWnd_ScaledBlitBG

Functioncall:

C: bool (*WDL_VirtualWnd_ScaledBlitBG)(LICE_IBitmap* dest, WDL_VirtualWnd_BGCfg* src, int destx, int desty, int destw, int desth, int clipx, int clipy, int clipw, int cliph, float alpha, int mode)

Description:
WDL virtualwnd scale blit bg.

Parameters:
          dest -
          src -
          destx -
          desty -
          destw -
          desth -
          clipx -
          clipy -
          clipw -
          cliph -
          alpha -
          mode -
Returnvalues:
          bool -


^ Reaper version 5.976 GetSetMediaItemInfo

Functioncall:

C: void* (*GetSetMediaItemInfo)(MediaItem* item, const char* parmname, void* setNewValue)

Description:
Get/Set Media Item Info

Parameters:
          item - a MediaItem-object
          parmname - the parameter to be gotten/set
P_TRACK : MediaTrack * (read only)
P_NOTES : char * : item note text (do not write to returned pointer, use setNewValue to update)
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 *, take volume (negative if take polarity is flipped)
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)
          setNewValue - the new value to be set, refer description of parmname for the values
Returnvalues:
          void* -


^ Reaper version 5.62 GetToggleCommandState2

Functioncall:

C: int (*GetToggleCommandState2)(KbdSectionInfo* section, int command_id)

Description:
Get Toggle Command State 2

Parameters:
          section - the section, in which the action exists
0, Main
100, Main (alt recording)
32060, MIDI Editor
32061, MIDI Event List Editor
32062, MIDI Inline Editor
32063, Media Explorer
          command_id - the command-id of the command, whose toggle-state you want
Returnvalues:
          int -


^ Reaper version 5.62 GetTrackInfo

Functioncall:

C: const char* (*GetTrackInfo)(INT_PTR track, int* flags)

Description:
Gets track info (returns name).

Parameters:
          track - track index, -1=master, 0..n, or cast a MediaTrack* to int
          flags - if flags is non-NULL, will be set to:
&1, folder
&2, selected
&4, has fx enabled
&8, muted
&16, soloed
&32, SIP'd (with &16)
&64, rec armed
Returnvalues:
          char* -


^ Reaper version 5.62 KBD_OnMainActionEx

Functioncall:

C: int (*KBD_OnMainActionEx)(int cmd, int val, int valhw, int relmode, HWND hwnd, ReaProject* proj)

Description:
val/valhw are used for midi stuff.

Parameters:
          cmd -
          val - val=[0..127] and valhw=-1 (midi CC)
          valhw - valhw >=0 (midi pitch (valhw | val<<7))
          relmode - relmode absolute (0) or 1/2/3 for relative adjust modes
          hwnd -
          proj -
Returnvalues:
          int -


^ Reaper version 5.62 MIDI_eventlist_Create

Functioncall:

C: MIDI_eventlist* (*MIDI_eventlist_Create)()

Description:
Create a MIDI_eventlist object. The returned object must be deleted with MIDIeventlistdestroy().

Returnvalues:
          MIDI_eventlist* -


^ Reaper version 5.62 MIDI_eventlist_Destroy

Functioncall:

C: void (*MIDI_eventlist_Destroy)(MIDI_eventlist* evtlist)

Description:
Destroy a MIDI_eventlist object that was created using MIDIeventlistCreate().

Parameters:
          evtlist -
Returnvalues:
          void -


^ Reaper version 5.62 PCM_Sink_Create

Functioncall:

C: PCM_sink* (*PCM_Sink_Create)(const char* filename, const char* cfg, int cfg_sz, int nch, int srate, bool buildpeaks)

Description:
PCM sink create

Parameters:
          filename -
          cfg -
          cfg_sz -
          nch -
          srate -
          buildpeaks -
Returnvalues:
          PCM_sink* -


^ Reaper version 5.62 PCM_Sink_CreateEx

Functioncall:

C: PCM_sink* (*PCM_Sink_CreateEx)(ReaProject* proj, const char* filename, const char* cfg, int cfg_sz, int nch, int srate, bool buildpeaks)

Description:
PCM sink create ex.

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          filename -
          cfg -
          cfg_sz -
          nch -
          srate -
          buildpeaks -
Returnvalues:
          PCM_sink* -


^ Reaper version 5.62 PCM_Sink_CreateMIDIFile

Functioncall:

C: PCM_sink* (*PCM_Sink_CreateMIDIFile)(const char* filename, const char* cfg, int cfg_sz, double bpm, int div)

Description:
PCM sink create MIDI file.

Parameters:
          filename -
          cfg -
          cfg_sz -
          bpm -
          div -
Returnvalues:
          PCM_sink* -


^ Reaper version 5.62 PCM_Sink_CreateMIDIFileEx

Functioncall:

C: PCM_sink* (*PCM_Sink_CreateMIDIFileEx)(ReaProject* proj, const char* filename, const char* cfg, int cfg_sz, double bpm, int div)

Description:
PCM sink create MIDI file ex

Parameters:
          proj - the project-number. 0 for the current project. Can also be a ReaProject-object, as returned by EnumProjects
          filename -
          cfg -
          cfg_sz -
          bpm -
          div -
Returnvalues:
          PCM_sink* -


^ Reaper version 5.62 SendLocalOscMessage

Functioncall:

C: void (*SendLocalOscMessage)(void* local_osc_handler, const char* msg, int msglen)

Description:
Send local Osc message.

Parameters:
          local_osc_handler -
          msg -
          msglen -
Returnvalues:
          void -


^ Reaper version 5.62 PitchShiftSubModeMenu

Functioncall:

C: int (*PitchShiftSubModeMenu)(HWND hwnd, int x, int y, int mode, int submode_sel)

Description:
menu to select/modify pitch shifter submode, returns new value (or old value if no item selected)

Parameters:
          hwnd -
          x -
          y -
          mode -
          submode_sel -
Returnvalues:
          int -


^ Reaper version 5.62 REAPERAPI_LoadAPI

Functioncall:

C: int REAPERAPI_LoadAPI(void *(*getAPI)(const char *))

Description:
Checks, whether a certain Reaper-API-function exists.

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

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

Parameters:
          *getAPI -
Returnvalues:
          int - 0, if a function exists


^ Reaper version 5.965 realloc_cmd_ptr

Functioncall:

C: bool (*realloc_cmd_ptr)(char** ptr, int* ptr_size, int new_size)

Description:
special use for NeedBig script API functions - reallocates a NeedBig buffer and updates its size, returns false on error

Parameters:
          *getAPI -
Returnvalues:
          int - 0, if a function exists


^ Reaper version 5.965Lua version 5.3 ReaPack_AboutInstalledPackage

Functioncall:

C: bool ReaPack_AboutInstalledPackage(PackageEntry* entry)

EEL: bool extension_api("ReaPack_AboutInstalledPackage", PackageEntry entry)

Lua: boolean reaper.ReaPack_AboutInstalledPackage(PackageEntry entry)

Python: Boolean ReaPack_AboutInstalledPackage(PackageEntry entry)

Description:
Show the about dialog of the given package entry.
The repository index is downloaded asynchronously if the cached copy doesn't exist or is older than one week.

Parameters:
          PackageEntry entry - the installed Reapack-package, whose about dialog you want to show; see ReaPack_GetOwner to get this parameter
Returnvalues:
          boolean - true, if the dialog is shown


^ Reaper version 5.965Lua version 5.3 ReaPack_AboutRepository

Functioncall:

C: bool ReaPack_AboutRepository(const char* repoName)

EEL: bool extension_api("ReaPack_AboutRepository", "repoName")

Lua: boolean reaper.ReaPack_AboutRepository(string repoName)

Python: Boolean ReaPack_AboutRepository(String repoName)

Description:
Show the about dialog of the given repository. Returns true if the repository exists in the user configuration.
The repository index is downloaded asynchronously if the cached copy doesn't exist or is older than one week.

Parameters:
          string repoName - the repository, whose about-dialog you would love to have
Returnvalues:
          boolean - true, if the dialog is shown


^ Reaper version 5.965Lua version 5.3 ReaPack_AddSetRepository

Functioncall:

C: bool ReaPack_AddSetRepository(const char* name, const char* url, bool enable, int autoInstall, char* errorOut, int errorOut_sz)

EEL: bool extension_api("ReaPack_AddSetRepository", "name", "url", bool enable, int autoInstall, #error)

Lua: boolean retval, string error = reaper.ReaPack_AddSetRepository(string name, string url, boolean enable, integer autoInstall)

Python: (Boolean retval, String name, String url, Boolean enable, Int autoInstall, String errorOut, Int errorOut_sz) = ReaPack_AddSetRepository(name, url, enable, autoInstall, errorOut, errorOut_sz)

Description:
Add or modify a repository. Set url to nullptr (or empty string in Lua) to keep the existing URL. Call ReaPack_ProcessQueue(true) when done to process the new list and update the GUI.

autoInstall: usually set to 2 (obey user setting).

Parameters:
          string name - the name of the package
          string url - the url to the repository's xml-file; set nil to keep the current one
          boolean enable - set this repo as enabled in the GUI of ReaPack, so synchronizing is possible
          integer autoInstall - shall this repository automatically installed, when synchronizing and an update is available?
0, don't autoinstall new packages when synchronizing
1, autoinstall new packages when synchronizing
2, use user-settings
Returnvalues:
          boolean - true, if the repo has been added


^ Reaper version 5.965Lua version 5.3 ReaPack_BrowsePackages

Functioncall:

C: void ReaPack_BrowsePackages(const char* filter)

EEL: extension_api("ReaPack_BrowsePackages", "filter")

Lua: reaper.ReaPack_BrowsePackages(string filter)

Python: ReaPack_BrowsePackages(String filter)

Description:
Opens the package browser with the given filter string.

Parameters:
          string filter - the filter to be applied in the package browser. Only packages that feature words included in this filter will be shown.


^ Reaper version 5.965Lua version 5.3 ReaPack_CompareVersions

Functioncall:

C: int ReaPack_CompareVersions(const char* ver1, const char* ver2, char* errorOut, int errorOut_sz)

EEL: int extension_api("ReaPack_CompareVersions", "ver1", "ver2", #error)

Lua: integer retval, string error = reaper.ReaPack_CompareVersions(string ver1, string ver2)

Python: (Int retval, String ver1, String ver2, String errorOut, Int errorOut_sz) = ReaPack_CompareVersions(ver1, ver2, errorOut, errorOut_sz)

Description:
Compares two versionnumbers. Versionnumbers must start with a number/digit, or they can't be compared.
Returns 0 if both versions are equal, a positive value if ver1 is higher than ver2 and a negative value otherwise.

Parameters:
          string ver1 - a first versionnumber to compare; must start with a number/digit
          string ver2 - a second versionnumber to compare; must start with a number/digit
Returnvalues:
          integer retval - -1, ver1<ver2
0, ver1 = ver2
1, ver1>ver2
          string error - the errormessage, if comparing the parameters ver1 and ver2 is impossible


^ Reaper version 5.965Lua version 5.3 ReaPack_EnumOwnedFiles

Functioncall:

C: bool ReaPack_EnumOwnedFiles(PackageEntry* entry, int index, char* pathOut, int pathOut_sz, int* sectionsOut, int* typeOut)

EEL: bool extension_api("ReaPack_EnumOwnedFiles", PackageEntry entry, int index, #path, int §ions, int &type)

Lua: boolean retval, string path, number sections, number type = reaper.ReaPack_EnumOwnedFiles(PackageEntry entry, integer index)

Python: (Boolean retval, PackageEntry entry, Int index, String pathOut, Int pathOut_sz, Int sectionsOut, Int typeOut) = ReaPack_EnumOwnedFiles(entry, index, pathOut, pathOut_sz, sectionsOut, typeOut)

Description:
Enumerate the files owned by the given package. Returns false when there is no more data.

sections: 0=not in action list, &1=main, &2=midi editor, &4=midi inline editor
type: see ReaPack_GetEntryInfo.

Parameters:
          PackageEntry entry - the installed Reapack-package, whose file you want to enumerate; see ReaPack_GetOwner to get this parameter
          integer index - the index of the file of this ReaPack-package with 0 for the first file
Returnvalues:
          boolean retval - true, if more files exist; false, if this is the last/only file
          string path - the path and filename of the installed file
          number sections - the section(s), in which this file is installed; it is an integer bitfield
0=not in action list
&1=main
&2=midi editor
&4=midi inline editor
          number type - the type of the extension, in which this file exists
1, script
2, extension
3, effect
4, data
5, theme
6, langpack
7, webinterface


^ Reaper version 5.965Lua version 5.3 ReaPack_FreeEntry

Functioncall:

C: bool ReaPack_FreeEntry(PackageEntry* entry)

EEL: bool extension_api("ReaPack_FreeEntry", PackageEntry entry)

Lua: boolean reaper.ReaPack_FreeEntry(PackageEntry entry)

Python: Boolean ReaPack_FreeEntry(PackageEntry entry)

Description:
Free resources allocated for the given package entry. Must be used to free PackageEntry-objects created by ReaPack_GetOwner.

Parameters:
          PackageEntry entry - the installed Reapack-package, whose ressources you want to free; see ReaPack_GetOwner to get this parameter
Returnvalues:
          boolean retval - true, if freeing was successful; false, if no


^ Reaper version 5.965Lua version 5.3 ReaPack_GetEntryInfo

Functioncall:

C: bool ReaPack_GetEntryInfo(PackageEntry* entry, char* repoOut, int repoOut_sz, char* catOut, int catOut_sz, char* pkgOut, int pkgOut_sz, char* descOut, int descOut_sz, int* typeOut, char* verOut, int verOut_sz, char* authorOut, int authorOut_sz, bool* pinnedOut, int* fileCountOut)

EEL: bool extension_api("ReaPack_GetEntryInfo", PackageEntry entry, #repo, #cat, #pkg, #desc, int &type, #ver, #author, bool &pinned, int &fileCount)

Lua: boolean retval, string repo, string cat, string pkg, string desc, number type, string ver, string author, boolean pinned, number fileCount = reaper.ReaPack_GetEntryInfo(PackageEntry entry)

Python: (Boolean retval, PackageEntry entry, String repoOut, Int repoOut_sz, String catOut, Int catOut_sz, String pkgOut, Int pkgOut_sz, String descOut, Int descOut_sz, Int typeOut, String verOut, Int verOut_sz, String authorOut, Int authorOut_sz, Boolean pinnedOut, Int fileCountOut) = ReaPack_GetEntryInfo(entry, repoOut, repoOut_sz, catOut, catOut_sz, pkgOut, pkgOut_sz, descOut, descOut_sz, typeOut, verOut, verOut_sz, authorOut, authorOut_sz, pinnedOut, fileCountOut)

Description:
Get the repository name, category, package name, package description, package type, the currently installed version, author name, pinned status and how many files are owned by the given package entry.

Parameters:
          PackageEntry entry - the installed Reapack-package, whose package-infos you want; see ReaPack_GetOwner to get this parameter
Returnvalues:
          boolean retval - true, if getting the info worked
          string repo - the name of the repository
          string cat - the category of this package
          string pkg - the package-name of this package
          string desc - the description of this package
          number type - the type of this package
1, script
2, extension
3, effect
4, data
5, theme
6, langpack
7, webinterface
          string ver - the currently installed version of this package
          string author - the author of this package
          boolean pinned - the pinned-status of this package
          number fileCount - the number of files of this package


^ Reaper version 5.965Lua version 5.3 ReaPack_GetOwner

Functioncall:

C: PackageEntry* ReaPack_GetOwner(const char* fn, char* errorOut, int errorOut_sz)

EEL: PackageEntry extension_api("ReaPack_GetOwner", "fn", #error)

Lua: PackageEntry retval, string error = reaper.ReaPack_GetOwner(string fn)

Python: (PackageEntry retval, String fn, String errorOut, Int errorOut_sz) = ReaPack_GetOwner(fn, errorOut, errorOut_sz)

Description:
Returns the package entry owning the given file.
Delete the returned object from memory after use with ReaPack_FreeEntry.

Parameters:
          string fn - filename with path to a file, of which you want to know, whose package owns it
Returnvalues:
          PackageEntry retval - the installed Reapack-package, who is owner of this file
          string error - an errormessage, if the file is not part of a ReaPack-package


^ Reaper version 5.965Lua version 5.3 ReaPack_GetRepositoryInfo

Functioncall:

C: bool ReaPack_GetRepositoryInfo(const char* name, char* urlOut, int urlOut_sz, bool* enabledOut, int* autoInstallOut)

EEL: bool extension_api("ReaPack_GetRepositoryInfo", "name", #url, bool &enabled, int &autoInstall)

Lua: boolean retval, string url, boolean enabled, number autoInstall = reaper.ReaPack_GetRepositoryInfo(string name)

Python: (Boolean retval, String name, String urlOut, Int urlOut_sz, Boolean enabledOut, Int autoInstallOut) = ReaPack_GetRepositoryInfo(name, urlOut, urlOut_sz, enabledOut, autoInstallOut)

Description:
Get the infos of the given repository.

Parameters:
          string name - the name of the ReaPack package, whose repository you want to have
Returnvalues:
          boolean retval - true, such a repository exists; false, it does not exist
          string url - the url of the repository
          boolean enabled - true, the repository is enabled for installing/syncing; false, if not
          number autoInstall - shall this repository be automatically installed when syncing?
0, manual
1, when synchronizing
2, obey user setting


^ Reaper version 5.965Lua version 5.3 ReaPack_ProcessQueue

Functioncall:

C: void ReaPack_ProcessQueue(bool refreshUI)

EEL: extension_api("ReaPack_ProcessQueue", bool refreshUI)

Lua: reaper.ReaPack_ProcessQueue(boolean refreshUI)

Python: ReaPack_ProcessQueue(Boolean refreshUI)

Description:
Run pending operations and save the configuration file. If refreshUI is true the browser and manager windows are guaranteed to be refreshed (otherwise it depends on which operations are in the queue).

Parameters:
          boolean refreshUI - true, refreshes the UI of the ReaPack-user-interface; false, doesn't update the UI



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