ideaThe idea is to have a separate application for the interface which connects to the rubyk instances through TCP/IP. In the example below, there are three applications (possibly on different computers): an interface and two rubyk instances.
problemsThere are still a number of difficulties to solve:
data transferThe first problem could be solved by having the interface “pull” data by sending a query instead of “pushing” everything from the instances. The interface could only query for value changes. Here is an example of a session:
The nodes could easily store the learnIn order to solve the “learn” problem, we have to decide where the connection goes: to the instance ? to the interface ? An idea would be to have an internal representation of any hardware controller. These internal representations would store a mapping of events (midi events, data changes) and meta events to send to specific nodes (change pitch, etc). The mapping could be done in Lua for greater flexibility. ![]() tools for the jobThe interface will be programmed using the excellent Juce C++ framework. The protocol between rubyk instances and interfaces will be implemented using the Ragel state machine compiler. I found a juce tutorial to start learning Juce. |
documents |