ReaScript API

From CockosWiki

(Difference between revisions)
Jump to: navigation, search
(GetMediaItemInfo_Value())
(GetMediaItemTakeInfo_Value())
Line 536: Line 536:
=GetMediaItemTakeInfo_Value()=
=GetMediaItemTakeInfo_Value()=
Get media item take numerical-value attributes.
Get media item take numerical-value attributes.
-
D_STARTOFFS : double *, start offset in take of item
+
*D_STARTOFFS : double *, start offset in take of item
-
D_VOL : double *, take volume
+
*D_VOL : double *, take volume
-
D_PAN : double *, take pan
+
*D_PAN : double *, take pan
-
D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc)
+
*D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc)
-
D_PLAYRATE : double *, take play rate (1.0=normal, 2.0=doublespeed, etc)
+
*D_PLAYRATE : double *, take play rate (1.0=normal, 2.0=doublespeed, etc)
-
D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc)
+
*D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc)
-
B_PPITCH, bool *, preserve pitch when changing rate
+
*B_PPITCH, bool *, preserve pitch when changing rate
-
I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r)
+
*I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r)
-
I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter
+
*I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter
double GetMediaItemTakeInfo_Value(MediaItem_Take* take, const char* parmname)
double GetMediaItemTakeInfo_Value(MediaItem_Take* take, const char* parmname)

Revision as of 15:53, 16 October 2009

Contents

ReaScript API Documentation

The API documentation is limited at the moment, as API calls are documented they are given their own wiki page with short examples using both Python & Perl.

Don't forget - Call API functions using RPR_functionname() - Don't forget the RPR_

API functions that cannot return information in the parameter list will return a single value.

API functions that can return information in the parameter list will return a list of values.

AddMediaItemToTrack()

creates a new media item.

MediaItem* AddMediaItemToTrack(MediaTrack* tr)

AddTakeToMediaItem()

creates a new take in an item

MediaItem_Take* AddTakeToMediaItem(MediaItem* item)

adjustZoom()

forceset=0,doupd=true,centermode=-1 for default

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

APITest()

void APITest()

Audio_IsPreBuffer()

is in pre-buffer? threadsafe

int Audio_IsPreBuffer()


Audio_IsRunning()

is audio running at all? threadsafe

int Audio_IsRunning()


Audio_RegHardwareHook()

return >0 on success

int Audio_RegHardwareHook(bool isAdd, audio_hook_register_t* reg)

BypassFxAllTracks()

-1 = bypass all if not all bypassed,otherwise unbypass all

void BypassFxAllTracks(int bypass)

CalculatePeaks()

int CalculatePeaks(PCM_source_transfer_t* srcBlock, PCM_source_peaktransfer_t* pksBlock)


ClearAllRecArmed()

void ClearAllRecArmed()


ClearPeakCache()

resets the global peak caches

void ClearPeakCache()


CountMediaItems()

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

int CountMediaItems(ReaProject* proj)


CountSelectedMediaItems()

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

int CountSelectedMediaItems(ReaProject* proj)


CountSelectedTracks()

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

int CountSelectedTracks(ReaProject* proj)

CountTakes()

count the number of takes in the item

int CountTakes(MediaItem* item)

CountTrackMediaItems()

count the number of items in the track

int CountTrackMediaItems(MediaTrack* track)


CountTracks()

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

int CountTracks(ReaProject* proj)

CreateMIDIInput()

midi_Input* CreateMIDIInput(int dev)

CreateMIDIOutput()

midi_Output* CreateMIDIOutput(int dev, bool streamMode, int* msoffset100)

CSurf_FlushUndo()

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

void CSurf_FlushUndo(bool force)

CSurf_GetTouchState()

bool CSurf_GetTouchState(MediaTrack* trackid, int isPan)

CSurf_GoEnd()

void CSurf_GoEnd()


CSurf_GoStart()

void CSurf_GoStart()


CSurf_NumTracks()

int CSurf_NumTracks(bool mcpView)


CSurf_OnArrow()

void CSurf_OnArrow(int whichdir, bool wantzoom)


CSurf_OnFwd()

void CSurf_OnFwd(int seekplay)


CSurf_OnFXChange()

bool CSurf_OnFXChange(MediaTrack* trackid, int en)


CSurf_OnMuteChange()

bool CSurf_OnMuteChange(MediaTrack* trackid, int mute)


CSurf_OnPanChange()

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


CSurf_OnPanChangeEx()

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


CSurf_OnPlay()

void CSurf_OnPlay()


CSurf_OnRecArmChange()

bool CSurf_OnRecArmChange(MediaTrack* trackid, int recarm)


CSurf_OnRecord()

void CSurf_OnRecord()


CSurf_OnRew()

void CSurf_OnRew(int seekplay)


CSurf_OnSelectedChange()

bool CSurf_OnSelectedChange(MediaTrack* trackid, int selected)


CSurf_OnSoloChange()

bool CSurf_OnSoloChange(MediaTrack* trackid, int solo)


CSurf_OnStop()

void CSurf_OnStop()


CSurf_OnTrackSelection()

void CSurf_OnTrackSelection(MediaTrack* trackid)


CSurf_OnVolumeChange()

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


CSurf_OnVolumeChangeEx()

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


CSurf_ResetAllCachedVolPanStates()

void CSurf_ResetAllCachedVolPanStates()


CSurf_ScrubAmt()

void CSurf_ScrubAmt(double amt)


CSurf_SetAutoMode()

void CSurf_SetAutoMode(int mode, IReaperControlSurface* ignoresurf)


CSurf_SetPlayState()

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


CSurf_SetRepeatState()

void CSurf_SetRepeatState(bool rep, IReaperControlSurface* ignoresurf)


CSurf_SetSurfaceMute()

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


CSurf_SetSurfacePan()

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


CSurf_SetSurfaceRecArm()

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


CSurf_SetSurfaceSelected()

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


CSurf_SetSurfaceSolo()

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


CSurf_SetSurfaceVolume()

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


CSurf_SetTrackListChange()

void CSurf_SetTrackListChange()


CSurf_TrackFromID()

MediaTrack* CSurf_TrackFromID(int idx, bool mcpView)


