pub struct ReaperFunctionPointers {
Show 847 fields pub __mergesort: Option<unsafe extern "C" fn(base: *mut c_void, nmemb: usize, size: usize, cmpfunc: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>, tmpspace: *mut c_void)>, pub AddCustomizableMenu: Option<unsafe extern "C" fn(menuidstr: *const c_char, menuname: *const c_char, kbdsecname: *const c_char, addtomainmenu: bool) -> bool>, pub AddExtensionsMainMenu: Option<extern "C" fn() -> bool>, pub AddMediaItemToTrack: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> *mut MediaItem>, pub AddProjectMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, wantidx: c_int) -> c_int>, pub AddProjectMarker2: Option<unsafe extern "C" fn(proj: *mut ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, wantidx: c_int, color: c_int) -> c_int>, pub AddRemoveReaScript: Option<unsafe extern "C" fn(add: bool, sectionID: c_int, scriptfn: *const c_char, commit: bool) -> c_int>, pub AddTakeToMediaItem: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaItem_Take>, pub AddTempoTimeSigMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, timepos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempochange: bool) -> bool>, pub adjustZoom: Option<extern "C" fn(amt: f64, forceset: c_int, doupd: bool, centermode: c_int)>, pub AnyTrackSolo: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> bool>, pub APIExists: Option<unsafe extern "C" fn(function_name: *const c_char) -> bool>, pub APITest: Option<extern "C" fn()>, pub ApplyNudge: Option<unsafe extern "C" fn(project: *mut ReaProject, nudgeflag: c_int, nudgewhat: c_int, nudgeunits: c_int, value: f64, reverse: bool, copies: c_int) -> bool>, pub ArmCommand: Option<unsafe extern "C" fn(cmd: c_int, sectionname: *const c_char)>, pub Audio_Init: Option<extern "C" fn()>, pub Audio_IsPreBuffer: Option<extern "C" fn() -> c_int>, pub Audio_IsRunning: Option<extern "C" fn() -> c_int>, pub Audio_Quit: Option<extern "C" fn()>, pub Audio_RegHardwareHook: Option<unsafe extern "C" fn(isAdd: bool, reg: *mut audio_hook_register_t) -> c_int>, pub AudioAccessorStateChanged: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> bool>, pub AudioAccessorUpdate: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor)>, pub AudioAccessorValidateState: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> bool>, pub BypassFxAllTracks: Option<extern "C" fn(bypass: c_int)>, pub CalcMediaSrcLoudness: Option<unsafe extern "C" fn(mediasource: *mut PCM_source) -> c_int>, pub CalculateNormalization: Option<unsafe extern "C" fn(source: *mut PCM_source, normalizeTo: c_int, normalizeTarget: f64, normalizeStart: f64, normalizeEnd: f64) -> f64>, pub CalculatePeaks: Option<unsafe extern "C" fn(srcBlock: *mut PCM_source_transfer_t, pksBlock: *mut PCM_source_peaktransfer_t) -> c_int>, pub CalculatePeaksFloatSrcPtr: Option<unsafe extern "C" fn(srcBlock: *mut PCM_source_transfer_t, pksBlock: *mut PCM_source_peaktransfer_t) -> c_int>, pub ClearAllRecArmed: Option<extern "C" fn()>, pub ClearConsole: Option<extern "C" fn()>, pub ClearPeakCache: Option<extern "C" fn()>, pub ColorFromNative: Option<unsafe extern "C" fn(col: c_int, rOut: *mut c_int, gOut: *mut c_int, bOut: *mut c_int)>, pub ColorToNative: Option<extern "C" fn(r: c_int, g: c_int, b: c_int) -> c_int>, pub CountActionShortcuts: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, cmdID: c_int) -> c_int>, pub CountAutomationItems: Option<unsafe extern "C" fn(env: *mut TrackEnvelope) -> c_int>, pub CountEnvelopePoints: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope) -> c_int>, pub CountEnvelopePointsEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int) -> c_int>, pub CountMediaItems: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub CountProjectMarkers: Option<unsafe extern "C" fn(proj: *mut ReaProject, num_markersOut: *mut c_int, num_regionsOut: *mut c_int) -> c_int>, pub CountSelectedMediaItems: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub CountSelectedTracks: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub CountSelectedTracks2: Option<unsafe extern "C" fn(proj: *mut ReaProject, wantmaster: bool) -> c_int>, pub CountTakeEnvelopes: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>, pub CountTakes: Option<unsafe extern "C" fn(item: *mut MediaItem) -> c_int>, pub CountTCPFXParms: Option<unsafe extern "C" fn(project: *mut ReaProject, track: *mut MediaTrack) -> c_int>, pub CountTempoTimeSigMarkers: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub CountTrackEnvelopes: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub CountTrackMediaItems: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub CountTracks: Option<unsafe extern "C" fn(projOptional: *mut ReaProject) -> c_int>, pub CreateLocalOscHandler: Option<unsafe extern "C" fn(obj: *mut c_void, callback: *mut c_void) -> *mut c_void>, pub CreateMIDIInput: Option<extern "C" fn(dev: c_int) -> *mut midi_Input>, pub CreateMIDIOutput: Option<unsafe extern "C" fn(dev: c_int, streamMode: bool, msoffset100: *mut c_int) -> *mut midi_Output>, pub CreateNewMIDIItemInProj: Option<unsafe extern "C" fn(track: *mut MediaTrack, starttime: f64, endtime: f64, qnInOptional: *const bool) -> *mut MediaItem>, pub CreateTakeAudioAccessor: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut AudioAccessor>, pub CreateTrackAudioAccessor: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> *mut AudioAccessor>, pub CreateTrackSend: Option<unsafe extern "C" fn(tr: *mut MediaTrack, desttrInOptional: *mut MediaTrack) -> c_int>, pub CSurf_FlushUndo: Option<extern "C" fn(force: bool)>, pub CSurf_GetTouchState: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, isPan: c_int) -> bool>, pub CSurf_GoEnd: Option<extern "C" fn()>, pub CSurf_GoStart: Option<extern "C" fn()>, pub CSurf_NumTracks: Option<extern "C" fn(mcpView: bool) -> c_int>, pub CSurf_OnArrow: Option<extern "C" fn(whichdir: c_int, wantzoom: bool)>, pub CSurf_OnFwd: Option<extern "C" fn(seekplay: c_int)>, pub CSurf_OnFXChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, en: c_int) -> bool>, pub CSurf_OnInputMonitorChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, monitor: c_int) -> c_int>, pub CSurf_OnInputMonitorChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, monitor: c_int, allowgang: bool) -> c_int>, pub CSurf_OnMuteChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, mute: c_int) -> bool>, pub CSurf_OnMuteChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, mute: c_int, allowgang: bool) -> bool>, pub CSurf_OnOscControlMessage: Option<unsafe extern "C" fn(msg: *const c_char, arg: *const f32)>, pub CSurf_OnPanChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, pan: f64, relative: bool) -> f64>, pub CSurf_OnPanChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, pan: f64, relative: bool, allowGang: bool) -> f64>, pub CSurf_OnPause: Option<extern "C" fn()>, pub CSurf_OnPlay: Option<extern "C" fn()>, pub CSurf_OnPlayRateChange: Option<extern "C" fn(playrate: f64)>, pub CSurf_OnRecArmChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recarm: c_int) -> bool>, pub CSurf_OnRecArmChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recarm: c_int, allowgang: bool) -> bool>, pub CSurf_OnRecord: Option<extern "C" fn()>, pub CSurf_OnRecvPanChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recv_index: c_int, pan: f64, relative: bool) -> f64>, pub CSurf_OnRecvVolumeChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recv_index: c_int, volume: f64, relative: bool) -> f64>, pub CSurf_OnRew: Option<extern "C" fn(seekplay: c_int)>, pub CSurf_OnRewFwd: Option<extern "C" fn(seekplay: c_int, dir: c_int)>, pub CSurf_OnScroll: Option<extern "C" fn(xdir: c_int, ydir: c_int)>, pub CSurf_OnSelectedChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, selected: c_int) -> bool>, pub CSurf_OnSendPanChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, send_index: c_int, pan: f64, relative: bool) -> f64>, pub CSurf_OnSendVolumeChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, send_index: c_int, volume: f64, relative: bool) -> f64>, pub CSurf_OnSoloChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, solo: c_int) -> bool>, pub CSurf_OnSoloChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, solo: c_int, allowgang: bool) -> bool>, pub CSurf_OnStop: Option<extern "C" fn()>, pub CSurf_OnTempoChange: Option<extern "C" fn(bpm: f64)>, pub CSurf_OnTrackSelection: Option<unsafe extern "C" fn(trackid: *mut MediaTrack)>, pub CSurf_OnVolumeChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, volume: f64, relative: bool) -> f64>, pub CSurf_OnVolumeChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, volume: f64, relative: bool, allowGang: bool) -> f64>, pub CSurf_OnWidthChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, width: f64, relative: bool) -> f64>, pub CSurf_OnWidthChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, width: f64, relative: bool, allowGang: bool) -> f64>, pub CSurf_OnZoom: Option<extern "C" fn(xdir: c_int, ydir: c_int)>, pub CSurf_ResetAllCachedVolPanStates: Option<extern "C" fn()>, pub CSurf_ScrubAmt: Option<extern "C" fn(amt: f64)>, pub CSurf_SetAutoMode: Option<unsafe extern "C" fn(mode: c_int, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetPlayState: Option<unsafe extern "C" fn(play: bool, pause: bool, rec: bool, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetRepeatState: Option<unsafe extern "C" fn(rep: bool, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetSurfaceMute: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, mute: bool, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetSurfacePan: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, pan: f64, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetSurfaceRecArm: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recarm: bool, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetSurfaceSelected: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, selected: bool, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetSurfaceSolo: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, solo: bool, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetSurfaceVolume: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, volume: f64, ignoresurf: *mut IReaperControlSurface)>, pub CSurf_SetTrackListChange: Option<extern "C" fn()>, pub CSurf_TrackFromID: Option<extern "C" fn(idx: c_int, mcpView: bool) -> *mut MediaTrack>, pub CSurf_TrackToID: Option<unsafe extern "C" fn(track: *mut MediaTrack, mcpView: bool) -> c_int>, pub DB2SLIDER: Option<extern "C" fn(x: f64) -> f64>, pub DeleteActionShortcut: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, cmdID: c_int, shortcutidx: c_int) -> bool>, pub DeleteEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, ptidx: c_int) -> bool>, pub DeleteEnvelopePointRange: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time_start: f64, time_end: f64) -> bool>, pub DeleteEnvelopePointRangeEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, time_start: f64, time_end: f64) -> bool>, pub DeleteExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char, persist: bool)>, pub DeleteProjectMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool) -> bool>, pub DeleteProjectMarkerByIndex: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnidx: c_int) -> bool>, pub DeleteTakeMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int) -> bool>, pub DeleteTakeStretchMarkers: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, countInOptional: *const c_int) -> c_int>, pub DeleteTempoTimeSigMarker: Option<unsafe extern "C" fn(project: *mut ReaProject, markerindex: c_int) -> bool>, pub DeleteTrack: Option<unsafe extern "C" fn(tr: *mut MediaTrack)>, pub DeleteTrackMediaItem: Option<unsafe extern "C" fn(tr: *mut MediaTrack, it: *mut MediaItem) -> bool>, pub DestroyAudioAccessor: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor)>, pub DestroyLocalOscHandler: Option<unsafe extern "C" fn(local_osc_handler: *mut c_void)>, pub DoActionShortcutDialog: Option<unsafe extern "C" fn(hwnd: HWND, section: *mut KbdSectionInfo, cmdID: c_int, shortcutidx: c_int) -> bool>, pub Dock_UpdateDockID: Option<unsafe extern "C" fn(ident_str: *const c_char, whichDock: c_int)>, pub DockGetPosition: Option<extern "C" fn(whichDock: c_int) -> c_int>, pub DockIsChildOfDock: Option<unsafe extern "C" fn(hwnd: HWND, isFloatingDockerOut: *mut bool) -> c_int>, pub DockWindowActivate: Option<unsafe extern "C" fn(hwnd: HWND)>, pub DockWindowAdd: Option<unsafe extern "C" fn(hwnd: HWND, name: *const c_char, pos: c_int, allowShow: bool)>, pub DockWindowAddEx: Option<unsafe extern "C" fn(hwnd: HWND, name: *const c_char, identstr: *const c_char, allowShow: bool)>, pub DockWindowRefresh: Option<extern "C" fn()>, pub DockWindowRefreshForHWND: Option<unsafe extern "C" fn(hwnd: HWND)>, pub DockWindowRemove: Option<unsafe extern "C" fn(hwnd: HWND)>, pub DuplicateCustomizableMenu: Option<unsafe extern "C" fn(srcmenu: *mut c_void, destmenu: *mut c_void) -> bool>, pub EditTempoTimeSigMarker: Option<unsafe extern "C" fn(project: *mut ReaProject, markerindex: c_int) -> bool>, pub EnsureNotCompletelyOffscreen: Option<unsafe extern "C" fn(rInOut: *mut RECT)>, pub EnumerateFiles: Option<unsafe extern "C" fn(path: *const c_char, fileindex: c_int) -> *const c_char>, pub EnumerateSubdirectories: Option<unsafe extern "C" fn(path: *const c_char, subdirindex: c_int) -> *const c_char>, pub EnumPitchShiftModes: Option<unsafe extern "C" fn(mode: c_int, strOut: *mut *const c_char) -> bool>, pub EnumPitchShiftSubModes: Option<extern "C" fn(mode: c_int, submode: c_int) -> *const c_char>, pub EnumProjectMarkers: Option<unsafe extern "C" fn(idx: c_int, isrgnOut: *mut bool, posOut: *mut f64, rgnendOut: *mut f64, nameOut: *mut *const c_char, markrgnindexnumberOut: *mut c_int) -> c_int>, pub EnumProjectMarkers2: Option<unsafe extern "C" fn(proj: *mut ReaProject, idx: c_int, isrgnOut: *mut bool, posOut: *mut f64, rgnendOut: *mut f64, nameOut: *mut *const c_char, markrgnindexnumberOut: *mut c_int) -> c_int>, pub EnumProjectMarkers3: Option<unsafe extern "C" fn(proj: *mut ReaProject, idx: c_int, isrgnOut: *mut bool, posOut: *mut f64, rgnendOut: *mut f64, nameOut: *mut *const c_char, markrgnindexnumberOut: *mut c_int, colorOut: *mut c_int) -> c_int>, pub EnumProjects: Option<unsafe extern "C" fn(idx: c_int, projfnOutOptional: *mut c_char, projfnOutOptional_sz: c_int) -> *mut ReaProject>, pub EnumProjExtState: Option<unsafe extern "C" fn(proj: *mut ReaProject, extname: *const c_char, idx: c_int, keyOutOptional: *mut c_char, keyOutOptional_sz: c_int, valOutOptional: *mut c_char, valOutOptional_sz: c_int) -> bool>, pub EnumRegionRenderMatrix: Option<unsafe extern "C" fn(proj: *mut ReaProject, regionindex: c_int, rendertrack: c_int) -> *mut MediaTrack>, pub EnumTrackMIDIProgramNames: Option<unsafe extern "C" fn(track: c_int, programNumber: c_int, programName: *mut c_char, programName_sz: c_int) -> bool>, pub EnumTrackMIDIProgramNamesEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, programNumber: c_int, programName: *mut c_char, programName_sz: c_int) -> bool>, pub Envelope_Evaluate: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time: f64, samplerate: f64, samplesRequested: c_int, valueOut: *mut f64, dVdSOut: *mut f64, ddVdSOut: *mut f64, dddVdSOut: *mut f64) -> c_int>, pub Envelope_FormatValue: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, value: f64, bufOut: *mut c_char, bufOut_sz: c_int)>, pub Envelope_GetParentTake: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, indexOut: *mut c_int, index2Out: *mut c_int) -> *mut MediaItem_Take>, pub Envelope_GetParentTrack: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, indexOut: *mut c_int, index2Out: *mut c_int) -> *mut MediaTrack>, pub Envelope_SortPoints: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope) -> bool>, pub Envelope_SortPointsEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int) -> bool>, pub ExecProcess: Option<unsafe extern "C" fn(cmdline: *const c_char, timeoutmsec: c_int) -> *const c_char>, pub file_exists: Option<unsafe extern "C" fn(path: *const c_char) -> bool>, pub FindTempoTimeSigMarker: Option<unsafe extern "C" fn(project: *mut ReaProject, time: f64) -> c_int>, pub format_timestr: Option<unsafe extern "C" fn(tpos: f64, buf: *mut c_char, buf_sz: c_int)>, pub format_timestr_len: Option<unsafe extern "C" fn(tpos: f64, buf: *mut c_char, buf_sz: c_int, offset: f64, modeoverride: c_int)>, pub format_timestr_pos: Option<unsafe extern "C" fn(tpos: f64, buf: *mut c_char, buf_sz: c_int, modeoverride: c_int)>, pub FreeHeapPtr: Option<unsafe extern "C" fn(ptr: *mut c_void)>, pub genGuid: Option<unsafe extern "C" fn(g: *mut GUID)>, pub get_config_var: Option<unsafe extern "C" fn(name: *const c_char, szOut: *mut c_int) -> *mut c_void>, pub get_config_var_string: Option<unsafe extern "C" fn(name: *const c_char, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub get_ini_file: Option<extern "C" fn() -> *const c_char>, pub get_midi_config_var: Option<unsafe extern "C" fn(name: *const c_char, szOut: *mut c_int) -> *mut c_void>, pub GetActionShortcutDesc: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, cmdID: c_int, shortcutidx: c_int, desc: *mut c_char, desclen: c_int) -> bool>, pub GetActiveTake: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaItem_Take>, pub GetAllProjectPlayStates: Option<unsafe extern "C" fn(ignoreProject: *mut ReaProject) -> c_int>, pub GetAppVersion: Option<extern "C" fn() -> *const c_char>, pub GetArmedCommand: Option<unsafe extern "C" fn(secOut: *mut c_char, secOut_sz: c_int) -> c_int>, pub GetAudioAccessorEndTime: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> f64>, pub GetAudioAccessorHash: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor, hashNeed128: *mut c_char)>, pub GetAudioAccessorSamples: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor, samplerate: c_int, numchannels: c_int, starttime_sec: f64, numsamplesperchannel: c_int, samplebuffer: *mut f64) -> c_int>, pub GetAudioAccessorStartTime: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> f64>, pub GetAudioDeviceInfo: Option<unsafe extern "C" fn(attribute: *const c_char, descOut: *mut c_char, descOut_sz: c_int) -> bool>, pub GetColorTheme: Option<extern "C" fn(idx: c_int, defval: c_int) -> INT_PTR>, pub GetColorThemeStruct: Option<unsafe extern "C" fn(szOut: *mut c_int) -> *mut c_void>, pub GetConfigWantsDock: Option<unsafe extern "C" fn(ident_str: *const c_char) -> c_int>, pub GetContextMenu: Option<extern "C" fn(idx: c_int) -> HMENU>, pub GetCurrentProjectInLoadSave: Option<extern "C" fn() -> *mut ReaProject>, pub GetCursorContext: Option<extern "C" fn() -> c_int>, pub GetCursorContext2: Option<extern "C" fn(want_last_valid: bool) -> c_int>, pub GetCursorPosition: Option<extern "C" fn() -> f64>, pub GetCursorPositionEx: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>, pub GetDisplayedMediaItemColor: Option<unsafe extern "C" fn(item: *mut MediaItem) -> c_int>, pub GetDisplayedMediaItemColor2: Option<unsafe extern "C" fn(item: *mut MediaItem, take: *mut MediaItem_Take) -> c_int>, pub GetEnvelopeInfo_Value: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, parmname: *const c_char) -> f64>, pub GetEnvelopeName: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub GetEnvelopePoint: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, ptidx: c_int, timeOut: *mut f64, valueOut: *mut f64, shapeOut: *mut c_int, tensionOut: *mut f64, selectedOut: *mut bool) -> bool>, pub GetEnvelopePointByTime: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time: f64) -> c_int>, pub GetEnvelopePointByTimeEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, time: f64) -> c_int>, pub GetEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, ptidx: c_int, timeOut: *mut f64, valueOut: *mut f64, shapeOut: *mut c_int, tensionOut: *mut f64, selectedOut: *mut bool) -> bool>, pub GetEnvelopeScalingMode: Option<unsafe extern "C" fn(env: *mut TrackEnvelope) -> c_int>, pub GetEnvelopeStateChunk: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, strNeedBig: *mut c_char, strNeedBig_sz: c_int, isundoOptional: bool) -> bool>, pub GetEnvelopeUIState: Option<unsafe extern "C" fn(env: *mut TrackEnvelope) -> c_int>, pub GetExePath: Option<extern "C" fn() -> *const c_char>, pub GetExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char) -> *const c_char>, pub GetFocusedFX: Option<unsafe extern "C" fn(tracknumberOut: *mut c_int, itemnumberOut: *mut c_int, fxnumberOut: *mut c_int) -> c_int>, pub GetFocusedFX2: Option<unsafe extern "C" fn(tracknumberOut: *mut c_int, itemnumberOut: *mut c_int, fxnumberOut: *mut c_int) -> c_int>, pub GetFreeDiskSpaceForRecordPath: Option<unsafe extern "C" fn(proj: *mut ReaProject, pathidx: c_int) -> c_int>, pub GetFXEnvelope: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxindex: c_int, parameterindex: c_int, create: bool) -> *mut TrackEnvelope>, pub GetGlobalAutomationOverride: Option<extern "C" fn() -> c_int>, pub GetHZoomLevel: Option<extern "C" fn() -> f64>, pub GetIconThemePointer: Option<unsafe extern "C" fn(name: *const c_char) -> *mut c_void>, pub GetIconThemePointerForDPI: Option<unsafe extern "C" fn(name: *const c_char, dpisc: c_int) -> *mut c_void>, pub GetIconThemeStruct: Option<unsafe extern "C" fn(szOut: *mut c_int) -> *mut c_void>, pub GetInputChannelName: Option<extern "C" fn(channelIndex: c_int) -> *const c_char>, pub GetInputOutputLatency: Option<unsafe extern "C" fn(inputlatencyOut: *mut c_int, outputLatencyOut: *mut c_int)>, pub GetItemEditingTime2: Option<unsafe extern "C" fn(which_itemOut: *mut *mut PCM_source, flagsOut: *mut c_int) -> f64>, pub GetItemFromPoint: Option<unsafe extern "C" fn(screen_x: c_int, screen_y: c_int, allow_locked: bool, takeOutOptional: *mut *mut MediaItem_Take) -> *mut MediaItem>, pub GetItemProjectContext: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut ReaProject>, pub GetItemStateChunk: Option<unsafe extern "C" fn(item: *mut MediaItem, strNeedBig: *mut c_char, strNeedBig_sz: c_int, isundoOptional: bool) -> bool>, pub GetLastColorThemeFile: Option<extern "C" fn() -> *const c_char>, pub GetLastMarkerAndCurRegion: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, markeridxOut: *mut c_int, regionidxOut: *mut c_int)>, pub GetLastTouchedFX: Option<unsafe extern "C" fn(tracknumberOut: *mut c_int, fxnumberOut: *mut c_int, paramnumberOut: *mut c_int) -> bool>, pub GetLastTouchedTrack: Option<extern "C" fn() -> *mut MediaTrack>, pub GetMainHwnd: Option<extern "C" fn() -> HWND>, pub GetMasterMuteSoloFlags: Option<extern "C" fn() -> c_int>, pub GetMasterTrack: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *mut MediaTrack>, pub GetMasterTrackVisibility: Option<extern "C" fn() -> c_int>, pub GetMaxMidiInputs: Option<extern "C" fn() -> c_int>, pub GetMaxMidiOutputs: Option<extern "C" fn() -> c_int>, pub GetMediaFileMetadata: Option<unsafe extern "C" fn(mediaSource: *mut PCM_source, identifier: *const c_char, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: c_int) -> c_int>, pub GetMediaItem: Option<unsafe extern "C" fn(proj: *mut ReaProject, itemidx: c_int) -> *mut MediaItem>, pub GetMediaItem_Track: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaTrack>, pub GetMediaItemInfo_Value: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char) -> f64>, pub GetMediaItemNumTakes: Option<unsafe extern "C" fn(item: *mut MediaItem) -> c_int>, pub GetMediaItemTake: Option<unsafe extern "C" fn(item: *mut MediaItem, tk: c_int) -> *mut MediaItem_Take>, pub GetMediaItemTake_Item: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut MediaItem>, pub GetMediaItemTake_Peaks: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, peakrate: f64, starttime: f64, numchannels: c_int, numsamplesperchannel: c_int, want_extra_type: c_int, buf: *mut f64) -> c_int>, pub GetMediaItemTake_Source: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut PCM_source>, pub GetMediaItemTake_Track: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut MediaTrack>, pub GetMediaItemTakeByGUID: Option<unsafe extern "C" fn(project: *mut ReaProject, guid: *const GUID) -> *mut MediaItem_Take>, pub GetMediaItemTakeInfo_Value: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, parmname: *const c_char) -> f64>, pub GetMediaItemTrack: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaTrack>, pub GetMediaSourceFileName: Option<unsafe extern "C" fn(source: *mut PCM_source, filenamebufOut: *mut c_char, filenamebufOut_sz: c_int)>, pub GetMediaSourceLength: Option<unsafe extern "C" fn(source: *mut PCM_source, lengthIsQNOut: *mut bool) -> f64>, pub GetMediaSourceNumChannels: Option<unsafe extern "C" fn(source: *mut PCM_source) -> c_int>, pub GetMediaSourceParent: Option<unsafe extern "C" fn(src: *mut PCM_source) -> *mut PCM_source>, pub GetMediaSourceSampleRate: Option<unsafe extern "C" fn(source: *mut PCM_source) -> c_int>, pub GetMediaSourceType: Option<unsafe extern "C" fn(source: *mut PCM_source, typebufOut: *mut c_char, typebufOut_sz: c_int)>, pub GetMediaTrackInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char) -> f64>, pub GetMIDIInputName: Option<unsafe extern "C" fn(dev: c_int, nameout: *mut c_char, nameout_sz: c_int) -> bool>, pub GetMIDIOutputName: Option<unsafe extern "C" fn(dev: c_int, nameout: *mut c_char, nameout_sz: c_int) -> bool>, pub GetMixerScroll: Option<extern "C" fn() -> *mut MediaTrack>, pub GetMouseModifier: Option<unsafe extern "C" fn(context: *const c_char, modifier_flag: c_int, actionOut: *mut c_char, actionOut_sz: c_int)>, pub GetMousePosition: Option<unsafe extern "C" fn(xOut: *mut c_int, yOut: *mut c_int)>, pub GetNumAudioInputs: Option<extern "C" fn() -> c_int>, pub GetNumAudioOutputs: Option<extern "C" fn() -> c_int>, pub GetNumMIDIInputs: Option<extern "C" fn() -> c_int>, pub GetNumMIDIOutputs: Option<extern "C" fn() -> c_int>, pub GetNumTakeMarkers: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>, pub GetNumTracks: Option<extern "C" fn() -> c_int>, pub GetOS: Option<extern "C" fn() -> *const c_char>, pub GetOutputChannelName: Option<extern "C" fn(channelIndex: c_int) -> *const c_char>, pub GetOutputLatency: Option<extern "C" fn() -> f64>, pub GetParentTrack: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> *mut MediaTrack>, pub GetPeakFileName: Option<unsafe extern "C" fn(fn_: *const c_char, bufOut: *mut c_char, bufOut_sz: c_int)>, pub GetPeakFileNameEx: Option<unsafe extern "C" fn(fn_: *const c_char, buf: *mut c_char, buf_sz: c_int, forWrite: bool)>, pub GetPeakFileNameEx2: Option<unsafe extern "C" fn(fn_: *const c_char, buf: *mut c_char, buf_sz: c_int, forWrite: bool, peaksfileextension: *const c_char)>, pub GetPeaksBitmap: Option<unsafe extern "C" fn(pks: *mut PCM_source_peaktransfer_t, maxamp: f64, w: c_int, h: c_int, bmp: *mut LICE_IBitmap) -> *mut c_void>, pub GetPlayPosition: Option<extern "C" fn() -> f64>, pub GetPlayPosition2: Option<extern "C" fn() -> f64>, pub GetPlayPosition2Ex: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>, pub GetPlayPositionEx: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>, pub GetPlayState: Option<extern "C" fn() -> c_int>, pub GetPlayStateEx: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub GetPreferredDiskReadMode: Option<unsafe extern "C" fn(mode: *mut c_int, nb: *mut c_int, bs: *mut c_int)>, pub GetPreferredDiskReadModePeak: Option<unsafe extern "C" fn(mode: *mut c_int, nb: *mut c_int, bs: *mut c_int)>, pub GetPreferredDiskWriteMode: Option<unsafe extern "C" fn(mode: *mut c_int, nb: *mut c_int, bs: *mut c_int)>, pub GetProjectLength: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>, pub GetProjectName: Option<unsafe extern "C" fn(proj: *mut ReaProject, bufOut: *mut c_char, bufOut_sz: c_int)>, pub GetProjectPath: Option<unsafe extern "C" fn(bufOut: *mut c_char, bufOut_sz: c_int)>, pub GetProjectPathEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, bufOut: *mut c_char, bufOut_sz: c_int)>, pub GetProjectStateChangeCount: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub GetProjectTimeOffset: Option<unsafe extern "C" fn(proj: *mut ReaProject, rndframe: bool) -> f64>, pub GetProjectTimeSignature: Option<unsafe extern "C" fn(bpmOut: *mut f64, bpiOut: *mut f64)>, pub GetProjectTimeSignature2: Option<unsafe extern "C" fn(proj: *mut ReaProject, bpmOut: *mut f64, bpiOut: *mut f64)>, pub GetProjExtState: Option<unsafe extern "C" fn(proj: *mut ReaProject, extname: *const c_char, key: *const c_char, valOutNeedBig: *mut c_char, valOutNeedBig_sz: c_int) -> c_int>, pub GetResourcePath: Option<extern "C" fn() -> *const c_char>, pub GetSelectedEnvelope: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *mut TrackEnvelope>, pub GetSelectedMediaItem: Option<unsafe extern "C" fn(proj: *mut ReaProject, selitem: c_int) -> *mut MediaItem>, pub GetSelectedTrack: Option<unsafe extern "C" fn(proj: *mut ReaProject, seltrackidx: c_int) -> *mut MediaTrack>, pub GetSelectedTrack2: Option<unsafe extern "C" fn(proj: *mut ReaProject, seltrackidx: c_int, wantmaster: bool) -> *mut MediaTrack>, pub GetSelectedTrackEnvelope: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *mut TrackEnvelope>, pub GetSet_ArrangeView2: Option<unsafe extern "C" fn(proj: *mut ReaProject, isSet: bool, screen_x_start: c_int, screen_x_end: c_int, start_timeInOut: *mut f64, end_timeInOut: *mut f64)>, pub GetSet_LoopTimeRange: Option<unsafe extern "C" fn(isSet: bool, isLoop: bool, startOut: *mut f64, endOut: *mut f64, allowautoseek: bool)>, pub GetSet_LoopTimeRange2: Option<unsafe extern "C" fn(proj: *mut ReaProject, isSet: bool, isLoop: bool, startOut: *mut f64, endOut: *mut f64, allowautoseek: bool)>, pub GetSetAutomationItemInfo: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, autoitem_idx: c_int, desc: *const c_char, value: f64, is_set: bool) -> f64>, pub GetSetAutomationItemInfo_String: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, autoitem_idx: c_int, desc: *const c_char, valuestrNeedBig: *mut c_char, is_set: bool) -> bool>, pub GetSetEnvelopeInfo_String: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>, pub GetSetEnvelopeState: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, str: *mut c_char, str_sz: c_int) -> bool>, pub GetSetEnvelopeState2: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, str: *mut c_char, str_sz: c_int, isundo: bool) -> bool>, pub GetSetItemState: Option<unsafe extern "C" fn(item: *mut MediaItem, str: *mut c_char, str_sz: c_int) -> bool>, pub GetSetItemState2: Option<unsafe extern "C" fn(item: *mut MediaItem, str: *mut c_char, str_sz: c_int, isundo: bool) -> bool>, pub GetSetMediaItemInfo: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>, pub GetSetMediaItemInfo_String: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>, pub GetSetMediaItemTakeInfo: Option<unsafe extern "C" fn(tk: *mut MediaItem_Take, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>, pub GetSetMediaItemTakeInfo_String: Option<unsafe extern "C" fn(tk: *mut MediaItem_Take, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>, pub GetSetMediaTrackInfo: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>, pub GetSetMediaTrackInfo_String: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>, pub GetSetObjectState: Option<unsafe extern "C" fn(obj: *mut c_void, str: *const c_char) -> *mut c_char>, pub GetSetObjectState2: Option<unsafe extern "C" fn(obj: *mut c_void, str: *const c_char, isundo: bool) -> *mut c_char>, pub GetSetProjectAuthor: Option<unsafe extern "C" fn(proj: *mut ReaProject, set: bool, author: *mut c_char, author_sz: c_int)>, pub GetSetProjectGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, set: bool, divisionInOutOptional: *mut f64, swingmodeInOutOptional: *mut c_int, swingamtInOutOptional: *mut f64) -> c_int>, pub GetSetProjectInfo: Option<unsafe extern "C" fn(project: *mut ReaProject, desc: *const c_char, value: f64, is_set: bool) -> f64>, pub GetSetProjectInfo_String: Option<unsafe extern "C" fn(project: *mut ReaProject, desc: *const c_char, valuestrNeedBig: *mut c_char, is_set: bool) -> bool>, pub GetSetProjectNotes: Option<unsafe extern "C" fn(proj: *mut ReaProject, set: bool, notesNeedBig: *mut c_char, notesNeedBig_sz: c_int)>, pub GetSetRepeat: Option<extern "C" fn(val: c_int) -> c_int>, pub GetSetRepeatEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, val: c_int) -> c_int>, pub GetSetTrackGroupMembership: Option<unsafe extern "C" fn(tr: *mut MediaTrack, groupname: *const c_char, setmask: c_uint, setvalue: c_uint) -> c_uint>, pub GetSetTrackGroupMembershipHigh: Option<unsafe extern "C" fn(tr: *mut MediaTrack, groupname: *const c_char, setmask: c_uint, setvalue: c_uint) -> c_uint>, pub GetSetTrackMIDISupportFile: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, which: c_int, filename: *const c_char) -> *const c_char>, pub GetSetTrackSendInfo: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>, pub GetSetTrackSendInfo_String: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>, pub GetSetTrackState: Option<unsafe extern "C" fn(track: *mut MediaTrack, str: *mut c_char, str_sz: c_int) -> bool>, pub GetSetTrackState2: Option<unsafe extern "C" fn(track: *mut MediaTrack, str: *mut c_char, str_sz: c_int, isundo: bool) -> bool>, pub GetSubProjectFromSource: Option<unsafe extern "C" fn(src: *mut PCM_source) -> *mut ReaProject>, pub GetTake: Option<unsafe extern "C" fn(item: *mut MediaItem, takeidx: c_int) -> *mut MediaItem_Take>, pub GetTakeEnvelope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, envidx: c_int) -> *mut TrackEnvelope>, pub GetTakeEnvelopeByName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, envname: *const c_char) -> *mut TrackEnvelope>, pub GetTakeMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, nameOut: *mut c_char, nameOut_sz: c_int, colorOutOptional: *mut c_int) -> f64>, pub GetTakeName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *const c_char>, pub GetTakeNumStretchMarkers: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>, pub GetTakeStretchMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, posOut: *mut f64, srcposOutOptional: *mut f64) -> c_int>, pub GetTakeStretchMarkerSlope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int) -> f64>, pub GetTCPFXParm: Option<unsafe extern "C" fn(project: *mut ReaProject, track: *mut MediaTrack, index: c_int, fxindexOut: *mut c_int, parmidxOut: *mut c_int) -> bool>, pub GetTempoMatchPlayRate: Option<unsafe extern "C" fn(source: *mut PCM_source, srcscale: f64, position: f64, mult: f64, rateOut: *mut f64, targetlenOut: *mut f64) -> bool>, pub GetTempoTimeSigMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, ptidx: c_int, timeposOut: *mut f64, measureposOut: *mut c_int, beatposOut: *mut f64, bpmOut: *mut f64, timesig_numOut: *mut c_int, timesig_denomOut: *mut c_int, lineartempoOut: *mut bool) -> bool>, pub GetThemeColor: Option<unsafe extern "C" fn(ini_key: *const c_char, flagsOptional: c_int) -> c_int>, pub GetThingFromPoint: Option<unsafe extern "C" fn(screen_x: c_int, screen_y: c_int, infoOut: *mut c_char, infoOut_sz: c_int) -> *mut MediaTrack>, pub GetToggleCommandState: Option<extern "C" fn(command_id: c_int) -> c_int>, pub GetToggleCommandState2: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, command_id: c_int) -> c_int>, pub GetToggleCommandStateEx: Option<extern "C" fn(section_id: c_int, command_id: c_int) -> c_int>, pub GetToggleCommandStateThroughHooks: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, command_id: c_int) -> c_int>, pub GetTooltipWindow: Option<extern "C" fn() -> HWND>, pub GetTrack: Option<unsafe extern "C" fn(proj: *mut ReaProject, trackidx: c_int) -> *mut MediaTrack>, pub GetTrackAutomationMode: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> c_int>, pub GetTrackColor: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub GetTrackDepth: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub GetTrackEnvelope: Option<unsafe extern "C" fn(track: *mut MediaTrack, envidx: c_int) -> *mut TrackEnvelope>, pub GetTrackEnvelopeByChunkName: Option<unsafe extern "C" fn(tr: *mut MediaTrack, cfgchunkname_or_guid: *const c_char) -> *mut TrackEnvelope>, pub GetTrackEnvelopeByName: Option<unsafe extern "C" fn(track: *mut MediaTrack, envname: *const c_char) -> *mut TrackEnvelope>, pub GetTrackFromPoint: Option<unsafe extern "C" fn(screen_x: c_int, screen_y: c_int, infoOutOptional: *mut c_int) -> *mut MediaTrack>, pub GetTrackGUID: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> *mut GUID>, pub GetTrackInfo: Option<unsafe extern "C" fn(track: INT_PTR, flags: *mut c_int) -> *const c_char>, pub GetTrackMediaItem: Option<unsafe extern "C" fn(tr: *mut MediaTrack, itemidx: c_int) -> *mut MediaItem>, pub GetTrackMIDILyrics: Option<unsafe extern "C" fn(track: *mut MediaTrack, flag: c_int, bufOutWantNeedBig: *mut c_char, bufOutWantNeedBig_sz: *mut c_int) -> bool>, pub GetTrackMIDINoteName: Option<extern "C" fn(track: c_int, pitch: c_int, chan: c_int) -> *const c_char>, pub GetTrackMIDINoteNameEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, pitch: c_int, chan: c_int) -> *const c_char>, pub GetTrackMIDINoteRange: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, note_loOut: *mut c_int, note_hiOut: *mut c_int)>, pub GetTrackName: Option<unsafe extern "C" fn(track: *mut MediaTrack, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub GetTrackNumMediaItems: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> c_int>, pub GetTrackNumSends: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int) -> c_int>, pub GetTrackReceiveName: Option<unsafe extern "C" fn(track: *mut MediaTrack, recv_index: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub GetTrackReceiveUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, recv_index: c_int, muteOut: *mut bool) -> bool>, pub GetTrackReceiveUIVolPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, recv_index: c_int, volumeOut: *mut f64, panOut: *mut f64) -> bool>, pub GetTrackSendInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char) -> f64>, pub GetTrackSendName: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_index: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub GetTrackSendUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_index: c_int, muteOut: *mut bool) -> bool>, pub GetTrackSendUIVolPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_index: c_int, volumeOut: *mut f64, panOut: *mut f64) -> bool>, pub GetTrackState: Option<unsafe extern "C" fn(track: *mut MediaTrack, flagsOut: *mut c_int) -> *const c_char>, pub GetTrackStateChunk: Option<unsafe extern "C" fn(track: *mut MediaTrack, strNeedBig: *mut c_char, strNeedBig_sz: c_int, isundoOptional: bool) -> bool>, pub GetTrackUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, muteOut: *mut bool) -> bool>, pub GetTrackUIPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, pan1Out: *mut f64, pan2Out: *mut f64, panmodeOut: *mut c_int) -> bool>, pub GetTrackUIVolPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, volumeOut: *mut f64, panOut: *mut f64) -> bool>, pub GetUnderrunTime: Option<unsafe extern "C" fn(audio_xrunOut: *mut c_uint, media_xrunOut: *mut c_uint, curtimeOut: *mut c_uint)>, pub GetUserFileNameForRead: Option<unsafe extern "C" fn(filenameNeed4096: *mut c_char, title: *const c_char, defext: *const c_char) -> bool>, pub GetUserInputs: Option<unsafe extern "C" fn(title: *const c_char, num_inputs: c_int, captions_csv: *const c_char, retvals_csv: *mut c_char, retvals_csv_sz: c_int) -> bool>, pub GoToMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, marker_index: c_int, use_timeline_order: bool)>, pub GoToRegion: Option<unsafe extern "C" fn(proj: *mut ReaProject, region_index: c_int, use_timeline_order: bool)>, pub GR_SelectColor: Option<unsafe extern "C" fn(hwnd: HWND, colorOut: *mut c_int) -> c_int>, pub GSC_mainwnd: Option<extern "C" fn(t: c_int) -> c_int>, pub guidToString: Option<unsafe extern "C" fn(g: *const GUID, destNeed64: *mut c_char)>, pub HasExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char) -> bool>, pub HasTrackMIDIPrograms: Option<extern "C" fn(track: c_int) -> *const c_char>, pub HasTrackMIDIProgramsEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack) -> *const c_char>, pub Help_Set: Option<unsafe extern "C" fn(helpstring: *const c_char, is_temporary_help: bool)>, pub HiresPeaksFromSource: Option<unsafe extern "C" fn(src: *mut PCM_source, block: *mut PCM_source_peaktransfer_t)>, pub image_resolve_fn: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int)>, pub InsertAutomationItem: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, pool_id: c_int, position: f64, length: f64) -> c_int>, pub InsertEnvelopePoint: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time: f64, value: f64, shape: c_int, tension: f64, selected: bool, noSortInOptional: *mut bool) -> bool>, pub InsertEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, time: f64, value: f64, shape: c_int, tension: f64, selected: bool, noSortInOptional: *mut bool) -> bool>, pub InsertMedia: Option<unsafe extern "C" fn(file: *const c_char, mode: c_int) -> c_int>, pub InsertMediaSection: Option<unsafe extern "C" fn(file: *const c_char, mode: c_int, startpct: f64, endpct: f64, pitchshift: f64) -> c_int>, pub InsertTrackAtIndex: Option<extern "C" fn(idx: c_int, wantDefaults: bool)>, pub IsInRealTimeAudio: Option<extern "C" fn() -> c_int>, pub IsItemTakeActiveForPlayback: Option<unsafe extern "C" fn(item: *mut MediaItem, take: *mut MediaItem_Take) -> bool>, pub IsMediaExtension: Option<unsafe extern "C" fn(ext: *const c_char, wantOthers: bool) -> bool>, pub IsMediaItemSelected: Option<unsafe extern "C" fn(item: *mut MediaItem) -> bool>, pub IsProjectDirty: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub IsREAPER: Option<extern "C" fn() -> bool>, pub IsTrackSelected: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> bool>, pub IsTrackVisible: Option<unsafe extern "C" fn(track: *mut MediaTrack, mixer: bool) -> bool>, pub joystick_create: Option<unsafe extern "C" fn(guid: *const GUID) -> *mut joystick_device>, pub joystick_destroy: Option<unsafe extern "C" fn(device: *mut joystick_device)>, pub joystick_enum: Option<unsafe extern "C" fn(index: c_int, namestrOutOptional: *mut *const c_char) -> *const c_char>, pub joystick_getaxis: Option<unsafe extern "C" fn(dev: *mut joystick_device, axis: c_int) -> f64>, pub joystick_getbuttonmask: Option<unsafe extern "C" fn(dev: *mut joystick_device) -> c_uint>, pub joystick_getinfo: Option<unsafe extern "C" fn(dev: *mut joystick_device, axesOutOptional: *mut c_int, povsOutOptional: *mut c_int) -> c_int>, pub joystick_getpov: Option<unsafe extern "C" fn(dev: *mut joystick_device, pov: c_int) -> f64>, pub joystick_update: Option<unsafe extern "C" fn(dev: *mut joystick_device) -> bool>, pub kbd_enumerateActions: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, idx: c_int, nameOut: *mut *const c_char) -> c_int>, pub kbd_formatKeyName: Option<unsafe extern "C" fn(ac: *mut ACCEL, s: *mut c_char)>, pub kbd_getCommandName: Option<unsafe extern "C" fn(cmd: c_int, s: *mut c_char, section: *mut KbdSectionInfo)>, pub kbd_getTextFromCmd: Option<unsafe extern "C" fn(cmd: c_int, section: *mut KbdSectionInfo) -> *const c_char>, pub KBD_OnMainActionEx: Option<unsafe extern "C" fn(cmd: c_int, val: c_int, valhw: c_int, relmode: c_int, hwnd: HWND, proj: *mut ReaProject) -> c_int>, pub kbd_OnMidiEvent: Option<unsafe extern "C" fn(evt: *mut MIDI_event_t, dev_index: c_int)>, pub kbd_OnMidiList: Option<unsafe extern "C" fn(list: *mut MIDI_eventlist, dev_index: c_int)>, pub kbd_ProcessActionsMenu: Option<unsafe extern "C" fn(menu: HMENU, section: *mut KbdSectionInfo)>, pub kbd_processMidiEventActionEx: Option<unsafe extern "C" fn(evt: *mut MIDI_event_t, section: *mut KbdSectionInfo, hwndCtx: HWND) -> bool>, pub kbd_reprocessMenu: Option<unsafe extern "C" fn(menu: HMENU, section: *mut KbdSectionInfo)>, pub kbd_RunCommandThroughHooks: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, actionCommandID: *const c_int, val: *const c_int, valhw: *const c_int, relmode: *const c_int, hwnd: HWND) -> bool>, pub kbd_translateAccelerator: Option<unsafe extern "C" fn(hwnd: HWND, msg: *mut MSG, section: *mut KbdSectionInfo) -> c_int>, pub kbd_translateMouse: Option<unsafe extern "C" fn(winmsg: *mut c_void, midimsg: *mut c_uchar) -> bool>, pub LICE__Destroy: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap)>, pub LICE__DestroyFont: Option<unsafe extern "C" fn(font: *mut LICE_IFont)>, pub LICE__DrawText: Option<unsafe extern "C" fn(font: *mut LICE_IFont, bm: *mut LICE_IBitmap, str: *const c_char, strcnt: c_int, rect: *mut RECT, dtFlags: UINT) -> c_int>, pub LICE__GetBits: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> *mut c_void>, pub LICE__GetDC: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> HDC>, pub LICE__GetHeight: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> c_int>, pub LICE__GetRowSpan: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> c_int>, pub LICE__GetWidth: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> c_int>, pub LICE__IsFlipped: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> bool>, pub LICE__resize: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, w: c_int, h: c_int) -> bool>, pub LICE__SetBkColor: Option<unsafe extern "C" fn(font: *mut LICE_IFont, color: c_uint) -> c_uint>, pub LICE__SetFromHFont: Option<unsafe extern "C" fn(font: *mut LICE_IFont, hfont: *mut HGDIOBJ__, flags: c_int)>, pub LICE__SetTextColor: Option<unsafe extern "C" fn(font: *mut LICE_IFont, color: c_uint) -> c_uint>, pub LICE__SetTextCombineMode: Option<unsafe extern "C" fn(ifont: *mut LICE_IFont, mode: c_int, alpha: f32)>, pub LICE_Arc: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, cx: f32, cy: f32, r: f32, minAngle: f32, maxAngle: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>, pub LICE_Blit: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, srcx: c_int, srcy: c_int, srcw: c_int, srch: c_int, alpha: f32, mode: c_int)>, pub LICE_Blur: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, srcx: c_int, srcy: c_int, srcw: c_int, srch: c_int)>, pub LICE_BorderedRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, bgcolor: c_uint, fgcolor: c_uint, alpha: f32, mode: c_int)>, pub LICE_Circle: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, cx: f32, cy: f32, r: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>, pub LICE_Clear: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, color: c_uint)>, pub LICE_ClearRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, mask: c_uint, orbits: c_uint)>, pub LICE_ClipLine: Option<unsafe extern "C" fn(pX1Out: *mut c_int, pY1Out: *mut c_int, pX2Out: *mut c_int, pY2Out: *mut c_int, xLo: c_int, yLo: c_int, xHi: c_int, yHi: c_int) -> bool>, pub LICE_Copy: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap)>, pub LICE_CreateBitmap: Option<extern "C" fn(mode: c_int, w: c_int, h: c_int) -> *mut LICE_IBitmap>, pub LICE_CreateFont: Option<extern "C" fn() -> *mut LICE_IFont>, pub LICE_DrawCBezier: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, xstart: f64, ystart: f64, xctl1: f64, yctl1: f64, xctl2: f64, yctl2: f64, xend: f64, yend: f64, color: c_uint, alpha: f32, mode: c_int, aa: bool, tol: f64)>, pub LICE_DrawChar: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int, c: c_char, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_DrawGlyph: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, color: c_uint, alphas: *mut c_uchar, glyph_w: c_int, glyph_h: c_int, alpha: f32, mode: c_int)>, pub LICE_DrawRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_DrawText: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int, string: *const c_char, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_FillCBezier: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, xstart: f64, ystart: f64, xctl1: f64, yctl1: f64, xctl2: f64, yctl2: f64, xend: f64, yend: f64, yfill: c_int, color: c_uint, alpha: f32, mode: c_int, aa: bool, tol: f64)>, pub LICE_FillCircle: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, cx: f32, cy: f32, r: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>, pub LICE_FillConvexPolygon: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: *mut c_int, y: *mut c_int, npoints: c_int, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_FillRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_FillTrapezoid: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1a: c_int, x1b: c_int, y1: c_int, x2a: c_int, x2b: c_int, y2: c_int, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_FillTriangle: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: c_int, y1: c_int, x2: c_int, y2: c_int, x3: c_int, y3: c_int, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_GetPixel: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int) -> c_uint>, pub LICE_GradRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, ir: f32, ig: f32, ib: f32, ia: f32, drdx: f32, dgdx: f32, dbdx: f32, dadx: f32, drdy: f32, dgdy: f32, dbdy: f32, dady: f32, mode: c_int)>, pub LICE_Line: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: f32, y1: f32, x2: f32, y2: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>, pub LICE_LineInt: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: c_int, y1: c_int, x2: c_int, y2: c_int, color: c_uint, alpha: f32, mode: c_int, aa: bool)>, pub LICE_LoadPNG: Option<unsafe extern "C" fn(filename: *const c_char, bmp: *mut LICE_IBitmap) -> *mut LICE_IBitmap>, pub LICE_LoadPNGFromResource: Option<unsafe extern "C" fn(hInst: HINSTANCE, resid: *const c_char, bmp: *mut LICE_IBitmap) -> *mut LICE_IBitmap>, pub LICE_MeasureText: Option<unsafe extern "C" fn(string: *const c_char, w: *mut c_int, h: *mut c_int)>, pub LICE_MultiplyAddRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, rsc: f32, gsc: f32, bsc: f32, asc: f32, radd: f32, gadd: f32, badd: f32, aadd: f32)>, pub LICE_PutPixel: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int, color: c_uint, alpha: f32, mode: c_int)>, pub LICE_RotatedBlit: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, srcx: f32, srcy: f32, srcw: f32, srch: f32, angle: f32, cliptosourcerect: bool, alpha: f32, mode: c_int, rotxcent: f32, rotycent: f32)>, pub LICE_RoundRect: Option<unsafe extern "C" fn(drawbm: *mut LICE_IBitmap, xpos: f32, ypos: f32, w: f32, h: f32, cornerradius: c_int, col: c_uint, alpha: f32, mode: c_int, aa: bool)>, pub LICE_ScaledBlit: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, srcx: f32, srcy: f32, srcw: f32, srch: f32, alpha: f32, mode: c_int)>, pub LICE_SimpleFill: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, newcolor: c_uint, comparemask: c_uint, keepmask: c_uint)>, pub LICE_ThickFLine: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: f64, y1: f64, x2: f64, y2: f64, color: c_uint, alpha: f32, mode: c_int, wid: c_int)>, pub LocalizeString: Option<unsafe extern "C" fn(src_string: *const c_char, section: *const c_char, flagsOptional: c_int) -> *const c_char>, pub Loop_OnArrow: Option<unsafe extern "C" fn(project: *mut ReaProject, direction: c_int) -> bool>, pub Main_OnCommand: Option<extern "C" fn(command: c_int, flag: c_int)>, pub Main_OnCommandEx: Option<unsafe extern "C" fn(command: c_int, flag: c_int, proj: *mut ReaProject)>, pub Main_openProject: Option<unsafe extern "C" fn(name: *const c_char)>, pub Main_SaveProject: Option<unsafe extern "C" fn(proj: *mut ReaProject, forceSaveAsInOptional: bool)>, pub Main_SaveProjectEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, filename: *const c_char, options: c_int)>, pub Main_UpdateLoopInfo: Option<extern "C" fn(ignoremask: c_int)>, pub MarkProjectDirty: Option<unsafe extern "C" fn(proj: *mut ReaProject)>, pub MarkTrackItemsDirty: Option<unsafe extern "C" fn(track: *mut MediaTrack, item: *mut MediaItem)>, pub Master_GetPlayRate: Option<unsafe extern "C" fn(project: *mut ReaProject) -> f64>, pub Master_GetPlayRateAtTime: Option<unsafe extern "C" fn(time_s: f64, proj: *mut ReaProject) -> f64>, pub Master_GetTempo: Option<extern "C" fn() -> f64>, pub Master_NormalizePlayRate: Option<extern "C" fn(playrate: f64, isnormalized: bool) -> f64>, pub Master_NormalizeTempo: Option<extern "C" fn(bpm: f64, isnormalized: bool) -> f64>, pub MB: Option<unsafe extern "C" fn(msg: *const c_char, title: *const c_char, type_: c_int) -> c_int>, pub MediaItemDescendsFromTrack: Option<unsafe extern "C" fn(item: *mut MediaItem, track: *mut MediaTrack) -> c_int>, pub MIDI_CountEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, notecntOut: *mut c_int, ccevtcntOut: *mut c_int, textsyxevtcntOut: *mut c_int) -> c_int>, pub MIDI_DeleteCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int) -> bool>, pub MIDI_DeleteEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int) -> bool>, pub MIDI_DeleteNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int) -> bool>, pub MIDI_DeleteTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxevtidx: c_int) -> bool>, pub MIDI_DisableSort: Option<unsafe extern "C" fn(take: *mut MediaItem_Take)>, pub MIDI_EnumSelCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int) -> c_int>, pub MIDI_EnumSelEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int) -> c_int>, pub MIDI_EnumSelNotes: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int) -> c_int>, pub MIDI_EnumSelTextSysexEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxidx: c_int) -> c_int>, pub MIDI_eventlist_Create: Option<extern "C" fn() -> *mut MIDI_eventlist>, pub MIDI_eventlist_Destroy: Option<unsafe extern "C" fn(evtlist: *mut MIDI_eventlist)>, pub MIDI_GetAllEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: *mut c_int) -> bool>, pub MIDI_GetCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, selectedOut: *mut bool, mutedOut: *mut bool, ppqposOut: *mut f64, chanmsgOut: *mut c_int, chanOut: *mut c_int, msg2Out: *mut c_int, msg3Out: *mut c_int) -> bool>, pub MIDI_GetCCShape: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, shapeOut: *mut c_int, beztensionOut: *mut f64) -> bool>, pub MIDI_GetEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int, selectedOut: *mut bool, mutedOut: *mut bool, ppqposOut: *mut f64, msgOut: *mut c_char, msgOut_sz: *mut c_int) -> bool>, pub MIDI_GetGrid: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, swingOutOptional: *mut f64, noteLenOutOptional: *mut f64) -> f64>, pub MIDI_GetHash: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, notesonly: bool, hashOut: *mut c_char, hashOut_sz: c_int) -> bool>, pub MIDI_GetNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int, selectedOut: *mut bool, mutedOut: *mut bool, startppqposOut: *mut f64, endppqposOut: *mut f64, chanOut: *mut c_int, pitchOut: *mut c_int, velOut: *mut c_int) -> bool>, pub MIDI_GetPPQPos_EndOfMeasure: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>, pub MIDI_GetPPQPos_StartOfMeasure: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>, pub MIDI_GetPPQPosFromProjQN: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, projqn: f64) -> f64>, pub MIDI_GetPPQPosFromProjTime: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, projtime: f64) -> f64>, pub MIDI_GetProjQNFromPPQPos: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>, pub MIDI_GetProjTimeFromPPQPos: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>, pub MIDI_GetRecentInputEvent: Option<unsafe extern "C" fn(idx: c_int, bufOut: *mut c_char, bufOut_sz: *mut c_int, tsOut: *mut c_int, devIdxOut: *mut c_int, projPosOut: *mut f64, projLoopCntOut: *mut c_int) -> c_int>, pub MIDI_GetScale: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, rootOut: *mut c_int, scaleOut: *mut c_int, nameOut: *mut c_char, nameOut_sz: c_int) -> bool>, pub MIDI_GetTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxevtidx: c_int, selectedOutOptional: *mut bool, mutedOutOptional: *mut bool, ppqposOutOptional: *mut f64, typeOutOptional: *mut c_int, msgOptional: *mut c_char, msgOptional_sz: *mut c_int) -> bool>, pub MIDI_GetTrackHash: Option<unsafe extern "C" fn(track: *mut MediaTrack, notesonly: bool, hashOut: *mut c_char, hashOut_sz: c_int) -> bool>, pub midi_init: Option<extern "C" fn(force_reinit_input: c_int, force_reinit_output: c_int)>, pub MIDI_InsertCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, chanmsg: c_int, chan: c_int, msg2: c_int, msg3: c_int) -> bool>, pub MIDI_InsertEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, bytestr: *const c_char, bytestr_sz: c_int) -> bool>, pub MIDI_InsertNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, startppqpos: f64, endppqpos: f64, chan: c_int, pitch: c_int, vel: c_int, noSortInOptional: *const bool) -> bool>, pub MIDI_InsertTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, type_: c_int, bytestr: *const c_char, bytestr_sz: c_int) -> bool>, pub midi_reinit: Option<extern "C" fn()>, pub MIDI_SelectAll: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, select: bool)>, pub MIDI_SetAllEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, buf: *const c_char, buf_sz: c_int) -> bool>, pub MIDI_SetCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, ppqposInOptional: *const f64, chanmsgInOptional: *const c_int, chanInOptional: *const c_int, msg2InOptional: *const c_int, msg3InOptional: *const c_int, noSortInOptional: *const bool) -> bool>, pub MIDI_SetCCShape: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, shape: c_int, beztension: f64, noSortInOptional: *const bool) -> bool>, pub MIDI_SetEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, ppqposInOptional: *const f64, msgOptional: *const c_char, msgOptional_sz: c_int, noSortInOptional: *const bool) -> bool>, pub MIDI_SetItemExtents: Option<unsafe extern "C" fn(item: *mut MediaItem, startQN: f64, endQN: f64) -> bool>, pub MIDI_SetNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, startppqposInOptional: *const f64, endppqposInOptional: *const f64, chanInOptional: *const c_int, pitchInOptional: *const c_int, velInOptional: *const c_int, noSortInOptional: *const bool) -> bool>, pub MIDI_SetTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxevtidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, ppqposInOptional: *const f64, typeInOptional: *const c_int, msgOptional: *const c_char, msgOptional_sz: c_int, noSortInOptional: *const bool) -> bool>, pub MIDI_Sort: Option<unsafe extern "C" fn(take: *mut MediaItem_Take)>, pub MIDIEditor_EnumTakes: Option<unsafe extern "C" fn(midieditor: HWND, takeindex: c_int, editable_only: bool) -> *mut MediaItem_Take>, pub MIDIEditor_GetActive: Option<extern "C" fn() -> HWND>, pub MIDIEditor_GetMode: Option<unsafe extern "C" fn(midieditor: HWND) -> c_int>, pub MIDIEditor_GetSetting_int: Option<unsafe extern "C" fn(midieditor: HWND, setting_desc: *const c_char) -> c_int>, pub MIDIEditor_GetSetting_str: Option<unsafe extern "C" fn(midieditor: HWND, setting_desc: *const c_char, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub MIDIEditor_GetTake: Option<unsafe extern "C" fn(midieditor: HWND) -> *mut MediaItem_Take>, pub MIDIEditor_LastFocused_OnCommand: Option<extern "C" fn(command_id: c_int, islistviewcommand: bool) -> bool>, pub MIDIEditor_OnCommand: Option<unsafe extern "C" fn(midieditor: HWND, command_id: c_int) -> bool>, pub MIDIEditor_SetSetting_int: Option<unsafe extern "C" fn(midieditor: HWND, setting_desc: *const c_char, setting: c_int) -> bool>, pub mkpanstr: Option<unsafe extern "C" fn(strNeed64: *mut c_char, pan: f64)>, pub mkvolpanstr: Option<unsafe extern "C" fn(strNeed64: *mut c_char, vol: f64, pan: f64)>, pub mkvolstr: Option<unsafe extern "C" fn(strNeed64: *mut c_char, vol: f64)>, pub MoveEditCursor: Option<extern "C" fn(adjamt: f64, dosel: bool)>, pub MoveMediaItemToTrack: Option<unsafe extern "C" fn(item: *mut MediaItem, desttr: *mut MediaTrack) -> bool>, pub MuteAllTracks: Option<extern "C" fn(mute: bool)>, pub my_getViewport: Option<unsafe extern "C" fn(r: *mut RECT, sr: *const RECT, wantWorkArea: bool)>, pub NamedCommandLookup: Option<unsafe extern "C" fn(command_name: *const c_char) -> c_int>, pub OnPauseButton: Option<extern "C" fn()>, pub OnPauseButtonEx: Option<unsafe extern "C" fn(proj: *mut ReaProject)>, pub OnPlayButton: Option<extern "C" fn()>, pub OnPlayButtonEx: Option<unsafe extern "C" fn(proj: *mut ReaProject)>, pub OnStopButton: Option<extern "C" fn()>, pub OnStopButtonEx: Option<unsafe extern "C" fn(proj: *mut ReaProject)>, pub OpenColorThemeFile: Option<unsafe extern "C" fn(fn_: *const c_char) -> bool>, pub OpenMediaExplorer: Option<unsafe extern "C" fn(mediafn: *const c_char, play: bool) -> HWND>, pub OscLocalMessageToHost: Option<unsafe extern "C" fn(message: *const c_char, valueInOptional: *const f64)>, pub parse_timestr: Option<unsafe extern "C" fn(buf: *const c_char) -> f64>, pub parse_timestr_len: Option<unsafe extern "C" fn(buf: *const c_char, offset: f64, modeoverride: c_int) -> f64>, pub parse_timestr_pos: Option<unsafe extern "C" fn(buf: *const c_char, modeoverride: c_int) -> f64>, pub parsepanstr: Option<unsafe extern "C" fn(str: *const c_char) -> f64>, pub PCM_Sink_Create: Option<unsafe extern "C" fn(filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, nch: c_int, srate: c_int, buildpeaks: bool) -> *mut PCM_sink>, pub PCM_Sink_CreateEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, nch: c_int, srate: c_int, buildpeaks: bool) -> *mut PCM_sink>, pub PCM_Sink_CreateMIDIFile: Option<unsafe extern "C" fn(filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, bpm: f64, div: c_int) -> *mut PCM_sink>, pub PCM_Sink_CreateMIDIFileEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, bpm: f64, div: c_int) -> *mut PCM_sink>, pub PCM_Sink_Enum: Option<unsafe extern "C" fn(idx: c_int, descstrOut: *mut *const c_char) -> c_uint>, pub PCM_Sink_GetExtension: Option<unsafe extern "C" fn(data: *const c_char, data_sz: c_int) -> *const c_char>, pub PCM_Sink_ShowConfig: Option<unsafe extern "C" fn(cfg: *const c_char, cfg_sz: c_int, hwndParent: HWND) -> HWND>, pub PCM_Source_BuildPeaks: Option<unsafe extern "C" fn(src: *mut PCM_source, mode: c_int) -> c_int>, pub PCM_Source_CreateFromFile: Option<unsafe extern "C" fn(filename: *const c_char) -> *mut PCM_source>, pub PCM_Source_CreateFromFileEx: Option<unsafe extern "C" fn(filename: *const c_char, forcenoMidiImp: bool) -> *mut PCM_source>, pub PCM_Source_CreateFromSimple: Option<unsafe extern "C" fn(dec: *mut ISimpleMediaDecoder, fn_: *const c_char) -> *mut PCM_source>, pub PCM_Source_CreateFromType: Option<unsafe extern "C" fn(sourcetype: *const c_char) -> *mut PCM_source>, pub PCM_Source_Destroy: Option<unsafe extern "C" fn(src: *mut PCM_source)>, pub PCM_Source_GetPeaks: Option<unsafe extern "C" fn(src: *mut PCM_source, peakrate: f64, starttime: f64, numchannels: c_int, numsamplesperchannel: c_int, want_extra_type: c_int, buf: *mut f64) -> c_int>, pub PCM_Source_GetSectionInfo: Option<unsafe extern "C" fn(src: *mut PCM_source, offsOut: *mut f64, lenOut: *mut f64, revOut: *mut bool) -> bool>, pub PeakBuild_Create: Option<unsafe extern "C" fn(src: *mut PCM_source, fn_: *const c_char, srate: c_int, nch: c_int) -> *mut REAPER_PeakBuild_Interface>, pub PeakBuild_CreateEx: Option<unsafe extern "C" fn(src: *mut PCM_source, fn_: *const c_char, srate: c_int, nch: c_int, flags: c_int) -> *mut REAPER_PeakBuild_Interface>, pub PeakGet_Create: Option<unsafe extern "C" fn(fn_: *const c_char, srate: c_int, nch: c_int) -> *mut REAPER_PeakGet_Interface>, pub PitchShiftSubModeMenu: Option<unsafe extern "C" fn(hwnd: HWND, x: c_int, y: c_int, mode: c_int, submode_sel: c_int) -> c_int>, pub PlayPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>, pub PlayPreviewEx: Option<unsafe extern "C" fn(preview: *mut preview_register_t, bufflags: c_int, measure_align: f64) -> c_int>, pub PlayTrackPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>, pub PlayTrackPreview2: Option<unsafe extern "C" fn(proj: *mut ReaProject, preview: *mut preview_register_t) -> c_int>, pub PlayTrackPreview2Ex: Option<unsafe extern "C" fn(proj: *mut ReaProject, preview: *mut preview_register_t, flags: c_int, measure_align: f64) -> c_int>, pub plugin_getapi: Option<unsafe extern "C" fn(name: *const c_char) -> *mut c_void>, pub plugin_getFilterList: Option<extern "C" fn() -> *const c_char>, pub plugin_getImportableProjectFilterList: Option<extern "C" fn() -> *const c_char>, pub plugin_register: Option<unsafe extern "C" fn(name: *const c_char, infostruct: *mut c_void) -> c_int>, pub PluginWantsAlwaysRunFx: Option<extern "C" fn(amt: c_int)>, pub PreventUIRefresh: Option<extern "C" fn(prevent_count: c_int)>, pub projectconfig_var_addr: Option<unsafe extern "C" fn(proj: *mut ReaProject, idx: c_int) -> *mut c_void>, pub projectconfig_var_getoffs: Option<unsafe extern "C" fn(name: *const c_char, szOut: *mut c_int) -> c_int>, pub PromptForAction: Option<extern "C" fn(session_mode: c_int, init_id: c_int, section_id: c_int) -> c_int>, pub realloc_cmd_clear: Option<extern "C" fn(tok: c_int)>, pub realloc_cmd_ptr: Option<unsafe extern "C" fn(ptr: *mut *mut c_char, ptr_size: *mut c_int, new_size: c_int) -> bool>, pub realloc_cmd_register_buf: Option<unsafe extern "C" fn(ptr: *mut *mut c_char, ptr_size: *mut c_int) -> c_int>, pub ReaperGetPitchShiftAPI: Option<extern "C" fn(version: c_int) -> *mut IReaperPitchShift>, pub ReaScriptError: Option<unsafe extern "C" fn(errmsg: *const c_char)>, pub RecursiveCreateDirectory: Option<unsafe extern "C" fn(path: *const c_char, ignored: usize) -> c_int>, pub reduce_open_files: Option<extern "C" fn(flags: c_int) -> c_int>, pub RefreshToolbar: Option<extern "C" fn(command_id: c_int)>, pub RefreshToolbar2: Option<extern "C" fn(section_id: c_int, command_id: c_int)>, pub relative_fn: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int)>, pub RemoveTrackSend: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int) -> bool>, pub RenderFileSection: Option<unsafe extern "C" fn(source_filename: *const c_char, target_filename: *const c_char, start_percent: f64, end_percent: f64, playrate: f64) -> bool>, pub ReorderSelectedTracks: Option<extern "C" fn(beforeTrackIdx: c_int, makePrevFolder: c_int) -> bool>, pub Resample_EnumModes: Option<extern "C" fn(mode: c_int) -> *const c_char>, pub Resampler_Create: Option<extern "C" fn() -> *mut REAPER_Resample_Interface>, pub resolve_fn: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int)>, pub resolve_fn2: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int, checkSubDirOptional: *const c_char)>, pub ResolveRenderPattern: Option<unsafe extern "C" fn(project: *mut ReaProject, path: *const c_char, pattern: *const c_char, targets: *mut c_char, targets_sz: c_int) -> c_int>, pub ReverseNamedCommandLookup: Option<extern "C" fn(command_id: c_int) -> *const c_char>, pub ScaleFromEnvelopeMode: Option<extern "C" fn(scaling_mode: c_int, val: f64) -> f64>, pub ScaleToEnvelopeMode: Option<extern "C" fn(scaling_mode: c_int, val: f64) -> f64>, pub screenset_register: Option<unsafe extern "C" fn(id: *mut c_char, callbackFunc: *mut c_void, param: *mut c_void)>, pub screenset_registerNew: Option<unsafe extern "C" fn(id: *mut c_char, callbackFunc: Option<unsafe extern "C" fn(action: c_int, id: *const c_char, param: *mut c_void, actionParm: *mut c_void, actionParmSize: c_int) -> LRESULT>, param: *mut c_void)>, pub screenset_unregister: Option<unsafe extern "C" fn(id: *mut c_char)>, pub screenset_unregisterByParam: Option<unsafe extern "C" fn(param: *mut c_void)>, pub screenset_updateLastFocus: Option<unsafe extern "C" fn(prevWin: HWND)>, pub SectionFromUniqueID: Option<extern "C" fn(uniqueID: c_int) -> *mut KbdSectionInfo>, pub SelectAllMediaItems: Option<unsafe extern "C" fn(proj: *mut ReaProject, selected: bool)>, pub SelectProjectInstance: Option<unsafe extern "C" fn(proj: *mut ReaProject)>, pub SendLocalOscMessage: Option<unsafe extern "C" fn(local_osc_handler: *mut c_void, msg: *const c_char, msglen: c_int)>, pub SetActiveTake: Option<unsafe extern "C" fn(take: *mut MediaItem_Take)>, pub SetAutomationMode: Option<extern "C" fn(mode: c_int, onlySel: bool)>, pub SetCurrentBPM: Option<unsafe extern "C" fn(__proj: *mut ReaProject, bpm: f64, wantUndo: bool)>, pub SetCursorContext: Option<unsafe extern "C" fn(mode: c_int, envInOptional: *mut TrackEnvelope)>, pub SetEditCurPos: Option<extern "C" fn(time: f64, moveview: bool, seekplay: bool)>, pub SetEditCurPos2: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, moveview: bool, seekplay: bool)>, pub SetEnvelopePoint: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, ptidx: c_int, timeInOptional: *mut f64, valueInOptional: *mut f64, shapeInOptional: *mut c_int, tensionInOptional: *mut f64, selectedInOptional: *mut bool, noSortInOptional: *mut bool) -> bool>, pub SetEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, ptidx: c_int, timeInOptional: *mut f64, valueInOptional: *mut f64, shapeInOptional: *mut c_int, tensionInOptional: *mut f64, selectedInOptional: *mut bool, noSortInOptional: *mut bool) -> bool>, pub SetEnvelopeStateChunk: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, str: *const c_char, isundoOptional: bool) -> bool>, pub SetExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char, value: *const c_char, persist: bool)>, pub SetGlobalAutomationOverride: Option<extern "C" fn(mode: c_int)>, pub SetItemStateChunk: Option<unsafe extern "C" fn(item: *mut MediaItem, str: *const c_char, isundoOptional: bool) -> bool>, pub SetMasterTrackVisibility: Option<extern "C" fn(flag: c_int) -> c_int>, pub SetMediaItemInfo_Value: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char, newvalue: f64) -> bool>, pub SetMediaItemLength: Option<unsafe extern "C" fn(item: *mut MediaItem, length: f64, refreshUI: bool) -> bool>, pub SetMediaItemPosition: Option<unsafe extern "C" fn(item: *mut MediaItem, position: f64, refreshUI: bool) -> bool>, pub SetMediaItemSelected: Option<unsafe extern "C" fn(item: *mut MediaItem, selected: bool)>, pub SetMediaItemTake_Source: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, source: *mut PCM_source) -> bool>, pub SetMediaItemTakeInfo_Value: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, parmname: *const c_char, newvalue: f64) -> bool>, pub SetMediaTrackInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char, newvalue: f64) -> bool>, pub SetMIDIEditorGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, division: f64)>, pub SetMixerScroll: Option<unsafe extern "C" fn(leftmosttrack: *mut MediaTrack) -> *mut MediaTrack>, pub SetMouseModifier: Option<unsafe extern "C" fn(context: *const c_char, modifier_flag: c_int, action: *const c_char)>, pub SetOnlyTrackSelected: Option<unsafe extern "C" fn(track: *mut MediaTrack)>, pub SetProjectGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, division: f64)>, pub SetProjectMarker: Option<unsafe extern "C" fn(markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char) -> bool>, pub SetProjectMarker2: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char) -> bool>, pub SetProjectMarker3: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, color: c_int) -> bool>, pub SetProjectMarker4: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, color: c_int, flags: c_int) -> bool>, pub SetProjectMarkerByIndex: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnidx: c_int, isrgn: bool, pos: f64, rgnend: f64, IDnumber: c_int, name: *const c_char, color: c_int) -> bool>, pub SetProjectMarkerByIndex2: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnidx: c_int, isrgn: bool, pos: f64, rgnend: f64, IDnumber: c_int, name: *const c_char, color: c_int, flags: c_int) -> bool>, pub SetProjExtState: Option<unsafe extern "C" fn(proj: *mut ReaProject, extname: *const c_char, key: *const c_char, value: *const c_char) -> c_int>, pub SetRegionRenderMatrix: Option<unsafe extern "C" fn(proj: *mut ReaProject, regionindex: c_int, track: *mut MediaTrack, flag: c_int)>, pub SetRenderLastError: Option<unsafe extern "C" fn(errorstr: *const c_char)>, pub SetTakeMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, nameIn: *const c_char, srcposInOptional: *mut f64, colorInOptional: *mut c_int) -> c_int>, pub SetTakeStretchMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, pos: f64, srcposInOptional: *const f64) -> c_int>, pub SetTakeStretchMarkerSlope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, slope: f64) -> bool>, pub SetTempoTimeSigMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, ptidx: c_int, timepos: f64, measurepos: c_int, beatpos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempo: bool) -> bool>, pub SetThemeColor: Option<unsafe extern "C" fn(ini_key: *const c_char, color: c_int, flagsOptional: c_int) -> c_int>, pub SetToggleCommandState: Option<extern "C" fn(section_id: c_int, command_id: c_int, state: c_int) -> bool>, pub SetTrackAutomationMode: Option<unsafe extern "C" fn(tr: *mut MediaTrack, mode: c_int)>, pub SetTrackColor: Option<unsafe extern "C" fn(track: *mut MediaTrack, color: c_int)>, pub SetTrackMIDILyrics: Option<unsafe extern "C" fn(track: *mut MediaTrack, flag: c_int, str: *const c_char) -> bool>, pub SetTrackMIDINoteName: Option<unsafe extern "C" fn(track: c_int, pitch: c_int, chan: c_int, name: *const c_char) -> bool>, pub SetTrackMIDINoteNameEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, pitch: c_int, chan: c_int, name: *const c_char) -> bool>, pub SetTrackSelected: Option<unsafe extern "C" fn(track: *mut MediaTrack, selected: bool)>, pub SetTrackSendInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char, newvalue: f64) -> bool>, pub SetTrackSendUIPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_idx: c_int, pan: f64, isend: c_int) -> bool>, pub SetTrackSendUIVol: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_idx: c_int, vol: f64, isend: c_int) -> bool>, pub SetTrackStateChunk: Option<unsafe extern "C" fn(track: *mut MediaTrack, str: *const c_char, isundoOptional: bool) -> bool>, pub SetTrackUIInputMonitor: Option<unsafe extern "C" fn(track: *mut MediaTrack, monitor: c_int, igngroupflags: c_int) -> c_int>, pub SetTrackUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, mute: c_int, igngroupflags: c_int) -> c_int>, pub SetTrackUIPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, pan: f64, relative: bool, done: bool, igngroupflags: c_int) -> f64>, pub SetTrackUIPolarity: Option<unsafe extern "C" fn(track: *mut MediaTrack, polarity: c_int, igngroupflags: c_int) -> c_int>, pub SetTrackUIRecArm: Option<unsafe extern "C" fn(track: *mut MediaTrack, recarm: c_int, igngroupflags: c_int) -> c_int>, pub SetTrackUISolo: Option<unsafe extern "C" fn(track: *mut MediaTrack, solo: c_int, igngroupflags: c_int) -> c_int>, pub SetTrackUIVolume: Option<unsafe extern "C" fn(track: *mut MediaTrack, volume: f64, relative: bool, done: bool, igngroupflags: c_int) -> f64>, pub SetTrackUIWidth: Option<unsafe extern "C" fn(track: *mut MediaTrack, width: f64, relative: bool, done: bool, igngroupflags: c_int) -> f64>, pub ShowActionList: Option<unsafe extern "C" fn(caller: *mut KbdSectionInfo, callerWnd: HWND)>, pub ShowConsoleMsg: Option<unsafe extern "C" fn(msg: *const c_char)>, pub ShowMessageBox: Option<unsafe extern "C" fn(msg: *const c_char, title: *const c_char, type_: c_int) -> c_int>, pub ShowPopupMenu: Option<unsafe extern "C" fn(name: *const c_char, x: c_int, y: c_int, hwndParentOptional: HWND, ctxOptional: *mut c_void, ctx2Optional: c_int, ctx3Optional: c_int)>, pub SLIDER2DB: Option<extern "C" fn(y: f64) -> f64>, pub SnapToGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, time_pos: f64) -> f64>, pub SoloAllTracks: Option<extern "C" fn(solo: c_int)>, pub Splash_GetWnd: Option<extern "C" fn() -> HWND>, pub SplitMediaItem: Option<unsafe extern "C" fn(item: *mut MediaItem, position: f64) -> *mut MediaItem>, pub StopPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>, pub StopTrackPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>, pub StopTrackPreview2: Option<unsafe extern "C" fn(proj: *mut ReaProject, preview: *mut preview_register_t) -> c_int>, pub stringToGuid: Option<unsafe extern "C" fn(str: *const c_char, g: *mut GUID)>, pub StuffMIDIMessage: Option<extern "C" fn(mode: c_int, msg1: c_int, msg2: c_int, msg3: c_int)>, pub TakeFX_AddByName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fxname: *const c_char, instantiate: c_int) -> c_int>, pub TakeFX_CopyToTake: Option<unsafe extern "C" fn(src_take: *mut MediaItem_Take, src_fx: c_int, dest_take: *mut MediaItem_Take, dest_fx: c_int, is_move: bool)>, pub TakeFX_CopyToTrack: Option<unsafe extern "C" fn(src_take: *mut MediaItem_Take, src_fx: c_int, dest_track: *mut MediaTrack, dest_fx: c_int, is_move: bool)>, pub TakeFX_Delete: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>, pub TakeFX_EndParamEdit: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int) -> bool>, pub TakeFX_FormatParamValue: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, val: f64, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TakeFX_FormatParamValueNormalized: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, value: f64, buf: *mut c_char, buf_sz: c_int) -> bool>, pub TakeFX_GetChainVisible: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>, pub TakeFX_GetCount: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>, pub TakeFX_GetEnabled: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>, pub TakeFX_GetEnvelope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fxindex: c_int, parameterindex: c_int, create: bool) -> *mut TrackEnvelope>, pub TakeFX_GetFloatingWindow: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, index: c_int) -> HWND>, pub TakeFX_GetFormattedParamValue: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TakeFX_GetFXGUID: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> *mut GUID>, pub TakeFX_GetFXName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TakeFX_GetIOSize: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, inputPinsOut: *mut c_int, outputPinsOut: *mut c_int) -> c_int>, pub TakeFX_GetNamedConfigParm: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, parmname: *const c_char, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: c_int) -> bool>, pub TakeFX_GetNumParams: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> c_int>, pub TakeFX_GetOffline: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>, pub TakeFX_GetOpen: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>, pub TakeFX_GetParam: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64) -> f64>, pub TakeFX_GetParameterStepSizes: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, stepOut: *mut f64, smallstepOut: *mut f64, largestepOut: *mut f64, istoggleOut: *mut bool) -> bool>, pub TakeFX_GetParamEx: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64, midvalOut: *mut f64) -> f64>, pub TakeFX_GetParamFromIdent: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, ident_str: *const c_char) -> c_int>, pub TakeFX_GetParamIdent: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TakeFX_GetParamName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TakeFX_GetParamNormalized: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int) -> f64>, pub TakeFX_GetPinMappings: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, high32Out: *mut c_int) -> c_int>, pub TakeFX_GetPreset: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetnameOut: *mut c_char, presetnameOut_sz: c_int) -> bool>, pub TakeFX_GetPresetIndex: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, numberOfPresetsOut: *mut c_int) -> c_int>, pub TakeFX_GetUserPresetFilename: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, fnOut: *mut c_char, fnOut_sz: c_int)>, pub TakeFX_NavigatePresets: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetmove: c_int) -> bool>, pub TakeFX_SetEnabled: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, enabled: bool)>, pub TakeFX_SetNamedConfigParm: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, parmname: *const c_char, value: *const c_char) -> bool>, pub TakeFX_SetOffline: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, offline: bool)>, pub TakeFX_SetOpen: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, open: bool)>, pub TakeFX_SetParam: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, val: f64) -> bool>, pub TakeFX_SetParamNormalized: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, value: f64) -> bool>, pub TakeFX_SetPinMappings: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, low32bits: c_int, hi32bits: c_int) -> bool>, pub TakeFX_SetPreset: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetname: *const c_char) -> bool>, pub TakeFX_SetPresetByIndex: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, idx: c_int) -> bool>, pub TakeFX_Show: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, index: c_int, showFlag: c_int)>, pub TakeIsMIDI: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> bool>, pub ThemeLayout_GetLayout: Option<unsafe extern "C" fn(section: *const c_char, idx: c_int, nameOut: *mut c_char, nameOut_sz: c_int) -> bool>, pub ThemeLayout_GetParameter: Option<unsafe extern "C" fn(wp: c_int, descOutOptional: *mut *const c_char, valueOutOptional: *mut c_int, defValueOutOptional: *mut c_int, minValueOutOptional: *mut c_int, maxValueOutOptional: *mut c_int) -> *const c_char>, pub ThemeLayout_RefreshAll: Option<extern "C" fn()>, pub ThemeLayout_SetLayout: Option<unsafe extern "C" fn(section: *const c_char, layout: *const c_char) -> bool>, pub ThemeLayout_SetParameter: Option<extern "C" fn(wp: c_int, value: c_int, persist: bool) -> bool>, pub time_precise: Option<extern "C" fn() -> f64>, pub TimeMap2_beatsToTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64, measuresInOptional: *const c_int) -> f64>, pub TimeMap2_GetDividedBpmAtTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64) -> f64>, pub TimeMap2_GetNextChangeTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64) -> f64>, pub TimeMap2_QNToTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, qn: f64) -> f64>, pub TimeMap2_timeToBeats: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64, measuresOutOptional: *mut c_int, cmlOutOptional: *mut c_int, fullbeatsOutOptional: *mut f64, cdenomOutOptional: *mut c_int) -> f64>, pub TimeMap2_timeToQN: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64) -> f64>, pub TimeMap_curFrameRate: Option<unsafe extern "C" fn(proj: *mut ReaProject, dropFrameOut: *mut bool) -> f64>, pub TimeMap_GetDividedBpmAtTime: Option<extern "C" fn(time: f64) -> f64>, pub TimeMap_GetMeasureInfo: Option<unsafe extern "C" fn(proj: *mut ReaProject, measure: c_int, qn_startOut: *mut f64, qn_endOut: *mut f64, timesig_numOut: *mut c_int, timesig_denomOut: *mut c_int, tempoOut: *mut f64) -> f64>, pub TimeMap_GetMetronomePattern: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, pattern: *mut c_char, pattern_sz: c_int) -> c_int>, pub TimeMap_GetTimeSigAtTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, timesig_numOut: *mut c_int, timesig_denomOut: *mut c_int, tempoOut: *mut f64)>, pub TimeMap_QNToMeasures: Option<unsafe extern "C" fn(proj: *mut ReaProject, qn: f64, qnMeasureStartOutOptional: *mut f64, qnMeasureEndOutOptional: *mut f64) -> c_int>, pub TimeMap_QNToTime: Option<extern "C" fn(qn: f64) -> f64>, pub TimeMap_QNToTime_abs: Option<unsafe extern "C" fn(proj: *mut ReaProject, qn: f64) -> f64>, pub TimeMap_timeToQN: Option<extern "C" fn(tpos: f64) -> f64>, pub TimeMap_timeToQN_abs: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64) -> f64>, pub ToggleTrackSendUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_idx: c_int) -> bool>, pub Track_GetPeakHoldDB: Option<unsafe extern "C" fn(track: *mut MediaTrack, channel: c_int, clear: bool) -> f64>, pub Track_GetPeakInfo: Option<unsafe extern "C" fn(track: *mut MediaTrack, channel: c_int) -> f64>, pub TrackCtl_SetToolTip: Option<unsafe extern "C" fn(fmt: *const c_char, xpos: c_int, ypos: c_int, topmost: bool)>, pub TrackFX_AddByName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxname: *const c_char, recFX: bool, instantiate: c_int) -> c_int>, pub TrackFX_CopyToTake: Option<unsafe extern "C" fn(src_track: *mut MediaTrack, src_fx: c_int, dest_take: *mut MediaItem_Take, dest_fx: c_int, is_move: bool)>, pub TrackFX_CopyToTrack: Option<unsafe extern "C" fn(src_track: *mut MediaTrack, src_fx: c_int, dest_track: *mut MediaTrack, dest_fx: c_int, is_move: bool)>, pub TrackFX_Delete: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>, pub TrackFX_EndParamEdit: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int) -> bool>, pub TrackFX_FormatParamValue: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, val: f64, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TrackFX_FormatParamValueNormalized: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, value: f64, buf: *mut c_char, buf_sz: c_int) -> bool>, pub TrackFX_GetByName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxname: *const c_char, instantiate: bool) -> c_int>, pub TrackFX_GetChainVisible: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub TrackFX_GetCount: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub TrackFX_GetEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>, pub TrackFX_GetEQ: Option<unsafe extern "C" fn(track: *mut MediaTrack, instantiate: bool) -> c_int>, pub TrackFX_GetEQBandEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int) -> bool>, pub TrackFX_GetEQParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, paramidx: c_int, bandtypeOut: *mut c_int, bandidxOut: *mut c_int, paramtypeOut: *mut c_int, normvalOut: *mut f64) -> bool>, pub TrackFX_GetFloatingWindow: Option<unsafe extern "C" fn(track: *mut MediaTrack, index: c_int) -> HWND>, pub TrackFX_GetFormattedParamValue: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TrackFX_GetFXGUID: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> *mut GUID>, pub TrackFX_GetFXName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TrackFX_GetInstrument: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub TrackFX_GetIOSize: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, inputPinsOut: *mut c_int, outputPinsOut: *mut c_int) -> c_int>, pub TrackFX_GetNamedConfigParm: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, parmname: *const c_char, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: c_int) -> bool>, pub TrackFX_GetNumParams: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> c_int>, pub TrackFX_GetOffline: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>, pub TrackFX_GetOpen: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>, pub TrackFX_GetParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64) -> f64>, pub TrackFX_GetParameterStepSizes: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, stepOut: *mut f64, smallstepOut: *mut f64, largestepOut: *mut f64, istoggleOut: *mut bool) -> bool>, pub TrackFX_GetParamEx: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64, midvalOut: *mut f64) -> f64>, pub TrackFX_GetParamFromIdent: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, ident_str: *const c_char) -> c_int>, pub TrackFX_GetParamIdent: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TrackFX_GetParamName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>, pub TrackFX_GetParamNormalized: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int) -> f64>, pub TrackFX_GetPinMappings: Option<unsafe extern "C" fn(tr: *mut MediaTrack, fx: c_int, isoutput: c_int, pin: c_int, high32Out: *mut c_int) -> c_int>, pub TrackFX_GetPreset: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetnameOut: *mut c_char, presetnameOut_sz: c_int) -> bool>, pub TrackFX_GetPresetIndex: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, numberOfPresetsOut: *mut c_int) -> c_int>, pub TrackFX_GetRecChainVisible: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub TrackFX_GetRecCount: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>, pub TrackFX_GetUserPresetFilename: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, fnOut: *mut c_char, fnOut_sz: c_int)>, pub TrackFX_NavigatePresets: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetmove: c_int) -> bool>, pub TrackFX_SetEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, enabled: bool)>, pub TrackFX_SetEQBandEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int, enable: bool) -> bool>, pub TrackFX_SetEQParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int, paramtype: c_int, val: f64, isnorm: bool) -> bool>, pub TrackFX_SetNamedConfigParm: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, parmname: *const c_char, value: *const c_char) -> bool>, pub TrackFX_SetOffline: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, offline: bool)>, pub TrackFX_SetOpen: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, open: bool)>, pub TrackFX_SetParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, val: f64) -> bool>, pub TrackFX_SetParamNormalized: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, value: f64) -> bool>, pub TrackFX_SetPinMappings: Option<unsafe extern "C" fn(tr: *mut MediaTrack, fx: c_int, isoutput: c_int, pin: c_int, low32bits: c_int, hi32bits: c_int) -> bool>, pub TrackFX_SetPreset: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetname: *const c_char) -> bool>, pub TrackFX_SetPresetByIndex: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, idx: c_int) -> bool>, pub TrackFX_Show: Option<unsafe extern "C" fn(track: *mut MediaTrack, index: c_int, showFlag: c_int)>, pub TrackList_AdjustWindows: Option<extern "C" fn(isMinor: bool)>, pub TrackList_UpdateAllExternalSurfaces: Option<extern "C" fn()>, pub Undo_BeginBlock: Option<extern "C" fn()>, pub Undo_BeginBlock2: Option<unsafe extern "C" fn(proj: *mut ReaProject)>, pub Undo_CanRedo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *const c_char>, pub Undo_CanUndo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *const c_char>, pub Undo_DoRedo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub Undo_DoUndo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>, pub Undo_EndBlock: Option<unsafe extern "C" fn(descchange: *const c_char, extraflags: c_int)>, pub Undo_EndBlock2: Option<unsafe extern "C" fn(proj: *mut ReaProject, descchange: *const c_char, extraflags: c_int)>, pub Undo_OnStateChange: Option<unsafe extern "C" fn(descchange: *const c_char)>, pub Undo_OnStateChange2: Option<unsafe extern "C" fn(proj: *mut ReaProject, descchange: *const c_char)>, pub Undo_OnStateChange_Item: Option<unsafe extern "C" fn(proj: *mut ReaProject, name: *const c_char, item: *mut MediaItem)>, pub Undo_OnStateChangeEx: Option<unsafe extern "C" fn(descchange: *const c_char, whichStates: c_int, trackparm: c_int)>, pub Undo_OnStateChangeEx2: Option<unsafe extern "C" fn(proj: *mut ReaProject, descchange: *const c_char, whichStates: c_int, trackparm: c_int)>, pub update_disk_counters: Option<extern "C" fn(readamt: c_int, writeamt: c_int)>, pub UpdateArrange: Option<extern "C" fn()>, pub UpdateItemInProject: Option<unsafe extern "C" fn(item: *mut MediaItem)>, pub UpdateTimeline: Option<extern "C" fn()>, pub ValidatePtr: Option<unsafe extern "C" fn(pointer: *mut c_void, ctypename: *const c_char) -> bool>, pub ValidatePtr2: Option<unsafe extern "C" fn(proj: *mut ReaProject, pointer: *mut c_void, ctypename: *const c_char) -> bool>, pub ViewPrefs: Option<unsafe extern "C" fn(page: c_int, pageByName: *const c_char)>, pub WDL_VirtualWnd_ScaledBlitBG: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut WDL_VirtualWnd_BGCfg, destx: c_int, desty: c_int, destw: c_int, desth: c_int, clipx: c_int, clipy: c_int, clipw: c_int, cliph: c_int, alpha: f32, mode: c_int) -> bool>, pub GetMidiInput: Option<extern "C" fn(idx: c_int) -> *mut midi_Input>, pub GetMidiOutput: Option<extern "C" fn(idx: c_int) -> *mut midi_Output>, pub InitializeCoolSB: Option<unsafe extern "system" fn(hwnd: HWND) -> c_schar>, pub UninitializeCoolSB: Option<unsafe extern "system" fn(hwnd: HWND) -> c_int>, pub CoolSB_SetMinThumbSize: Option<unsafe extern "system" fn(hwnd: HWND, wBar: UINT, size: UINT) -> c_schar>, pub CoolSB_GetScrollInfo: Option<unsafe extern "system" fn(hwnd: HWND, fnBar: c_int, lpsi: *mut SCROLLINFO) -> c_schar>, pub CoolSB_SetScrollInfo: Option<unsafe extern "system" fn(hwnd: HWND, fnBar: c_int, lpsi: *mut SCROLLINFO, fRedraw: c_schar) -> c_int>, pub CoolSB_SetScrollPos: Option<unsafe extern "system" fn(hwnd: HWND, nBar: c_int, nPos: c_int, fRedraw: c_schar) -> c_int>, pub CoolSB_SetScrollRange: Option<unsafe extern "system" fn(hwnd: HWND, nBar: c_int, nMinPos: c_int, nMaxPos: c_int, fRedraw: c_schar) -> c_int>, pub CoolSB_ShowScrollBar: Option<unsafe extern "system" fn(hwnd: HWND, wBar: c_int, fShow: c_schar) -> c_schar>, pub CoolSB_SetResizingThumb: Option<unsafe extern "system" fn(hwnd: HWND, active: c_schar) -> c_schar>, pub CoolSB_SetThemeIndex: Option<unsafe extern "system" fn(hwnd: HWND, idx: c_int) -> c_schar>, /* private fields */
}
Expand description

