mdi negative range
I’m trying to implement my mbrane in maxforlive and have problems, I have the following:
M1 Dampen MSB —- 0..1
M1 Dampen LSB —- 0..127
When the MSB is 0 the LSB range is: 0 to 126.
When the MSB is 1 the LSB range is: -1 to -128
I Would like to do a unique knob with the range : -128 to 126
Could anyone help me?
Not sure I understand your goals completely, but the knob could be made like this.
----------begin_max5_patcher---------- 380.3oceSsraBCCD7bxWQjOCH.Idndrm6sdrBgbh2.t0YcjsSDHD+6MwO3gv lKaR1Y8ryNqyk7LRo7DnIEeT7SQV1k7rLapwDY9uyHMzSUBp1VFQv6gYLNUP l3P6oJj1.wAaUfFPC0vk3dETYbsZ9r4SbgU131gXwN+YvtFNJ.iseK7Ioss. UQwJaiVFnmZpNxwCOP8lMiDtdaBx4LqPkk+NcA4dCkclPGuysZXrLfZOfzRA 7nZbkaN2BtlRHSJH0BIcPDgNoo8.aO0XT7xNCb+Ms2c816nCJ5.YcHcH+iRP 2B.SvarhXXndsBN1y0buNiUf1.stAb0pHvTDk98zs0IIRcvoVINrRSqjNjaz lyoURyvEJ6wWtdVbbNNhOcwxsIlUtY7RV3tTvyepnv14MD75l8YG6nTYtYFe 88mw7iFI613rIpZER7Px+PdgK2nOONSb7uQlzIc1ABjr2L10xjKV6ZKIpTw. UJdYPsGzgcMO+9Ca7Zdwt7q4+eRvkLL -----------end_max5_patcher-----------
thanks for your reply …. I did the tests here, but unfortunately did not work …. it froze on the mbrane display in -128, began to operate only when the knob (M4L) arrived in 1 … then when I push the knob(m4l) to maximum (126) the mbrane display moved to -2.
When i move the fisical (LSB) mbrane knob to the minimum i have -128… and when i move to the maximum i have 126.
So, via software the parameter only works in negative numbers when the MSB is set 1… and only works in positive numbers when the MSB is set 0….
So, i need to do a virtual knob like that:
Can you understand me ?
Thank you for your help.
the algorithm, perhaps you can better understand
if (LSB < 0)
MSB = 1
if (LSB >= 1)
MSB = 0
Remember that midi cannot handle negative values.
So you need to specify the mapping from your software knob to *positive* MSB and LSB values.
Maybe just use a midi monitor and see what messages the physical mbrane knob sends out.
Look up 2′s Complement . . . .
In the mbrane manual on the 25 page have this note:
"5.1. Sound Parameter CC
In the M.Brane 11, the fine resolution controllers such as Tune and Dampen
can be sent with 2 MSB/LSB controllers in order to have the full 8 bit
resolution. Most state-of-the-art sequencer programs are able to do this, you
only have to define the controllers as 14 bit CCs with MSB and LSB and edit
the corresponding values.
The other controllers use one step of 7 bit CC resolution for 2 steps 8 bit
internal resolution. However, with these parameters the controlling range is
This is the manual http://jomox.com/upload/manuals/MBrane11_E.pdf
Maybe you can help me to understand better…. maybe I’m confused?
Apparently mbrane uses a combination of 2 CC messages to represent 8 bit values. I suspect this will not work with M4L because Live considers them as separate messages and ignores any duplicates. But you can easily test it by sending the CC messages as specified in the manual (eg. CC92 and CC93).
yeah, the test works fine!
I do 2 knobs….
Knob1 controlling the CC92 (MSB)
knob2 controlling the CC93 (LSB)
so, if the the CC92 are set 0 the CC93 (LSB) is set to negative numbers
if the CC92 are set 1 the CC93 (LSB) is set to positive numbers
Maybe a toggle button to set 0 or 1 in CC92 will be better…. can you help me to work with that? i.e. if the toggle button are checked the cc92 need to be set 1 or if the toggle button are un-checked the cc92 is set 0
check attached my idea….
In the picture you are already using a toggle for MSB. Doesn’t it work as expected?
But now it should also be possible to make a unique knob.
For this I need to know the exact behavior of your test patch.
a) If CC92 is 0 and CC93 goes from 0 to 127, which values (from-to) do you see on the mbrane?
b) If CC92 is 1 and CC93 goes from 0 to 127, which values (from-to) do you see on the mbrane?
yes, it works well with toggle … but a single button would be perfect!
about your questions:
a) I see on the mbrane the values (from-to) : 0 to 126
b) I see on the mbrane the values (from-to) : -1 to -128
The range 0-126 seems strange as the manual says the values go up to 127 (which makes sense to me).
And I wonder how the individual CC93 values 0-127 are actually mapped to values 0-126?
yeah the manual are correctly… in the display i have 0-126… maybe it’s occur as the most significative bit ? check the 5.4 (page 27) on the manual…
But without understanding every detail of the actual mapping it’s difficult to make a unique knob.
Hey willianpires did you ever get it working? Mind posting a download link?