CSurf_TrackToID()

int CSurf_TrackToID(MediaTrack* track, bool mcpView)

DeleteTrack()

deletes a track

void DeleteTrack(MediaTrack* tr)


DeleteTrackMediaItem()

bool DeleteTrackMediaItem(MediaTrack* tr, MediaItem* it)


DockWindowActivate()

void DockWindowActivate(HWND hwnd)


DockWindowAdd()

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


DockWindowRemove()

void DockWindowRemove(HWND hwnd)

EnsureNotCompletelyOffscreen()

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

void EnsureNotCompletelyOffscreen(RECT* r)


EnumPitchShiftModes()

returns FALSE when done,sets out to NULL if a mode is currently unsupported

bool EnumPitchShiftModes(int idx, char** out)


EnumPitchShiftSubModes()

const char* EnumPitchShiftSubModes(int idx, int submode)


EnumProjectMarkers()

int EnumProjectMarkers(int idx, bool* isrgn, double* pos, double* rgnend, char** name, int* markrgnindexnumber)


EnumProjectMarkers2()

int EnumProjectMarkers2(void* proj, int idx, bool* isrgn, double* pos, double* rgnend, char** name, int* markrgnindexnumber)


EnumProjects()

idx=-1 for current project,projfn can be NULL if not interested in filename

void* EnumProjects(int idx, char* projfn, int projfnlen)


EnumTrackMIDIProgramNames()

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

bool EnumTrackMIDIProgramNames(int track, int programNumber, char* programName, int maxnamelen)


EnumTrackMIDIProgramNamesEx()

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

bool EnumTrackMIDIProgramNamesEx(void* proj, void* track, int programNumber, char* programName, int maxnamelen)

format_timestr()

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

void format_timestr(double tpos, char* buf, int buflen)


format_timestr_len()

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

void format_timestr_len(double tpos, char* buf, int buflen, double offset, int modeoverride)


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

void format_timestr_pos(double tpos, char* buf, int buflen, int modeoverride)


FreeHeapPtr()

free heap memory returned from a Reaper API function

void FreeHeapPtr(void* ptr)


genGuid()

void genGuid(GUID* g)


get_config_var()

void* get_config_var(const char* name, int* szout)


get_ini_file()

const char* get_ini_file()


GetActiveTake()

get the active take in this item

MediaItem_Take* GetActiveTake(MediaItem* item)


GetColorThemeStruct()

returns the whole color theme (icontheme.h) and the size

void* GetColorThemeStruct(int* sz)


GetCursorPosition()

GetCursorPositionEx()

edit cursor position

double GetCursorPosition() double GetCursorPositionEx(void* proj)


GetExePath()

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

const char* GetExePath()


GetHZoomLevel()

returns pixels/second

double GetHZoomLevel()


GetIconThemePointer()

returns a named icontheme entry

void* GetIconThemePointer(const char* name)


GetIconThemeStruct()

returns the whole icon theme (icontheme.h) and the size

void* GetIconThemeStruct(int* sz)


GetInputChannelName()

const char* GetInputChannelName(int idx)


GetItemProjectContext()

void* GetItemProjectContext(MediaItem* item)


GetLastTouchedTrack()

MediaTrack* GetLastTouchedTrack()


GetMainHwnd()

HWND GetMainHwnd()


GetMasterMuteSoloFlags()

&1=master mute,&2=master solo. This is deprecated as you can just query the master track as well.

int GetMasterMuteSoloFlags()


GetMaxMidiInputs()

returns max dev for midi inputs/outputs

int GetMaxMidiInputs()


GetMaxMidiOutputs()

int GetMaxMidiOutputs()


GetMediaItem()

get an item from a project by item count (zero-based) (proj=0 for active project)

MediaItem* GetMediaItem(ReaProject* proj, int itemidx)


GetMediaItem_Track()

Get parent track of media item

MediaTrack* GetMediaItem_Track(MediaItem* item)


GetMediaItemInfo_Value()

Get media item numerical-value attributes.
B_MUTE : bool * to muted state
B_LOOPSRC : bool * to loop source
B_ALLTAKESPLAY : bool * to all takes play
B_UISEL : bool * to ui selected
C_BEATATTACHMODE : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsosonly
C_LOCK : char * to one char of lock flags (&1 is locked, currently)
D_VOL : double * of item volume (volume bar)
D_POSITION : double * of item position (seconds)
D_LENGTH : double * of item length (seconds)
D_SNAPOFFSET : double * of item snap offset (seconds)
D_FADEINLEN : double * of item fade in length (manual, seconds)
D_FADEOUTLEN : double * of item fade out length (manual, seconds)
D_FADEINLEN_AUTO : double * of item autofade in length (seconds, -1 for no autofade set)
D_FADEOUTLEN_AUTO : double * of item autofade out length (seconds, -1 for no autofade set)
I_FADEINSHAPE : int * to fadein shape, 0=linear, ...
I_FADEOUTSHAPE : int * to fadeout shape
I_GROUPID : int * to group ID (0 = no group)
I_LASTY : int * to last y position in track (readonly)
I_LASTH : int * to last height in track (readonly)
I_CUSTOMCOLOR : int * : custom color, windows standard color order (i.e. RGB(r,g,b)|0x100000). if you do not |0x100000, then it will not be used (though will store the color anyway)
I_CURTAKE : int * to active take
F_FREEMODE_Y : float * to free mode y position (0..1)
F_FREEMODE_H : float * to free mode height (0..1)

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

GetMediaItemNumTakes()

int GetMediaItemNumTakes(MediaItem* item)


GetMediaItemTake()

MediaItem_Take* GetMediaItemTake(MediaItem* item, int tk)


GetMediaItemTake_Item()

Get parent item of media item take

MediaItem* GetMediaItemTake_Item(MediaItem_Take* take)


GetMediaItemTake_Source()

Get media source of media item take

PCM_source* GetMediaItemTake_Source(MediaItem_Take* take)


GetMediaItemTake_Track()

Get parent track of media item take

MediaTrack* GetMediaItemTake_Track(MediaItem_Take* take)


GetMediaItemTakeInfo_Value()

