The Control Surface Integrator (CSI) is a Reaper plugin that aims to let you integrate your hardware control surfaces into Reaper.
The wiki is the starting point for all the documentation about CSI.
This fork has some improvements and automated build for Windows, MacOS and Linux, original code from https://github.com/FunkybotsEvilTwin/CSICode https://github.com/FunkybotsEvilTwin/CSIWiki
originally from https://github.com/ak5k/reaper-sdk-vscode
Visual Studio Code + CMake based cross-platform template for developing a REAPER Plug-in Extension
An entry level solution for setting up a REAPER Plug-in Extension development and build environment based on Visual Studio Code and CMake. Goal is to setup ReaScript IDE-like working environment for developing a simple scriptlike plugin, with little if any former background on C/C++ or REAPER Plug-in Extension development itself, and begin learning. Layman's documentation is included in the source files. Developed and tested on Windows 10, MacOS High Sierra 10.13.6 and Big Sur 11.1, and Ubuntu 20.04.1. Some familiarity with Visual Studio Code is beneficial. Instructions are based on clean/fresh installation.
It's recommended to read all steps in advance before beginning installation.
Install Visual Studio Community with Develop C and C++ applications component. Default installation includes MSVC compiler and CMake. Visual Studio installation can be trimmed down before installation or afterwards by cherry-picking only the necessary components from Visual Studio Installer > Individual Components section.
- C++ CMake tools for Windows
- Windows SDK (e.g. Windows 10 SDK (10.0.19041.0) for Windows 10, version 2004)
Perhaps the easiest way is to install Homebrew. This will also install Apple XCode Command Line Tools. After Homebrew is installed, install CMake with brew install cmake
. Git can also be installed from Homebrew with brew install git
.
Mainstream Linux distributions usually include compiler and many of other necessary tools. On Ubuntu, command sudo apt install build-essential cmake gdb git valgrind
installs all necessary tools.
- Install Visual Studio Code (VSCode).
- Install Git, if not already installed.
- Open the project directory in VSCode
- Install recommended extensions thru extensions panel or recommendations popup or command line or any way you like:
- VSCode C/C++ Extension Pack
code --verbose --install-extension ms-vscode.cpptools-extension-pack ms-vscode.cmake-tools
. - CMake Tools with
code --verbose --install-extension ms-vscode.cmake-tools ms-vscode.cmake-tools
. This might take a while. - If command
code
isn't found on Mac, see this and try again.
- VSCode C/C++ Extension Pack
- VSCode finishes installing the C/C++ Extensions pack. This is indicated in Status Bar.
- Wait, until all dependencies have been downloaded and installed. This might take a while.
- Then quit VSCode and restart.
- If VSCode notifies about Reload, then Reload.
- If VSCode notifies to
configure project with CMake Tools
, chooseYes
to configure. CMake Tools can also be set to allow always configure new C/C++ projects. - Select appropriate build kit for platform and architecture. Visual Studio for Windows, Clang for MacOS and GCC for Linux (e.g.
Visual Studio Community Release 20XX - amd64
for modern Windows PC). - VSCode should also notify about setting up IntelliSense for current workspace. Allow this.
- If this did not happen, these can be set up by issuing VSCode Command Palette Commands (Ctrl/Cmd + Shift + P)
CMake: Configure
andCMake: Select a Kit
, or from VSCode Status Bar.
- Set environment cariables:
REAPER_PATH
- path to folder with reaper.exe without trailing \ (like C:\Apps\ReaperPortable\App\REAPER)REAPER_RESOURCE_PATH
- path to folder with your reaper.ini and UserPlugins without trailing \ (like C:\Apps\Data\ReaperPortableConfig) - there will be installed build .dll and debug files (.ilk and .pdb)
- By default, VSCode builds a debug version of the plugin it by running
CMake: Build
or keyboard shortcutF7
. - Install plugin with VSCode command
CMake: Install
. - Start debug in REAPER by
F5
. - Choosing between debug and release builds can be done with
CMake: Select Variant
.
- VSCode docs and Microsoft C++ docs are a helpful resource. And, of course, ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum.