REAPER support for Steinberg CC121

I've recently got myself this new Steinberg CC121 controller for my little home studio. I love it. The device is a bit on the expensive side but this sturdy built thing has a great feeling to it and I really like how it integrates into Cubendo.

But it obviously had a huge drawback - it did not work with REAPER, my other DAW beside Cubase.

I took this annoyance as a challenge and I wrote a little REAPER control surface extension to 'advance integrate' the controller as tightly as possible into REAPER as well.

OK, what works?

Well, almost everything including version 1.5 of the controller works fine. There are of course a few differences because REAPER and Cubase are two different DAWs but these differences are minor:

1. REAPER has no dedicated window for a complete channel view so the 'e' button will open and close the FX window of a track instead. This window will not automatically follow the active track like in Cubendo because it makes more sense to keep several FX windows on the screen at the same time.

2. The dedicated VSTi window is missing from REAPER as well so the VSTi button opens the I/O window of a track instead.

3. There is no fixed EQ in REAPER so this extension uses EQ maps to automatically control abitrary EQ plugins. The functionality of the EQ controller section will of course depend on the capabillities of the plugin. Every parameter that can be controlled with automation can be mapped to the EQ encoders and buttons (with adjustable encoder sensitivity). Several maps for REAPER's default VST and JS EQs are included. More to follow. Building custom maps for other plugins is not difficult. Drop me a note if you want to know more.

4. There is no need for arbitrary limitations in REAPER, so any REAPER action (builtin, extension or script) can be assigned freely to the user knobs, the foot switch and the value encoder. Additionally there are is a configuration dialog to customize the encoder speed, accelleration, track wrap behaviour and other individual settings.

What doesn't work?

The I/O window of the master track can not be opened with the CC121, closing it works. REAPER is missing a specialized command for this action. Additionally the Lock button for parameter locking doesn't work but it doesn't work with VST2 plugins in Cubase either.

What is new?

These enhancements go beyond the original functionality that the device provides under Cubase but I found them very handy when working with the CC121:

1. Pressing the mute and the monitor button at the same time will swap the functionality of the volume fader and the pan encoder so the fader will control the panorama of a channel and the encoder will control the volume. This will make the automation of pan data much easier.

2. Pressing the write and the VSTi button at the same time will disable and enable the motorfader. This is usefull in many recording and mixing situations where the sound of the moving fader is disturbing. This shortcut is much easier as plugging the wall wart in and out every time to shut up the fader.

Where does it work?

This REAPER extension should work fine in both 32 bit and 64 bit Windows (XP, Vista and Win7) with REAPER version 3.2 and above. The extension has even been tested with REAPER running on Ubuntu 9.10 Linux with Wine and both the controller and the extension worked fine right out of the box (Love this one ).

Mac OS is not supported at the moment, as I currently don't have access to a Mac where I can develop and the test the extension.

What is new in the 1.5 version?

Well, I have no idea what the firmware update from 1.0 to 1.5 did to the hardware but the software introduced some not so obvious additions to the functionallity of the controller in Cubase. These are included in the REAPER version as well:

  • Pressing the two 'CHANNEL SELECT' buttons at the same time will toggle the open and close state of folder tracks.
  • Pressing the 'EQ TYPE' and 'ALL BYPASS' button at the same time enters the quick control mode where:
    • The four 'ON' buttons control the mute states of the first four sends.
    • The four 'G' encoders adjust the levels of the first four sends.
    • The 'Q' and the 'F' encoders control the quick controls of Cubase and the first eight assignable fx parameter knobs on REAPER's TCP/MCP respectively.

And Cubase?