Get media item take numerical-value attributes.

  • D_STARTOFFS : double *, start offset in take of item
  • D_VOL : double *, take volume
  • D_PAN : double *, take pan
  • D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc)
  • D_PLAYRATE : double *, take play rate (1.0=normal, 2.0=doublespeed, etc)
  • D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc)
  • B_PPITCH, bool *, preserve pitch when changing rate
  • I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r)
  • I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter

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

GetMediaTrackInfo_Value()

Get track numerical-value attributes. B_MUTE : bool * : mute flag B_PHASE : bool * : invert track phase IP_TRACKNUMBER : int : track number (returns zero if not found, -1 for master track) (read-only, returns the int directly) I_SOLO : int * : 0=not soloed, 1=solo, 2=soloed in place I_FXEN : int * : 0=fx bypassed, nonzero = fx active I_RECARM : int * : 0=not record armed, 1=record armed I_RECINPUT : int * : record input. 0..n = mono hardware input, 512+n = rearoute input, 1024 set for stereo input pair. 4096 set for MIDI input, if set, then low 5 bits represent channel (0=all, 1-16=only chan), then next 5 bits represent physical input (31=all, 30=VKB) I_RECMODE : int * : record mode (0=input, 1=stereo out, 2=none, 3=stereo out w/latcomp, 4=midi output, 5=mono out, 6=mono out w/ lat comp, 7=midi overdub, 8=midi replace I_RECMON : int * : record monitor (0=off, 1=normal, 2=not when playing (tapestyle)) I_RECMONITEMS : int * : monitor items while recording (0=off, 1=on) I_AUTOMODE : int * : track automation mode (0=trim/off, 1=read, 2=touch, 3=write, 4=latch I_NCHAN : int * : number of track channels, must be 2-64, even I_SELECTED : int * : track selected? 0 or 1 I_WNDH : int * : current TCP window height (Read-only) I_ISFOLDER : int * : folder status (1=folder, 0=normal, 2=last track in folder) I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children I_MIDIHWOUT : int * : track midi hardware output index (<0 for disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)) I_PERFFLAGS : int * : track perf flags (&1=no media buffering, &2=no anticipative FX) I_CUSTOMCOLOR : int * : custom color, windows standard color order (i.e. RGB(r,g,b)|0x100000). if you do not |0x100000, then it will not be used (though will store the color anyway) I_HEIGHTOVERRIDE : int * : custom height override for TCP window. 0 for none, otherwise size in pixels D_VOL : double * : trim volume of track (0 (-inf)..1 (+0dB) .. 2 (+6dB) etc ..) D_PAN : double * : trim pan of track (-1..1) D_PANLAW : double * : pan law of track. <0 for project default, 1.0 for +0dB, etc B_SHOWINMIXER : bool * : show track panel in mixer -- do not use on master B_SHOWINTCP : bool * : show track panel in tcp -- do not use on master B_MAINSEND : bool * : track sends audio to parent B_FREEMODE : bool * : track free-mode enabled (requires UpdateTimeline() after changing etc) C_BEATATTACHMODE : char * : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsposonly F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0.0=smallest allowed, 1=max allowed) F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=min allow, 1=max)

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


GetMidiInput()

midi_Input* GetMidiInput(int idx)


GetMaxMidiInputs()

returns max dev for midi inputs/outputs

int GetMaxMidiInputs()


GetMaxMidiOutputs()

int GetMaxMidiOutputs()


GetMediaItem()

get an item from a project by item count (zero-based) (proj=0 for active project)

MediaItem* GetMediaItem(ReaProject* proj, int itemidx)


GetMediaItem_Track()

Get parent track of media item

MediaTrack* GetMediaItem_Track(MediaItem* item)


GetMediaItemInfo_Value()

Get media item numerical-value attributes. B_MUTE : bool * to muted state B_LOOPSRC : bool * to loop source B_ALLTAKESPLAY : bool * to all takes play B_UISEL : bool * to ui selected C_BEATATTACHMODE : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsosonly C_LOCK : char * to one char of lock flags (&1 is locked, currently) D_VOL : double * of item volume (volume bar) D_POSITION : double * of item position (seconds) D_LENGTH : double * of item length (seconds) D_SNAPOFFSET : double * of item snap offset (seconds) D_FADEINLEN : double * of item fade in length (manual, seconds) D_FADEOUTLEN : double * of item fade out length (manual, seconds) D_FADEINLEN_AUTO : double * of item autofade in length (seconds, -1 for no autofade set) D_FADEOUTLEN_AUTO : double * of item autofade out length (seconds, -1 for no autofade set) I_FADEINSHAPE : int * to fadein shape, 0=linear, ... I_FADEOUTSHAPE : int * to fadeout shape I_GROUPID : int * to group ID (0 = no group) I_LASTY : int * to last y position in track (readonly) I_LASTH : int * to last height in track (readonly) I_CUSTOMCOLOR : int * : custom color, windows standard color order (i.e. RGB(r,g,b)|0x100000). if you do not |0x100000, then it will not be used (though will store the color anyway) I_CURTAKE : int * to active take F_FREEMODE_Y : float * to free mode y position (0..1) F_FREEMODE_H : float * to free mode height (0..1)

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


GetMediaItemNumTakes()

int GetMediaItemNumTakes(MediaItem* item)


GetMediaItemTake()

MediaItem_Take* GetMediaItemTake(MediaItem* item, int tk)


GetMediaItemTake_Item()

Get parent item of media item take

MediaItem* GetMediaItemTake_Item(MediaItem_Take* take)


GetMediaItemTake_Source()

Get media source of media item take

PCM_source* GetMediaItemTake_Source(MediaItem_Take* take)


GetMediaItemTake_Track()

Get parent track of media item take

MediaTrack* GetMediaItemTake_Track(MediaItem_Take* take)


GetMediaItemTakeInfo_Value()

Get media item take numerical-value attributes. D_STARTOFFS : double *, start offset in take of item D_VOL : double *, take volume D_PAN : double *, take pan D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc) D_PLAYRATE : double *, take play rate (1.0=normal, 2.0=doublespeed, etc) D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc) B_PPITCH, bool *, preserve pitch when changing rate I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r) I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter

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

GetMediaTrackInfo_Value()

