back to main reference page
REAPER Extensions SDK
REAPER Plug-in Extensions are additional components which can add functionality to REAPER. These plug-ins are not plug-ins in the traditional "DAW" sense of plug-ins, in that they are not "Effect" plug-ins, but rather can do many of the following things:
- Add support for reading/writing audio file types
- Add support for external control surfaces (MIDI or otherwise)
- Add support for importing other project formats
- Add audio editor support for filetypes
- Access many services provided by REAPER, including audio file read/write, audio hardware access, samplerate conversion, pitch shifting/time stretch, etc.
- Many other things
Extensions for REAPER/win32 should be written in C++ and compiled using MSVC (pure virtual interface classes are used and as such the C++ ABI must be compatible -- sorry, mingw users).
Download: REAPER Extension Mini-SDK
(last updated December 16 2009)
- RAW PCM_source example (framework for adding media file read support)
- RAW PCM_sink example (framework for adding media file write support)
- Control Surface extension source code (LGPL) -- REAPER's Control Surface support (includes support for MCU, BCF2K, TranzPort, AlphaTrack, HUI, and FaderPort)
- M3U (mp3 playlist) project importer (how to write a project file import plug-in)
- NINJAM loop retreival plug-in (shows how to add menu items and actions, insert media to project, etc)
REAPER itself can generate the latest extension API header file, to ensure that development is in sync with a particular REAPER release version. The header will be written to the REAPER program directory (therefore you may need to run REAPER as admin, depending on your disk permissions).From REAPER, run this action:
[developer] Write C++ API functions header
The very popular SWS extension
is an open source project, and contains many excellent examples of how to do useful things with the REAPER Extension SDK.