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:

  1. Creates a copy of the corresponding REAPER configuration
  2. Associates it with the current test case
  3. Saves it with test evidence data
  4. 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.