Get track numerical-value attributes. B_MUTE : bool * : mute flag B_PHASE : bool * : invert track phase IP_TRACKNUMBER : int : track number (returns zero if not found, -1 for master track) (read-only, returns the int directly) I_SOLO : int * : 0=not soloed, 1=solo, 2=soloed in place I_FXEN : int * : 0=fx bypassed, nonzero = fx active I_RECARM : int * : 0=not record armed, 1=record armed I_RECINPUT : int * : record input. 0..n = mono hardware input, 512+n = rearoute input, 1024 set for stereo input pair. 4096 set for MIDI input, if set, then low 5 bits represent channel (0=all, 1-16=only chan), then next 5 bits represent physical input (31=all, 30=VKB) I_RECMODE : int * : record mode (0=input, 1=stereo out, 2=none, 3=stereo out w/latcomp, 4=midi output, 5=mono out, 6=mono out w/ lat comp, 7=midi overdub, 8=midi replace I_RECMON : int * : record monitor (0=off, 1=normal, 2=not when playing (tapestyle)) I_RECMONITEMS : int * : monitor items while recording (0=off, 1=on) I_AUTOMODE : int * : track automation mode (0=trim/off, 1=read, 2=touch, 3=write, 4=latch I_NCHAN : int * : number of track channels, must be 2-64, even I_SELECTED : int * : track selected? 0 or 1 I_WNDH : int * : current TCP window height (Read-only) I_ISFOLDER : int * : folder status (1=folder, 0=normal, 2=last track in folder) I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children I_MIDIHWOUT : int * : track midi hardware output index (<0 for disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)) I_PERFFLAGS : int * : track perf flags (&1=no media buffering, &2=no anticipative FX) I_CUSTOMCOLOR : int * : custom color, windows standard color order (i.e. RGB(r,g,b)|0x100000). if you do not |0x100000, then it will not be used (though will store the color anyway) I_HEIGHTOVERRIDE : int * : custom height override for TCP window. 0 for none, otherwise size in pixels D_VOL : double * : trim volume of track (0 (-inf)..1 (+0dB) .. 2 (+6dB) etc ..) D_PAN : double * : trim pan of track (-1..1) D_PANLAW : double * : pan law of track. <0 for project default, 1.0 for +0dB, etc B_SHOWINMIXER : bool * : show track panel in mixer -- do not use on master B_SHOWINTCP : bool * : show track panel in tcp -- do not use on master B_MAINSEND : bool * : track sends audio to parent B_FREEMODE : bool * : track free-mode enabled (requires UpdateTimeline() after changing etc) C_BEATATTACHMODE : char * : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsposonly F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0.0=smallest allowed, 1=max allowed) F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=min allow, 1=max)

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


GetMidiInput()

midi_Input* GetMidiInput(int idx)


GetMIDIInputName()

returns true if device present

bool GetMIDIInputName(int dev, char* nameout, int nameoutlen)


GetMidiOutput()

midi_Output* GetMidiOutput(int idx)


GetMIDIOutputName()

returns true if device present

bool GetMIDIOutputName(int dev, char* nameout, int nameoutlen)


GetNumMIDIInputs()

returns actual number of midi inputs (slower)

int GetNumMIDIInputs()


GetNumMIDIOutputs()

returns actual number of midi outputs (slower)

int GetNumMIDIOutputs()


GetNumTracks()

int GetNumTracks()


GetOutputChannelName()

const char* GetOutputChannelName(int idx)


GetPeakFileName()

get the peak file name for a given file (can be either filename.reapeaks,or a hashed filename in another path)

void GetPeakFileName(const char* fn, char* buf, int bufmax)


GetPeaksBitmap()

see note in reaper_plugin.h about PCM_source_peaktransfer_t::samplerate

void* GetPeaksBitmap(PCM_source_peaktransfer_t* pks, double maxamp, int w, int h, LICE_IBitmap* bmp)


GetPlayPosition()

GetPlayPositionEx()

returns latency-compensated actual-what-you-hear position

double GetPlayPosition() double GetPlayPositionEx(void* proj)


GetPlayPosition2()

GetPlayPosition2Ex()

returns position of next audio block being processed

double GetPlayPosition2() double GetPlayPosition2Ex(void* proj)


GetPlayState()

GetPlayStateEx()

&1=playing,&2=pause,&=4 is recording

int GetPlayState() int GetPlayStateEx(void* proj)

GetProjectPath()

GetProjectPathEx()

void GetProjectPath(char* buf, int bufsz) void GetProjectPathEx(void* proj, char* buf, int bufsz)


GetProjectTimeSignature()

deprecated

void GetProjectTimeSignature(double* bpm, double* bpi)


GetProjectTimeSignature2()

Gets basic time signature (beats per minute, numerator of time signature in bpi) this does not reflect tempo envelopes but is purely what is set in the project settings.

void GetProjectTimeSignature2(void* proj, double* bpm, double* bpi)


GetSelectedMediaItem()

get a selected item by selected item count (zero-based) (proj=0 for active project)

MediaItem* GetSelectedMediaItem(ReaProject* proj, int selitem)


GetSelectedTrack()

get a selected track from a project by selected track count (zero-based) (proj=0 for active project)

MediaTrack* GetSelectedTrack(ReaProject* proj, int seltrackidx)


GetSelectedTrackEnvelope()

get the currently selected track envelope as an opaque pointer (can be passed to GetSetObjectState),returns 0 if no envelope is selected

void* GetSelectedTrackEnvelope(ReaProject* proj)


GetSet_ArrangeView2()

void GetSet_ArrangeView2(void* proj, bool isSet, int screen_x_start, int screen_x_end, double* start_time, double* end_time)


GetSet_LoopTimeRange()

void GetSet_LoopTimeRange(bool isSet, bool isLoop, double* start, double* end, bool allowautoseek)


GetSet_LoopTimeRange2()= void GetSet_LoopTimeRange2(void* proj, bool isSet, bool isLoop, double* start, double* end, bool allowautoseek)


GetSetMediaItemTakeInfo_String()

P_NAME : char * to take name

bool GetSetMediaItemTakeInfo_String(MediaItem_Take* tk, const char* parmname, char* string, bool setnewvalue)


