-
Notifications
You must be signed in to change notification settings - Fork 93
Building the SWS Extension
On all systems, pick a dev root and run:
git clone http://www-dev.cockos.com/wdl/WDL.git
git clone https://github.com/reaper-oss/sws.git
On Windows: set REAPER_DIR and/or REAPER64_DIR environment variables to point to your REAPER installation paths. Also generate reaper_plugin_functions.h from REAPER action "[developer] Write C++ API function header".
The project files are in Visual Studio 2013 format.
The build environment is set up to be portable. All you need to do is set a Windows environment variable REAPER_DIR
to the folder where your REAPER 32-bit executable is located. Also set REAPER64_DIR
to REAPER x64 if you plan to build/debug in x64.
Make sure to generate the API header file reaper_plugin_functions.h
from REAPER too (run the action "[developer] Write C++ API functions header").
When generating header, REAPER should detect REAPER_DIR
(or REAPER64_DIR
) and write the header to that location. Note that the SWS project expects to find the generated header in the path pointed to by REAPER_DIR
(or REAPER64_DIR
).
The project is built using XCode v3.x.6. 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 by default. There's a command line script to build and create installers in Install/osx_build.command
.
Generate the API header file reaper_plugin_functions.h
from REAPER (run the action "[developer] Write C++ API functions header") and save to /Applications/reaper_plugin_functions.h
.
Now in "beta" (next branch), SWS extension compiles under Linux. You'll need lib-gtk3.0-dev
and php.
git clone http://www-dev.cockos.com/wdl/WDL.git
git clone https://github.com/reaper-oss/sws.git
cd sws
git checkout next
Generate the API header file reaper_plugin_functions.h
from REAPER (run the action "[developer] Write C++ API functions header") and save to your sws directory.
make
ln -s `pwd`/reaper_sws64.so .../REAPER/Plugins
WDL from Cockos http://www.cockos.com/wdl/ needs to be installed on your system.
-
/<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. You do not need anything from the SDK since the few files you need are included in the SWS source tree with permission. -
/<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 API functions header (reaper_plugin_functions.h
). -
/<development root>/sws/SnM/
- Code written by Jeffos, actions withS&M
in the title. -
/<development root>/sws/Fingers/
- Code contributed by Fingers, actions withFNG
in the title. -
/<development root>/sws/Breeder/
- Code contributed by Breeder, actions withBR
in the title. -
etc
-
/<development root>/sws/AutoRender/
- Autorending utility, ported from AHK by Shane. -
/<development root>/sws/Misc/
- General actions written by Tim. -
/<development root>/sws/ + Color, Console, Freeze, MarkerActions, MarkerList, Snapshots, TrackList
- These contain code for the functionality with the same name, written by Tim. -
/<development root>/sws/Utility/
- General utility classes
To generate the sws_python*.py
file which contains the SWS Python function wrappers, Perl must be installed.
The file is generated automatically during building SWS using the reascript_python.pl
Perl script. This script requires the reascript_helper.pl
Perl script which must be in an appropriate place (e.g. default Perl lib folder) for reascript_python.pl
to find it.