Introduction
REAPER DAW supports alternative configuration directories, allowing multiple independent REAPER configurations on one machine. This feature is useful for experimenting with REAPER without compromising your main or stable configuration, or for keeping multiple independent configurations for different use cases.
For DAW plugin test automation use-case this feature allows creating a consistent environment for each test case execution.
Feature Description
By default, REAPER stores configuration files in ~/Library/Application\ Support/REAPER/
on macOS.
To use an alternative configuration directory, run REAPER from Terminal:
/Applications/REAPER.app/Contents/MacOS/REAPER -cfgfile ~/Library/Application\ Support/MyReaperConfig/reaper.ini
This loads configuration from ~/Library/Application\ Support/MyReaperConfig/
. If the directory doesn’t exist, REAPER creates it with default configuration and resource files. All changes made during this session are stored in that directory.
Note: Don’t forget to copy your REAPER license file (~/Library/Application\ Support/REAPER/reaper-license.rk
) to the new configuration directory.
Perfect for Automation
This feature makes REAPER ideal for DAW plugin test automation. A standalone REAPER configuration provides a consistent testing environment for every test scenario.
You can maintain a “default” REAPER configuration for all test scenarios or create configurations for specific test cases.
Before each test, the automation framework:
- Creates a copy of the corresponding REAPER configuration
- Associates it with the current test case
- Saves it with test evidence data
- Starts REAPER and executes the test scenario
If a test fails, the REAPER execution environment can be reconstructed using the saved configuration and test evidence data for analysis and debugging.
Conclusion
REAPER is a very powerful and flexible DAW, which makes it suitable for use in DAW plugin test automation. Unfortunately, many features are poorly documented, making discovery difficult.
One more reason to use REAPER for test automation - it can be controlled from test automation frameworks via OSC commands.