GetSetMediaTrackInfo_String()

Get or set track string attributes. P_NAME : char * : track name (on master returns NULL)


bool GetSetMediaTrackInfo_String(MediaTrack* tr, const char* parmname, char* string, bool setnewvalue)


GetSetObjectState()

get or set the state of a {track,item,envelope} as an xml/rpp chunk,str=0 to get the chunk string returned (must call FreeHeapPtr when done),str!=0 to set the state (returns zero)

char* GetSetObjectState(void* obj, char* str)


GetSetRepeat()

GetSetRepeatEx()

-1 == query,0=clear,1=set,>1=toggle . returns new value

int GetSetRepeat(int val) int GetSetRepeatEx(void* proj, int val)


GetTake()

get a take from an item by take count (zero-based)

MediaItem_Take* GetTake(MediaItem* item, int takeidx)


GetTooltipWindow()

gets a tooltip window,in case you want to ask it for font information. Can return NULL.

HWND GetTooltipWindow()


GetTrack()

get a track from a project by track count (zero-based) (proj=0 for active project)

MediaTrack* GetTrack(ReaProject* proj, int trackidx)


GetTrackAutomationMode()

int GetTrackAutomationMode(MediaTrack* tr)


GetTrackGUID()

GUID* GetTrackGUID(MediaTrack* tr)


GetTrackInfo()

gets track info (returns name). track index, -1=master, 0..n, or cast a MediaTrack* to int if flags is non-NULL, will be set to: &1=folder &2=selected &4=has fx enabled &8=muted &16=soloed &32=SIP'd (with &16) &64=rec armed

const char* GetTrackInfo(INT_PTR track, int* flags)


GetTrackMediaItem()

MediaItem* GetTrackMediaItem(MediaTrack* tr, int itemidx)


GetTrackMIDINoteName()

const char* GetTrackMIDINoteName(int track, int note, int chan)


GetTrackMIDINoteNameEx()

const char* GetTrackMIDINoteNameEx(void* proj, void* track, int note, int chan)


GetTrackNumMediaItems()

int GetTrackNumMediaItems(MediaTrack* tr)


GetTrackUIVolPan()

bool GetTrackUIVolPan(MediaTrack* tr, double* vol, double* pan)


GetUserInputs()

Get values from the user. Values are returned as a comma-separated string. Returns false if the user canceled the dialog.

bool GetUserInputs(const char* title, int num_inputs, const char* captions_csv, char* retvals_csv, int max_retval_len)


GSC_mainwnd()

this is just like win32 GetSysColor() but can have overrides.

int GSC_mainwnd(int t)


guidToString()

dest should be at least 64 chars long to be safe

void guidToString(GUID* g, char* dest)


HasTrackMIDIPrograms()

HasTrackMIDIProgramsEx()

returns name of track plugin that is supplying MIDI programs,or NULL if there is none

const char* HasTrackMIDIPrograms(int track) const char* HasTrackMIDIProgramsEx(void* proj, void* track)


HiresPeaksFromSource()

void HiresPeaksFromSource(PCM_source* src, PCM_source_peaktransfer_t* block)


InsertMedia()

int InsertMedia(char* file, int mode)


InsertTrackAtIndex()

inserts a track at idx,of course this will be clamped to 0..GetNumTracks(). wantDefaults=TRUE for default envelopes/FX,otherwise no enabled fx/env

void InsertTrackAtIndex(int idx, bool wantDefaults)


IsInRealTimeAudio()

are we in a realtime audio thread (between OnAudioBuffer calls,not in some worker/anticipative FX thread)? threadsafe

int IsInRealTimeAudio()


IsMediaExtension()

bool IsMediaExtension(const char* ext, bool wantOthers)


can be called from anywhere (threadsafe)

kbd_OnMidiEvent()

void kbd_OnMidiEvent(MIDI_event_t* evt, int dev_index)


kbd_OnMidiList()

can be called from anywhere (threadsafe)

void kbd_OnMidiList(MIDI_eventlist* list, int dev_index)


LICE_ClipLine()

Returns false if the line is entirely offscreen.

bool LICE_ClipLine(int* pX1, int* pY1, int* pX2, int* pY2, int xLo, int yLo, int xHi, int yHi)


Main_OnCommand()

Main_OnCommandEx()

void Main_OnCommand(int command, int flag) void Main_OnCommandEx(int command, int flag, void* proj)


Main_openProject()

opens a project. will prompt the user to save, etc. if you pass a .RTrackTemplate file then it adds that to the project instead.

void Main_openProject(char* name)


Main_UpdateLoopInfo()

void Main_UpdateLoopInfo(int ignoremask)


Master_GetPlayRateAtTime()

double Master_GetPlayRateAtTime(double time_s, void* __proj)


MB()

type 0=OK,2=OKCANCEL, 2=ABORTRETRYIGNORE, 3=YESNOCANCEL, 4=YESNO, 5=RETRYCANCEL ret 1=OK, 2=CANCEL, 3=ABORT, 4=RETRY, 5=IGNORE, 6=YES, 7=NO

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


mkpanstr()

void mkpanstr(char* str, double pan)


mkvolpanstr()

void mkvolpanstr(char* str, double vol, double pan)


mkvolstr()

void mkvolstr(char* str, double vol)


MoveEditCursor()

void MoveEditCursor(double adjamt, bool dosel)


MoveMediaItemToTrack()

returns TRUE if move succeeded

bool MoveMediaItemToTrack(MediaItem* item, MediaTrack* desttr)


MuteAllTracks(bool mute)

void MuteAllTracks(bool mute)


OnPauseButton()

direct way to simulate pause button hit

void OnPauseButton()


OnPauseButtonEx()

direct way to simulate pause button hit

void OnPauseButtonEx(void* proj)


OnPlayButton()

OnPlayButtonEx()

direct way to simulate play button hit

void OnPlayButton() void OnPlayButtonEx(void* proj)

OnStopButton()

OnStopButtonEx()

direct way to simulate stop button hit

void OnStopButton() void OnStopButtonEx(void* proj)


parse_timestr()

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

double parse_timestr(const char* buf)


parse_timestr_len()

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

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


parse_timestr_pos()

