Proposal for a solution to improve integration of hardware controllers with software plugins using CLAP #304
Replies: 2 comments 2 replies
-
Hi, I think the current situation is not as bad as you may think. It is possible to have hw <-> plugin, see NI Maschine for example. It is a bit of a chicken and egg problem to introduce new hw controller integration concept and requires the ability to build the hw and software in both host and plugins and distribute that in a large amount. This currently isn't a goal for CLAP nor even possible with our resources. Cheers, |
Beta Was this translation helpful? Give feedback.
-
You could easily provide a connection to any hardware from your plugin. There are existing solutions to this problem, independent from CLAP. And you are right, in this case the plugin needs to be in the center of the network/communication. What CLAP could benefit from: an interface where a connected hardware surface would be defined and offer it to the plugin which can adapt to the offered actual hardware interfaces. A rough idea would be that the plugin could enumerate available buttons, knobs and displays together with hinting ("Knob 14, labelled with 'Select', Position -20,50 "). There is a similar concept in the gaming world, where controllers define such a layout scheme, so games can display a sketch of the controller for function assignments. When I have some time, I try to write a more precise proposal. |
Beta Was this translation helpful? Give feedback.
-
Introduction
I would like to work to improve the experience for both users and developers in regard to how hardware controllers integrate with software plugins.
I find that the current solutions are not in anyway ideal and lead to frustrations from both parties.
It is my belief that the relationship between CLAP, as a relatively new plugin format and Bitwig, as a forward thinking DAW, provides a unique a unique opportunity to resolve this problem.
I am not a developer myself, but I am writing this in the hope of starting some discussion.
The Current Situation and Problems With It
At the moment, the relationship between plugin, controller and DAW is quite simple and inherently limited.
If I, as a user, would like to a controller a plugin from my controller, then the signal flow will operate like this:
Controller ====>> DAW ====>> Plugin
After recording automation, the playback signal flow then works like this (I think - please correct me if I’m wrong):
DAW ====>> Plugin
The plugin reports which parameters are available for mapping, but because hardware controller mapping happens at the DAW level, this means that some manual mapping has to be done.
Currently, this is achieved in the following ways:
My Solution
My solution proposes to change the signal flow and make other improvements in the process.
In this solution, the signal flow would be:
Controller <<====>> Plugin <<====>> DAW
By making the plugin the central point, there can be some advantages:
The Challenges
There are several challenges to overcome to achieve this:
Closing
Hopefully this is some food for thought. I’d really love to see this area improved but I can’t do it by myself!
I look forward to any feedback.
Beta Was this translation helpful? Give feedback.
All reactions