Container for the REAPER function pointers.

Fields

__mergesort: Option<unsafe extern "C" fn(base: *mut c_void, nmemb: usize, size: usize, cmpfunc: Option<unsafe extern "C" fn(arg1: *const c_void, arg2: *const c_void) -> c_int>, tmpspace: *mut c_void)>AddCustomizableMenu: Option<unsafe extern "C" fn(menuidstr: *const c_char, menuname: *const c_char, kbdsecname: *const c_char, addtomainmenu: bool) -> bool>AddExtensionsMainMenu: Option<extern "C" fn() -> bool>AddMediaItemToTrack: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> *mut MediaItem>AddProjectMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, wantidx: c_int) -> c_int>AddProjectMarker2: Option<unsafe extern "C" fn(proj: *mut ReaProject, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, wantidx: c_int, color: c_int) -> c_int>AddRemoveReaScript: Option<unsafe extern "C" fn(add: bool, sectionID: c_int, scriptfn: *const c_char, commit: bool) -> c_int>AddTakeToMediaItem: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaItem_Take>AddTempoTimeSigMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, timepos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempochange: bool) -> bool>adjustZoom: Option<extern "C" fn(amt: f64, forceset: c_int, doupd: bool, centermode: c_int)>AnyTrackSolo: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> bool>APIExists: Option<unsafe extern "C" fn(function_name: *const c_char) -> bool>APITest: Option<extern "C" fn()>ApplyNudge: Option<unsafe extern "C" fn(project: *mut ReaProject, nudgeflag: c_int, nudgewhat: c_int, nudgeunits: c_int, value: f64, reverse: bool, copies: c_int) -> bool>ArmCommand: Option<unsafe extern "C" fn(cmd: c_int, sectionname: *const c_char)>Audio_Init: Option<extern "C" fn()>Audio_IsPreBuffer: Option<extern "C" fn() -> c_int>Audio_IsRunning: Option<extern "C" fn() -> c_int>Audio_Quit: Option<extern "C" fn()>Audio_RegHardwareHook: Option<unsafe extern "C" fn(isAdd: bool, reg: *mut audio_hook_register_t) -> c_int>AudioAccessorStateChanged: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> bool>AudioAccessorUpdate: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor)>AudioAccessorValidateState: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> bool>BypassFxAllTracks: Option<extern "C" fn(bypass: c_int)>CalcMediaSrcLoudness: Option<unsafe extern "C" fn(mediasource: *mut PCM_source) -> c_int>CalculateNormalization: Option<unsafe extern "C" fn(source: *mut PCM_source, normalizeTo: c_int, normalizeTarget: f64, normalizeStart: f64, normalizeEnd: f64) -> f64>CalculatePeaks: Option<unsafe extern "C" fn(srcBlock: *mut PCM_source_transfer_t, pksBlock: *mut PCM_source_peaktransfer_t) -> c_int>CalculatePeaksFloatSrcPtr: Option<unsafe extern "C" fn(srcBlock: *mut PCM_source_transfer_t, pksBlock: *mut PCM_source_peaktransfer_t) -> c_int>ClearAllRecArmed: Option<extern "C" fn()>ClearConsole: Option<extern "C" fn()>ClearPeakCache: Option<extern "C" fn()>ColorFromNative: Option<unsafe extern "C" fn(col: c_int, rOut: *mut c_int, gOut: *mut c_int, bOut: *mut c_int)>ColorToNative: Option<extern "C" fn(r: c_int, g: c_int, b: c_int) -> c_int>CountActionShortcuts: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, cmdID: c_int) -> c_int>CountAutomationItems: Option<unsafe extern "C" fn(env: *mut TrackEnvelope) -> c_int>CountEnvelopePoints: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope) -> c_int>CountEnvelopePointsEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int) -> c_int>CountMediaItems: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>CountProjectMarkers: Option<unsafe extern "C" fn(proj: *mut ReaProject, num_markersOut: *mut c_int, num_regionsOut: *mut c_int) -> c_int>CountSelectedMediaItems: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>CountSelectedTracks: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>CountSelectedTracks2: Option<unsafe extern "C" fn(proj: *mut ReaProject, wantmaster: bool) -> c_int>CountTakeEnvelopes: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>CountTakes: Option<unsafe extern "C" fn(item: *mut MediaItem) -> c_int>CountTCPFXParms: Option<unsafe extern "C" fn(project: *mut ReaProject, track: *mut MediaTrack) -> c_int>CountTempoTimeSigMarkers: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>CountTrackEnvelopes: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>CountTrackMediaItems: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>CountTracks: Option<unsafe extern "C" fn(projOptional: *mut ReaProject) -> c_int>CreateLocalOscHandler: Option<unsafe extern "C" fn(obj: *mut c_void, callback: *mut c_void) -> *mut c_void>CreateMIDIInput: Option<extern "C" fn(dev: c_int) -> *mut midi_Input>CreateMIDIOutput: Option<unsafe extern "C" fn(dev: c_int, streamMode: bool, msoffset100: *mut c_int) -> *mut midi_Output>CreateNewMIDIItemInProj: Option<unsafe extern "C" fn(track: *mut MediaTrack, starttime: f64, endtime: f64, qnInOptional: *const bool) -> *mut MediaItem>CreateTakeAudioAccessor: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut AudioAccessor>CreateTrackAudioAccessor: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> *mut AudioAccessor>CreateTrackSend: Option<unsafe extern "C" fn(tr: *mut MediaTrack, desttrInOptional: *mut MediaTrack) -> c_int>CSurf_FlushUndo: Option<extern "C" fn(force: bool)>CSurf_GetTouchState: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, isPan: c_int) -> bool>CSurf_GoEnd: Option<extern "C" fn()>CSurf_GoStart: Option<extern "C" fn()>CSurf_NumTracks: Option<extern "C" fn(mcpView: bool) -> c_int>CSurf_OnArrow: Option<extern "C" fn(whichdir: c_int, wantzoom: bool)>CSurf_OnFwd: Option<extern "C" fn(seekplay: c_int)>CSurf_OnFXChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, en: c_int) -> bool>CSurf_OnInputMonitorChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, monitor: c_int) -> c_int>CSurf_OnInputMonitorChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, monitor: c_int, allowgang: bool) -> c_int>CSurf_OnMuteChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, mute: c_int) -> bool>CSurf_OnMuteChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, mute: c_int, allowgang: bool) -> bool>CSurf_OnOscControlMessage: Option<unsafe extern "C" fn(msg: *const c_char, arg: *const f32)>CSurf_OnPanChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, pan: f64, relative: bool) -> f64>CSurf_OnPanChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, pan: f64, relative: bool, allowGang: bool) -> f64>CSurf_OnPause: Option<extern "C" fn()>CSurf_OnPlay: Option<extern "C" fn()>CSurf_OnPlayRateChange: Option<extern "C" fn(playrate: f64)>CSurf_OnRecArmChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recarm: c_int) -> bool>CSurf_OnRecArmChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recarm: c_int, allowgang: bool) -> bool>CSurf_OnRecord: Option<extern "C" fn()>CSurf_OnRecvPanChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recv_index: c_int, pan: f64, relative: bool) -> f64>CSurf_OnRecvVolumeChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recv_index: c_int, volume: f64, relative: bool) -> f64>CSurf_OnRew: Option<extern "C" fn(seekplay: c_int)>CSurf_OnRewFwd: Option<extern "C" fn(seekplay: c_int, dir: c_int)>CSurf_OnScroll: Option<extern "C" fn(xdir: c_int, ydir: c_int)>CSurf_OnSelectedChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, selected: c_int) -> bool>CSurf_OnSendPanChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, send_index: c_int, pan: f64, relative: bool) -> f64>CSurf_OnSendVolumeChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, send_index: c_int, volume: f64, relative: bool) -> f64>CSurf_OnSoloChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, solo: c_int) -> bool>CSurf_OnSoloChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, solo: c_int, allowgang: bool) -> bool>CSurf_OnStop: Option<extern "C" fn()>CSurf_OnTempoChange: Option<extern "C" fn(bpm: f64)>CSurf_OnTrackSelection: Option<unsafe extern "C" fn(trackid: *mut MediaTrack)>CSurf_OnVolumeChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, volume: f64, relative: bool) -> f64>CSurf_OnVolumeChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, volume: f64, relative: bool, allowGang: bool) -> f64>CSurf_OnWidthChange: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, width: f64, relative: bool) -> f64>CSurf_OnWidthChangeEx: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, width: f64, relative: bool, allowGang: bool) -> f64>CSurf_OnZoom: Option<extern "C" fn(xdir: c_int, ydir: c_int)>CSurf_ResetAllCachedVolPanStates: Option<extern "C" fn()>CSurf_ScrubAmt: Option<extern "C" fn(amt: f64)>CSurf_SetAutoMode: Option<unsafe extern "C" fn(mode: c_int, ignoresurf: *mut IReaperControlSurface)>CSurf_SetPlayState: Option<unsafe extern "C" fn(play: bool, pause: bool, rec: bool, ignoresurf: *mut IReaperControlSurface)>CSurf_SetRepeatState: Option<unsafe extern "C" fn(rep: bool, ignoresurf: *mut IReaperControlSurface)>CSurf_SetSurfaceMute: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, mute: bool, ignoresurf: *mut IReaperControlSurface)>CSurf_SetSurfacePan: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, pan: f64, ignoresurf: *mut IReaperControlSurface)>CSurf_SetSurfaceRecArm: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, recarm: bool, ignoresurf: *mut IReaperControlSurface)>CSurf_SetSurfaceSelected: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, selected: bool, ignoresurf: *mut IReaperControlSurface)>CSurf_SetSurfaceSolo: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, solo: bool, ignoresurf: *mut IReaperControlSurface)>CSurf_SetSurfaceVolume: Option<unsafe extern "C" fn(trackid: *mut MediaTrack, volume: f64, ignoresurf: *mut IReaperControlSurface)>CSurf_SetTrackListChange: Option<extern "C" fn()>CSurf_TrackFromID: Option<extern "C" fn(idx: c_int, mcpView: bool) -> *mut MediaTrack>CSurf_TrackToID: Option<unsafe extern "C" fn(track: *mut MediaTrack, mcpView: bool) -> c_int>DB2SLIDER: Option<extern "C" fn(x: f64) -> f64>DeleteActionShortcut: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, cmdID: c_int, shortcutidx: c_int) -> bool>DeleteEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, ptidx: c_int) -> bool>DeleteEnvelopePointRange: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time_start: f64, time_end: f64) -> bool>DeleteEnvelopePointRangeEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, time_start: f64, time_end: f64) -> bool>DeleteExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char, persist: bool)>DeleteProjectMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool) -> bool>DeleteProjectMarkerByIndex: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnidx: c_int) -> bool>DeleteTakeMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int) -> bool>DeleteTakeStretchMarkers: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, countInOptional: *const c_int) -> c_int>DeleteTempoTimeSigMarker: Option<unsafe extern "C" fn(project: *mut ReaProject, markerindex: c_int) -> bool>DeleteTrack: Option<unsafe extern "C" fn(tr: *mut MediaTrack)>DeleteTrackMediaItem: Option<unsafe extern "C" fn(tr: *mut MediaTrack, it: *mut MediaItem) -> bool>DestroyAudioAccessor: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor)>DestroyLocalOscHandler: Option<unsafe extern "C" fn(local_osc_handler: *mut c_void)>DoActionShortcutDialog: Option<unsafe extern "C" fn(hwnd: HWND, section: *mut KbdSectionInfo, cmdID: c_int, shortcutidx: c_int) -> bool>Dock_UpdateDockID: Option<unsafe extern "C" fn(ident_str: *const c_char, whichDock: c_int)>DockGetPosition: Option<extern "C" fn(whichDock: c_int) -> c_int>DockIsChildOfDock: Option<unsafe extern "C" fn(hwnd: HWND, isFloatingDockerOut: *mut bool) -> c_int>DockWindowActivate: Option<unsafe extern "C" fn(hwnd: HWND)>DockWindowAdd: Option<unsafe extern "C" fn(hwnd: HWND, name: *const c_char, pos: c_int, allowShow: bool)>DockWindowAddEx: Option<unsafe extern "C" fn(hwnd: HWND, name: *const c_char, identstr: *const c_char, allowShow: bool)>DockWindowRefresh: Option<extern "C" fn()>DockWindowRefreshForHWND: Option<unsafe extern "C" fn(hwnd: HWND)>DockWindowRemove: Option<unsafe extern "C" fn(hwnd: HWND)>DuplicateCustomizableMenu: Option<unsafe extern "C" fn(srcmenu: *mut c_void, destmenu: *mut c_void) -> bool>EditTempoTimeSigMarker: Option<unsafe extern "C" fn(project: *mut ReaProject, markerindex: c_int) -> bool>EnsureNotCompletelyOffscreen: Option<unsafe extern "C" fn(rInOut: *mut RECT)>EnumerateFiles: Option<unsafe extern "C" fn(path: *const c_char, fileindex: c_int) -> *const c_char>EnumerateSubdirectories: Option<unsafe extern "C" fn(path: *const c_char, subdirindex: c_int) -> *const c_char>EnumPitchShiftModes: Option<unsafe extern "C" fn(mode: c_int, strOut: *mut *const c_char) -> bool>EnumPitchShiftSubModes: Option<extern "C" fn(mode: c_int, submode: c_int) -> *const c_char>EnumProjectMarkers: Option<unsafe extern "C" fn(idx: c_int, isrgnOut: *mut bool, posOut: *mut f64, rgnendOut: *mut f64, nameOut: *mut *const c_char, markrgnindexnumberOut: *mut c_int) -> c_int>EnumProjectMarkers2: Option<unsafe extern "C" fn(proj: *mut ReaProject, idx: c_int, isrgnOut: *mut bool, posOut: *mut f64, rgnendOut: *mut f64, nameOut: *mut *const c_char, markrgnindexnumberOut: *mut c_int) -> c_int>EnumProjectMarkers3: Option<unsafe extern "C" fn(proj: *mut ReaProject, idx: c_int, isrgnOut: *mut bool, posOut: *mut f64, rgnendOut: *mut f64, nameOut: *mut *const c_char, markrgnindexnumberOut: *mut c_int, colorOut: *mut c_int) -> c_int>EnumProjects: Option<unsafe extern "C" fn(idx: c_int, projfnOutOptional: *mut c_char, projfnOutOptional_sz: c_int) -> *mut ReaProject>EnumProjExtState: Option<unsafe extern "C" fn(proj: *mut ReaProject, extname: *const c_char, idx: c_int, keyOutOptional: *mut c_char, keyOutOptional_sz: c_int, valOutOptional: *mut c_char, valOutOptional_sz: c_int) -> bool>EnumRegionRenderMatrix: Option<unsafe extern "C" fn(proj: *mut ReaProject, regionindex: c_int, rendertrack: c_int) -> *mut MediaTrack>EnumTrackMIDIProgramNames: Option<unsafe extern "C" fn(track: c_int, programNumber: c_int, programName: *mut c_char, programName_sz: c_int) -> bool>EnumTrackMIDIProgramNamesEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, programNumber: c_int, programName: *mut c_char, programName_sz: c_int) -> bool>Envelope_Evaluate: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time: f64, samplerate: f64, samplesRequested: c_int, valueOut: *mut f64, dVdSOut: *mut f64, ddVdSOut: *mut f64, dddVdSOut: *mut f64) -> c_int>Envelope_FormatValue: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, value: f64, bufOut: *mut c_char, bufOut_sz: c_int)>Envelope_GetParentTake: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, indexOut: *mut c_int, index2Out: *mut c_int) -> *mut MediaItem_Take>Envelope_GetParentTrack: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, indexOut: *mut c_int, index2Out: *mut c_int) -> *mut MediaTrack>Envelope_SortPoints: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope) -> bool>Envelope_SortPointsEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int) -> bool>ExecProcess: Option<unsafe extern "C" fn(cmdline: *const c_char, timeoutmsec: c_int) -> *const c_char>file_exists: Option<unsafe extern "C" fn(path: *const c_char) -> bool>FindTempoTimeSigMarker: Option<unsafe extern "C" fn(project: *mut ReaProject, time: f64) -> c_int>format_timestr: Option<unsafe extern "C" fn(tpos: f64, buf: *mut c_char, buf_sz: c_int)>format_timestr_len: Option<unsafe extern "C" fn(tpos: f64, buf: *mut c_char, buf_sz: c_int, offset: f64, modeoverride: c_int)>format_timestr_pos: Option<unsafe extern "C" fn(tpos: f64, buf: *mut c_char, buf_sz: c_int, modeoverride: c_int)>FreeHeapPtr: Option<unsafe extern "C" fn(ptr: *mut c_void)>genGuid: Option<unsafe extern "C" fn(g: *mut GUID)>get_config_var: Option<unsafe extern "C" fn(name: *const c_char, szOut: *mut c_int) -> *mut c_void>get_config_var_string: Option<unsafe extern "C" fn(name: *const c_char, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>get_ini_file: Option<extern "C" fn() -> *const c_char>get_midi_config_var: Option<unsafe extern "C" fn(name: *const c_char, szOut: *mut c_int) -> *mut c_void>GetActionShortcutDesc: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, cmdID: c_int, shortcutidx: c_int, desc: *mut c_char, desclen: c_int) -> bool>GetActiveTake: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaItem_Take>GetAllProjectPlayStates: Option<unsafe extern "C" fn(ignoreProject: *mut ReaProject) -> c_int>GetAppVersion: Option<extern "C" fn() -> *const c_char>GetArmedCommand: Option<unsafe extern "C" fn(secOut: *mut c_char, secOut_sz: c_int) -> c_int>GetAudioAccessorEndTime: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> f64>GetAudioAccessorHash: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor, hashNeed128: *mut c_char)>GetAudioAccessorSamples: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor, samplerate: c_int, numchannels: c_int, starttime_sec: f64, numsamplesperchannel: c_int, samplebuffer: *mut f64) -> c_int>GetAudioAccessorStartTime: Option<unsafe extern "C" fn(accessor: *mut AudioAccessor) -> f64>GetAudioDeviceInfo: Option<unsafe extern "C" fn(attribute: *const c_char, descOut: *mut c_char, descOut_sz: c_int) -> bool>GetColorTheme: Option<extern "C" fn(idx: c_int, defval: c_int) -> INT_PTR>GetColorThemeStruct: Option<unsafe extern "C" fn(szOut: *mut c_int) -> *mut c_void>GetConfigWantsDock: Option<unsafe extern "C" fn(ident_str: *const c_char) -> c_int>GetContextMenu: Option<extern "C" fn(idx: c_int) -> HMENU>GetCurrentProjectInLoadSave: Option<extern "C" fn() -> *mut ReaProject>GetCursorContext: Option<extern "C" fn() -> c_int>GetCursorContext2: Option<extern "C" fn(want_last_valid: bool) -> c_int>GetCursorPosition: Option<extern "C" fn() -> f64>GetCursorPositionEx: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>GetDisplayedMediaItemColor: Option<unsafe extern "C" fn(item: *mut MediaItem) -> c_int>GetDisplayedMediaItemColor2: Option<unsafe extern "C" fn(item: *mut MediaItem, take: *mut MediaItem_Take) -> c_int>GetEnvelopeInfo_Value: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, parmname: *const c_char) -> f64>GetEnvelopeName: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>GetEnvelopePoint: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, ptidx: c_int, timeOut: *mut f64, valueOut: *mut f64, shapeOut: *mut c_int, tensionOut: *mut f64, selectedOut: *mut bool) -> bool>GetEnvelopePointByTime: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time: f64) -> c_int>GetEnvelopePointByTimeEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, time: f64) -> c_int>GetEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, ptidx: c_int, timeOut: *mut f64, valueOut: *mut f64, shapeOut: *mut c_int, tensionOut: *mut f64, selectedOut: *mut bool) -> bool>GetEnvelopeScalingMode: Option<unsafe extern "C" fn(env: *mut TrackEnvelope) -> c_int>GetEnvelopeStateChunk: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, strNeedBig: *mut c_char, strNeedBig_sz: c_int, isundoOptional: bool) -> bool>GetEnvelopeUIState: Option<unsafe extern "C" fn(env: *mut TrackEnvelope) -> c_int>GetExePath: Option<extern "C" fn() -> *const c_char>GetExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char) -> *const c_char>GetFocusedFX: Option<unsafe extern "C" fn(tracknumberOut: *mut c_int, itemnumberOut: *mut c_int, fxnumberOut: *mut c_int) -> c_int>GetFocusedFX2: Option<unsafe extern "C" fn(tracknumberOut: *mut c_int, itemnumberOut: *mut c_int, fxnumberOut: *mut c_int) -> c_int>GetFreeDiskSpaceForRecordPath: Option<unsafe extern "C" fn(proj: *mut ReaProject, pathidx: c_int) -> c_int>GetFXEnvelope: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxindex: c_int, parameterindex: c_int, create: bool) -> *mut TrackEnvelope>GetGlobalAutomationOverride: Option<extern "C" fn() -> c_int>GetHZoomLevel: Option<extern "C" fn() -> f64>GetIconThemePointer: Option<unsafe extern "C" fn(name: *const c_char) -> *mut c_void>GetIconThemePointerForDPI: Option<unsafe extern "C" fn(name: *const c_char, dpisc: c_int) -> *mut c_void>GetIconThemeStruct: Option<unsafe extern "C" fn(szOut: *mut c_int) -> *mut c_void>GetInputChannelName: Option<extern "C" fn(channelIndex: c_int) -> *const c_char>GetInputOutputLatency: Option<unsafe extern "C" fn(inputlatencyOut: *mut c_int, outputLatencyOut: *mut c_int)>GetItemEditingTime2: Option<unsafe extern "C" fn(which_itemOut: *mut *mut PCM_source, flagsOut: *mut c_int) -> f64>GetItemFromPoint: Option<unsafe extern "C" fn(screen_x: c_int, screen_y: c_int, allow_locked: bool, takeOutOptional: *mut *mut MediaItem_Take) -> *mut MediaItem>GetItemProjectContext: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut ReaProject>GetItemStateChunk: Option<unsafe extern "C" fn(item: *mut MediaItem, strNeedBig: *mut c_char, strNeedBig_sz: c_int, isundoOptional: bool) -> bool>GetLastColorThemeFile: Option<extern "C" fn() -> *const c_char>GetLastMarkerAndCurRegion: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, markeridxOut: *mut c_int, regionidxOut: *mut c_int)>GetLastTouchedFX: Option<unsafe extern "C" fn(tracknumberOut: *mut c_int, fxnumberOut: *mut c_int, paramnumberOut: *mut c_int) -> bool>GetLastTouchedTrack: Option<extern "C" fn() -> *mut MediaTrack>GetMainHwnd: Option<extern "C" fn() -> HWND>GetMasterMuteSoloFlags: Option<extern "C" fn() -> c_int>GetMasterTrack: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *mut MediaTrack>GetMasterTrackVisibility: Option<extern "C" fn() -> c_int>GetMaxMidiInputs: Option<extern "C" fn() -> c_int>GetMaxMidiOutputs: Option<extern "C" fn() -> c_int>GetMediaFileMetadata: Option<unsafe extern "C" fn(mediaSource: *mut PCM_source, identifier: *const c_char, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: c_int) -> c_int>GetMediaItem: Option<unsafe extern "C" fn(proj: *mut ReaProject, itemidx: c_int) -> *mut MediaItem>GetMediaItem_Track: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaTrack>GetMediaItemInfo_Value: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char) -> f64>GetMediaItemNumTakes: Option<unsafe extern "C" fn(item: *mut MediaItem) -> c_int>GetMediaItemTake: Option<unsafe extern "C" fn(item: *mut MediaItem, tk: c_int) -> *mut MediaItem_Take>GetMediaItemTake_Item: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut MediaItem>GetMediaItemTake_Peaks: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, peakrate: f64, starttime: f64, numchannels: c_int, numsamplesperchannel: c_int, want_extra_type: c_int, buf: *mut f64) -> c_int>GetMediaItemTake_Source: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut PCM_source>GetMediaItemTake_Track: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *mut MediaTrack>GetMediaItemTakeByGUID: Option<unsafe extern "C" fn(project: *mut ReaProject, guid: *const GUID) -> *mut MediaItem_Take>GetMediaItemTakeInfo_Value: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, parmname: *const c_char) -> f64>GetMediaItemTrack: Option<unsafe extern "C" fn(item: *mut MediaItem) -> *mut MediaTrack>GetMediaSourceFileName: Option<unsafe extern "C" fn(source: *mut PCM_source, filenamebufOut: *mut c_char, filenamebufOut_sz: c_int)>GetMediaSourceLength: Option<unsafe extern "C" fn(source: *mut PCM_source, lengthIsQNOut: *mut bool) -> f64>GetMediaSourceNumChannels: Option<unsafe extern "C" fn(source: *mut PCM_source) -> c_int>GetMediaSourceParent: Option<unsafe extern "C" fn(src: *mut PCM_source) -> *mut PCM_source>GetMediaSourceSampleRate: Option<unsafe extern "C" fn(source: *mut PCM_source) -> c_int>GetMediaSourceType: Option<unsafe extern "C" fn(source: *mut PCM_source, typebufOut: *mut c_char, typebufOut_sz: c_int)>GetMediaTrackInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char) -> f64>GetMIDIInputName: Option<unsafe extern "C" fn(dev: c_int, nameout: *mut c_char, nameout_sz: c_int) -> bool>GetMIDIOutputName: Option<unsafe extern "C" fn(dev: c_int, nameout: *mut c_char, nameout_sz: c_int) -> bool>GetMixerScroll: Option<extern "C" fn() -> *mut MediaTrack>GetMouseModifier: Option<unsafe extern "C" fn(context: *const c_char, modifier_flag: c_int, actionOut: *mut c_char, actionOut_sz: c_int)>GetMousePosition: Option<unsafe extern "C" fn(xOut: *mut c_int, yOut: *mut c_int)>GetNumAudioInputs: Option<extern "C" fn() -> c_int>GetNumAudioOutputs: Option<extern "C" fn() -> c_int>GetNumMIDIInputs: Option<extern "C" fn() -> c_int>GetNumMIDIOutputs: Option<extern "C" fn() -> c_int>GetNumTakeMarkers: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>GetNumTracks: Option<extern "C" fn() -> c_int>GetOS: Option<extern "C" fn() -> *const c_char>GetOutputChannelName: Option<extern "C" fn(channelIndex: c_int) -> *const c_char>GetOutputLatency: Option<extern "C" fn() -> f64>GetParentTrack: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> *mut MediaTrack>GetPeakFileName: Option<unsafe extern "C" fn(fn_: *const c_char, bufOut: *mut c_char, bufOut_sz: c_int)>GetPeakFileNameEx: Option<unsafe extern "C" fn(fn_: *const c_char, buf: *mut c_char, buf_sz: c_int, forWrite: bool)>GetPeakFileNameEx2: Option<unsafe extern "C" fn(fn_: *const c_char, buf: *mut c_char, buf_sz: c_int, forWrite: bool, peaksfileextension: *const c_char)>GetPeaksBitmap: Option<unsafe extern "C" fn(pks: *mut PCM_source_peaktransfer_t, maxamp: f64, w: c_int, h: c_int, bmp: *mut LICE_IBitmap) -> *mut c_void>GetPlayPosition: Option<extern "C" fn() -> f64>GetPlayPosition2: Option<extern "C" fn() -> f64>GetPlayPosition2Ex: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>GetPlayPositionEx: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>GetPlayState: Option<extern "C" fn() -> c_int>GetPlayStateEx: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>GetPreferredDiskReadMode: Option<unsafe extern "C" fn(mode: *mut c_int, nb: *mut c_int, bs: *mut c_int)>GetPreferredDiskReadModePeak: Option<unsafe extern "C" fn(mode: *mut c_int, nb: *mut c_int, bs: *mut c_int)>GetPreferredDiskWriteMode: Option<unsafe extern "C" fn(mode: *mut c_int, nb: *mut c_int, bs: *mut c_int)>GetProjectLength: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> f64>GetProjectName: Option<unsafe extern "C" fn(proj: *mut ReaProject, bufOut: *mut c_char, bufOut_sz: c_int)>GetProjectPath: Option<unsafe extern "C" fn(bufOut: *mut c_char, bufOut_sz: c_int)>GetProjectPathEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, bufOut: *mut c_char, bufOut_sz: c_int)>GetProjectStateChangeCount: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>GetProjectTimeOffset: Option<unsafe extern "C" fn(proj: *mut ReaProject, rndframe: bool) -> f64>GetProjectTimeSignature: Option<unsafe extern "C" fn(bpmOut: *mut f64, bpiOut: *mut f64)>GetProjectTimeSignature2: Option<unsafe extern "C" fn(proj: *mut ReaProject, bpmOut: *mut f64, bpiOut: *mut f64)>GetProjExtState: Option<unsafe extern "C" fn(proj: *mut ReaProject, extname: *const c_char, key: *const c_char, valOutNeedBig: *mut c_char, valOutNeedBig_sz: c_int) -> c_int>GetResourcePath: Option<extern "C" fn() -> *const c_char>GetSelectedEnvelope: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *mut TrackEnvelope>GetSelectedMediaItem: Option<unsafe extern "C" fn(proj: *mut ReaProject, selitem: c_int) -> *mut MediaItem>GetSelectedTrack: Option<unsafe extern "C" fn(proj: *mut ReaProject, seltrackidx: c_int) -> *mut MediaTrack>GetSelectedTrack2: Option<unsafe extern "C" fn(proj: *mut ReaProject, seltrackidx: c_int, wantmaster: bool) -> *mut MediaTrack>GetSelectedTrackEnvelope: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *mut TrackEnvelope>GetSet_ArrangeView2: Option<unsafe extern "C" fn(proj: *mut ReaProject, isSet: bool, screen_x_start: c_int, screen_x_end: c_int, start_timeInOut: *mut f64, end_timeInOut: *mut f64)>GetSet_LoopTimeRange: Option<unsafe extern "C" fn(isSet: bool, isLoop: bool, startOut: *mut f64, endOut: *mut f64, allowautoseek: bool)>GetSet_LoopTimeRange2: Option<unsafe extern "C" fn(proj: *mut ReaProject, isSet: bool, isLoop: bool, startOut: *mut f64, endOut: *mut f64, allowautoseek: bool)>GetSetAutomationItemInfo: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, autoitem_idx: c_int, desc: *const c_char, value: f64, is_set: bool) -> f64>GetSetAutomationItemInfo_String: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, autoitem_idx: c_int, desc: *const c_char, valuestrNeedBig: *mut c_char, is_set: bool) -> bool>GetSetEnvelopeInfo_String: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>GetSetEnvelopeState: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, str: *mut c_char, str_sz: c_int) -> bool>GetSetEnvelopeState2: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, str: *mut c_char, str_sz: c_int, isundo: bool) -> bool>GetSetItemState: Option<unsafe extern "C" fn(item: *mut MediaItem, str: *mut c_char, str_sz: c_int) -> bool>GetSetItemState2: Option<unsafe extern "C" fn(item: *mut MediaItem, str: *mut c_char, str_sz: c_int, isundo: bool) -> bool>GetSetMediaItemInfo: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>GetSetMediaItemInfo_String: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>GetSetMediaItemTakeInfo: Option<unsafe extern "C" fn(tk: *mut MediaItem_Take, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>GetSetMediaItemTakeInfo_String: Option<unsafe extern "C" fn(tk: *mut MediaItem_Take, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>GetSetMediaTrackInfo: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>GetSetMediaTrackInfo_String: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>GetSetObjectState: Option<unsafe extern "C" fn(obj: *mut c_void, str: *const c_char) -> *mut c_char>GetSetObjectState2: Option<unsafe extern "C" fn(obj: *mut c_void, str: *const c_char, isundo: bool) -> *mut c_char>GetSetProjectAuthor: Option<unsafe extern "C" fn(proj: *mut ReaProject, set: bool, author: *mut c_char, author_sz: c_int)>GetSetProjectGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, set: bool, divisionInOutOptional: *mut f64, swingmodeInOutOptional: *mut c_int, swingamtInOutOptional: *mut f64) -> c_int>GetSetProjectInfo: Option<unsafe extern "C" fn(project: *mut ReaProject, desc: *const c_char, value: f64, is_set: bool) -> f64>GetSetProjectInfo_String: Option<unsafe extern "C" fn(project: *mut ReaProject, desc: *const c_char, valuestrNeedBig: *mut c_char, is_set: bool) -> bool>GetSetProjectNotes: Option<unsafe extern "C" fn(proj: *mut ReaProject, set: bool, notesNeedBig: *mut c_char, notesNeedBig_sz: c_int)>GetSetRepeat: Option<extern "C" fn(val: c_int) -> c_int>GetSetRepeatEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, val: c_int) -> c_int>GetSetTrackGroupMembership: Option<unsafe extern "C" fn(tr: *mut MediaTrack, groupname: *const c_char, setmask: c_uint, setvalue: c_uint) -> c_uint>GetSetTrackGroupMembershipHigh: Option<unsafe extern "C" fn(tr: *mut MediaTrack, groupname: *const c_char, setmask: c_uint, setvalue: c_uint) -> c_uint>GetSetTrackMIDISupportFile: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, which: c_int, filename: *const c_char) -> *const c_char>GetSetTrackSendInfo: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char, setNewValue: *mut c_void) -> *mut c_void>GetSetTrackSendInfo_String: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char, stringNeedBig: *mut c_char, setNewValue: bool) -> bool>GetSetTrackState: Option<unsafe extern "C" fn(track: *mut MediaTrack, str: *mut c_char, str_sz: c_int) -> bool>GetSetTrackState2: Option<unsafe extern "C" fn(track: *mut MediaTrack, str: *mut c_char, str_sz: c_int, isundo: bool) -> bool>GetSubProjectFromSource: Option<unsafe extern "C" fn(src: *mut PCM_source) -> *mut ReaProject>GetTake: Option<unsafe extern "C" fn(item: *mut MediaItem, takeidx: c_int) -> *mut MediaItem_Take>GetTakeEnvelope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, envidx: c_int) -> *mut TrackEnvelope>GetTakeEnvelopeByName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, envname: *const c_char) -> *mut TrackEnvelope>GetTakeMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, nameOut: *mut c_char, nameOut_sz: c_int, colorOutOptional: *mut c_int) -> f64>GetTakeName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> *const c_char>GetTakeNumStretchMarkers: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>GetTakeStretchMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, posOut: *mut f64, srcposOutOptional: *mut f64) -> c_int>GetTakeStretchMarkerSlope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int) -> f64>GetTCPFXParm: Option<unsafe extern "C" fn(project: *mut ReaProject, track: *mut MediaTrack, index: c_int, fxindexOut: *mut c_int, parmidxOut: *mut c_int) -> bool>GetTempoMatchPlayRate: Option<unsafe extern "C" fn(source: *mut PCM_source, srcscale: f64, position: f64, mult: f64, rateOut: *mut f64, targetlenOut: *mut f64) -> bool>GetTempoTimeSigMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, ptidx: c_int, timeposOut: *mut f64, measureposOut: *mut c_int, beatposOut: *mut f64, bpmOut: *mut f64, timesig_numOut: *mut c_int, timesig_denomOut: *mut c_int, lineartempoOut: *mut bool) -> bool>GetThemeColor: Option<unsafe extern "C" fn(ini_key: *const c_char, flagsOptional: c_int) -> c_int>GetThingFromPoint: Option<unsafe extern "C" fn(screen_x: c_int, screen_y: c_int, infoOut: *mut c_char, infoOut_sz: c_int) -> *mut MediaTrack>GetToggleCommandState: Option<extern "C" fn(command_id: c_int) -> c_int>GetToggleCommandState2: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, command_id: c_int) -> c_int>GetToggleCommandStateEx: Option<extern "C" fn(section_id: c_int, command_id: c_int) -> c_int>GetToggleCommandStateThroughHooks: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, command_id: c_int) -> c_int>GetTooltipWindow: Option<extern "C" fn() -> HWND>GetTrack: Option<unsafe extern "C" fn(proj: *mut ReaProject, trackidx: c_int) -> *mut MediaTrack>GetTrackAutomationMode: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> c_int>GetTrackColor: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>GetTrackDepth: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>GetTrackEnvelope: Option<unsafe extern "C" fn(track: *mut MediaTrack, envidx: c_int) -> *mut TrackEnvelope>GetTrackEnvelopeByChunkName: Option<unsafe extern "C" fn(tr: *mut MediaTrack, cfgchunkname_or_guid: *const c_char) -> *mut TrackEnvelope>GetTrackEnvelopeByName: Option<unsafe extern "C" fn(track: *mut MediaTrack, envname: *const c_char) -> *mut TrackEnvelope>GetTrackFromPoint: Option<unsafe extern "C" fn(screen_x: c_int, screen_y: c_int, infoOutOptional: *mut c_int) -> *mut MediaTrack>GetTrackGUID: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> *mut GUID>GetTrackInfo: Option<unsafe extern "C" fn(track: INT_PTR, flags: *mut c_int) -> *const c_char>GetTrackMediaItem: Option<unsafe extern "C" fn(tr: *mut MediaTrack, itemidx: c_int) -> *mut MediaItem>GetTrackMIDILyrics: Option<unsafe extern "C" fn(track: *mut MediaTrack, flag: c_int, bufOutWantNeedBig: *mut c_char, bufOutWantNeedBig_sz: *mut c_int) -> bool>GetTrackMIDINoteName: Option<extern "C" fn(track: c_int, pitch: c_int, chan: c_int) -> *const c_char>GetTrackMIDINoteNameEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, pitch: c_int, chan: c_int) -> *const c_char>GetTrackMIDINoteRange: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, note_loOut: *mut c_int, note_hiOut: *mut c_int)>GetTrackName: Option<unsafe extern "C" fn(track: *mut MediaTrack, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>GetTrackNumMediaItems: Option<unsafe extern "C" fn(tr: *mut MediaTrack) -> c_int>GetTrackNumSends: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int) -> c_int>GetTrackReceiveName: Option<unsafe extern "C" fn(track: *mut MediaTrack, recv_index: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>GetTrackReceiveUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, recv_index: c_int, muteOut: *mut bool) -> bool>GetTrackReceiveUIVolPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, recv_index: c_int, volumeOut: *mut f64, panOut: *mut f64) -> bool>GetTrackSendInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char) -> f64>GetTrackSendName: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_index: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>GetTrackSendUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_index: c_int, muteOut: *mut bool) -> bool>GetTrackSendUIVolPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_index: c_int, volumeOut: *mut f64, panOut: *mut f64) -> bool>GetTrackState: Option<unsafe extern "C" fn(track: *mut MediaTrack, flagsOut: *mut c_int) -> *const c_char>GetTrackStateChunk: Option<unsafe extern "C" fn(track: *mut MediaTrack, strNeedBig: *mut c_char, strNeedBig_sz: c_int, isundoOptional: bool) -> bool>GetTrackUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, muteOut: *mut bool) -> bool>GetTrackUIPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, pan1Out: *mut f64, pan2Out: *mut f64, panmodeOut: *mut c_int) -> bool>GetTrackUIVolPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, volumeOut: *mut f64, panOut: *mut f64) -> bool>GetUnderrunTime: Option<unsafe extern "C" fn(audio_xrunOut: *mut c_uint, media_xrunOut: *mut c_uint, curtimeOut: *mut c_uint)>GetUserFileNameForRead: Option<unsafe extern "C" fn(filenameNeed4096: *mut c_char, title: *const c_char, defext: *const c_char) -> bool>GetUserInputs: Option<unsafe extern "C" fn(title: *const c_char, num_inputs: c_int, captions_csv: *const c_char, retvals_csv: *mut c_char, retvals_csv_sz: c_int) -> bool>GoToMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, marker_index: c_int, use_timeline_order: bool)>GoToRegion: Option<unsafe extern "C" fn(proj: *mut ReaProject, region_index: c_int, use_timeline_order: bool)>GR_SelectColor: Option<unsafe extern "C" fn(hwnd: HWND, colorOut: *mut c_int) -> c_int>GSC_mainwnd: Option<extern "C" fn(t: c_int) -> c_int>guidToString: Option<unsafe extern "C" fn(g: *const GUID, destNeed64: *mut c_char)>HasExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char) -> bool>HasTrackMIDIPrograms: Option<extern "C" fn(track: c_int) -> *const c_char>HasTrackMIDIProgramsEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack) -> *const c_char>Help_Set: Option<unsafe extern "C" fn(helpstring: *const c_char, is_temporary_help: bool)>HiresPeaksFromSource: Option<unsafe extern "C" fn(src: *mut PCM_source, block: *mut PCM_source_peaktransfer_t)>image_resolve_fn: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int)>InsertAutomationItem: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, pool_id: c_int, position: f64, length: f64) -> c_int>InsertEnvelopePoint: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, time: f64, value: f64, shape: c_int, tension: f64, selected: bool, noSortInOptional: *mut bool) -> bool>InsertEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, time: f64, value: f64, shape: c_int, tension: f64, selected: bool, noSortInOptional: *mut bool) -> bool>InsertMedia: Option<unsafe extern "C" fn(file: *const c_char, mode: c_int) -> c_int>InsertMediaSection: Option<unsafe extern "C" fn(file: *const c_char, mode: c_int, startpct: f64, endpct: f64, pitchshift: f64) -> c_int>InsertTrackAtIndex: Option<extern "C" fn(idx: c_int, wantDefaults: bool)>IsInRealTimeAudio: Option<extern "C" fn() -> c_int>IsItemTakeActiveForPlayback: Option<unsafe extern "C" fn(item: *mut MediaItem, take: *mut MediaItem_Take) -> bool>IsMediaExtension: Option<unsafe extern "C" fn(ext: *const c_char, wantOthers: bool) -> bool>IsMediaItemSelected: Option<unsafe extern "C" fn(item: *mut MediaItem) -> bool>IsProjectDirty: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>IsREAPER: Option<extern "C" fn() -> bool>IsTrackSelected: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> bool>IsTrackVisible: Option<unsafe extern "C" fn(track: *mut MediaTrack, mixer: bool) -> bool>joystick_create: Option<unsafe extern "C" fn(guid: *const GUID) -> *mut joystick_device>joystick_destroy: Option<unsafe extern "C" fn(device: *mut joystick_device)>joystick_enum: Option<unsafe extern "C" fn(index: c_int, namestrOutOptional: *mut *const c_char) -> *const c_char>joystick_getaxis: Option<unsafe extern "C" fn(dev: *mut joystick_device, axis: c_int) -> f64>joystick_getbuttonmask: Option<unsafe extern "C" fn(dev: *mut joystick_device) -> c_uint>joystick_getinfo: Option<unsafe extern "C" fn(dev: *mut joystick_device, axesOutOptional: *mut c_int, povsOutOptional: *mut c_int) -> c_int>joystick_getpov: Option<unsafe extern "C" fn(dev: *mut joystick_device, pov: c_int) -> f64>joystick_update: Option<unsafe extern "C" fn(dev: *mut joystick_device) -> bool>kbd_enumerateActions: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, idx: c_int, nameOut: *mut *const c_char) -> c_int>kbd_formatKeyName: Option<unsafe extern "C" fn(ac: *mut ACCEL, s: *mut c_char)>kbd_getCommandName: Option<unsafe extern "C" fn(cmd: c_int, s: *mut c_char, section: *mut KbdSectionInfo)>kbd_getTextFromCmd: Option<unsafe extern "C" fn(cmd: c_int, section: *mut KbdSectionInfo) -> *const c_char>KBD_OnMainActionEx: Option<unsafe extern "C" fn(cmd: c_int, val: c_int, valhw: c_int, relmode: c_int, hwnd: HWND, proj: *mut ReaProject) -> c_int>kbd_OnMidiEvent: Option<unsafe extern "C" fn(evt: *mut MIDI_event_t, dev_index: c_int)>kbd_OnMidiList: Option<unsafe extern "C" fn(list: *mut MIDI_eventlist, dev_index: c_int)>kbd_ProcessActionsMenu: Option<unsafe extern "C" fn(menu: HMENU, section: *mut KbdSectionInfo)>kbd_processMidiEventActionEx: Option<unsafe extern "C" fn(evt: *mut MIDI_event_t, section: *mut KbdSectionInfo, hwndCtx: HWND) -> bool>kbd_reprocessMenu: Option<unsafe extern "C" fn(menu: HMENU, section: *mut KbdSectionInfo)>kbd_RunCommandThroughHooks: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, actionCommandID: *const c_int, val: *const c_int, valhw: *const c_int, relmode: *const c_int, hwnd: HWND) -> bool>kbd_translateAccelerator: Option<unsafe extern "C" fn(hwnd: HWND, msg: *mut MSG, section: *mut KbdSectionInfo) -> c_int>kbd_translateMouse: Option<unsafe extern "C" fn(winmsg: *mut c_void, midimsg: *mut c_uchar) -> bool>LICE__Destroy: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap)>LICE__DestroyFont: Option<unsafe extern "C" fn(font: *mut LICE_IFont)>LICE__DrawText: Option<unsafe extern "C" fn(font: *mut LICE_IFont, bm: *mut LICE_IBitmap, str: *const c_char, strcnt: c_int, rect: *mut RECT, dtFlags: UINT) -> c_int>LICE__GetBits: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> *mut c_void>LICE__GetDC: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> HDC>LICE__GetHeight: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> c_int>LICE__GetRowSpan: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> c_int>LICE__GetWidth: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> c_int>LICE__IsFlipped: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap) -> bool>LICE__resize: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, w: c_int, h: c_int) -> bool>LICE__SetBkColor: Option<unsafe extern "C" fn(font: *mut LICE_IFont, color: c_uint) -> c_uint>LICE__SetFromHFont: Option<unsafe extern "C" fn(font: *mut LICE_IFont, hfont: *mut HGDIOBJ__, flags: c_int)>LICE__SetTextColor: Option<unsafe extern "C" fn(font: *mut LICE_IFont, color: c_uint) -> c_uint>LICE__SetTextCombineMode: Option<unsafe extern "C" fn(ifont: *mut LICE_IFont, mode: c_int, alpha: f32)>LICE_Arc: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, cx: f32, cy: f32, r: f32, minAngle: f32, maxAngle: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>LICE_Blit: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, srcx: c_int, srcy: c_int, srcw: c_int, srch: c_int, alpha: f32, mode: c_int)>LICE_Blur: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, srcx: c_int, srcy: c_int, srcw: c_int, srch: c_int)>LICE_BorderedRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, bgcolor: c_uint, fgcolor: c_uint, alpha: f32, mode: c_int)>LICE_Circle: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, cx: f32, cy: f32, r: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>LICE_Clear: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, color: c_uint)>LICE_ClearRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, mask: c_uint, orbits: c_uint)>LICE_ClipLine: Option<unsafe extern "C" fn(pX1Out: *mut c_int, pY1Out: *mut c_int, pX2Out: *mut c_int, pY2Out: *mut c_int, xLo: c_int, yLo: c_int, xHi: c_int, yHi: c_int) -> bool>LICE_Copy: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap)>LICE_CreateBitmap: Option<extern "C" fn(mode: c_int, w: c_int, h: c_int) -> *mut LICE_IBitmap>LICE_CreateFont: Option<extern "C" fn() -> *mut LICE_IFont>LICE_DrawCBezier: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, xstart: f64, ystart: f64, xctl1: f64, yctl1: f64, xctl2: f64, yctl2: f64, xend: f64, yend: f64, color: c_uint, alpha: f32, mode: c_int, aa: bool, tol: f64)>LICE_DrawChar: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int, c: c_char, color: c_uint, alpha: f32, mode: c_int)>LICE_DrawGlyph: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, color: c_uint, alphas: *mut c_uchar, glyph_w: c_int, glyph_h: c_int, alpha: f32, mode: c_int)>LICE_DrawRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, color: c_uint, alpha: f32, mode: c_int)>LICE_DrawText: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int, string: *const c_char, color: c_uint, alpha: f32, mode: c_int)>LICE_FillCBezier: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, xstart: f64, ystart: f64, xctl1: f64, yctl1: f64, xctl2: f64, yctl2: f64, xend: f64, yend: f64, yfill: c_int, color: c_uint, alpha: f32, mode: c_int, aa: bool, tol: f64)>LICE_FillCircle: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, cx: f32, cy: f32, r: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>LICE_FillConvexPolygon: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: *mut c_int, y: *mut c_int, npoints: c_int, color: c_uint, alpha: f32, mode: c_int)>LICE_FillRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, color: c_uint, alpha: f32, mode: c_int)>LICE_FillTrapezoid: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1a: c_int, x1b: c_int, y1: c_int, x2a: c_int, x2b: c_int, y2: c_int, color: c_uint, alpha: f32, mode: c_int)>LICE_FillTriangle: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: c_int, y1: c_int, x2: c_int, y2: c_int, x3: c_int, y3: c_int, color: c_uint, alpha: f32, mode: c_int)>LICE_GetPixel: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int) -> c_uint>LICE_GradRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, ir: f32, ig: f32, ib: f32, ia: f32, drdx: f32, dgdx: f32, dbdx: f32, dadx: f32, drdy: f32, dgdy: f32, dbdy: f32, dady: f32, mode: c_int)>LICE_Line: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: f32, y1: f32, x2: f32, y2: f32, color: c_uint, alpha: f32, mode: c_int, aa: bool)>LICE_LineInt: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: c_int, y1: c_int, x2: c_int, y2: c_int, color: c_uint, alpha: f32, mode: c_int, aa: bool)>LICE_LoadPNG: Option<unsafe extern "C" fn(filename: *const c_char, bmp: *mut LICE_IBitmap) -> *mut LICE_IBitmap>LICE_LoadPNGFromResource: Option<unsafe extern "C" fn(hInst: HINSTANCE, resid: *const c_char, bmp: *mut LICE_IBitmap) -> *mut LICE_IBitmap>LICE_MeasureText: Option<unsafe extern "C" fn(string: *const c_char, w: *mut c_int, h: *mut c_int)>LICE_MultiplyAddRect: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, w: c_int, h: c_int, rsc: f32, gsc: f32, bsc: f32, asc: f32, radd: f32, gadd: f32, badd: f32, aadd: f32)>LICE_PutPixel: Option<unsafe extern "C" fn(bm: *mut LICE_IBitmap, x: c_int, y: c_int, color: c_uint, alpha: f32, mode: c_int)>LICE_RotatedBlit: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, srcx: f32, srcy: f32, srcw: f32, srch: f32, angle: f32, cliptosourcerect: bool, alpha: f32, mode: c_int, rotxcent: f32, rotycent: f32)>LICE_RoundRect: Option<unsafe extern "C" fn(drawbm: *mut LICE_IBitmap, xpos: f32, ypos: f32, w: f32, h: f32, cornerradius: c_int, col: c_uint, alpha: f32, mode: c_int, aa: bool)>LICE_ScaledBlit: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut LICE_IBitmap, dstx: c_int, dsty: c_int, dstw: c_int, dsth: c_int, srcx: f32, srcy: f32, srcw: f32, srch: f32, alpha: f32, mode: c_int)>LICE_SimpleFill: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x: c_int, y: c_int, newcolor: c_uint, comparemask: c_uint, keepmask: c_uint)>LICE_ThickFLine: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, x1: f64, y1: f64, x2: f64, y2: f64, color: c_uint, alpha: f32, mode: c_int, wid: c_int)>LocalizeString: Option<unsafe extern "C" fn(src_string: *const c_char, section: *const c_char, flagsOptional: c_int) -> *const c_char>Loop_OnArrow: Option<unsafe extern "C" fn(project: *mut ReaProject, direction: c_int) -> bool>Main_OnCommand: Option<extern "C" fn(command: c_int, flag: c_int)>Main_OnCommandEx: Option<unsafe extern "C" fn(command: c_int, flag: c_int, proj: *mut ReaProject)>Main_openProject: Option<unsafe extern "C" fn(name: *const c_char)>Main_SaveProject: Option<unsafe extern "C" fn(proj: *mut ReaProject, forceSaveAsInOptional: bool)>Main_SaveProjectEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, filename: *const c_char, options: c_int)>Main_UpdateLoopInfo: Option<extern "C" fn(ignoremask: c_int)>MarkProjectDirty: Option<unsafe extern "C" fn(proj: *mut ReaProject)>MarkTrackItemsDirty: Option<unsafe extern "C" fn(track: *mut MediaTrack, item: *mut MediaItem)>Master_GetPlayRate: Option<unsafe extern "C" fn(project: *mut ReaProject) -> f64>Master_GetPlayRateAtTime: Option<unsafe extern "C" fn(time_s: f64, proj: *mut ReaProject) -> f64>Master_GetTempo: Option<extern "C" fn() -> f64>Master_NormalizePlayRate: Option<extern "C" fn(playrate: f64, isnormalized: bool) -> f64>Master_NormalizeTempo: Option<extern "C" fn(bpm: f64, isnormalized: bool) -> f64>MB: Option<unsafe extern "C" fn(msg: *const c_char, title: *const c_char, type_: c_int) -> c_int>MediaItemDescendsFromTrack: Option<unsafe extern "C" fn(item: *mut MediaItem, track: *mut MediaTrack) -> c_int>MIDI_CountEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, notecntOut: *mut c_int, ccevtcntOut: *mut c_int, textsyxevtcntOut: *mut c_int) -> c_int>MIDI_DeleteCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int) -> bool>MIDI_DeleteEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int) -> bool>MIDI_DeleteNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int) -> bool>MIDI_DeleteTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxevtidx: c_int) -> bool>MIDI_DisableSort: Option<unsafe extern "C" fn(take: *mut MediaItem_Take)>MIDI_EnumSelCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int) -> c_int>MIDI_EnumSelEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int) -> c_int>MIDI_EnumSelNotes: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int) -> c_int>MIDI_EnumSelTextSysexEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxidx: c_int) -> c_int>MIDI_eventlist_Create: Option<extern "C" fn() -> *mut MIDI_eventlist>MIDI_eventlist_Destroy: Option<unsafe extern "C" fn(evtlist: *mut MIDI_eventlist)>MIDI_GetAllEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: *mut c_int) -> bool>MIDI_GetCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, selectedOut: *mut bool, mutedOut: *mut bool, ppqposOut: *mut f64, chanmsgOut: *mut c_int, chanOut: *mut c_int, msg2Out: *mut c_int, msg3Out: *mut c_int) -> bool>MIDI_GetCCShape: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, shapeOut: *mut c_int, beztensionOut: *mut f64) -> bool>MIDI_GetEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int, selectedOut: *mut bool, mutedOut: *mut bool, ppqposOut: *mut f64, msgOut: *mut c_char, msgOut_sz: *mut c_int) -> bool>MIDI_GetGrid: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, swingOutOptional: *mut f64, noteLenOutOptional: *mut f64) -> f64>MIDI_GetHash: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, notesonly: bool, hashOut: *mut c_char, hashOut_sz: c_int) -> bool>MIDI_GetNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int, selectedOut: *mut bool, mutedOut: *mut bool, startppqposOut: *mut f64, endppqposOut: *mut f64, chanOut: *mut c_int, pitchOut: *mut c_int, velOut: *mut c_int) -> bool>MIDI_GetPPQPos_EndOfMeasure: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>MIDI_GetPPQPos_StartOfMeasure: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>MIDI_GetPPQPosFromProjQN: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, projqn: f64) -> f64>MIDI_GetPPQPosFromProjTime: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, projtime: f64) -> f64>MIDI_GetProjQNFromPPQPos: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>MIDI_GetProjTimeFromPPQPos: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ppqpos: f64) -> f64>MIDI_GetRecentInputEvent: Option<unsafe extern "C" fn(idx: c_int, bufOut: *mut c_char, bufOut_sz: *mut c_int, tsOut: *mut c_int, devIdxOut: *mut c_int, projPosOut: *mut f64, projLoopCntOut: *mut c_int) -> c_int>MIDI_GetScale: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, rootOut: *mut c_int, scaleOut: *mut c_int, nameOut: *mut c_char, nameOut_sz: c_int) -> bool>MIDI_GetTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxevtidx: c_int, selectedOutOptional: *mut bool, mutedOutOptional: *mut bool, ppqposOutOptional: *mut f64, typeOutOptional: *mut c_int, msgOptional: *mut c_char, msgOptional_sz: *mut c_int) -> bool>MIDI_GetTrackHash: Option<unsafe extern "C" fn(track: *mut MediaTrack, notesonly: bool, hashOut: *mut c_char, hashOut_sz: c_int) -> bool>midi_init: Option<extern "C" fn(force_reinit_input: c_int, force_reinit_output: c_int)>MIDI_InsertCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, chanmsg: c_int, chan: c_int, msg2: c_int, msg3: c_int) -> bool>MIDI_InsertEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, bytestr: *const c_char, bytestr_sz: c_int) -> bool>MIDI_InsertNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, startppqpos: f64, endppqpos: f64, chan: c_int, pitch: c_int, vel: c_int, noSortInOptional: *const bool) -> bool>MIDI_InsertTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, selected: bool, muted: bool, ppqpos: f64, type_: c_int, bytestr: *const c_char, bytestr_sz: c_int) -> bool>midi_reinit: Option<extern "C" fn()>MIDI_SelectAll: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, select: bool)>MIDI_SetAllEvts: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, buf: *const c_char, buf_sz: c_int) -> bool>MIDI_SetCC: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, ppqposInOptional: *const f64, chanmsgInOptional: *const c_int, chanInOptional: *const c_int, msg2InOptional: *const c_int, msg3InOptional: *const c_int, noSortInOptional: *const bool) -> bool>MIDI_SetCCShape: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, ccidx: c_int, shape: c_int, beztension: f64, noSortInOptional: *const bool) -> bool>MIDI_SetEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, evtidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, ppqposInOptional: *const f64, msgOptional: *const c_char, msgOptional_sz: c_int, noSortInOptional: *const bool) -> bool>MIDI_SetItemExtents: Option<unsafe extern "C" fn(item: *mut MediaItem, startQN: f64, endQN: f64) -> bool>MIDI_SetNote: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, noteidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, startppqposInOptional: *const f64, endppqposInOptional: *const f64, chanInOptional: *const c_int, pitchInOptional: *const c_int, velInOptional: *const c_int, noSortInOptional: *const bool) -> bool>MIDI_SetTextSysexEvt: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, textsyxevtidx: c_int, selectedInOptional: *const bool, mutedInOptional: *const bool, ppqposInOptional: *const f64, typeInOptional: *const c_int, msgOptional: *const c_char, msgOptional_sz: c_int, noSortInOptional: *const bool) -> bool>MIDI_Sort: Option<unsafe extern "C" fn(take: *mut MediaItem_Take)>MIDIEditor_EnumTakes: Option<unsafe extern "C" fn(midieditor: HWND, takeindex: c_int, editable_only: bool) -> *mut MediaItem_Take>MIDIEditor_GetActive: Option<extern "C" fn() -> HWND>MIDIEditor_GetMode: Option<unsafe extern "C" fn(midieditor: HWND) -> c_int>MIDIEditor_GetSetting_int: Option<unsafe extern "C" fn(midieditor: HWND, setting_desc: *const c_char) -> c_int>MIDIEditor_GetSetting_str: Option<unsafe extern "C" fn(midieditor: HWND, setting_desc: *const c_char, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>MIDIEditor_GetTake: Option<unsafe extern "C" fn(midieditor: HWND) -> *mut MediaItem_Take>MIDIEditor_LastFocused_OnCommand: Option<extern "C" fn(command_id: c_int, islistviewcommand: bool) -> bool>MIDIEditor_OnCommand: Option<unsafe extern "C" fn(midieditor: HWND, command_id: c_int) -> bool>MIDIEditor_SetSetting_int: Option<unsafe extern "C" fn(midieditor: HWND, setting_desc: *const c_char, setting: c_int) -> bool>mkpanstr: Option<unsafe extern "C" fn(strNeed64: *mut c_char, pan: f64)>mkvolpanstr: Option<unsafe extern "C" fn(strNeed64: *mut c_char, vol: f64, pan: f64)>mkvolstr: Option<unsafe extern "C" fn(strNeed64: *mut c_char, vol: f64)>MoveEditCursor: Option<extern "C" fn(adjamt: f64, dosel: bool)>MoveMediaItemToTrack: Option<unsafe extern "C" fn(item: *mut MediaItem, desttr: *mut MediaTrack) -> bool>MuteAllTracks: Option<extern "C" fn(mute: bool)>my_getViewport: Option<unsafe extern "C" fn(r: *mut RECT, sr: *const RECT, wantWorkArea: bool)>NamedCommandLookup: Option<unsafe extern "C" fn(command_name: *const c_char) -> c_int>OnPauseButton: Option<extern "C" fn()>OnPauseButtonEx: Option<unsafe extern "C" fn(proj: *mut ReaProject)>OnPlayButton: Option<extern "C" fn()>OnPlayButtonEx: Option<unsafe extern "C" fn(proj: *mut ReaProject)>OnStopButton: Option<extern "C" fn()>OnStopButtonEx: Option<unsafe extern "C" fn(proj: *mut ReaProject)>OpenColorThemeFile: Option<unsafe extern "C" fn(fn_: *const c_char) -> bool>OpenMediaExplorer: Option<unsafe extern "C" fn(mediafn: *const c_char, play: bool) -> HWND>OscLocalMessageToHost: Option<unsafe extern "C" fn(message: *const c_char, valueInOptional: *const f64)>parse_timestr: Option<unsafe extern "C" fn(buf: *const c_char) -> f64>parse_timestr_len: Option<unsafe extern "C" fn(buf: *const c_char, offset: f64, modeoverride: c_int) -> f64>parse_timestr_pos: Option<unsafe extern "C" fn(buf: *const c_char, modeoverride: c_int) -> f64>parsepanstr: Option<unsafe extern "C" fn(str: *const c_char) -> f64>PCM_Sink_Create: Option<unsafe extern "C" fn(filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, nch: c_int, srate: c_int, buildpeaks: bool) -> *mut PCM_sink>PCM_Sink_CreateEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, nch: c_int, srate: c_int, buildpeaks: bool) -> *mut PCM_sink>PCM_Sink_CreateMIDIFile: Option<unsafe extern "C" fn(filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, bpm: f64, div: c_int) -> *mut PCM_sink>PCM_Sink_CreateMIDIFileEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, filename: *const c_char, cfg: *const c_char, cfg_sz: c_int, bpm: f64, div: c_int) -> *mut PCM_sink>PCM_Sink_Enum: Option<unsafe extern "C" fn(idx: c_int, descstrOut: *mut *const c_char) -> c_uint>PCM_Sink_GetExtension: Option<unsafe extern "C" fn(data: *const c_char, data_sz: c_int) -> *const c_char>PCM_Sink_ShowConfig: Option<unsafe extern "C" fn(cfg: *const c_char, cfg_sz: c_int, hwndParent: HWND) -> HWND>PCM_Source_BuildPeaks: Option<unsafe extern "C" fn(src: *mut PCM_source, mode: c_int) -> c_int>PCM_Source_CreateFromFile: Option<unsafe extern "C" fn(filename: *const c_char) -> *mut PCM_source>PCM_Source_CreateFromFileEx: Option<unsafe extern "C" fn(filename: *const c_char, forcenoMidiImp: bool) -> *mut PCM_source>PCM_Source_CreateFromSimple: Option<unsafe extern "C" fn(dec: *mut ISimpleMediaDecoder, fn_: *const c_char) -> *mut PCM_source>PCM_Source_CreateFromType: Option<unsafe extern "C" fn(sourcetype: *const c_char) -> *mut PCM_source>PCM_Source_Destroy: Option<unsafe extern "C" fn(src: *mut PCM_source)>PCM_Source_GetPeaks: Option<unsafe extern "C" fn(src: *mut PCM_source, peakrate: f64, starttime: f64, numchannels: c_int, numsamplesperchannel: c_int, want_extra_type: c_int, buf: *mut f64) -> c_int>PCM_Source_GetSectionInfo: Option<unsafe extern "C" fn(src: *mut PCM_source, offsOut: *mut f64, lenOut: *mut f64, revOut: *mut bool) -> bool>PeakBuild_Create: Option<unsafe extern "C" fn(src: *mut PCM_source, fn_: *const c_char, srate: c_int, nch: c_int) -> *mut REAPER_PeakBuild_Interface>PeakBuild_CreateEx: Option<unsafe extern "C" fn(src: *mut PCM_source, fn_: *const c_char, srate: c_int, nch: c_int, flags: c_int) -> *mut REAPER_PeakBuild_Interface>PeakGet_Create: Option<unsafe extern "C" fn(fn_: *const c_char, srate: c_int, nch: c_int) -> *mut REAPER_PeakGet_Interface>PitchShiftSubModeMenu: Option<unsafe extern "C" fn(hwnd: HWND, x: c_int, y: c_int, mode: c_int, submode_sel: c_int) -> c_int>PlayPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>PlayPreviewEx: Option<unsafe extern "C" fn(preview: *mut preview_register_t, bufflags: c_int, measure_align: f64) -> c_int>PlayTrackPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>PlayTrackPreview2: Option<unsafe extern "C" fn(proj: *mut ReaProject, preview: *mut preview_register_t) -> c_int>PlayTrackPreview2Ex: Option<unsafe extern "C" fn(proj: *mut ReaProject, preview: *mut preview_register_t, flags: c_int, measure_align: f64) -> c_int>plugin_getapi: Option<unsafe extern "C" fn(name: *const c_char) -> *mut c_void>plugin_getFilterList: Option<extern "C" fn() -> *const c_char>plugin_getImportableProjectFilterList: Option<extern "C" fn() -> *const c_char>plugin_register: Option<unsafe extern "C" fn(name: *const c_char, infostruct: *mut c_void) -> c_int>PluginWantsAlwaysRunFx: Option<extern "C" fn(amt: c_int)>PreventUIRefresh: Option<extern "C" fn(prevent_count: c_int)>projectconfig_var_addr: Option<unsafe extern "C" fn(proj: *mut ReaProject, idx: c_int) -> *mut c_void>projectconfig_var_getoffs: Option<unsafe extern "C" fn(name: *const c_char, szOut: *mut c_int) -> c_int>PromptForAction: Option<extern "C" fn(session_mode: c_int, init_id: c_int, section_id: c_int) -> c_int>realloc_cmd_clear: Option<extern "C" fn(tok: c_int)>realloc_cmd_ptr: Option<unsafe extern "C" fn(ptr: *mut *mut c_char, ptr_size: *mut c_int, new_size: c_int) -> bool>realloc_cmd_register_buf: Option<unsafe extern "C" fn(ptr: *mut *mut c_char, ptr_size: *mut c_int) -> c_int>ReaperGetPitchShiftAPI: Option<extern "C" fn(version: c_int) -> *mut IReaperPitchShift>ReaScriptError: Option<unsafe extern "C" fn(errmsg: *const c_char)>RecursiveCreateDirectory: Option<unsafe extern "C" fn(path: *const c_char, ignored: usize) -> c_int>reduce_open_files: Option<extern "C" fn(flags: c_int) -> c_int>RefreshToolbar: Option<extern "C" fn(command_id: c_int)>RefreshToolbar2: Option<extern "C" fn(section_id: c_int, command_id: c_int)>relative_fn: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int)>RemoveTrackSend: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int) -> bool>RenderFileSection: Option<unsafe extern "C" fn(source_filename: *const c_char, target_filename: *const c_char, start_percent: f64, end_percent: f64, playrate: f64) -> bool>ReorderSelectedTracks: Option<extern "C" fn(beforeTrackIdx: c_int, makePrevFolder: c_int) -> bool>Resample_EnumModes: Option<extern "C" fn(mode: c_int) -> *const c_char>Resampler_Create: Option<extern "C" fn() -> *mut REAPER_Resample_Interface>resolve_fn: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int)>resolve_fn2: Option<unsafe extern "C" fn(in_: *const c_char, out: *mut c_char, out_sz: c_int, checkSubDirOptional: *const c_char)>ResolveRenderPattern: Option<unsafe extern "C" fn(project: *mut ReaProject, path: *const c_char, pattern: *const c_char, targets: *mut c_char, targets_sz: c_int) -> c_int>ReverseNamedCommandLookup: Option<extern "C" fn(command_id: c_int) -> *const c_char>ScaleFromEnvelopeMode: Option<extern "C" fn(scaling_mode: c_int, val: f64) -> f64>ScaleToEnvelopeMode: Option<extern "C" fn(scaling_mode: c_int, val: f64) -> f64>screenset_register: Option<unsafe extern "C" fn(id: *mut c_char, callbackFunc: *mut c_void, param: *mut c_void)>screenset_registerNew: Option<unsafe extern "C" fn(id: *mut c_char, callbackFunc: Option<unsafe extern "C" fn(action: c_int, id: *const c_char, param: *mut c_void, actionParm: *mut c_void, actionParmSize: c_int) -> LRESULT>, param: *mut c_void)>screenset_unregister: Option<unsafe extern "C" fn(id: *mut c_char)>screenset_unregisterByParam: Option<unsafe extern "C" fn(param: *mut c_void)>screenset_updateLastFocus: Option<unsafe extern "C" fn(prevWin: HWND)>SectionFromUniqueID: Option<extern "C" fn(uniqueID: c_int) -> *mut KbdSectionInfo>SelectAllMediaItems: Option<unsafe extern "C" fn(proj: *mut ReaProject, selected: bool)>SelectProjectInstance: Option<unsafe extern "C" fn(proj: *mut ReaProject)>SendLocalOscMessage: Option<unsafe extern "C" fn(local_osc_handler: *mut c_void, msg: *const c_char, msglen: c_int)>SetActiveTake: Option<unsafe extern "C" fn(take: *mut MediaItem_Take)>SetAutomationMode: Option<extern "C" fn(mode: c_int, onlySel: bool)>SetCurrentBPM: Option<unsafe extern "C" fn(__proj: *mut ReaProject, bpm: f64, wantUndo: bool)>SetCursorContext: Option<unsafe extern "C" fn(mode: c_int, envInOptional: *mut TrackEnvelope)>SetEditCurPos: Option<extern "C" fn(time: f64, moveview: bool, seekplay: bool)>SetEditCurPos2: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, moveview: bool, seekplay: bool)>SetEnvelopePoint: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, ptidx: c_int, timeInOptional: *mut f64, valueInOptional: *mut f64, shapeInOptional: *mut c_int, tensionInOptional: *mut f64, selectedInOptional: *mut bool, noSortInOptional: *mut bool) -> bool>SetEnvelopePointEx: Option<unsafe extern "C" fn(envelope: *mut TrackEnvelope, autoitem_idx: c_int, ptidx: c_int, timeInOptional: *mut f64, valueInOptional: *mut f64, shapeInOptional: *mut c_int, tensionInOptional: *mut f64, selectedInOptional: *mut bool, noSortInOptional: *mut bool) -> bool>SetEnvelopeStateChunk: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, str: *const c_char, isundoOptional: bool) -> bool>SetExtState: Option<unsafe extern "C" fn(section: *const c_char, key: *const c_char, value: *const c_char, persist: bool)>SetGlobalAutomationOverride: Option<extern "C" fn(mode: c_int)>SetItemStateChunk: Option<unsafe extern "C" fn(item: *mut MediaItem, str: *const c_char, isundoOptional: bool) -> bool>SetMasterTrackVisibility: Option<extern "C" fn(flag: c_int) -> c_int>SetMediaItemInfo_Value: Option<unsafe extern "C" fn(item: *mut MediaItem, parmname: *const c_char, newvalue: f64) -> bool>SetMediaItemLength: Option<unsafe extern "C" fn(item: *mut MediaItem, length: f64, refreshUI: bool) -> bool>SetMediaItemPosition: Option<unsafe extern "C" fn(item: *mut MediaItem, position: f64, refreshUI: bool) -> bool>SetMediaItemSelected: Option<unsafe extern "C" fn(item: *mut MediaItem, selected: bool)>SetMediaItemTake_Source: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, source: *mut PCM_source) -> bool>SetMediaItemTakeInfo_Value: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, parmname: *const c_char, newvalue: f64) -> bool>SetMediaTrackInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, parmname: *const c_char, newvalue: f64) -> bool>SetMIDIEditorGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, division: f64)>SetMixerScroll: Option<unsafe extern "C" fn(leftmosttrack: *mut MediaTrack) -> *mut MediaTrack>SetMouseModifier: Option<unsafe extern "C" fn(context: *const c_char, modifier_flag: c_int, action: *const c_char)>SetOnlyTrackSelected: Option<unsafe extern "C" fn(track: *mut MediaTrack)>SetProjectGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, division: f64)>SetProjectMarker: Option<unsafe extern "C" fn(markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char) -> bool>SetProjectMarker2: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char) -> bool>SetProjectMarker3: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, color: c_int) -> bool>SetProjectMarker4: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnindexnumber: c_int, isrgn: bool, pos: f64, rgnend: f64, name: *const c_char, color: c_int, flags: c_int) -> bool>SetProjectMarkerByIndex: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnidx: c_int, isrgn: bool, pos: f64, rgnend: f64, IDnumber: c_int, name: *const c_char, color: c_int) -> bool>SetProjectMarkerByIndex2: Option<unsafe extern "C" fn(proj: *mut ReaProject, markrgnidx: c_int, isrgn: bool, pos: f64, rgnend: f64, IDnumber: c_int, name: *const c_char, color: c_int, flags: c_int) -> bool>SetProjExtState: Option<unsafe extern "C" fn(proj: *mut ReaProject, extname: *const c_char, key: *const c_char, value: *const c_char) -> c_int>SetRegionRenderMatrix: Option<unsafe extern "C" fn(proj: *mut ReaProject, regionindex: c_int, track: *mut MediaTrack, flag: c_int)>SetRenderLastError: Option<unsafe extern "C" fn(errorstr: *const c_char)>SetTakeMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, nameIn: *const c_char, srcposInOptional: *mut f64, colorInOptional: *mut c_int) -> c_int>SetTakeStretchMarker: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, pos: f64, srcposInOptional: *const f64) -> c_int>SetTakeStretchMarkerSlope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, idx: c_int, slope: f64) -> bool>SetTempoTimeSigMarker: Option<unsafe extern "C" fn(proj: *mut ReaProject, ptidx: c_int, timepos: f64, measurepos: c_int, beatpos: f64, bpm: f64, timesig_num: c_int, timesig_denom: c_int, lineartempo: bool) -> bool>SetThemeColor: Option<unsafe extern "C" fn(ini_key: *const c_char, color: c_int, flagsOptional: c_int) -> c_int>SetToggleCommandState: Option<extern "C" fn(section_id: c_int, command_id: c_int, state: c_int) -> bool>SetTrackAutomationMode: Option<unsafe extern "C" fn(tr: *mut MediaTrack, mode: c_int)>SetTrackColor: Option<unsafe extern "C" fn(track: *mut MediaTrack, color: c_int)>SetTrackMIDILyrics: Option<unsafe extern "C" fn(track: *mut MediaTrack, flag: c_int, str: *const c_char) -> bool>SetTrackMIDINoteName: Option<unsafe extern "C" fn(track: c_int, pitch: c_int, chan: c_int, name: *const c_char) -> bool>SetTrackMIDINoteNameEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, track: *mut MediaTrack, pitch: c_int, chan: c_int, name: *const c_char) -> bool>SetTrackSelected: Option<unsafe extern "C" fn(track: *mut MediaTrack, selected: bool)>SetTrackSendInfo_Value: Option<unsafe extern "C" fn(tr: *mut MediaTrack, category: c_int, sendidx: c_int, parmname: *const c_char, newvalue: f64) -> bool>SetTrackSendUIPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_idx: c_int, pan: f64, isend: c_int) -> bool>SetTrackSendUIVol: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_idx: c_int, vol: f64, isend: c_int) -> bool>SetTrackStateChunk: Option<unsafe extern "C" fn(track: *mut MediaTrack, str: *const c_char, isundoOptional: bool) -> bool>SetTrackUIInputMonitor: Option<unsafe extern "C" fn(track: *mut MediaTrack, monitor: c_int, igngroupflags: c_int) -> c_int>SetTrackUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, mute: c_int, igngroupflags: c_int) -> c_int>SetTrackUIPan: Option<unsafe extern "C" fn(track: *mut MediaTrack, pan: f64, relative: bool, done: bool, igngroupflags: c_int) -> f64>SetTrackUIPolarity: Option<unsafe extern "C" fn(track: *mut MediaTrack, polarity: c_int, igngroupflags: c_int) -> c_int>SetTrackUIRecArm: Option<unsafe extern "C" fn(track: *mut MediaTrack, recarm: c_int, igngroupflags: c_int) -> c_int>SetTrackUISolo: Option<unsafe extern "C" fn(track: *mut MediaTrack, solo: c_int, igngroupflags: c_int) -> c_int>SetTrackUIVolume: Option<unsafe extern "C" fn(track: *mut MediaTrack, volume: f64, relative: bool, done: bool, igngroupflags: c_int) -> f64>SetTrackUIWidth: Option<unsafe extern "C" fn(track: *mut MediaTrack, width: f64, relative: bool, done: bool, igngroupflags: c_int) -> f64>ShowActionList: Option<unsafe extern "C" fn(caller: *mut KbdSectionInfo, callerWnd: HWND)>ShowConsoleMsg: Option<unsafe extern "C" fn(msg: *const c_char)>ShowMessageBox: Option<unsafe extern "C" fn(msg: *const c_char, title: *const c_char, type_: c_int) -> c_int>ShowPopupMenu: Option<unsafe extern "C" fn(name: *const c_char, x: c_int, y: c_int, hwndParentOptional: HWND, ctxOptional: *mut c_void, ctx2Optional: c_int, ctx3Optional: c_int)>SLIDER2DB: Option<extern "C" fn(y: f64) -> f64>SnapToGrid: Option<unsafe extern "C" fn(project: *mut ReaProject, time_pos: f64) -> f64>SoloAllTracks: Option<extern "C" fn(solo: c_int)>Splash_GetWnd: Option<extern "C" fn() -> HWND>SplitMediaItem: Option<unsafe extern "C" fn(item: *mut MediaItem, position: f64) -> *mut MediaItem>StopPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>StopTrackPreview: Option<unsafe extern "C" fn(preview: *mut preview_register_t) -> c_int>StopTrackPreview2: Option<unsafe extern "C" fn(proj: *mut ReaProject, preview: *mut preview_register_t) -> c_int>stringToGuid: Option<unsafe extern "C" fn(str: *const c_char, g: *mut GUID)>StuffMIDIMessage: Option<extern "C" fn(mode: c_int, msg1: c_int, msg2: c_int, msg3: c_int)>TakeFX_AddByName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fxname: *const c_char, instantiate: c_int) -> c_int>TakeFX_CopyToTake: Option<unsafe extern "C" fn(src_take: *mut MediaItem_Take, src_fx: c_int, dest_take: *mut MediaItem_Take, dest_fx: c_int, is_move: bool)>TakeFX_CopyToTrack: Option<unsafe extern "C" fn(src_take: *mut MediaItem_Take, src_fx: c_int, dest_track: *mut MediaTrack, dest_fx: c_int, is_move: bool)>TakeFX_Delete: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>TakeFX_EndParamEdit: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int) -> bool>TakeFX_FormatParamValue: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, val: f64, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TakeFX_FormatParamValueNormalized: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, value: f64, buf: *mut c_char, buf_sz: c_int) -> bool>TakeFX_GetChainVisible: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>TakeFX_GetCount: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> c_int>TakeFX_GetEnabled: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>TakeFX_GetEnvelope: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fxindex: c_int, parameterindex: c_int, create: bool) -> *mut TrackEnvelope>TakeFX_GetFloatingWindow: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, index: c_int) -> HWND>TakeFX_GetFormattedParamValue: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TakeFX_GetFXGUID: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> *mut GUID>TakeFX_GetFXName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TakeFX_GetIOSize: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, inputPinsOut: *mut c_int, outputPinsOut: *mut c_int) -> c_int>TakeFX_GetNamedConfigParm: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, parmname: *const c_char, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: c_int) -> bool>TakeFX_GetNumParams: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> c_int>TakeFX_GetOffline: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>TakeFX_GetOpen: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int) -> bool>TakeFX_GetParam: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64) -> f64>TakeFX_GetParameterStepSizes: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, stepOut: *mut f64, smallstepOut: *mut f64, largestepOut: *mut f64, istoggleOut: *mut bool) -> bool>TakeFX_GetParamEx: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64, midvalOut: *mut f64) -> f64>TakeFX_GetParamFromIdent: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, ident_str: *const c_char) -> c_int>TakeFX_GetParamIdent: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TakeFX_GetParamName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TakeFX_GetParamNormalized: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int) -> f64>TakeFX_GetPinMappings: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, high32Out: *mut c_int) -> c_int>TakeFX_GetPreset: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetnameOut: *mut c_char, presetnameOut_sz: c_int) -> bool>TakeFX_GetPresetIndex: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, numberOfPresetsOut: *mut c_int) -> c_int>TakeFX_GetUserPresetFilename: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, fnOut: *mut c_char, fnOut_sz: c_int)>TakeFX_NavigatePresets: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetmove: c_int) -> bool>TakeFX_SetEnabled: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, enabled: bool)>TakeFX_SetNamedConfigParm: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, parmname: *const c_char, value: *const c_char) -> bool>TakeFX_SetOffline: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, offline: bool)>TakeFX_SetOpen: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, open: bool)>TakeFX_SetParam: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, val: f64) -> bool>TakeFX_SetParamNormalized: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, value: f64) -> bool>TakeFX_SetPinMappings: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, low32bits: c_int, hi32bits: c_int) -> bool>TakeFX_SetPreset: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetname: *const c_char) -> bool>TakeFX_SetPresetByIndex: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, idx: c_int) -> bool>TakeFX_Show: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, index: c_int, showFlag: c_int)>TakeIsMIDI: Option<unsafe extern "C" fn(take: *mut MediaItem_Take) -> bool>ThemeLayout_GetLayout: Option<unsafe extern "C" fn(section: *const c_char, idx: c_int, nameOut: *mut c_char, nameOut_sz: c_int) -> bool>ThemeLayout_GetParameter: Option<unsafe extern "C" fn(wp: c_int, descOutOptional: *mut *const c_char, valueOutOptional: *mut c_int, defValueOutOptional: *mut c_int, minValueOutOptional: *mut c_int, maxValueOutOptional: *mut c_int) -> *const c_char>ThemeLayout_RefreshAll: Option<extern "C" fn()>ThemeLayout_SetLayout: Option<unsafe extern "C" fn(section: *const c_char, layout: *const c_char) -> bool>ThemeLayout_SetParameter: Option<extern "C" fn(wp: c_int, value: c_int, persist: bool) -> bool>time_precise: Option<extern "C" fn() -> f64>TimeMap2_beatsToTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64, measuresInOptional: *const c_int) -> f64>TimeMap2_GetDividedBpmAtTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64) -> f64>TimeMap2_GetNextChangeTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64) -> f64>TimeMap2_QNToTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, qn: f64) -> f64>TimeMap2_timeToBeats: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64, measuresOutOptional: *mut c_int, cmlOutOptional: *mut c_int, fullbeatsOutOptional: *mut f64, cdenomOutOptional: *mut c_int) -> f64>TimeMap2_timeToQN: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64) -> f64>TimeMap_curFrameRate: Option<unsafe extern "C" fn(proj: *mut ReaProject, dropFrameOut: *mut bool) -> f64>TimeMap_GetDividedBpmAtTime: Option<extern "C" fn(time: f64) -> f64>TimeMap_GetMeasureInfo: Option<unsafe extern "C" fn(proj: *mut ReaProject, measure: c_int, qn_startOut: *mut f64, qn_endOut: *mut f64, timesig_numOut: *mut c_int, timesig_denomOut: *mut c_int, tempoOut: *mut f64) -> f64>TimeMap_GetMetronomePattern: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, pattern: *mut c_char, pattern_sz: c_int) -> c_int>TimeMap_GetTimeSigAtTime: Option<unsafe extern "C" fn(proj: *mut ReaProject, time: f64, timesig_numOut: *mut c_int, timesig_denomOut: *mut c_int, tempoOut: *mut f64)>TimeMap_QNToMeasures: Option<unsafe extern "C" fn(proj: *mut ReaProject, qn: f64, qnMeasureStartOutOptional: *mut f64, qnMeasureEndOutOptional: *mut f64) -> c_int>TimeMap_QNToTime: Option<extern "C" fn(qn: f64) -> f64>TimeMap_QNToTime_abs: Option<unsafe extern "C" fn(proj: *mut ReaProject, qn: f64) -> f64>TimeMap_timeToQN: Option<extern "C" fn(tpos: f64) -> f64>TimeMap_timeToQN_abs: Option<unsafe extern "C" fn(proj: *mut ReaProject, tpos: f64) -> f64>ToggleTrackSendUIMute: Option<unsafe extern "C" fn(track: *mut MediaTrack, send_idx: c_int) -> bool>Track_GetPeakHoldDB: Option<unsafe extern "C" fn(track: *mut MediaTrack, channel: c_int, clear: bool) -> f64>Track_GetPeakInfo: Option<unsafe extern "C" fn(track: *mut MediaTrack, channel: c_int) -> f64>TrackCtl_SetToolTip: Option<unsafe extern "C" fn(fmt: *const c_char, xpos: c_int, ypos: c_int, topmost: bool)>TrackFX_AddByName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxname: *const c_char, recFX: bool, instantiate: c_int) -> c_int>TrackFX_CopyToTake: Option<unsafe extern "C" fn(src_track: *mut MediaTrack, src_fx: c_int, dest_take: *mut MediaItem_Take, dest_fx: c_int, is_move: bool)>TrackFX_CopyToTrack: Option<unsafe extern "C" fn(src_track: *mut MediaTrack, src_fx: c_int, dest_track: *mut MediaTrack, dest_fx: c_int, is_move: bool)>TrackFX_Delete: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>TrackFX_EndParamEdit: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int) -> bool>TrackFX_FormatParamValue: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, val: f64, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TrackFX_FormatParamValueNormalized: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, value: f64, buf: *mut c_char, buf_sz: c_int) -> bool>TrackFX_GetByName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxname: *const c_char, instantiate: bool) -> c_int>TrackFX_GetChainVisible: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>TrackFX_GetCount: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>TrackFX_GetEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>TrackFX_GetEQ: Option<unsafe extern "C" fn(track: *mut MediaTrack, instantiate: bool) -> c_int>TrackFX_GetEQBandEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int) -> bool>TrackFX_GetEQParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, paramidx: c_int, bandtypeOut: *mut c_int, bandidxOut: *mut c_int, paramtypeOut: *mut c_int, normvalOut: *mut f64) -> bool>TrackFX_GetFloatingWindow: Option<unsafe extern "C" fn(track: *mut MediaTrack, index: c_int) -> HWND>TrackFX_GetFormattedParamValue: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TrackFX_GetFXGUID: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> *mut GUID>TrackFX_GetFXName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TrackFX_GetInstrument: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>TrackFX_GetIOSize: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, inputPinsOut: *mut c_int, outputPinsOut: *mut c_int) -> c_int>TrackFX_GetNamedConfigParm: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, parmname: *const c_char, bufOutNeedBig: *mut c_char, bufOutNeedBig_sz: c_int) -> bool>TrackFX_GetNumParams: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> c_int>TrackFX_GetOffline: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>TrackFX_GetOpen: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int) -> bool>TrackFX_GetParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64) -> f64>TrackFX_GetParameterStepSizes: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, stepOut: *mut f64, smallstepOut: *mut f64, largestepOut: *mut f64, istoggleOut: *mut bool) -> bool>TrackFX_GetParamEx: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, minvalOut: *mut f64, maxvalOut: *mut f64, midvalOut: *mut f64) -> f64>TrackFX_GetParamFromIdent: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, ident_str: *const c_char) -> c_int>TrackFX_GetParamIdent: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TrackFX_GetParamName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, bufOut: *mut c_char, bufOut_sz: c_int) -> bool>TrackFX_GetParamNormalized: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int) -> f64>TrackFX_GetPinMappings: Option<unsafe extern "C" fn(tr: *mut MediaTrack, fx: c_int, isoutput: c_int, pin: c_int, high32Out: *mut c_int) -> c_int>TrackFX_GetPreset: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetnameOut: *mut c_char, presetnameOut_sz: c_int) -> bool>TrackFX_GetPresetIndex: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, numberOfPresetsOut: *mut c_int) -> c_int>TrackFX_GetRecChainVisible: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>TrackFX_GetRecCount: Option<unsafe extern "C" fn(track: *mut MediaTrack) -> c_int>TrackFX_GetUserPresetFilename: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, fnOut: *mut c_char, fnOut_sz: c_int)>TrackFX_NavigatePresets: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetmove: c_int) -> bool>TrackFX_SetEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, enabled: bool)>TrackFX_SetEQBandEnabled: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int, enable: bool) -> bool>TrackFX_SetEQParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fxidx: c_int, bandtype: c_int, bandidx: c_int, paramtype: c_int, val: f64, isnorm: bool) -> bool>TrackFX_SetNamedConfigParm: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, parmname: *const c_char, value: *const c_char) -> bool>TrackFX_SetOffline: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, offline: bool)>TrackFX_SetOpen: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, open: bool)>TrackFX_SetParam: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, val: f64) -> bool>TrackFX_SetParamNormalized: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, value: f64) -> bool>TrackFX_SetPinMappings: Option<unsafe extern "C" fn(tr: *mut MediaTrack, fx: c_int, isoutput: c_int, pin: c_int, low32bits: c_int, hi32bits: c_int) -> bool>TrackFX_SetPreset: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetname: *const c_char) -> bool>TrackFX_SetPresetByIndex: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, idx: c_int) -> bool>TrackFX_Show: Option<unsafe extern "C" fn(track: *mut MediaTrack, index: c_int, showFlag: c_int)>TrackList_AdjustWindows: Option<extern "C" fn(isMinor: bool)>TrackList_UpdateAllExternalSurfaces: Option<extern "C" fn()>Undo_BeginBlock: Option<extern "C" fn()>Undo_BeginBlock2: Option<unsafe extern "C" fn(proj: *mut ReaProject)>Undo_CanRedo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *const c_char>Undo_CanUndo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> *const c_char>Undo_DoRedo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>Undo_DoUndo2: Option<unsafe extern "C" fn(proj: *mut ReaProject) -> c_int>Undo_EndBlock: Option<unsafe extern "C" fn(descchange: *const c_char, extraflags: c_int)>Undo_EndBlock2: Option<unsafe extern "C" fn(proj: *mut ReaProject, descchange: *const c_char, extraflags: c_int)>Undo_OnStateChange: Option<unsafe extern "C" fn(descchange: *const c_char)>Undo_OnStateChange2: Option<unsafe extern "C" fn(proj: *mut ReaProject, descchange: *const c_char)>Undo_OnStateChange_Item: Option<unsafe extern "C" fn(proj: *mut ReaProject, name: *const c_char, item: *mut MediaItem)>Undo_OnStateChangeEx: Option<unsafe extern "C" fn(descchange: *const c_char, whichStates: c_int, trackparm: c_int)>Undo_OnStateChangeEx2: Option<unsafe extern "C" fn(proj: *mut ReaProject, descchange: *const c_char, whichStates: c_int, trackparm: c_int)>update_disk_counters: Option<extern "C" fn(readamt: c_int, writeamt: c_int)>UpdateArrange: Option<extern "C" fn()>UpdateItemInProject: Option<unsafe extern "C" fn(item: *mut MediaItem)>UpdateTimeline: Option<extern "C" fn()>ValidatePtr: Option<unsafe extern "C" fn(pointer: *mut c_void, ctypename: *const c_char) -> bool>ValidatePtr2: Option<unsafe extern "C" fn(proj: *mut ReaProject, pointer: *mut c_void, ctypename: *const c_char) -> bool>ViewPrefs: Option<unsafe extern "C" fn(page: c_int, pageByName: *const c_char)>WDL_VirtualWnd_ScaledBlitBG: Option<unsafe extern "C" fn(dest: *mut LICE_IBitmap, src: *mut WDL_VirtualWnd_BGCfg, destx: c_int, desty: c_int, destw: c_int, desth: c_int, clipx: c_int, clipy: c_int, clipw: c_int, cliph: c_int, alpha: f32, mode: c_int) -> bool>GetMidiInput: Option<extern "C" fn(idx: c_int) -> *mut midi_Input>GetMidiOutput: Option<extern "C" fn(idx: c_int) -> *mut midi_Output>InitializeCoolSB: Option<unsafe extern "system" fn(hwnd: HWND) -> c_schar>UninitializeCoolSB: Option<unsafe extern "system" fn(hwnd: HWND) -> c_int>CoolSB_SetMinThumbSize: Option<unsafe extern "system" fn(hwnd: HWND, wBar: UINT, size: UINT) -> c_schar>CoolSB_GetScrollInfo: Option<unsafe extern "system" fn(hwnd: HWND, fnBar: c_int, lpsi: *mut SCROLLINFO) -> c_schar>CoolSB_SetScrollInfo: Option<unsafe extern "system" fn(hwnd: HWND, fnBar: c_int, lpsi: *mut SCROLLINFO, fRedraw: c_schar) -> c_int>CoolSB_SetScrollPos: Option<unsafe extern "system" fn(hwnd: HWND, nBar: c_int, nPos: c_int, fRedraw: c_schar) -> c_int>CoolSB_SetScrollRange: Option<unsafe extern "system" fn(hwnd: HWND, nBar: c_int, nMinPos: c_int, nMaxPos: c_int, fRedraw: c_schar) -> c_int>CoolSB_ShowScrollBar: Option<unsafe extern "system" fn(hwnd: HWND, wBar: c_int, fShow: c_schar) -> c_schar>CoolSB_SetResizingThumb: Option<unsafe extern "system" fn(hwnd: HWND, active: c_schar) -> c_schar>CoolSB_SetThemeIndex: Option<unsafe extern "system" fn(hwnd: HWND, idx: c_int) -> c_schar>

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.