parses time string,modeoverride see above

double parse_timestr_pos(const char* buf, int modeoverride)


parsepanstr()

double parsepanstr(char* str)


PCM_Sink_Create()

PCM_sink* PCM_Sink_Create(const char* filename, const char* cfg, int cfgl, int nch, int srate, bool buildpeaks)


PCM_Sink_CreateEx()

PCM_sink* PCM_Sink_CreateEx(void* proj, const char* filename, const char* cfg, int cfgl, int nch, int srate, bool buildpeaks)


PCM_Sink_CreateMIDIFile()

PCM_Sink_CreateMIDIFileEx()

PCM_sink* PCM_Sink_CreateMIDIFile(const char* filename, const char* cfg, int cfgl, double bpm, int div) PCM_sink* PCM_Sink_CreateMIDIFileEx(void* proj, const char* filename, const char* cfg, int cfgl, double bpm, int div)


PCM_Sink_Enum(int id, char** descstr)

unsigned int PCM_Sink_Enum(int id, char** descstr)


PCM_Sink_GetExtension(const void* data, int data_size)

const char* PCM_Sink_GetExtension(const void* data, int data_size)


PCM_Sink_ShowConfig(const void* cfg, int cfg_l, HWND hwndParent)

HWND PCM_Sink_ShowConfig(const void* cfg, int cfg_l, HWND hwndParent)


PCM_Source_CreateFromFile(const char* filename)

PCM_source* PCM_Source_CreateFromFile(const char* filename)


PCM_Source_CreateFromFileEx(const char* filename, bool forcenoMidiImp)

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


PCM_Source_CreateFromSimple(ISimpleMediaDecoder* dec, const char* fn)

Creates a PCM_source from a ISimpleMediaDecoder (if fn is non-null, it will open the file in dec)

PCM_source* PCM_Source_CreateFromSimple(ISimpleMediaDecoder* dec, const char* fn)


PCM_Source_CreateFromType(const char* sourcetype)

PCM_source* PCM_Source_CreateFromType(const char* sourcetype)


PeakBuild_Create(PCM_source* src, const char* fn, int srate, int nch)

REAPER_PeakBuild_Interface* PeakBuild_Create(PCM_source* src, const char* fn, int srate, int nch)


PeakGet_Create(const char* fn, int srate, int nch)

REAPER_PeakGet_Interface* PeakGet_Create(const char* fn, int srate, int nch)


PlayPreview(preview_register_t* preview)

return nonzero on success

int PlayPreview(preview_register_t* preview)


PlayTrackPreview(preview_register_t* preview)

int PlayTrackPreview(preview_register_t* preview) return nonzero on success,in these,m_out_chan is a track index (0-n)


PlayTrackPreview2(void* proj, preview_register_t* preview)

int PlayTrackPreview2(void* proj, preview_register_t* preview) return nonzero on success,in these,m_out_chan is a track index (0-n)


plugin_getFilterList()

char* plugin_getFilterList()


plugin_getImportableProjectFilterList()

char* plugin_getImportableProjectFilterList()


PluginWantsAlwaysRunFx(int amt)

void PluginWantsAlwaysRunFx(int amt)


projectconfig_var_addr(ReaProject* proj, int idx)

void* projectconfig_var_addr(ReaProject* proj, int idx)


projectconfig_var_getoffs(const char* name, int* szout)

int projectconfig_var_getoffs(const char* name, int* szout) makes filename relative to the current project, if any


ReaperGetPitchShiftAPI(int version)

version must be REAPER_PITCHSHIFT_API_VER IReaperPitchShift* ReaperGetPitchShiftAPI(int version)


relative_fn(const char* in, char* out, int outlen)

void relative_fn(const char* in, char* out, int outlen)


Resample_EnumModes(int mode)

const char* Resample_EnumModes(int mode)


=Resampler_Create()+ REAPER_Resample_Interface* Resampler_Create()


resolve_fn(const char* in, char* out, int outlen)

void resolve_fn(const char* in, char* out, int outlen)


screenset_register(char* id, screensetCallbackFunc callbackFunc, void* param)

void screenset_register(char* id, screensetCallbackFunc callbackFunc, void* param)


screenset_unregister(char* id)

void screenset_unregister(char* id)


screenset_unregisterByParam(void* param)

void screenset_unregisterByParam(void* param)


SelectProjectInstance(ReaProject* proj)

void SelectProjectInstance(ReaProject* proj)


SetAutomationMode(int mode, bool onlySel)

void SetAutomationMode(int mode, bool onlySel) sets all or selected tracks to mode.


SetEditCurPos(double time, bool moveview, bool seekplay)

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


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

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


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

Set media item numerical-value attributes. B_MUTE : bool * to muted state B_LOOPSRC : bool * to loop source B_ALLTAKESPLAY : bool * to all takes play B_UISEL : bool * to ui selected C_BEATATTACHMODE : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsosonly C_LOCK : char * to one char of lock flags (&1 is locked, currently) D_VOL : double * of item volume (volume bar) D_POSITION : double * of item position (seconds) D_LENGTH : double * of item length (seconds) D_SNAPOFFSET : double * of item snap offset (seconds) D_FADEINLEN : double * of item fade in length (manual, seconds) D_FADEOUTLEN : double * of item fade out length (manual, seconds) D_FADEINLEN_AUTO : double * of item autofade in length (seconds, -1 for no autofade set) D_FADEOUTLEN_AUTO : double * of item autofade out length (seconds, -1 for no autofade set) I_FADEINSHAPE : int * to fadein shape, 0=linear, ... I_FADEOUTSHAPE : int * to fadeout shape I_GROUPID : int * to group ID (0 = no group) I_LASTY : int * to last y position in track (readonly) I_LASTH : int * to last height in track (readonly) I_CUSTOMCOLOR : int * : custom color, windows standard color order (i.e. RGB(r,g,b)|0x100000). if you do not |0x100000, then it will not be used (though will store the color anyway) I_CURTAKE : int * to active take F_FREEMODE_Y : float * to free mode y position (0..1) F_FREEMODE_H : float * to free mode height (0..1)

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


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

