Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Developer Forum

Reply
 
Thread Tools Display Modes
Old 09-10-2017, 12:40 PM   #1
Erriez
Human being with feelings
 
Join Date: Jun 2010
Location: The Netherlands
Posts: 151
Default Build and debug CSurf Surface Controllers with Visual Studio Community (Github)

I've created a ready to use CSurf project (surface controller support for REAPER) by using Microsoft Visual Studio 2013, 2015 and 2017 (Tested with the free Community Editions).

The project is available on Github:
https://github.com/Erriez/reaper_csurf_vs201x

The original "REAPER Extension SDK" is pretty old (2009) and contains build files for Visual C++ 6. I could not find documentation how to upgrade, build and debug surface controllers, so I decided to do it myself and write my own guide. It is just an upgraded project to support 32 and 64 bit REAPER (Windows) without touching the original SDK sources. I've changed only some include paths for simplicity.

I think this is a great quick-start for lots of people. I'll add more documentation about the internals of REAPER / surface controllers.

Is someone interested to add support for MAC? Volunteers are welcome to add fully tested pull-requests. (I don't have a MAC, so can't test it)

Feedback is welcome.

Last edited by Erriez; 09-16-2017 at 06:27 AM.
Erriez is offline   Reply With Quote
Old 09-11-2017, 11:41 AM   #2
Teddy
Human being with feelings
 
Join Date: Sep 2011
Posts: 139
Default

This is a great effort! Thank you!!
Teddy is offline   Reply With Quote
Old 09-12-2017, 01:26 AM   #3
Geoff Waddington
Human being with feelings
 
Geoff Waddington's Avatar
 
Join Date: Mar 2009
Location: Dartmouth, Nova Scotia
Posts: 1,643
Default

Thanks for the effort !
__________________
Groove is the subtle control of chaos -- feel free to donate to the open source control surface integration project -- geoffwaddington.ca
Geoff Waddington is offline   Reply With Quote
Old 10-27-2017, 06:29 AM   #4
fundorin
Human being with feelings
 
fundorin's Avatar
 
Join Date: Feb 2014
Location: Russia
Posts: 177
Default

Awesome! What "compatible surface" means? The one that supports Mackie/HUI protocol?
fundorin is offline   Reply With Quote
Old 10-27-2017, 11:33 AM   #5
Erriez
Human being with feelings
 
Join Date: Jun 2010
Location: The Netherlands
Posts: 151
Default

Quote:
Originally Posted by fundorin View Post
Awesome! What "compatible surface" means? The one that supports Mackie/HUI protocol?
"Compatible surface" means that basic features are supported, such as transport, fader/pan control etc. Just a little background about the protocols:

The MCU (AKA Mackie) protocol is reverse engineered from the popular Mackie MCU Pro controller. Documentation is available on Internet. The X-Touch also supports the MCU protocol, but I noticed that some commands are not implemented in the X-Touch.

The HUI protocol is also reverse engineered, because this is a closed protocol, has less features and bad documentation.

In Reaper | Preferences | Control/OSC/web you can select the following devices which are part of this open source project "reaper_csurf.dll":
- Behringer BCF2000 (MCU protocol)
- HUI (Partial) (HUI protocol, not recommended)
- Mackie Control Universal (MCU protocol for the Mackie MCU Pro / X-Touch / TouchDAW etc)
- Mackie Control Extender (MCU protocol for the Mackie MCU XT Pro / X-Touch Extender etc)
- PreSonus FaderPort (Unknown protocol)

Let me know if this answers your question.
Erriez is offline   Reply With Quote
Old 10-31-2017, 02:29 AM   #6
fundorin
Human being with feelings
 
fundorin's Avatar
 
Join Date: Feb 2014
Location: Russia
Posts: 177
Default

I understood now. You've made a modern version of CSurf default plugin, so everyone who would like to build his own plugin, could quickly use your project. I think that your repository should be linked at Developer's SDK page of the main Cockos site.
fundorin is offline   Reply With Quote
Old 11-01-2017, 11:55 AM   #7
Erriez
Human being with feelings
 
Join Date: Jun 2010
Location: The Netherlands
Posts: 151
Default

Quote:
Originally Posted by fundorin View Post
I understood now. You've made a modern version of CSurf default plugin, so everyone who would like to build his own plugin, could quickly use your project. I think that your repository should be linked at Developer's SDK page of the main Cockos site.
Yes, that's correct.

Note: I started to build a surface controller with OSC several month ago, but encountered lots of OSC limitations. The developers simply refused to publish the OSC sources from the binary "reaper_csurf.dll", but I don't know why. So implementing a csurf driver from my GitHub project is the best option at the moment.
Erriez is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:45 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.