-
Notifications
You must be signed in to change notification settings - Fork 86
Home
#Building the SWS Extension
##Windows The project files are in Visual Studio 2013 format. Project files are also provided in MSVC 2008 format is for convenience, but these might not be maintained anymore in the future...
The build environment is setup to be portable. All you need to do is set a Windows REAPER_DIR
equal to the path to your REAPER executable. Also set REAPER64_DIR
to REAPER x64 if you plan to build/debug in x64. Make sure to generate the API header file from REAPER too (see below).
##OSX
The project is built using XCode v3.1. Pretty standard XCode project. Use Debug mode for debug, release for universal binary build. There's a post-build script setup to copy the dylib from the sws_osx directory to the ~/Library/Application Support/REAPER/UserPlugins
directory. If you want to make an installer, find the tool "pkg-dmg" on the web, put those files in ../osx-install
, and run ./sws_osx_installer.sh
. You'll most likely want to modify the script for your own use as the script also uploads to my FTP.
##WDL WDL from Cockos http://www.cockos.com/wdl/ needs to be installed on your system.
##File structure notes
-
/<development root>/
- A directory of your choosing -
/<development root>/WDL/
- NEEDED See WDL section above -
/<development root>/sws/
- Put the content of the source tree here. You can use a different name if you do not plan to build/release the extension ("sws" is required to generate LangPack files). -
/<development root>/sws/reaper/
- REAPER SDK interface / files -
/<development root>/sws/reaper/reaper_plugin.h
- This file is copyright Cockos and is only included here for convenience. The original location of this file is http://www.reaper.fm/sdk/plugin/plugin.php. I'll keep this file up to date in the source tree. -
/<development root>/sws/reaper/sws_rpf_wrapper.h
- This file wraps the automatically generated filereaper_plugin_functions.h
. You need to generate the file by running Reaper's action "API: Write C++ API functions header". Make sure the extension is not already installed though (it would exports some of its own functions there too). Then, if your reaper is in a different directory, you'll need to customize this file to suit. -
/<development root>/sws/Xenakios/
- Code initially written by Xenakios. These actions contain Xenakios in the action title and are listed in the "Extensions" main menu. -
/<development root>/sws/Fingers/
- Code contributed by Fingers, namely the Groove Tool and some MIDI actions/utilities. -
/<development root>/sws/AutoRender/
- Autorending utility, ported from AHK by Shane. -
/<development root>/sws/SnM/
- Code written by Jeffos. Actions with S&M in the title. -
/<development root>/sws/Padre/
- Code written by Padre, mostly his LFO generator. -
/<development root>/sws/ + Color/Console/Freeze/MarkerActions/MarkerList/Snapshots/TrackList/
- These contain code for the SWS functionality with the same name. -
/<development root>/sws/ObjectState/
- Classes for parsing the text from Reaper's !GetObjectState() function. Quite incomplete at the moment! -
/<development root>/sws/Utility/
- General utility classes -
/<development root>/sws/Misc/
- General actions written by SWS