Several Cubase users have asked me if it would be possible to add the additions to Cubase as well. Especially the rotary speed settings, the follow arrangement/mixer selection and the volume/pan swap were highly regarded. I would like to see the abillity to swap the EQ dials to match the on screen EQ of Cubase (I'm still grabbing the wrong dial after all these years).

But I have to say: sorry, this is not possible. I would happily add these things to Cubase as well as I still use Cubase a lot and miss these features too. Steinberg even has a programming interface to add support for new controllers to Cubase and Nuendo. But it is not available to the public and it seems to be absolutely impossible to get access to the SDK as a private person. They even refuse to answer mails and forum/facebook posts regarding this topic. And I sent a lot.

So if you use Cubase then you are on your own and you will depend on the mercy of Steinberg to get new features for the CC121. And looking at the recent past I wouldn't hold my breath.

Installation

Download this zip file to your computer:

Click Me

Unzip the file with your favorite unzipping tool, and copy the appropriate dll for your platform into the REAPER plugins folder. Note: This folder is located inside the REAPER program folder (usually "C:\Program Files\REAPER\Plugins" or something like that). It has nothing to do with the VST-plugin directory of your system.

Copy the CC121 folder with the EQ maps into the REAPER Data folder (usually "C:\Program Files\REAPER\Data").

Open REAPER, go to the preferences and select the control surfaces tab. Click on 'Add' and select 'Steinberg CC121' as control surface mode. Be sure to select the proper MIDI input and MIDI output for your CC121.

That is basically it.

The virtual CC121

As I don't have the real device at hand all the time and to generally simplify programming I created myself a virtual CC121 simulation. It will need a MIDI loopback device installed on your system to work (MIDIYoke works fine here on both Win7/x86 and Win7/x64). I've included it in the zip file in the win32 folder. Maybe you'll have some fun with it.

Trouble Shooting

The AI knob controls only the zoom of the arrangement window and not the parameter under the cursor. WTF?

Like in Cubase the AI knob simulates the parameter changes with mouse wheel messages. To make this feature work you'll have to set the mouse wheel target mode in REAPER to 'Window under cursor' in the preferences (Editing Behavior/Mouse).

Support

Please post all questions and suggestions on the CC121 REAPER integration in the CC121 thread over at the REAPER user forum:

CSurf plugin for Steinberg CC121

I'll try to answer as soon as possible.

Version history

08-21-2010: 0.0.0.8. (Download)

  • REAPER 3.3 compatibility update. Some minor things have changed in the 3.3 version of REAPER and this update brings the controller back in sync again.
  • Added a virtual CC121 simulation.

01-27-2010: 0.0.0.7. (Download)

  • REAPER 3.2 compatibility update. Some minor things have changed in the 3.2 version of REAPER and this update brings the controller back in sync again.
  • Different AI Knob handling that should enhance compatibillity on x64 systems.

01-08-2010: 0.0.0.6. (Download)

  • Added new function: Pressing the mute and the monitor button at the same time will swap the functionality of the volume fader and the pan encoder so the fader will control the panorama of a channel and the encoder will control the volume. This will make the automation of pan data much easier.
  • Added new function: Pressing the write and the VSTi button at the same time will disable and enable the motorfader. This is usefull in many recording and mixing situations where the sound of the moving fader is disturbing. This shortcut is much easier as plugging the wall wart in and out every time to shut up the fader.

12-15-2009: 0.0.0.5. (Download)

  • Fixed minor x64 issues.

12-03-2009: 0.0.0.4. (Download)

  • Assign arbitrary actions to the user button, foot switch and the rotary encoder.
  • Added EQ maps to automap the CC121 EQ buttons to most EQ plugins out there (this is of course not limited to EQ plugins). Maps for REAPER's factory VST and JS EQs are already included. I don't have that many external plugins to create maps for but creating custom maps should be easy. Give me a hint if you need instructions.

11-24-2009: 0.0.0.3. (Download)

  • New option to adjust acceleration speed of the rotary encoders.
  • The 'e' button now shows/hides the I/O window of the current track.
  • Open and close folders by simultaneously pressing both 'Channel Select' buttons.
  • Simultaneously pressing the 'EQ Type' and 'All Bypass' buttons enters or leaves the 'Quick Control Mode' where:
    • The four 'On' buttons control the mute states of the first four sends.
    • The four 'G' encoders adjust the levels of the first four sends.
    • The 'Q' and the 'F' encoders control the first eight assignable fx parameter knobs on the TCP/MCP.

11-21-2009: 0.0.0.2. (Download)

  • The fx-window show/hide button should now open and close the associated FX windows of the selected track.
  • Added a first 64Bit version of the plugin.
  • Added source.

11-19-2009: 0.0.0.1. (Sorry, no download available)

  • Initial release.


Please note: These pages are not affiliated to Cockos™ in any way. This is just a private fun project with the intention to share the joy of the CC121 among Cockos™ REAPER™ users and Steinberg™ Cubase™ users. Cockos™ and REAPER™ are registered trademarks of Cockos™. Steinberg™ and Cubase™ are registered trademarks of Steinberg™. All other brand names are trademarks of their respective owners.