Thx Fry_up, but the BCF2000-module is not so handsome. So I'm looking forward to your module.
@chriss0212: I found an easy way to get feedback. It might be very clumsy for real programmers - I'm sorry

But it works for my usage!
Gut create a new module, add your Midi Mapping to a "dictionary" typ at the "INIT()"
[PAR of the encoder/button/fader] : [Modul8 Keyword]
A small setting for exemple:
Code: Select all
midimap = {17 : 'ctrl_layer_movie_speedFactor', 18 : 'ctrl_layer_scale_factorUniform', 19 : '', 20 : '', 21: '', 22 : 'ctrl_master_speed', 23:'', 24:'', 25:'', 26:'', 27:'', 28:'', 29:'', 30:'', 65 : 'ctrl_layer_pixelFX_saturationOn', 66:'ctrl_layer_pixelFX_lightnessOn', 67 : 'ctrl_layer_pixelFX_contrastOn', 68 : 'ctrl_layer_pixelFX_lumaOn', 69:'ctrl_layer_pixelFX_noiseOn', 70:'ctrl_layer_pixelFX_blurOn', 71:'', 72:'', 73:'ctrl_layer_auto_moveOn', 74:'ctrl_layer_auto_scaleOn', 75:'ctrl_layer_auto_colorOn', 76:'ctrl_layer_auto_rotateOn'}
And now add to the Keyword Event this:
Code: Select all
if keyword == "ctrl_layerStack_focusPosition":
for i in range(17,30):
if midimap[i] <> "":
modul8.sendMidi(0,1,'CONTROL_CHANGE',i,modul8.getValue(midimap[i],param)*127)
or, I had a little "hole" in my mapping so I used two for-boxes and a little print-output for debugging:
Code: Select all
#Send MIDIOUT Feedback for the Setting of the chanced focus layer!
if keyword == "ctrl_layerStack_focusPosition":
print "Layer changed to "+str(param)+" - updating new params"
for i in range(17,30):
if midimap[i] <> "":
modul8.sendMidi(0,1,'CONTROL_CHANGE',i,modul8.getValue(midimap[i],param)*127)
print str(midimap[i])+" updated @PAR"+str(i)
for i in range(65,71):
if midimap[i] <> "":
modul8.sendMidi(0,1,'CONTROL_CHANGE',i,modul8.getValue(midimap[i],param)*127)
print str(midimap[i])+" updated @PAR"+str(i)
print "***ENDE***"
print
And if you want to get feedback from several faders on the focuslayer, this worked as well (in KeywordEvent):
Code: Select all
if keyword == "ctrl_layer_movie_speedFactor":
modul8.sendMidi(0,1,'CONTROL_CHANGE',17,param*127)
I appreciate that this isn't at all the best method - especial because of the high transit of MIDI-Date when using the BPM Router etc. - But I don't know Phyton and for the perfect solution there will be Fry_up's Modul - soon
