Page 1 of 1
Midi Note Pitch to Value
Posted: Sun Jun 19, 2005 1:45 am
by momo_the_monster
I'd like to use my Oxygen8 Keyboard to drive values for a control - position x for example. Right now I only seem to be able to map notes as on-off - is there a way to tell a value to use the pitch instead? Is this available through Python?
Re: Midi Note Pitch to Value
Posted: Mon Jun 20, 2005 10:10 pm
by boris
momo_the_monster wrote:I'd like to use my Oxygen8 Keyboard to drive values for a control - position x for example. Right now I only seem to be able to map notes as on-off - is there a way to tell a value to use the pitch instead? Is this available through Python?
Probably yes, use the module "printdirectevent" to show exactly what your Oxygen8 send.
And use the scripting with python.
Posted: Wed Jun 22, 2005 7:50 pm
by Akira
My mod/pitch wheel completely drives modul8 crazy. Do you know why that is? It seems as if it starts sending all sort of values all over the place.
I've got an Edirol PCR30
Posted: Wed Jun 22, 2005 10:05 pm
by yves@garagecube
Akira wrote:My mod/pitch wheel completely drives modul8 crazy. Do you know why that is? It seems as if it starts sending all sort of values all over the place.
I've got an Edirol PCR30
Use the printdirectevent module. And let me know what midi messages you receive.
Posted: Wed Jun 29, 2005 10:33 am
by Akira
Will do this soon

Posted: Fri Jul 22, 2005 1:44 am
by momo_the_monster
Hmm...so I've been trying to get this to work...
I found the messages coming in - they are
msg:NOTE_ON
param1:pitch
param2:velocity
great! But this is the first script I've tried to write, so I'm probably not doing something right.
I've tried modul8.setvalue('direct_layer_position_x', param['param1'])
but it doesn't react at all. Any hints you could give?
Posted: Fri Jul 22, 2005 4:07 am
by boris
Direct_layer_position_x use a value from -infinite to +infinite and the virtual size inside the screen is for -320 to 320 (the center = 0).
Your midi param is probably from 0 to 64 or 0 to 128.
Try this :
modul8.setvalue('direct_layer_position_x', ((param['param1']/64.0) * 640)-320,0)
or
modul8.setvalue('direct_layer_position_x', ((param['param1']/128.0) * 640)-320,0)