Project5 On The Surface
Bob Damiano, Director of Engineering / Borrowed Project5 Developer
One of the coolest features available in SONAR 6 is Active Controller Technology (ACT). For the uninitiated, ACT is a technology that lets your
Well since I was one of the main people responsible for ACT in SONAR 6, the Project5 folks asked me if it would be possible to add ACT to this new release. "Sure!" I said without really thinking. After all, I really missed working on P5. Even though I have been away from P5 for several development cycles, I was actually the first person to work on the original Project5 version 1.0.
At first the P5 Product Management team didn't realize this but ACT is really a thin layer built on top of SONAR's Control Surface Framework. Yes - the same framework that gives you Mackie[tm] and Tranzport[tm] control, is the basis for ACT. So the good news for Project5 folks is "you can't get one without the other". To add ACT to Project5 really means adding full Control Surface Support!
The Leg Bone's Connected to the...
So just what would be involved in moving all this Control Surface code over to P5? After all, Surfaces were never intended to be used outside of the SONAR family of products. In fact, any adventurous folks who would download our Surface SDK at http://www.cakewalk.com/devxchange/ControlSurfaces.asp, would notice that all of the interface and parameter names have the word "SONAR" in them. The original creators of this framework really thought of it as a SONAR-centric thing.
It turned out to be relatively painless to lift the code and bring it over to P5. In fact, in many cases (because of P5's cleaner code architecture), the implementation of surface functions required much less code in P5. Nothing gives a developer more happy feelings than that. Not even coffee. And the best thing is... it works!
What is a "strip" anyway?
When it comes down to it, in terms of control, P5 is similar enough to SONAR that it makes sense to integrate the surface framework. P5 has native parameters (like Volume, Pan, etc), and it has plug-ins. One of the fundamental questions to deal with in P5 is "what is a strip?". In SONAR, a Track, a Bus... whatever - they're strips. In Project5 there is one slightly strange animal: the multi-out Synth Track. What is that? A strip? Many strips? We decided to go with the latter. So when using surfaces on P5, multi-out synth tracks are exposes as 1 output per strip. The strip name is exposed to the surface as the track name with the output number in parenthesis for example "Dimension Pro (Out 3)".
Since the original release of ACT in SONAR 6, numerous improvements and bug fixes have gone into both the framework, and the various ACT-capable Surface Plugins. Happily Project5 is coming along at just the right time to pick up all these improvements. In addition, we know that several 3rd Party Controller Manufacturers are either creating ACT-capable surface plugins, or adding ACT support to existing plugins for their hardware. ACT is being well accepted and integrated across the industry.