From d569b4f8a5dd0e4a00eac00fce3584a444526b84 Mon Sep 17 00:00:00 2001 From: IcyLava Date: Tue, 24 Jan 2023 20:41:10 +0200 Subject: [PATCH] Add REAPER Lua API --- types/reaper/reaper.d.tl | 783 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 783 insertions(+) create mode 100644 types/reaper/reaper.d.tl diff --git a/types/reaper/reaper.d.tl b/types/reaper/reaper.d.tl new file mode 100644 index 0000000..c07b2e7 --- /dev/null +++ b/types/reaper/reaper.d.tl @@ -0,0 +1,783 @@ +local type reaper_array = record + userdata + + -- NOTE: For some reason REAPER doesn't use colon (:) syntax for these methods, even though they act on the array + clear: function(value: number, offset: integer, size: integer) + convolve: function(src: reaper_array, srcoffs: integer, size: integer, destoffs: integer) + copy: function(src: reaper_array | {number}, srcoffs: integer, size: integer, destoffs: integer) + fft: function(size: integer, permute: boolean, offset: integer) + fft_real: function(size: integer, permute: boolean, offset: integer) + get_alloc: function(): integer + ifft: function(size: integer, permute: boolean, offset: integer) + ifft_real: function(size: integer, permute: boolean, offset: integer) + multiply: function(src: reaper_array, srcoffs: integer, size: integer, destoffs: integer) + resize: function(size: integer) + table: function(offset: integer, size: integer): {number} +end + +global record reaper + type reaper_array = reaper_array + type HWND = record userdata end + type MediaItem = record userdata end + type MediaItem_Take = record userdata end + type MediaTrack = record userdata end + type ReaProject = record userdata end + type AudioAccessor = record userdata end + type PCM_source = record userdata end + type TrackEnvelope = record userdata end + type IReaperControlSurface = record userdata end + type joystick_device = record userdata end + type KbdSectionInfo = record userdata end + type identifier = record userdata end + + atexit: function(function()) + defer: function(function()) + get_action_context: function(): boolean, string, integer, integer, integer, integer, integer + gmem_attach: function(sharedMemoryName: string): string + gmem_read: function(index: integer): number + gmem_write: function(index: integer, value: number) + new_array: function(size: integer) + new_array: function({number} | reaper_array, size: integer) + runloop: function(function()) + + AddMediaItemToTrack: function(tr: MediaTrack): (MediaItem) + AddProjectMarker: function(proj: ReaProject, isrgn: boolean, pos: number, rgnend: number, name: string, wantidx: integer): (integer) + AddProjectMarker2: function(proj: ReaProject, isrgn: boolean, pos: number, rgnend: number, name: string, wantidx: integer, color: integer): (integer) + AddRemoveReaScript: function(add: boolean, sectionID: integer, scriptfn: string, commit: boolean): (integer) + AddTakeToMediaItem: function(item: MediaItem): (MediaItem_Take) + AddTempoTimeSigMarker: function(proj: ReaProject, timepos: number, bpm: number, timesig_num: integer, timesig_denom: integer, lineartempochange: boolean): (boolean) + adjustZoom: function(amt: number, forceset: integer, doupd: boolean, centermode: integer): () + AnyTrackSolo: function(proj: ReaProject): (boolean) + APIExists: function(function_name: string): (boolean) + APITest: function(): () + ApplyNudge: function(project: ReaProject, nudgeflag: integer, nudgewhat: integer, nudgeunits: integer, value: number, reverse: boolean, copies: integer): (boolean) + ArmCommand: function(cmd: integer, sectionname: string): () + Audio_Init: function(): () + Audio_IsPreBuffer: function(): (integer) + Audio_IsRunning: function(): (integer) + Audio_Quit: function(): () + AudioAccessorStateChanged: function(accessor: AudioAccessor): (boolean) + AudioAccessorUpdate: function(accessor: AudioAccessor): () + AudioAccessorValidateState: function(accessor: AudioAccessor): (boolean) + BypassFxAllTracks: function(bypass: integer): () + CalculateNormalization: function(source: PCM_source, normalizeTo: integer, normalizeTarget: number, normalizeStart: number, normalizeEnd: number): (number) + ClearAllRecArmed: function(): () + ClearConsole: function(): () + ClearPeakCache: function(): () + ColorFromNative: function(col: integer): (integer, integer, integer) + ColorToNative: function(r: integer, g: integer, b: integer): (integer) + CountAutomationItems: function(env: TrackEnvelope): (integer) + CountEnvelopePoints: function(envelope: TrackEnvelope): (integer) + CountEnvelopePointsEx: function(envelope: TrackEnvelope, autoitem_idx: integer): (integer) + CountMediaItems: function(proj: ReaProject): (integer) + CountProjectMarkers: function(proj: ReaProject): (integer, integer, integer) + CountSelectedMediaItems: function(proj: ReaProject): (integer) + CountSelectedTracks: function(proj: ReaProject): (integer) + CountSelectedTracks2: function(proj: ReaProject, wantmaster: boolean): (integer) + CountTakeEnvelopes: function(take: MediaItem_Take): (integer) + CountTakes: function(item: MediaItem): (integer) + CountTCPFXParms: function(project: ReaProject, track: MediaTrack): (integer) + CountTempoTimeSigMarkers: function(proj: ReaProject): (integer) + CountTrackEnvelopes: function(track: MediaTrack): (integer) + CountTrackMediaItems: function(track: MediaTrack): (integer) + CountTracks: function(proj: ReaProject): (integer) + CreateNewMIDIItemInProj: function(track: MediaTrack, starttime: number, endtime: number, qnIn: boolean): (MediaItem) + CreateTakeAudioAccessor: function(take: MediaItem_Take): (AudioAccessor) + CreateTrackAudioAccessor: function(track: MediaTrack): (AudioAccessor) + CreateTrackSend: function(tr: MediaTrack, desttrIn: MediaTrack): (integer) + CSurf_FlushUndo: function(force: boolean): () + CSurf_GetTouchState: function(trackid: MediaTrack, isPan: integer): (boolean) + CSurf_GoEnd: function(): () + CSurf_GoStart: function(): () + CSurf_NumTracks: function(mcpView: boolean): (integer) + CSurf_OnArrow: function(whichdir: integer, wantzoom: boolean): () + CSurf_OnFwd: function(seekplay: integer): () + CSurf_OnFXChange: function(trackid: MediaTrack, en: integer): (boolean) + CSurf_OnInputMonitorChange: function(trackid: MediaTrack, monitor: integer): (integer) + CSurf_OnInputMonitorChangeEx: function(trackid: MediaTrack, monitor: integer, allowgang: boolean): (integer) + CSurf_OnMuteChange: function(trackid: MediaTrack, mute: integer): (boolean) + CSurf_OnMuteChangeEx: function(trackid: MediaTrack, mute: integer, allowgang: boolean): (boolean) + CSurf_OnPanChange: function(trackid: MediaTrack, pan: number, relative: boolean): (number) + CSurf_OnPanChangeEx: function(trackid: MediaTrack, pan: number, relative: boolean, allowGang: boolean): (number) + CSurf_OnPause: function(): () + CSurf_OnPlay: function(): () + CSurf_OnPlayRateChange: function(playrate: number): () + CSurf_OnRecArmChange: function(trackid: MediaTrack, recarm: integer): (boolean) + CSurf_OnRecArmChangeEx: function(trackid: MediaTrack, recarm: integer, allowgang: boolean): (boolean) + CSurf_OnRecord: function(): () + CSurf_OnRecvPanChange: function(trackid: MediaTrack, recv_index: integer, pan: number, relative: boolean): (number) + CSurf_OnRecvVolumeChange: function(trackid: MediaTrack, recv_index: integer, volume: number, relative: boolean): (number) + CSurf_OnRew: function(seekplay: integer): () + CSurf_OnRewFwd: function(seekplay: integer, dir: integer): () + CSurf_OnScroll: function(xdir: integer, ydir: integer): () + CSurf_OnSelectedChange: function(trackid: MediaTrack, selected: integer): (boolean) + CSurf_OnSendPanChange: function(trackid: MediaTrack, send_index: integer, pan: number, relative: boolean): (number) + CSurf_OnSendVolumeChange: function(trackid: MediaTrack, send_index: integer, volume: number, relative: boolean): (number) + CSurf_OnSoloChange: function(trackid: MediaTrack, solo: integer): (boolean) + CSurf_OnSoloChangeEx: function(trackid: MediaTrack, solo: integer, allowgang: boolean): (boolean) + CSurf_OnStop: function(): () + CSurf_OnTempoChange: function(bpm: number): () + CSurf_OnTrackSelection: function(trackid: MediaTrack): () + CSurf_OnVolumeChange: function(trackid: MediaTrack, volume: number, relative: boolean): (number) + CSurf_OnVolumeChangeEx: function(trackid: MediaTrack, volume: number, relative: boolean, allowGang: boolean): (number) + CSurf_OnWidthChange: function(trackid: MediaTrack, width: number, relative: boolean): (number) + CSurf_OnWidthChangeEx: function(trackid: MediaTrack, width: number, relative: boolean, allowGang: boolean): (number) + CSurf_OnZoom: function(xdir: integer, ydir: integer): () + CSurf_ResetAllCachedVolPanStates: function(): () + CSurf_ScrubAmt: function(amt: number): () + CSurf_SetAutoMode: function(mode: integer, ignoresurf: IReaperControlSurface): () + CSurf_SetPlayState: function(play: boolean, pause: boolean, rec: boolean, ignoresurf: IReaperControlSurface): () + CSurf_SetRepeatState: function(rep: boolean, ignoresurf: IReaperControlSurface): () + CSurf_SetSurfaceMute: function(trackid: MediaTrack, mute: boolean, ignoresurf: IReaperControlSurface): () + CSurf_SetSurfacePan: function(trackid: MediaTrack, pan: number, ignoresurf: IReaperControlSurface): () + CSurf_SetSurfaceRecArm: function(trackid: MediaTrack, recarm: boolean, ignoresurf: IReaperControlSurface): () + CSurf_SetSurfaceSelected: function(trackid: MediaTrack, selected: boolean, ignoresurf: IReaperControlSurface): () + CSurf_SetSurfaceSolo: function(trackid: MediaTrack, solo: boolean, ignoresurf: IReaperControlSurface): () + CSurf_SetSurfaceVolume: function(trackid: MediaTrack, volume: number, ignoresurf: IReaperControlSurface): () + CSurf_SetTrackListChange: function(): () + CSurf_TrackFromID: function(idx: integer, mcpView: boolean): (MediaTrack) + CSurf_TrackToID: function(track: MediaTrack, mcpView: boolean): (integer) + DB2SLIDER: function(x: number): (number) + DeleteEnvelopePointEx: function(envelope: TrackEnvelope, autoitem_idx: integer, ptidx: integer): (boolean) + DeleteEnvelopePointRange: function(envelope: TrackEnvelope, time_start: number, time_end: number): (boolean) + DeleteEnvelopePointRangeEx: function(envelope: TrackEnvelope, autoitem_idx: integer, time_start: number, time_end: number): (boolean) + DeleteExtState: function(section: string, key: string, persist: boolean): () + DeleteProjectMarker: function(proj: ReaProject, markrgnindexnumber: integer, isrgn: boolean): (boolean) + DeleteProjectMarkerByIndex: function(proj: ReaProject, markrgnidx: integer): (boolean) + DeleteTakeMarker: function(take: MediaItem_Take, idx: integer): (boolean) + DeleteTakeStretchMarkers: function(take: MediaItem_Take, idx: integer, countIn: integer): (integer) + DeleteTempoTimeSigMarker: function(project: ReaProject, markerindex: integer): (boolean) + DeleteTrack: function(tr: MediaTrack): () + DeleteTrackMediaItem: function(tr: MediaTrack, it: MediaItem): (boolean) + DestroyAudioAccessor: function(accessor: AudioAccessor): () + Dock_UpdateDockID: function(ident_str: string, whichDock: integer): () + DockGetPosition: function(whichDock: integer): (integer) + DockIsChildOfDock: function(hwnd: HWND): (integer, boolean) + DockWindowActivate: function(hwnd: HWND): () + DockWindowAdd: function(hwnd: HWND, name: string, pos: integer, allowShow: boolean): () + DockWindowAddEx: function(hwnd: HWND, name: string, identstr: string, allowShow: boolean): () + DockWindowRefresh: function(): () + DockWindowRefreshForHWND: function(hwnd: HWND): () + DockWindowRemove: function(hwnd: HWND): () + EditTempoTimeSigMarker: function(project: ReaProject, markerindex: integer): (boolean) + EnsureNotCompletelyOffscreen: function(left: integer, top: integer, right: integer, bot: integer): (integer, integer, integer, integer) + EnumerateFiles: function(path: string, fileindex: integer): (string) + EnumerateSubdirectories: function(path: string, subdirindex: integer): (string) + EnumPitchShiftModes: function(mode: integer): (boolean, string) + EnumPitchShiftSubModes: function(mode: integer, submode: integer): (string) + EnumProjectMarkers: function(idx: integer): (integer, boolean, number, number, string, integer) + EnumProjectMarkers2: function(proj: ReaProject, idx: integer): (integer, boolean, number, number, string, integer) + EnumProjectMarkers3: function(proj: ReaProject, idx: integer): (integer, boolean, number, number, string, integer, integer) + EnumProjects: function(idx: integer): (ReaProject, string) + EnumProjExtState: function(proj: ReaProject, extname: string, idx: integer): (boolean, string, string) + EnumRegionRenderMatrix: function(proj: ReaProject, regionindex: integer, rendertrack: integer): (MediaTrack) + EnumTrackMIDIProgramNames: function(track: integer, programNumber: integer, programName: string): (boolean, string) + EnumTrackMIDIProgramNamesEx: function(proj: ReaProject, track: MediaTrack, programNumber: integer, programName: string): (boolean, string) + Envelope_Evaluate: function(envelope: TrackEnvelope, time: number, samplerate: number, samplesRequested: integer): (integer, number, number, number, number) + Envelope_FormatValue: function(env: TrackEnvelope, value: number): (string) + Envelope_GetParentTake: function(env: TrackEnvelope): (MediaItem_Take, integer, integer) + Envelope_GetParentTrack: function(env: TrackEnvelope): (MediaTrack, integer, integer) + Envelope_SortPoints: function(envelope: TrackEnvelope): (boolean) + Envelope_SortPointsEx: function(envelope: TrackEnvelope, autoitem_idx: integer): (boolean) + ExecProcess: function(cmdline: string, timeoutmsec: integer): (string) + file_exists: function(path: string): (boolean) + FindTempoTimeSigMarker: function(project: ReaProject, time: number): (integer) + format_timestr: function(tpos: number, buf: string): (string) + format_timestr_len: function(tpos: number, buf: string, offset: number, modeoverride: integer): (string) + format_timestr_pos: function(tpos: number, buf: string, modeoverride: integer): (string) + genGuid: function(gGUID: string): (string) + get_config_var_string: function(name: string): (boolean, string) + get_ini_file: function(): (string) + GetActiveTake: function(item: MediaItem): (MediaItem_Take) + GetAllProjectPlayStates: function(ignoreProject: ReaProject): (integer) + GetAppVersion: function(): (string) + GetArmedCommand: function(): (integer, string) + GetAudioAccessorEndTime: function(accessor: AudioAccessor): (number) + GetAudioAccessorHash: function(accessor: AudioAccessor, hashNeed128: string): (string) + GetAudioAccessorSamples: function(accessor: AudioAccessor, samplerate: integer, numchannels: integer, starttime_sec: number, numsamplesperchannel: integer, samplebuffer: reaper_array): (integer) + GetAudioAccessorStartTime: function(accessor: AudioAccessor): (number) + GetAudioDeviceInfo: function(attribute: string): (boolean, string) + GetConfigWantsDock: function(ident_str: string): (integer) + GetCurrentProjectInLoadSave: function(): (ReaProject) + GetCursorContext: function(): (integer) + GetCursorContext2: function(want_last_valid: boolean): (integer) + GetCursorPosition: function(): (number) + GetCursorPositionEx: function(proj: ReaProject): (number) + GetDisplayedMediaItemColor: function(item: MediaItem): (integer) + GetDisplayedMediaItemColor2: function(item: MediaItem, take: MediaItem_Take): (integer) + GetEnvelopeInfo_Value: function(env: TrackEnvelope, parmname: string): (number) + GetEnvelopeName: function(env: TrackEnvelope): (boolean, string) + GetEnvelopePoint: function(envelope: TrackEnvelope, ptidx: integer): (boolean, number, number, integer, number, boolean) + GetEnvelopePointByTime: function(envelope: TrackEnvelope, time: number): (integer) + GetEnvelopePointByTimeEx: function(envelope: TrackEnvelope, autoitem_idx: integer, time: number): (integer) + GetEnvelopePointEx: function(envelope: TrackEnvelope, autoitem_idx: integer, ptidx: integer): (boolean, number, number, integer, number, boolean) + GetEnvelopeScalingMode: function(env: TrackEnvelope): (integer) + GetEnvelopeStateChunk: function(env: TrackEnvelope, str: string, isundo: boolean): (boolean, string) + GetExePath: function(): (string) + GetExtState: function(section: string, key: string): (string) + GetFocusedFX: function(): (integer, integer, integer, integer) + GetFocusedFX2: function(): (integer, integer, integer, integer) + GetFreeDiskSpaceForRecordPath: function(proj: ReaProject, pathidx: integer): (integer) + GetFXEnvelope: function(track: MediaTrack, fxindex: integer, parameterindex: integer, create: boolean): (TrackEnvelope) + GetGlobalAutomationOverride: function(): (integer) + GetHZoomLevel: function(): (number) + GetInputChannelName: function(channelIndex: integer): (string) + GetInputOutputLatency: function(): (integer, integer) + GetItemEditingTime2: function(): (number, PCM_source, integer) + GetItemFromPoint: function(screen_x: integer, screen_y: integer, allow_locked: boolean): (MediaItem, MediaItem_Take) + GetItemProjectContext: function(item: MediaItem): (ReaProject) + GetItemStateChunk: function(item: MediaItem, str: string, isundo: boolean): (boolean, string) + GetLastColorThemeFile: function(): (string) + GetLastMarkerAndCurRegion: function(proj: ReaProject, time: number): (integer, integer) + GetLastTouchedFX: function(): (boolean, integer, integer, integer) + GetLastTouchedTrack: function(): (MediaTrack) + GetMainHwnd: function(): (HWND) + GetMasterMuteSoloFlags: function(): (integer) + GetMasterTrack: function(proj: ReaProject): (MediaTrack) + GetMasterTrackVisibility: function(): (integer) + GetMaxMidiInputs: function(): (integer) + GetMaxMidiOutputs: function(): (integer) + GetMediaFileMetadata: function(mediaSource: PCM_source, identifier: string): (integer, string) + GetMediaItem: function(proj: ReaProject, itemidx: integer): (MediaItem) + GetMediaItem_Track: function(item: MediaItem): (MediaTrack) + GetMediaItemInfo_Value: function(item: MediaItem, parmname: string): (number) + GetMediaItemNumTakes: function(item: MediaItem): (integer) + GetMediaItemTake: function(item: MediaItem, tk: integer): (MediaItem_Take) + GetMediaItemTake_Item: function(take: MediaItem_Take): (MediaItem) + GetMediaItemTake_Peaks: function(take: MediaItem_Take, peakrate: number, starttime: number, numchannels: integer, numsamplesperchannel: integer, want_extra_type: integer, buf: reaper_array): (integer) + GetMediaItemTake_Source: function(take: MediaItem_Take): (PCM_source) + GetMediaItemTake_Track: function(take: MediaItem_Take): (MediaTrack) + GetMediaItemTakeByGUID: function(project: ReaProject, guidGUID: string): (MediaItem_Take) + GetMediaItemTakeInfo_Value: function(take: MediaItem_Take, parmname: string): (number) + GetMediaItemTrack: function(item: MediaItem): (MediaTrack) + GetMediaSourceFileName: function(source: PCM_source): (string) + GetMediaSourceLength: function(source: PCM_source): (number, boolean) + GetMediaSourceNumChannels: function(source: PCM_source): (integer) + GetMediaSourceParent: function(src: PCM_source): (PCM_source) + GetMediaSourceSampleRate: function(source: PCM_source): (integer) + GetMediaSourceType: function(source: PCM_source): (string) + GetMediaTrackInfo_Value: function(tr: MediaTrack, parmname: string): (number) + GetMIDIInputName: function(dev: integer, nameout: string): (boolean, string) + GetMIDIOutputName: function(dev: integer, nameout: string): (boolean, string) + GetMixerScroll: function(): (MediaTrack) + GetMouseModifier: function(context: string, modifier_flag: integer): (string) + GetMousePosition: function(): (integer, integer) + GetNumAudioInputs: function(): (integer) + GetNumAudioOutputs: function(): (integer) + GetNumMIDIInputs: function(): (integer) + GetNumMIDIOutputs: function(): (integer) + GetNumTakeMarkers: function(take: MediaItem_Take): (integer) + GetNumTracks: function(): (integer) + GetOS: function(): (string) + GetOutputChannelName: function(channelIndex: integer): (string) + GetOutputLatency: function(): (number) + GetParentTrack: function(track: MediaTrack): (MediaTrack) + GetPeakFileName: function(fn: string): (string) + GetPeakFileNameEx: function(fn: string, buf: string, forWrite: boolean): (string) + GetPeakFileNameEx2: function(fn: string, buf: string, forWrite: boolean, peaksfileextension: string): (string) + GetPlayPosition: function(): (number) + GetPlayPosition2: function(): (number) + GetPlayPosition2Ex: function(proj: ReaProject): (number) + GetPlayPositionEx: function(proj: ReaProject): (number) + GetPlayState: function(): (integer) + GetPlayStateEx: function(proj: ReaProject): (integer) + GetProjectLength: function(proj: ReaProject): (number) + GetProjectName: function(proj: ReaProject): (string) + GetProjectPath: function(): (string) + GetProjectPathEx: function(proj: ReaProject): (string) + GetProjectStateChangeCount: function(proj: ReaProject): (integer) + GetProjectTimeOffset: function(proj: ReaProject, rndframe: boolean): (number) + GetProjectTimeSignature: function(): (number, number) + GetProjectTimeSignature2: function(proj: ReaProject): (number, number) + GetProjExtState: function(proj: ReaProject, extname: string, key: string): (integer, string) + GetResourcePath: function(): (string) + GetSelectedEnvelope: function(proj: ReaProject): (TrackEnvelope) + GetSelectedMediaItem: function(proj: ReaProject, selitem: integer): (MediaItem) + GetSelectedTrack: function(proj: ReaProject, seltrackidx: integer): (MediaTrack) + GetSelectedTrack2: function(proj: ReaProject, seltrackidx: integer, wantmaster: boolean): (MediaTrack) + GetSelectedTrackEnvelope: function(proj: ReaProject): (TrackEnvelope) + GetSet_ArrangeView2: function(proj: ReaProject, isSet: boolean, screen_x_start: integer, screen_x_end: integer, start_time: number, end_time: number): (number, number) + GetSet_LoopTimeRange: function(isSet: boolean, isLoop: boolean, start: number, stop: number, allowautoseek: boolean): (number, number) + GetSet_LoopTimeRange2: function(proj: ReaProject, isSet: boolean, isLoop: boolean, start: number, stop: number, allowautoseek: boolean): (number, number) + GetSetAutomationItemInfo: function(env: TrackEnvelope, autoitem_idx: integer, desc: string, value: number, is_set: boolean): (number) + GetSetAutomationItemInfo_String: function(env: TrackEnvelope, autoitem_idx: integer, desc: string, valuestrNeedBig: string, is_set: boolean): (boolean, string) + GetSetEnvelopeInfo_String: function(env: TrackEnvelope, parmname: string, stringNeedBig: string, setNewValue: boolean): (boolean, string) + GetSetEnvelopeState: function(env: TrackEnvelope, str: string): (boolean, string) + GetSetEnvelopeState2: function(env: TrackEnvelope, str: string, isundo: boolean): (boolean, string) + GetSetItemState: function(item: MediaItem, str: string): (boolean, string) + GetSetItemState2: function(item: MediaItem, str: string, isundo: boolean): (boolean, string) + GetSetMediaItemInfo_String: function(item: MediaItem, parmname: string, stringNeedBig: string, setNewValue: boolean): (boolean, string) + GetSetMediaItemTakeInfo_String: function(tk: MediaItem_Take, parmname: string, stringNeedBig: string, setNewValue: boolean): (boolean, string) + GetSetMediaTrackInfo_String: function(tr: MediaTrack, parmname: string, stringNeedBig: string, setNewValue: boolean): (boolean, string) + GetSetProjectAuthor: function(proj: ReaProject, set: boolean, author: string): (string) + GetSetProjectGrid: function(project: ReaProject, set: boolean, division: number, swingmode: integer, swingamt: number): (integer, number, integer, number) + GetSetProjectInfo: function(project: ReaProject, desc: string, value: number, is_set: boolean): (number) + GetSetProjectInfo_String: function(project: ReaProject, desc: string, valuestrNeedBig: string, is_set: boolean): (boolean, string) + GetSetProjectNotes: function(proj: ReaProject, set: boolean, notes: string): (string) + GetSetRepeat: function(val: integer): (integer) + GetSetRepeatEx: function(proj: ReaProject, val: integer): (integer) + GetSetTrackGroupMembership: function(tr: MediaTrack, groupname: string, setmask: integer, setvalue: integer): (integer) + GetSetTrackGroupMembershipHigh: function(tr: MediaTrack, groupname: string, setmask: integer, setvalue: integer): (integer) + GetSetTrackSendInfo_String: function(tr: MediaTrack, category: integer, sendidx: integer, parmname: string, stringNeedBig: string, setNewValue: boolean): (boolean, string) + GetSetTrackState: function(track: MediaTrack, str: string): (boolean, string) + GetSetTrackState2: function(track: MediaTrack, str: string, isundo: boolean): (boolean, string) + GetSubProjectFromSource: function(src: PCM_source): (ReaProject) + GetTake: function(item: MediaItem, takeidx: integer): (MediaItem_Take) + GetTakeEnvelope: function(take: MediaItem_Take, envidx: integer): (TrackEnvelope) + GetTakeEnvelopeByName: function(take: MediaItem_Take, envname: string): (TrackEnvelope) + GetTakeMarker: function(take: MediaItem_Take, idx: integer): (number, string, integer) + GetTakeName: function(take: MediaItem_Take): (string) + GetTakeNumStretchMarkers: function(take: MediaItem_Take): (integer) + GetTakeStretchMarker: function(take: MediaItem_Take, idx: integer): (integer, number, number) + GetTakeStretchMarkerSlope: function(take: MediaItem_Take, idx: integer): (number) + GetTCPFXParm: function(project: ReaProject, track: MediaTrack, index: integer): (boolean, integer, integer) + GetTempoMatchPlayRate: function(source: PCM_source, srcscale: number, position: number, mult: number): (boolean, number, number) + GetTempoTimeSigMarker: function(proj: ReaProject, ptidx: integer): (boolean, number, integer, number, number, integer, integer, boolean) + GetThemeColor: function(ini_key: string, flags: integer): (integer) + GetThingFromPoint: function(screen_x: integer, screen_y: integer): (MediaTrack, string) + GetToggleCommandState: function(command_id: integer): (integer) + GetToggleCommandStateEx: function(section_id: integer, command_id: integer): (integer) + GetTooltipWindow: function(): (HWND) + GetTrack: function(proj: ReaProject, trackidx: integer): (MediaTrack) + GetTrackAutomationMode: function(tr: MediaTrack): (integer) + GetTrackColor: function(track: MediaTrack): (integer) + GetTrackDepth: function(track: MediaTrack): (integer) + GetTrackEnvelope: function(track: MediaTrack, envidx: integer): (TrackEnvelope) + GetTrackEnvelopeByChunkName: function(tr: MediaTrack, cfgchunkname_or_guid: string): (TrackEnvelope) + GetTrackEnvelopeByName: function(track: MediaTrack, envname: string): (TrackEnvelope) + GetTrackFromPoint: function(screen_x: integer, screen_y: integer): (MediaTrack, integer) + GetTrackGUID: function(tr: MediaTrack): (string) + GetTrackMediaItem: function(tr: MediaTrack, itemidx: integer): (MediaItem) + GetTrackMIDILyrics: function(track: MediaTrack, flag: integer): (boolean, string) + GetTrackMIDINoteName: function(track: integer, pitch: integer, chan: integer): (string) + GetTrackMIDINoteNameEx: function(proj: ReaProject, track: MediaTrack, pitch: integer, chan: integer): (string) + GetTrackMIDINoteRange: function(proj: ReaProject, track: MediaTrack): (integer, integer) + GetTrackName: function(track: MediaTrack): (boolean, string) + GetTrackNumMediaItems: function(tr: MediaTrack): (integer) + GetTrackNumSends: function(tr: MediaTrack, category: integer): (integer) + GetTrackReceiveName: function(track: MediaTrack, recv_index: integer): (boolean, string) + GetTrackReceiveUIMute: function(track: MediaTrack, recv_index: integer): (boolean, boolean) + GetTrackReceiveUIVolPan: function(track: MediaTrack, recv_index: integer): (boolean, number, number) + GetTrackSendInfo_Value: function(tr: MediaTrack, category: integer, sendidx: integer, parmname: string): (number) + GetTrackSendName: function(track: MediaTrack, send_index: integer): (boolean, string) + GetTrackSendUIMute: function(track: MediaTrack, send_index: integer): (boolean, boolean) + GetTrackSendUIVolPan: function(track: MediaTrack, send_index: integer): (boolean, number, number) + GetTrackState: function(track: MediaTrack): (string, integer) + GetTrackStateChunk: function(track: MediaTrack, str: string, isundo: boolean): (boolean, string) + GetTrackUIMute: function(track: MediaTrack): (boolean, boolean) + GetTrackUIPan: function(track: MediaTrack): (boolean, number, number, integer) + GetTrackUIVolPan: function(track: MediaTrack): (boolean, number, number) + GetUnderrunTime: function(): (integer, integer, integer) + GetUserFileNameForRead: function(filenameNeed4096: string, title: string, defext: string): (boolean, string) + GetUserInputs: function(title: string, num_inputs: integer, captions_csv: string, retvals_csv: string): (boolean, string) + GoToMarker: function(proj: ReaProject, marker_index: integer, use_timeline_order: boolean): () + GoToRegion: function(proj: ReaProject, region_index: integer, use_timeline_order: boolean): () + GR_SelectColor: function(hwnd: HWND): (integer, integer) + GSC_mainwnd: function(t: integer): (integer) + guidToString: function(gGUID: string, destNeed64: string): (string) + HasExtState: function(section: string, key: string): (boolean) + HasTrackMIDIPrograms: function(track: integer): (string) + HasTrackMIDIProgramsEx: function(proj: ReaProject, track: MediaTrack): (string) + Help_Set: function(helpstring: string, is_temporary_help: boolean): () + image_resolve_fn: function(input: string, out: string): (string) + InsertAutomationItem: function(env: TrackEnvelope, pool_id: integer, position: number, length: number): (integer) + InsertEnvelopePoint: function(envelope: TrackEnvelope, time: number, value: number, shape: integer, tension: number, selected: boolean, noSortIn: boolean): (boolean) + InsertEnvelopePointEx: function(envelope: TrackEnvelope, autoitem_idx: integer, time: number, value: number, shape: integer, tension: number, selected: boolean, noSortIn: boolean): (boolean) + InsertMedia: function(file: string, mode: integer): (integer) + InsertMediaSection: function(file: string, mode: integer, startpct: number, endpct: number, pitchshift: number): (integer) + InsertTrackAtIndex: function(idx: integer, wantDefaults: boolean): () + IsMediaExtension: function(ext: string, wantOthers: boolean): (boolean) + IsMediaItemSelected: function(item: MediaItem): (boolean) + IsProjectDirty: function(proj: ReaProject): (integer) + IsTrackSelected: function(track: MediaTrack): (boolean) + IsTrackVisible: function(track: MediaTrack, mixer: boolean): (boolean) + joystick_create: function(guidGUID: string): (joystick_device) + joystick_destroy: function(device: joystick_device): () + joystick_enum: function(index: integer): (string, string) + joystick_getaxis: function(dev: joystick_device, axis: integer): (number) + joystick_getbuttonmask: function(dev: joystick_device): (integer) + joystick_getinfo: function(dev: joystick_device): (integer, integer, integer) + joystick_getpov: function(dev: joystick_device, pov: integer): (number) + joystick_update: function(dev: joystick_device): (boolean) + LICE_ClipLine: function(pX1: integer, pY1: integer, pX2: integer, pY2: integer, xLo: integer, yLo: integer, xHi: integer, yHi: integer): (boolean, integer, integer, integer, integer) + LocalizeString: function(src_string: string, section: string, flags: integer): (string) + Loop_OnArrow: function(project: ReaProject, direction: integer): (boolean) + Main_OnCommand: function(command: integer, flag: integer): () + Main_OnCommandEx: function(command: integer, flag: integer, proj: ReaProject): () + Main_openProject: function(name: string): () + Main_SaveProject: function(proj: ReaProject, forceSaveAsIn: boolean): () + Main_UpdateLoopInfo: function(ignoremask: integer): () + MarkProjectDirty: function(proj: ReaProject): () + MarkTrackItemsDirty: function(track: MediaTrack, item: MediaItem): () + Master_GetPlayRate: function(project: ReaProject): (number) + Master_GetPlayRateAtTime: function(time_s: number, proj: ReaProject): (number) + Master_GetTempo: function(): (number) + Master_NormalizePlayRate: function(playrate: number, isnormalized: boolean): (number) + Master_NormalizeTempo: function(bpm: number, isnormalized: boolean): (number) + MB: function(msg: string, title: string, type: integer): (integer) + MediaItemDescendsFromTrack: function(item: MediaItem, track: MediaTrack): (integer) + MIDI_CountEvts: function(take: MediaItem_Take): (integer, integer, integer, integer) + MIDI_DeleteCC: function(take: MediaItem_Take, ccidx: integer): (boolean) + MIDI_DeleteEvt: function(take: MediaItem_Take, evtidx: integer): (boolean) + MIDI_DeleteNote: function(take: MediaItem_Take, noteidx: integer): (boolean) + MIDI_DeleteTextSysexEvt: function(take: MediaItem_Take, textsyxevtidx: integer): (boolean) + MIDI_DisableSort: function(take: MediaItem_Take): () + MIDI_EnumSelCC: function(take: MediaItem_Take, ccidx: integer): (integer) + MIDI_EnumSelEvts: function(take: MediaItem_Take, evtidx: integer): (integer) + MIDI_EnumSelNotes: function(take: MediaItem_Take, noteidx: integer): (integer) + MIDI_EnumSelTextSysexEvts: function(take: MediaItem_Take, textsyxidx: integer): (integer) + MIDI_GetAllEvts: function(take: MediaItem_Take): (boolean, string) + MIDI_GetCC: function(take: MediaItem_Take, ccidx: integer): (boolean, boolean, boolean, number, integer, integer, integer, integer) + MIDI_GetCCShape: function(take: MediaItem_Take, ccidx: integer): (boolean, integer, number) + MIDI_GetEvt: function(take: MediaItem_Take, evtidx: integer): (boolean, boolean, boolean, number, string) + MIDI_GetGrid: function(take: MediaItem_Take): (number, number, number) + MIDI_GetHash: function(take: MediaItem_Take, notesonly: boolean): (boolean, string) + MIDI_GetNote: function(take: MediaItem_Take, noteidx: integer): (boolean, boolean, boolean, number, number, integer, integer, integer) + MIDI_GetPPQPos_EndOfMeasure: function(take: MediaItem_Take, ppqpos: number): (number) + MIDI_GetPPQPos_StartOfMeasure: function(take: MediaItem_Take, ppqpos: number): (number) + MIDI_GetPPQPosFromProjQN: function(take: MediaItem_Take, projqn: number): (number) + MIDI_GetPPQPosFromProjTime: function(take: MediaItem_Take, projtime: number): (number) + MIDI_GetProjQNFromPPQPos: function(take: MediaItem_Take, ppqpos: number): (number) + MIDI_GetProjTimeFromPPQPos: function(take: MediaItem_Take, ppqpos: number): (number) + MIDI_GetRecentInputEvent: function(idx: integer): (integer, string, integer, integer, number, integer) + MIDI_GetScale: function(take: MediaItem_Take): (boolean, integer, integer, string) + MIDI_GetTextSysexEvt: function(take: MediaItem_Take, textsyxevtidx: integer, selected: boolean, muted: boolean, ppqpos: number, type: integer, msg: string): (boolean, boolean, boolean, number, integer, string) + MIDI_GetTrackHash: function(track: MediaTrack, notesonly: boolean): (boolean, string) + midi_init: function(force_reinit_input: integer, force_reinit_output: integer): () + MIDI_InsertCC: function(take: MediaItem_Take, selected: boolean, muted: boolean, ppqpos: number, chanmsg: integer, chan: integer, msg2: integer, msg3: integer): (boolean) + MIDI_InsertEvt: function(take: MediaItem_Take, selected: boolean, muted: boolean, ppqpos: number, bytestr: string): (boolean) + MIDI_InsertNote: function(take: MediaItem_Take, selected: boolean, muted: boolean, startppqpos: number, endppqpos: number, chan: integer, pitch: integer, vel: integer, noSortIn: boolean): (boolean) + MIDI_InsertTextSysexEvt: function(take: MediaItem_Take, selected: boolean, muted: boolean, ppqpos: number, type: integer, bytestr: string): (boolean) + midi_reinit: function(): () + MIDI_SelectAll: function(take: MediaItem_Take, select: boolean): () + MIDI_SetAllEvts: function(take: MediaItem_Take, buf: string): (boolean) + MIDI_SetCC: function(take: MediaItem_Take, ccidx: integer, selectedIn: boolean, mutedIn: boolean, ppqposIn: number, chanmsgIn: integer, chanIn: integer, msg2In: integer, msg3In: integer, noSortIn: boolean): (boolean) + MIDI_SetCCShape: function(take: MediaItem_Take, ccidx: integer, shape: integer, beztension: number, noSortIn: boolean): (boolean) + MIDI_SetEvt: function(take: MediaItem_Take, evtidx: integer, selectedIn: boolean, mutedIn: boolean, ppqposIn: number, msg: string, noSortIn: boolean): (boolean) + MIDI_SetItemExtents: function(item: MediaItem, startQN: number, endQN: number): (boolean) + MIDI_SetNote: function(take: MediaItem_Take, noteidx: integer, selectedIn: boolean, mutedIn: boolean, startppqposIn: number, endppqposIn: number, chanIn: integer, pitchIn: integer, velIn: integer, noSortIn: boolean): (boolean) + MIDI_SetTextSysexEvt: function(take: MediaItem_Take, textsyxevtidx: integer, selectedIn: boolean, mutedIn: boolean, ppqposIn: number, typeIn: integer, msg: string, noSortIn: boolean): (boolean) + MIDI_Sort: function(take: MediaItem_Take): () + MIDIEditor_EnumTakes: function(midieditor: HWND, takeindex: integer, editable_only: boolean): (MediaItem_Take) + MIDIEditor_GetActive: function(): (HWND) + MIDIEditor_GetMode: function(midieditor: HWND): (integer) + MIDIEditor_GetSetting_int: function(midieditor: HWND, setting_desc: string): (integer) + MIDIEditor_GetSetting_str: function(midieditor: HWND, setting_desc: string): (boolean, string) + MIDIEditor_GetTake: function(midieditor: HWND): (MediaItem_Take) + MIDIEditor_LastFocused_OnCommand: function(command_id: integer, islistviewcommand: boolean): (boolean) + MIDIEditor_OnCommand: function(midieditor: HWND, command_id: integer): (boolean) + MIDIEditor_SetSetting_int: function(midieditor: HWND, setting_desc: string, setting: integer): (boolean) + mkpanstr: function(strNeed64: string, pan: number): (string) + mkvolpanstr: function(strNeed64: string, vol: number, pan: number): (string) + mkvolstr: function(strNeed64: string, vol: number): (string) + MoveEditCursor: function(adjamt: number, dosel: boolean): () + MoveMediaItemToTrack: function(item: MediaItem, desttr: MediaTrack): (boolean) + MuteAllTracks: function(mute: boolean): () + my_getViewport: function(left: integer, top: integer, right: integer, bot: integer, sr_left: integer, sr_top: integer, sr_right: integer, sr_bot: integer, wantWorkArea: boolean): () + NamedCommandLookup: function(command_name: string): (integer) + OnPauseButton: function(): () + OnPauseButtonEx: function(proj: ReaProject): () + OnPlayButton: function(): () + OnPlayButtonEx: function(proj: ReaProject): () + OnStopButton: function(): () + OnStopButtonEx: function(proj: ReaProject): () + OpenColorThemeFile: function(fn: string): (boolean) + OpenMediaExplorer: function(mediafn: string, play: boolean): (HWND) + OscLocalMessageToHost: function(message: string, valueIn: number): () + parse_timestr: function(buf: string): (number) + parse_timestr_len: function(buf: string, offset: number, modeoverride: integer): (number) + parse_timestr_pos: function(buf: string, modeoverride: integer): (number) + parsepanstr: function(str: string): (number) + PCM_Sink_Enum: function(idx: integer): (integer, string) + PCM_Sink_GetExtension: function(data: string): (string) + PCM_Sink_ShowConfig: function(cfg: string, hwndParent: HWND): (HWND) + PCM_Source_BuildPeaks: function(src: PCM_source, mode: integer): (integer) + PCM_Source_CreateFromFile: function(filename: string): (PCM_source) + PCM_Source_CreateFromFileEx: function(filename: string, forcenoMidiImp: boolean): (PCM_source) + PCM_Source_CreateFromType: function(sourcetype: string): (PCM_source) + PCM_Source_Destroy: function(src: PCM_source): () + PCM_Source_GetPeaks: function(src: PCM_source, peakrate: number, starttime: number, numchannels: integer, numsamplesperchannel: integer, want_extra_type: integer, buf: reaper_array): (integer) + PCM_Source_GetSectionInfo: function(src: PCM_source): (boolean, number, number, boolean) + PluginWantsAlwaysRunFx: function(amt: integer): () + PreventUIRefresh: function(prevent_count: integer): () + PromptForAction: function(session_mode: integer, init_id: integer, section_id: integer): (integer) + ReaScriptError: function(errmsg: string): () + RecursiveCreateDirectory: function(path: string, ignored: integer): (integer) + reduce_open_files: function(flags: integer): (integer) + RefreshToolbar: function(command_id: integer): () + RefreshToolbar2: function(section_id: integer, command_id: integer): () + relative_fn: function(input: string, out: string): (string) + RemoveTrackSend: function(tr: MediaTrack, category: integer, sendidx: integer): (boolean) + RenderFileSection: function(source_filename: string, target_filename: string, start_percent: number, end_percent: number, playrate: number): (boolean) + ReorderSelectedTracks: function(beforeTrackIdx: integer, makePrevFolder: integer): (boolean) + Resample_EnumModes: function(mode: integer): (string) + resolve_fn: function(input: string, out: string): (string) + resolve_fn2: function(input: string, out: string, checkSubDir: string): (string) + ReverseNamedCommandLookup: function(command_id: integer): (string) + ScaleFromEnvelopeMode: function(scaling_mode: integer, val: number): (number) + ScaleToEnvelopeMode: function(scaling_mode: integer, val: number): (number) + SelectAllMediaItems: function(proj: ReaProject, selected: boolean): () + SelectProjectInstance: function(proj: ReaProject): () + SetActiveTake: function(take: MediaItem_Take): () + SetAutomationMode: function(mode: integer, onlySel: boolean): () + SetCurrentBPM: function(__proj: ReaProject, bpm: number, wantUndo: boolean): () + SetCursorContext: function(mode: integer, envIn: TrackEnvelope): () + SetEditCurPos: function(time: number, moveview: boolean, seekplay: boolean): () + SetEditCurPos2: function(proj: ReaProject, time: number, moveview: boolean, seekplay: boolean): () + SetEnvelopePoint: function(envelope: TrackEnvelope, ptidx: integer, timeIn: number, valueIn: number, shapeIn: integer, tensionIn: number, selectedIn: boolean, noSortIn: boolean): (boolean) + SetEnvelopePointEx: function(envelope: TrackEnvelope, autoitem_idx: integer, ptidx: integer, timeIn: number, valueIn: number, shapeIn: integer, tensionIn: number, selectedIn: boolean, noSortIn: boolean): (boolean) + SetEnvelopeStateChunk: function(env: TrackEnvelope, str: string, isundo: boolean): (boolean) + SetExtState: function(section: string, key: string, value: string, persist: boolean): () + SetGlobalAutomationOverride: function(mode: integer): () + SetItemStateChunk: function(item: MediaItem, str: string, isundo: boolean): (boolean) + SetMasterTrackVisibility: function(flag: integer): (integer) + SetMediaItemInfo_Value: function(item: MediaItem, parmname: string, newvalue: number): (boolean) + SetMediaItemLength: function(item: MediaItem, length: number, refreshUI: boolean): (boolean) + SetMediaItemPosition: function(item: MediaItem, position: number, refreshUI: boolean): (boolean) + SetMediaItemSelected: function(item: MediaItem, selected: boolean): () + SetMediaItemTake_Source: function(take: MediaItem_Take, source: PCM_source): (boolean) + SetMediaItemTakeInfo_Value: function(take: MediaItem_Take, parmname: string, newvalue: number): (boolean) + SetMediaTrackInfo_Value: function(tr: MediaTrack, parmname: string, newvalue: number): (boolean) + SetMIDIEditorGrid: function(project: ReaProject, division: number): () + SetMixerScroll: function(leftmosttrack: MediaTrack): (MediaTrack) + SetMouseModifier: function(context: string, modifier_flag: integer, action: string): () + SetOnlyTrackSelected: function(track: MediaTrack): () + SetProjectGrid: function(project: ReaProject, division: number): () + SetProjectMarker: function(markrgnindexnumber: integer, isrgn: boolean, pos: number, rgnend: number, name: string): (boolean) + SetProjectMarker2: function(proj: ReaProject, markrgnindexnumber: integer, isrgn: boolean, pos: number, rgnend: number, name: string): (boolean) + SetProjectMarker3: function(proj: ReaProject, markrgnindexnumber: integer, isrgn: boolean, pos: number, rgnend: number, name: string, color: integer): (boolean) + SetProjectMarker4: function(proj: ReaProject, markrgnindexnumber: integer, isrgn: boolean, pos: number, rgnend: number, name: string, color: integer, flags: integer): (boolean) + SetProjectMarkerByIndex: function(proj: ReaProject, markrgnidx: integer, isrgn: boolean, pos: number, rgnend: number, IDnumber: integer, name: string, color: integer): (boolean) + SetProjectMarkerByIndex2: function(proj: ReaProject, markrgnidx: integer, isrgn: boolean, pos: number, rgnend: number, IDnumber: integer, name: string, color: integer, flags: integer): (boolean) + SetProjExtState: function(proj: ReaProject, extname: string, key: string, value: string): (integer) + SetRegionRenderMatrix: function(proj: ReaProject, regionindex: integer, track: MediaTrack, addorremove: integer): () + SetTakeMarker: function(take: MediaItem_Take, idx: integer, nameIn: string, srcposIn: number, colorIn: integer): (integer) + SetTakeStretchMarker: function(take: MediaItem_Take, idx: integer, pos: number, srcposIn: number): (integer) + SetTakeStretchMarkerSlope: function(take: MediaItem_Take, idx: integer, slope: number): (boolean) + SetTempoTimeSigMarker: function(proj: ReaProject, ptidx: integer, timepos: number, measurepos: integer, beatpos: number, bpm: number, timesig_num: integer, timesig_denom: integer, lineartempo: boolean): (boolean) + SetThemeColor: function(ini_key: string, color: integer, flags: integer): (integer) + SetToggleCommandState: function(section_id: integer, command_id: integer, state: integer): (boolean) + SetTrackAutomationMode: function(tr: MediaTrack, mode: integer): () + SetTrackColor: function(track: MediaTrack, color: integer): () + SetTrackMIDILyrics: function(track: MediaTrack, flag: integer, str: string): (boolean) + SetTrackMIDINoteName: function(track: integer, pitch: integer, chan: integer, name: string): (boolean) + SetTrackMIDINoteNameEx: function(proj: ReaProject, track: MediaTrack, pitch: integer, chan: integer, name: string): (boolean) + SetTrackSelected: function(track: MediaTrack, selected: boolean): () + SetTrackSendInfo_Value: function(tr: MediaTrack, category: integer, sendidx: integer, parmname: string, newvalue: number): (boolean) + SetTrackSendUIPan: function(track: MediaTrack, send_idx: integer, pan: number, isend: integer): (boolean) + SetTrackSendUIVol: function(track: MediaTrack, send_idx: integer, vol: number, isend: integer): (boolean) + SetTrackStateChunk: function(track: MediaTrack, str: string, isundo: boolean): (boolean) + ShowActionList: function(caller: KbdSectionInfo, callerWnd: HWND): () + ShowConsoleMsg: function(msg: string): () + ShowMessageBox: function(msg: string, title: string, type: integer): (integer) + ShowPopupMenu: function(name: string, x: integer, y: integer, hwndParent: HWND, ctx: identifier, ctx2: integer, ctx3: integer): () + SLIDER2DB: function(y: number): (number) + SnapToGrid: function(project: ReaProject, time_pos: number): (number) + SoloAllTracks: function(solo: integer): () + Splash_GetWnd: function(): (HWND) + SplitMediaItem: function(item: MediaItem, position: number): (MediaItem) + stringToGuid: function(str: string, gGUID: string): (string) + StuffMIDIMessage: function(mode: integer, msg1: integer, msg2: integer, msg3: integer): () + TakeFX_AddByName: function(take: MediaItem_Take, fxname: string, instantiate: integer): (integer) + TakeFX_CopyToTake: function(src_take: MediaItem_Take, src_fx: integer, dest_take: MediaItem_Take, dest_fx: integer, is_move: boolean): () + TakeFX_CopyToTrack: function(src_take: MediaItem_Take, src_fx: integer, dest_track: MediaTrack, dest_fx: integer, is_move: boolean): () + TakeFX_Delete: function(take: MediaItem_Take, fx: integer): (boolean) + TakeFX_EndParamEdit: function(take: MediaItem_Take, fx: integer, param: integer): (boolean) + TakeFX_FormatParamValue: function(take: MediaItem_Take, fx: integer, param: integer, val: number): (boolean, string) + TakeFX_FormatParamValueNormalized: function(take: MediaItem_Take, fx: integer, param: integer, value: number, buf: string): (boolean, string) + TakeFX_GetChainVisible: function(take: MediaItem_Take): (integer) + TakeFX_GetCount: function(take: MediaItem_Take): (integer) + TakeFX_GetEnabled: function(take: MediaItem_Take, fx: integer): (boolean) + TakeFX_GetEnvelope: function(take: MediaItem_Take, fxindex: integer, parameterindex: integer, create: boolean): (TrackEnvelope) + TakeFX_GetFloatingWindow: function(take: MediaItem_Take, index: integer): (HWND) + TakeFX_GetFormattedParamValue: function(take: MediaItem_Take, fx: integer, param: integer): (boolean, string) + TakeFX_GetFXGUID: function(take: MediaItem_Take, fx: integer): (string) + TakeFX_GetFXName: function(take: MediaItem_Take, fx: integer): (boolean, string) + TakeFX_GetIOSize: function(take: MediaItem_Take, fx: integer): (integer, integer, integer) + TakeFX_GetNamedConfigParm: function(take: MediaItem_Take, fx: integer, parmname: string): (boolean, string) + TakeFX_GetNumParams: function(take: MediaItem_Take, fx: integer): (integer) + TakeFX_GetOffline: function(take: MediaItem_Take, fx: integer): (boolean) + TakeFX_GetOpen: function(take: MediaItem_Take, fx: integer): (boolean) + TakeFX_GetParam: function(take: MediaItem_Take, fx: integer, param: integer): (number, number, number) + TakeFX_GetParameterStepSizes: function(take: MediaItem_Take, fx: integer, param: integer): (boolean, number, number, number, boolean) + TakeFX_GetParamEx: function(take: MediaItem_Take, fx: integer, param: integer): (number, number, number, number) + TakeFX_GetParamFromIdent: function(take: MediaItem_Take, fx: integer, ident_str: string): (integer) + TakeFX_GetParamIdent: function(take: MediaItem_Take, fx: integer, param: integer): (boolean, string) + TakeFX_GetParamName: function(take: MediaItem_Take, fx: integer, param: integer): (boolean, string) + TakeFX_GetParamNormalized: function(take: MediaItem_Take, fx: integer, param: integer): (number) + TakeFX_GetPinMappings: function(take: MediaItem_Take, fx: integer, isoutput: integer, pin: integer): (integer, integer) + TakeFX_GetPreset: function(take: MediaItem_Take, fx: integer): (boolean, string) + TakeFX_GetPresetIndex: function(take: MediaItem_Take, fx: integer): (integer, integer) + TakeFX_GetUserPresetFilename: function(take: MediaItem_Take, fx: integer): (string) + TakeFX_NavigatePresets: function(take: MediaItem_Take, fx: integer, presetmove: integer): (boolean) + TakeFX_SetEnabled: function(take: MediaItem_Take, fx: integer, enabled: boolean): () + TakeFX_SetNamedConfigParm: function(take: MediaItem_Take, fx: integer, parmname: string, value: string): (boolean) + TakeFX_SetOffline: function(take: MediaItem_Take, fx: integer, offline: boolean): () + TakeFX_SetOpen: function(take: MediaItem_Take, fx: integer, open: boolean): () + TakeFX_SetParam: function(take: MediaItem_Take, fx: integer, param: integer, val: number): (boolean) + TakeFX_SetParamNormalized: function(take: MediaItem_Take, fx: integer, param: integer, value: number): (boolean) + TakeFX_SetPinMappings: function(take: MediaItem_Take, fx: integer, isoutput: integer, pin: integer, low32bits: integer, hi32bits: integer): (boolean) + TakeFX_SetPreset: function(take: MediaItem_Take, fx: integer, presetname: string): (boolean) + TakeFX_SetPresetByIndex: function(take: MediaItem_Take, fx: integer, idx: integer): (boolean) + TakeFX_Show: function(take: MediaItem_Take, index: integer, showFlag: integer): () + TakeIsMIDI: function(take: MediaItem_Take): (boolean) + ThemeLayout_GetLayout: function(section: string, idx: integer): (boolean, string) + ThemeLayout_GetParameter: function(wp: integer): (string, string, integer, integer, integer, integer) + ThemeLayout_RefreshAll: function(): () + ThemeLayout_SetLayout: function(section: string, layout: string): (boolean) + ThemeLayout_SetParameter: function(wp: integer, value: integer, persist: boolean): (boolean) + time_precise: function(): (number) + TimeMap2_beatsToTime: function(proj: ReaProject, tpos: number, measuresIn: integer): (number) + TimeMap2_GetDividedBpmAtTime: function(proj: ReaProject, time: number): (number) + TimeMap2_GetNextChangeTime: function(proj: ReaProject, time: number): (number) + TimeMap2_QNToTime: function(proj: ReaProject, qn: number): (number) + TimeMap2_timeToBeats: function(proj: ReaProject, tpos: number): (number, integer, integer, number, integer) + TimeMap2_timeToQN: function(proj: ReaProject, tpos: number): (number) + TimeMap_curFrameRate: function(proj: ReaProject): (number, boolean) + TimeMap_GetDividedBpmAtTime: function(time: number): (number) + TimeMap_GetMeasureInfo: function(proj: ReaProject, measure: integer): (number, number, number, integer, integer, number) + TimeMap_GetMetronomePattern: function(proj: ReaProject, time: number, pattern: string): (integer, string) + TimeMap_GetTimeSigAtTime: function(proj: ReaProject, time: number): (integer, integer, number) + TimeMap_QNToMeasures: function(proj: ReaProject, qn: number): (integer, number, number) + TimeMap_QNToTime: function(qn: number): (number) + TimeMap_QNToTime_abs: function(proj: ReaProject, qn: number): (number) + TimeMap_timeToQN: function(tpos: number): (number) + TimeMap_timeToQN_abs: function(proj: ReaProject, tpos: number): (number) + ToggleTrackSendUIMute: function(track: MediaTrack, send_idx: integer): (boolean) + Track_GetPeakHoldDB: function(track: MediaTrack, channel: integer, clear: boolean): (number) + Track_GetPeakInfo: function(track: MediaTrack, channel: integer): (number) + TrackCtl_SetToolTip: function(fmt: string, xpos: integer, ypos: integer, topmost: boolean): () + TrackFX_AddByName: function(track: MediaTrack, fxname: string, recFX: boolean, instantiate: integer): (integer) + TrackFX_CopyToTake: function(src_track: MediaTrack, src_fx: integer, dest_take: MediaItem_Take, dest_fx: integer, is_move: boolean): () + TrackFX_CopyToTrack: function(src_track: MediaTrack, src_fx: integer, dest_track: MediaTrack, dest_fx: integer, is_move: boolean): () + TrackFX_Delete: function(track: MediaTrack, fx: integer): (boolean) + TrackFX_EndParamEdit: function(track: MediaTrack, fx: integer, param: integer): (boolean) + TrackFX_FormatParamValue: function(track: MediaTrack, fx: integer, param: integer, val: number): (boolean, string) + TrackFX_FormatParamValueNormalized: function(track: MediaTrack, fx: integer, param: integer, value: number, buf: string): (boolean, string) + TrackFX_GetByName: function(track: MediaTrack, fxname: string, instantiate: boolean): (integer) + TrackFX_GetChainVisible: function(track: MediaTrack): (integer) + TrackFX_GetCount: function(track: MediaTrack): (integer) + TrackFX_GetEnabled: function(track: MediaTrack, fx: integer): (boolean) + TrackFX_GetEQ: function(track: MediaTrack, instantiate: boolean): (integer) + TrackFX_GetEQBandEnabled: function(track: MediaTrack, fxidx: integer, bandtype: integer, bandidx: integer): (boolean) + TrackFX_GetEQParam: function(track: MediaTrack, fxidx: integer, paramidx: integer): (boolean, integer, integer, integer, number) + TrackFX_GetFloatingWindow: function(track: MediaTrack, index: integer): (HWND) + TrackFX_GetFormattedParamValue: function(track: MediaTrack, fx: integer, param: integer): (boolean, string) + TrackFX_GetFXGUID: function(track: MediaTrack, fx: integer): (string) + TrackFX_GetFXName: function(track: MediaTrack, fx: integer): (boolean, string) + TrackFX_GetInstrument: function(track: MediaTrack): (integer) + TrackFX_GetIOSize: function(track: MediaTrack, fx: integer): (integer, integer, integer) + TrackFX_GetNamedConfigParm: function(track: MediaTrack, fx: integer, parmname: string): (boolean, string) + TrackFX_GetNumParams: function(track: MediaTrack, fx: integer): (integer) + TrackFX_GetOffline: function(track: MediaTrack, fx: integer): (boolean) + TrackFX_GetOpen: function(track: MediaTrack, fx: integer): (boolean) + TrackFX_GetParam: function(track: MediaTrack, fx: integer, param: integer): (number, number, number) + TrackFX_GetParameterStepSizes: function(track: MediaTrack, fx: integer, param: integer): (boolean, number, number, number, boolean) + TrackFX_GetParamEx: function(track: MediaTrack, fx: integer, param: integer): (number, number, number, number) + TrackFX_GetParamFromIdent: function(track: MediaTrack, fx: integer, ident_str: string): (integer) + TrackFX_GetParamIdent: function(track: MediaTrack, fx: integer, param: integer): (boolean, string) + TrackFX_GetParamName: function(track: MediaTrack, fx: integer, param: integer): (boolean, string) + TrackFX_GetParamNormalized: function(track: MediaTrack, fx: integer, param: integer): (number) + TrackFX_GetPinMappings: function(tr: MediaTrack, fx: integer, isoutput: integer, pin: integer): (integer, integer) + TrackFX_GetPreset: function(track: MediaTrack, fx: integer): (boolean, string) + TrackFX_GetPresetIndex: function(track: MediaTrack, fx: integer): (integer, integer) + TrackFX_GetRecChainVisible: function(track: MediaTrack): (integer) + TrackFX_GetRecCount: function(track: MediaTrack): (integer) + TrackFX_GetUserPresetFilename: function(track: MediaTrack, fx: integer): (string) + TrackFX_NavigatePresets: function(track: MediaTrack, fx: integer, presetmove: integer): (boolean) + TrackFX_SetEnabled: function(track: MediaTrack, fx: integer, enabled: boolean): () + TrackFX_SetEQBandEnabled: function(track: MediaTrack, fxidx: integer, bandtype: integer, bandidx: integer, enable: boolean): (boolean) + TrackFX_SetEQParam: function(track: MediaTrack, fxidx: integer, bandtype: integer, bandidx: integer, paramtype: integer, val: number, isnorm: boolean): (boolean) + TrackFX_SetNamedConfigParm: function(track: MediaTrack, fx: integer, parmname: string, value: string): (boolean) + TrackFX_SetOffline: function(track: MediaTrack, fx: integer, offline: boolean): () + TrackFX_SetOpen: function(track: MediaTrack, fx: integer, open: boolean): () + TrackFX_SetParam: function(track: MediaTrack, fx: integer, param: integer, val: number): (boolean) + TrackFX_SetParamNormalized: function(track: MediaTrack, fx: integer, param: integer, value: number): (boolean) + TrackFX_SetPinMappings: function(tr: MediaTrack, fx: integer, isoutput: integer, pin: integer, low32bits: integer, hi32bits: integer): (boolean) + TrackFX_SetPreset: function(track: MediaTrack, fx: integer, presetname: string): (boolean) + TrackFX_SetPresetByIndex: function(track: MediaTrack, fx: integer, idx: integer): (boolean) + TrackFX_Show: function(track: MediaTrack, index: integer, showFlag: integer): () + TrackList_AdjustWindows: function(isMinor: boolean): () + TrackList_UpdateAllExternalSurfaces: function(): () + Undo_BeginBlock: function(): () + Undo_BeginBlock2: function(proj: ReaProject): () + Undo_CanRedo2: function(proj: ReaProject): (string) + Undo_CanUndo2: function(proj: ReaProject): (string) + Undo_DoRedo2: function(proj: ReaProject): (integer) + Undo_DoUndo2: function(proj: ReaProject): (integer) + Undo_EndBlock: function(descchange: string, extraflags: integer): () + Undo_EndBlock2: function(proj: ReaProject, descchange: string, extraflags: integer): () + Undo_OnStateChange: function(descchange: string): () + Undo_OnStateChange2: function(proj: ReaProject, descchange: string): () + Undo_OnStateChange_Item: function(proj: ReaProject, name: string, item: MediaItem): () + Undo_OnStateChangeEx: function(descchange: string, whichStates: integer, trackparm: integer): () + Undo_OnStateChangeEx2: function(proj: ReaProject, descchange: string, whichStates: integer, trackparm: integer): () + UpdateArrange: function(): () + UpdateItemInProject: function(item: MediaItem): () + UpdateTimeline: function(): () + ValidatePtr: function(pointer: identifier, ctypename: string): (boolean) + ValidatePtr2: function(proj: ReaProject, pointer: identifier, ctypename: string): (boolean) + ViewPrefs: function(page: integer, pageByName: string): () +end + +global record gfx + r: number + g: number + b: number + a: number + a2: number + mode: number + w: integer + h: integer + x: integer + y: integer + clear: integer + dest: integer + texth: integer + ext_retina: number + mouse_x: integer + mouse_y: integer + mouse_wheel: integer + mouse_hwheel: integer + mouse_cap: integer + + arc: function(x: number, y: number, r: number, ang1: number, ang2: number, antialias: boolean) + blit: function(source: integer, scale: number, rotation: number, srcx: integer, srcy: integer, srcw: integer, srch: integer, destx: integer, desty: integer, destw: integer, desth: integer, rotxoffs: integer, rotyoffs: integer) + blitext: function(source: integer, coordinatelist: {number}, rotation: number) + blurto: function(x: integer, y: integer) + circle: function(x: integer, y: integer, r: number, fill: boolean, antialias: boolean) + clienttoscreen: function(x: integer, y: integer): integer, integer + deltablit: function(srcimg: integer, srcs: integer, srct: integer, srcw: integer, srch: integer, destx: integer, desty: integer, destw: integer, desth: integer, dsdx: number, dtdx: number, dsdy: number, dtdy: number, dsdxdy: number, dtdxdy: number, usecliprect: boolean) + dock: function(dock: integer, wx: integer, wy: integer, ww: integer, wh: integer): integer, integer, integer, integer + drawchar: function(char: string | integer) + drawnumber: function(n: number, ndigits: integer) + drawstr: function(str: string, flags: integer, right: integer, bottom: integer) + getchar: function(char: integer): integer + getdropfile: function(idx: integer): boolean, string + getfont: function(): integer, string + getimgdim: function(handle: integer): integer, integer + getpixel: function(): number, number, number + gradrect: function(x: integer, y: integer, w: integer, h: integer, r: number, g: number, b: number, a: number, drdx: integer, dgdx: integer, dbdx: integer, dadx: integer, drdy: integer, dgdy: integer, dbdy: integer, dady: integer) + init: function(name: string, width: integer, height: integer, dockstate: boolean, xpos: integer, ypos: integer) + line: function(x: integer, y: integer, x2: integer, y2: integer, aa: boolean) + lineto: function(x: integer, y: integer, aa: boolean) + loadimg: function(image: integer, filename: string): integer + measurechar: function(char: string): integer, integer + measurestr: function(str: string): integer, integer + muladdrect: function(x: integer, y: integer, w: integer, h: integer, mul_r: number, mul_g: number, mul_b: number, mul_a: number, add_r: number, add_g: number, add_b: number, add_a: number) + printf: function(format: string, ...: any) + quit: function() + rect: function(x: integer, y: integer, w: integer, h: integer, filled: boolean) + rectto: function(x: integer, y: integer) + roundrect: function(x: integer, y: integer, w: integer, h: integer, radius: number, antialias: boolean) + screentoclient: function(x: integer, y: integer): integer, integer + set: function(r: number, g: number, b: number, a: number, mode: number, dest: integer, a2: number) + setcursor: function(resource_id: integer, custom_cursor_name: string) + setfont: function(idx: integer, fontface: string, sz: integer, flags: integer) + setimgdim: function(image: integer, w: integer, h: integer) + setpixel: function(r: number, g: number, b: number) + showmenu: function(str: string): integer + transformblit: function(srcimg: integer, destx: integer, desty: integer, destw: integer, desth: integer, div_w: integer, div_h: integer, table: {number} | reaper_array) + triangle: function(x1: integer, y1: integer, x2: integer, y2: integer, x3: integer, y3: integer, ...: integer) + update: function() +end \ No newline at end of file