[][src]Struct reaper_low::ReaperFunctionPointers

pub struct ReaperFunctionPointers {
    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 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(proj: *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 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<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<extern "C" fn(hwnd: HWND)>,
    pub DockWindowRemove: Option<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, valueOutOptional: *mut f64, dVdSOutOptional: *mut f64, ddVdSOutOptional: *mut f64, dddVdSOutOptional: *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, indexOutOptional: *mut c_int, index2OutOptional: *mut c_int) -> *mut MediaItem_Take>,
    pub Envelope_GetParentTrack: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, indexOutOptional: *mut c_int, index2OutOptional: *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, desc: *mut c_char, desc_sz: c_int) -> bool>,
    pub GetColorTheme: Option<extern "C" fn(idx: c_int, defval: c_int) -> isize>,
    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) -> *mut 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(tr: *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, timeOutOptional: *mut f64, valueOutOptional: *mut f64, shapeOutOptional: *mut c_int, tensionOutOptional: *mut f64, selectedOutOptional: *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, timeOutOptional: *mut f64, valueOutOptional: *mut f64, shapeOutOptional: *mut c_int, tensionOutOptional: *mut f64, selectedOutOptional: *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 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 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 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, filenamebuf: *mut c_char, filenamebuf_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, typebuf: *mut c_char, typebuf_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, action: *mut c_char, action_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 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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_sz: c_int)>,
    pub GetProjectPath: Option<unsafe extern "C" fn(buf: *mut c_char, buf_sz: c_int)>,
    pub GetProjectPathEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, buf: *mut c_char, buf_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_timeOut: *mut f64, end_timeOut: *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 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 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: *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: isize, 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, bufWantNeedBig: *mut c_char, bufWantNeedBig_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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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_xrunOutOptional: *mut c_uint, media_xrunOutOptional: *mut c_uint, curtimeOutOptional: *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_uint, 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: *mut 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: *mut HMENU__, section: *mut KbdSectionInfo)>,
    pub kbd_RunCommandThroughHooks: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, actionCommandID: *mut c_int, val: *mut c_int, valhw: *mut c_int, relmode: *mut 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: c_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) -> *mut 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 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_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, bufNeedBig: *mut c_char, bufNeedBig_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, msg: *mut c_char, msg_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, hash: *mut c_char, hash_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_GetScale: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, rootOut: *mut c_int, scaleOut: *mut c_int, name: *mut c_char, name_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, hash: *mut c_char, hash_sz: c_int) -> bool>,
    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_GetActive: Option<extern "C" fn() -> HWND>,
    pub MIDIEditor_GetMode: Option<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, buf: *mut c_char, buf_sz: c_int) -> bool>,
    pub MIDIEditor_GetTake: Option<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<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_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<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, MSI: 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, msi: 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 realloc_cmd_ptr: Option<unsafe extern "C" fn(ptr: *mut *mut c_char, ptr_size: *mut c_int, new_size: c_int) -> bool>,
    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 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) -> isize>, 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<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, addorremove: c_int)>,
    pub SetRenderLastError: Option<unsafe extern "C" fn(errorstr: *const c_char)>,
    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 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 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 c_void, 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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_sz: c_int) -> bool>,
    pub TakeFX_GetIOSize: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, inputPinsOutOptional: *mut c_int, outputPinsOutOptional: *mut c_int) -> c_int>,
    pub TakeFX_GetNamedConfigParm: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, parmname: *const c_char, bufOut: *mut c_char, bufOut_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_GetParamName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, buf: *mut c_char, buf_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(tr: *mut MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, high32OutOptional: *mut c_int) -> c_int>,
    pub TakeFX_GetPreset: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetname: *mut c_char, presetname_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, fn_: *mut c_char, fn_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(tr: *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, dropFrameOutOptional: *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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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, inputPinsOutOptional: *mut c_int, outputPinsOutOptional: *mut c_int) -> c_int>,
    pub TrackFX_GetNamedConfigParm: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, parmname: *const c_char, bufOut: *mut c_char, bufOut_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_GetParamName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, buf: *mut c_char, buf_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, high32OutOptional: *mut c_int) -> c_int>,
    pub TrackFX_GetPreset: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetname: *mut c_char, presetname_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, fn_: *mut c_char, fn_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>,
}

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)>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(proj: *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>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<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<extern "C" fn(hwnd: HWND)>DockWindowRemove: Option<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, valueOutOptional: *mut f64, dVdSOutOptional: *mut f64, ddVdSOutOptional: *mut f64, dddVdSOutOptional: *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, indexOutOptional: *mut c_int, index2OutOptional: *mut c_int) -> *mut MediaItem_Take>Envelope_GetParentTrack: Option<unsafe extern "C" fn(env: *mut TrackEnvelope, indexOutOptional: *mut c_int, index2OutOptional: *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, desc: *mut c_char, desc_sz: c_int) -> bool>GetColorTheme: Option<extern "C" fn(idx: c_int, defval: c_int) -> isize>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) -> *mut 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(tr: *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, timeOutOptional: *mut f64, valueOutOptional: *mut f64, shapeOutOptional: *mut c_int, tensionOutOptional: *mut f64, selectedOutOptional: *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, timeOutOptional: *mut f64, valueOutOptional: *mut f64, shapeOutOptional: *mut c_int, tensionOutOptional: *mut f64, selectedOutOptional: *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>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>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>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, filenamebuf: *mut c_char, filenamebuf_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, typebuf: *mut c_char, typebuf_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, action: *mut c_char, action_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>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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_sz: c_int)>GetProjectPath: Option<unsafe extern "C" fn(buf: *mut c_char, buf_sz: c_int)>GetProjectPathEx: Option<unsafe extern "C" fn(proj: *mut ReaProject, buf: *mut c_char, buf_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_timeOut: *mut f64, end_timeOut: *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>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>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: *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: isize, 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, bufWantNeedBig: *mut c_char, bufWantNeedBig_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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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_xrunOutOptional: *mut c_uint, media_xrunOutOptional: *mut c_uint, curtimeOutOptional: *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_uint, 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: *mut 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: *mut HMENU__, section: *mut KbdSectionInfo)>kbd_RunCommandThroughHooks: Option<unsafe extern "C" fn(section: *mut KbdSectionInfo, actionCommandID: *mut c_int, val: *mut c_int, valhw: *mut c_int, relmode: *mut 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: c_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) -> *mut 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)>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_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, bufNeedBig: *mut c_char, bufNeedBig_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, msg: *mut c_char, msg_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, hash: *mut c_char, hash_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_GetScale: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, rootOut: *mut c_int, scaleOut: *mut c_int, name: *mut c_char, name_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, hash: *mut c_char, hash_sz: c_int) -> bool>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_GetActive: Option<extern "C" fn() -> HWND>MIDIEditor_GetMode: Option<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, buf: *mut c_char, buf_sz: c_int) -> bool>MIDIEditor_GetTake: Option<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<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_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<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, MSI: 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, msi: 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>realloc_cmd_ptr: Option<unsafe extern "C" fn(ptr: *mut *mut c_char, ptr_size: *mut c_int, new_size: c_int) -> bool>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)>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) -> isize>, 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<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, addorremove: c_int)>SetRenderLastError: Option<unsafe extern "C" fn(errorstr: *const c_char)>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>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>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 c_void, 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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_sz: c_int) -> bool>TakeFX_GetIOSize: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, inputPinsOutOptional: *mut c_int, outputPinsOutOptional: *mut c_int) -> c_int>TakeFX_GetNamedConfigParm: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, parmname: *const c_char, bufOut: *mut c_char, bufOut_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_GetParamName: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, param: c_int, buf: *mut c_char, buf_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(tr: *mut MediaItem_Take, fx: c_int, isoutput: c_int, pin: c_int, high32OutOptional: *mut c_int) -> c_int>TakeFX_GetPreset: Option<unsafe extern "C" fn(take: *mut MediaItem_Take, fx: c_int, presetname: *mut c_char, presetname_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, fn_: *mut c_char, fn_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(tr: *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, dropFrameOutOptional: *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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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, buf: *mut c_char, buf_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, inputPinsOutOptional: *mut c_int, outputPinsOutOptional: *mut c_int) -> c_int>TrackFX_GetNamedConfigParm: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, parmname: *const c_char, bufOut: *mut c_char, bufOut_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_GetParamName: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, param: c_int, buf: *mut c_char, buf_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, high32OutOptional: *mut c_int) -> c_int>TrackFX_GetPreset: Option<unsafe extern "C" fn(track: *mut MediaTrack, fx: c_int, presetname: *mut c_char, presetname_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, fn_: *mut c_char, fn_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>

Trait Implementations

impl Clone for ReaperFunctionPointers[src]

impl Copy for ReaperFunctionPointers[src]

impl Debug for ReaperFunctionPointers[src]

impl Default for ReaperFunctionPointers[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.