Quote:
Originally Posted by mschnell
In fact I would not like to be forced to use MCU protocol, if my controller provides others.
OTOH my XTouch Compact does not feature more than 7 bits (in non MCU mode) anyway. I don't know if it provides more than 7 relevant bits in MCU mode.
-Michael
|
You definitely will not be forced to use MCU protocol
I see from an earlier post you are a software engineer.
Following is the ACTUAL (well, the currently proposed) template format.
Check out the real surface template closely, there is nothing that prevents us from adding a second midi message for surfaces that need that capability.
If you really want to get deep into it, download, understand, and compile the software yourself, it's Open Source, the GitHub link is in my sig.
Here's the latest format candidate, please study it carefully and please feel free to ask any questions, note this is NOT pseudo format it's the real thing:
//////////////////////////////////////////////////////////////////////
CSI.ini // main ini file
MidiInMonitor=Off
MidiOutMonitor=Off
VSTMonitor=Off
// real surfaces
// name // number of bankable faders // midi channel in // midi channel out // real surface template filename
“Mix1" 8 1 1 “McuX"
“Control" 4 3 3 “C1"
“Console1” 0 8 7 “Mcu"
“Mix2" 8 2 2 “McuX"
// logical surfaces //
///////////////////////////
Logical Surface “aLogicalSurfaceName"
SurfaceGroup “surfaceGroupName"
// real surface name // action templates directory // FX templates directory
“Mix1” “StdMcuX” “StdMcuFX"
“Mix2” “StdMcuX” “StdMcuFX"
SurfaceGroup “surfaceGroupName2"
“Console” “StdC1” “StdC1"
“Control” "SpecialMcu" "StdMcuFX"
///////////////////////////
Logical Surface “anotherLogicalSurfaceName"
SurfaceGroup “surfaceGroupName"
“Mix1” “SpecialMcuX” “StdMcuFX"
“Mix2” “SpecialMcuX” “StdMcuFX"
SurfaceGroup “surfaceGroupName2"
“Console1" “StdC1” "Special/C1"
“Control” “StdMcu” “StdMcuFX"
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// real surface template -- ties widgets to widget names
// name // optional param(s) // widget type // midi message (3 bytes)
“Play" _PushButton 90 5e 00-7f
“Record" _PushButton 90 5f 00-7f
…
Channels 1-8
“Fader" -72.0 12.0 _Fader e0+ 00-7f 00-7f
“Solo" _PushButton 90 08+ 00-7f
“Mute" _PushButton 90 10+ 00-7f
...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// action template - ties widget names to actions
// widget // action
“Fader" _TrackVolume
“Mute" _TrackMute
“Play" _Play
...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// FX template - ties widget names to FX param names
VST: ReaComp (Cockos)
// widget name // FX param name
“Threshold" “Thresh"
“Character" “Gain"
“Attack” “Attack"
“Release” “Release”
"Ratio" “Ratio"
“Compressor” “Bypass"
“Parallel” “Wet"
"CompressorMeter” “GainReduction_dB"
//////////////////////////////////////////////////////////////////////