Set media item take numerical-value attributes. D_STARTOFFS : double *, start offset in take of item D_VOL : double *, take volume D_PAN : double *, take pan D_PANLAW : double *, take pan law (-1.0=default, 0.5=-6dB, 1.0=+0dB, etc) D_PLAYRATE : double *, take play rate (1.0=normal, 2.0=doublespeed, etc) D_PITCH : double *, take pitch adjust (in semitones, 0.0=normal, +12 = one octave up, etc) B_PPITCH, bool *, preserve pitch when changing rate I_CHANMODE, int *, channel mode (0=normal, 1=revstereo, 2=downmix, 3=l, 4=r) I_PITCHMODE, int *, pitch shifter mode, -1=proj default, otherwise high word=shifter low word = parameter

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


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

Set track numerical-value attributes. B_MUTE : bool * : mute flag B_PHASE : bool * : invert track phase IP_TRACKNUMBER : int : track number (returns zero if not found, -1 for master track) (read-only, returns the int directly) I_SOLO : int * : 0=not soloed, 1=solo, 2=soloed in place I_FXEN : int * : 0=fx bypassed, nonzero = fx active I_RECARM : int * : 0=not record armed, 1=record armed I_RECINPUT : int * : record input. 0..n = mono hardware input, 512+n = rearoute input, 1024 set for stereo input pair. 4096 set for MIDI input, if set, then low 5 bits represent channel (0=all, 1-16=only chan), then next 5 bits represent physical input (31=all, 30=VKB) I_RECMODE : int * : record mode (0=input, 1=stereo out, 2=none, 3=stereo out w/latcomp, 4=midi output, 5=mono out, 6=mono out w/ lat comp, 7=midi overdub, 8=midi replace I_RECMON : int * : record monitor (0=off, 1=normal, 2=not when playing (tapestyle)) I_RECMONITEMS : int * : monitor items while recording (0=off, 1=on) I_AUTOMODE : int * : track automation mode (0=trim/off, 1=read, 2=touch, 3=write, 4=latch I_NCHAN : int * : number of track channels, must be 2-64, even I_SELECTED : int * : track selected? 0 or 1 I_WNDH : int * : current TCP window height (Read-only) I_ISFOLDER : int * : folder status (1=folder, 0=normal, 2=last track in folder) I_FOLDERCOMPACT : int * : folder compacting (only valid on folders), 0=normal, 1=small, 2=tiny children I_MIDIHWOUT : int * : track midi hardware output index (<0 for disabled, low 5 bits are which channels (0=all, 1-16), next 5 bits are output device index (0-31)) I_PERFFLAGS : int * : track perf flags (&1=no media buffering, &2=no anticipative FX) I_CUSTOMCOLOR : int * : custom color, windows standard color order (i.e. RGB(r,g,b)|0x100000). if you do not |0x100000, then it will not be used (though will store the color anyway) I_HEIGHTOVERRIDE : int * : custom height override for TCP window. 0 for none, otherwise size in pixels D_VOL : double * : trim volume of track (0 (-inf)..1 (+0dB) .. 2 (+6dB) etc ..) D_PAN : double * : trim pan of track (-1..1) D_PANLAW : double * : pan law of track. <0 for project default, 1.0 for +0dB, etc B_SHOWINMIXER : bool * : show track panel in mixer -- do not use on master B_SHOWINTCP : bool * : show track panel in tcp -- do not use on master B_MAINSEND : bool * : track sends audio to parent B_FREEMODE : bool * : track free-mode enabled (requires UpdateTimeline() after changing etc) C_BEATATTACHMODE : char * : char * to one char of beat attached mode, -1=def, 0=time, 1=allbeats, 2=beatsposonly F_MCP_FXSEND_SCALE : float * : scale of fx+send area in MCP (0.0=smallest allowed, 1=max allowed) F_MCP_SENDRGN_SCALE : float * : scale of send area as proportion of the fx+send total area (0=min allow, 1=max)

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


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

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


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

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


SetTrackAutomationMode(MediaTrack* tr, int mode)

void SetTrackAutomationMode(MediaTrack* tr, int mode)


SetTrackMIDINoteName(int track, int note, int chan, const char* name)

const char* SetTrackMIDINoteName(int track, int note, int chan, const char* name)


SetTrackMIDINoteNameEx(void* proj, void* track, int note, int chan, const char* name)

const char* SetTrackMIDINoteNameEx(void* proj, void* track, int note, int chan, const char* name)


SetTrackSelected(MediaTrack* tr, bool sel)

void SetTrackSelected(MediaTrack* tr, bool sel)


ShowActionList(KbdSectionInfo* caller, HWND callerWnd)

void ShowActionList(KbdSectionInfo* caller, HWND callerWnd)


ShowConsoleMsg(const char* msg)

Show a message to the user (also useful for debugging). Send "" to clear the console window. void ShowConsoleMsg(const char* msg)


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

int ShowMessageBox(const char* msg, const char* title, int type) type 0=OK,2=OKCANCEL,2=ABORTRETRYIGNORE,3=YESNOCANCEL,4=YESNO,5=RETRYCANCEL : ret 1=OK,2=CANCEL,3=ABORT,4=RETRY,5=IGNORE,6=YES,7=NO


SoloAllTracks(int solo)

void SoloAllTracks(int solo) double SLIDER2DB(double y) solo=2 for SIP


SplitMediaItem(MediaItem* item, double position)

MediaItem* SplitMediaItem(MediaItem* item, double position) the original item becomes the left-hand split, the function returns the right-hand split (or NULL if the split failed)


StopPreview(preview_register_t* preview)

int StopPreview(preview_register_t* preview) return nonzero on success


StopTrackPreview(preview_register_t* preview)

return nonzero on success int StopTrackPreview(preview_register_t* preview)


StopTrackPreview2(void* proj, preview_register_t* preview)

return nonzero on success int StopTrackPreview2(void* proj, preview_register_t* preview)


stringToGuid(const char* str, GUID* g)

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


TimeMap2_beatsToTime(ReaProject* proj, double tpos, int* measures)

convert a beat position (or optionally a beats+measures if measures is non-NULL) to time. double TimeMap2_beatsToTime(ReaProject* proj, double tpos, int* measures)


TimeMap2_GetDividedBpmAtTime(ReaProject* proj, double time)

get the effective BPM at the time (seconds) position (i.e. 2x in /8 signatures) double TimeMap2_GetDividedBpmAtTime(ReaProject* proj, double time)


TimeMap2_GetNextChangeTime(ReaProject* proj, double time)

when does the next time map (tempo or time sig) change occur double TimeMap2_GetNextChangeTime(ReaProject* proj, double time)


TimeMap2_QNToTime(ReaProject* proj, double qn)

converts project QN position to time. double TimeMap2_QNToTime(ReaProject* proj, double qn)


TimeMap2_timeToBeats(ReaProject* proj, double tpos, int* measures, int* cml, double* fullbeats, int* cdenom)

convert a time into beats. if measures is non-NULL, measures will be set to the measure count, return value will be beats since measure. if cml is non-NULL, will be set to current measure length in beats (i.e. time signature numerator) if fullbeats is non-NULL, and measures is non-NULL, fullbeats will get the full beat count (same value returned if measures is NULL). if cdenom is non-NULL, will be set to the current time signature denominator.

double TimeMap2_timeToBeats(ReaProject* proj, double tpos, int* measures, int* cml, double* fullbeats, int* cdenom)


TimeMap2_timeToQN(ReaProject* proj, double tpos)

converts project time position to QN position. double TimeMap2_timeToQN(ReaProject* proj, double tpos)


TimeMap_GetDividedBpmAtTime(double time)

get the effective BPM at the time (seconds) position (i.e. 2x in /8 signatures) double TimeMap_GetDividedBpmAtTime(double time)


TimeMap_QNToTime(double qn)

converts project QN position to time. double TimeMap_QNToTime(double qn)


TimeMap_timeToQN(double qn)

converts project QN position to time. double TimeMap_timeToQN(double qn)


Track_GetPeakInfo(MediaTrack* tr, int chidx)

double Track_GetPeakInfo(MediaTrack* tr, int chidx)


TrackFX_FormatParamValue(MediaTrack* tr, int fx, int param, double val, char* buf, int buflen)

bool TrackFX_FormatParamValue(MediaTrack* tr, int fx, int param, double val, char* buf, int buflen)


TrackFX_GetCount(MediaTrack* tr)

int TrackFX_GetCount(MediaTrack* tr)


TrackFX_GetFXName(MediaTrack* tr, int fx, char* buf, int buflen)

bool TrackFX_GetFXName(MediaTrack* tr, int fx, char* buf, int buflen)


TrackFX_GetNumParams(MediaTrack* tr, int fx)

int TrackFX_GetNumParams(MediaTrack* tr, int fx)


TrackFX_GetParam(MediaTrack* tr, int fx, int param, double* minval, double* maxval)

double TrackFX_GetParam(MediaTrack* tr, int fx, int param, double* minval, double* maxval)


TrackFX_GetParamName(MediaTrack* tr, int fx, int param, char* buf, int buflen)

bool TrackFX_GetParamName(MediaTrack* tr, int fx, int param, char* buf, int buflen)


TrackFX_SetParam(MediaTrack* tr, int fx, int param, double val)

bool TrackFX_SetParam(MediaTrack* tr, int fx, int param, double val)


TrackList_AdjustWindows(bool isMajor)

void TrackList_AdjustWindows(bool isMajor)


TrackList_UpdateAllExternalSurfaces()

void TrackList_UpdateAllExternalSurfaces()


Undo_BeginBlock()

call to start a new block void Undo_BeginBlock()


Undo_BeginBlock2(void* proj)

call to start a new block void Undo_BeginBlock2(void* proj)


Undo_CanRedo2(void* proj)

returns string of next action,if able,NULL if not const char* Undo_CanRedo2(void* proj)


Undo_CanUndo2(void* proj)

returns string of last action,if able,NULL if not const char* Undo_CanUndo2(void* proj)


Undo_DoRedo2(void* proj)

nonzero if success int Undo_DoRedo2(void* proj)


Undo_DoUndo2(void* proj)

nonzero if success int Undo_DoUndo2(void* proj)


Undo_EndBlock(const char* descchange, int extraflags)

call to end the block,with extra flags if any,and a description void Undo_EndBlock(const char* descchange, int extraflags)


Undo_EndBlock2(void* proj, const char* descchange, int extraflags)

call to end the block,with extra flags if any,and a description void Undo_EndBlock2(void* proj, const char* descchange, int extraflags)


Undo_OnStateChange(const char* descchange)

limited state change to items void Undo_OnStateChange(const char* descchange)


Undo_OnStateChange2(void* proj, const char* descchange)

limited state change to items void Undo_OnStateChange2(void* proj, const char* descchange)


Undo_OnStateChange_Item(ReaProject* proj, const char* name, MediaItem* item)

void Undo_OnStateChange_Item(ReaProject* proj, const char* name, MediaItem* item)


Undo_OnStateChangeEx(const char* descchange, int whichStates, int trackparm)

trackparm=-1 by default,or if updating one fx chain,you can specify track index void Undo_OnStateChangeEx(const char* descchange, int whichStates, int trackparm)


Undo_OnStateChangeEx2(void* proj, const char* descchange, int whichStates, int trackparm)

trackparm=-1 by default,or if updating one fx chain,you can specify track index void Undo_OnStateChangeEx2(void* proj, const char* descchange, int whichStates, int trackparm)


UpdateItemInProject(MediaItem* item)

void UpdateItemInProject(MediaItem* item)


UpdateTimeline()

void UpdateTimeline()


ValidatePtr(void* pointer, const char* typename)

returns true if the pointer is a valid object of the right type bool ValidatePtr(void* pointer, const char* typename)


WDL_VirtualWnd_ScaledBlitBG(LICE_IBitmap* dest, WDL_VirtualWnd_BGCfg* src, int destx, int desty, int destw, int desth, int clipx, int clipy, int clipw, int cliph, float alpha, int mode)

bool WDL_VirtualWnd_ScaledBlitBG(LICE_IBitmap* dest, WDL_VirtualWnd_BGCfg* src, int destx, int desty, int destw, int desth, int clipx, int clipy, int clipw, int cliph, float alpha, int mode)

Personal tools