cimo
July 11, 2006, 6:49pm
1
hi all
i want to map 7 buttons of a mb64e to change the channel of the MIDI data output, as to say button 1 = channel 1, button 2 = channel 2, etc.
but i don t use menu buttons or lcd on my prject so i can t program the banks/groups
i have
12 encoders
24 buttons
16 pots
any idea?
thanks
simone
T.K
July 12, 2006, 9:53pm
2
Hi Simone,
you could create Meta Events in mb64e_meta.inc, which set the global MIDI channel, e.g.:
MB64E_META_Handler_00
;; set global channel to the second byte of a F0 xx meta event
movff MB64E_GLOBAL_CHANNEL, MIDI_EVNT1
return
Meta Event F0 01 assigned to a button will set the channel to #1
Meta Event F0 02 assigned to a button will set the channel to #2
Meta Event F0 03 assigned to a button will set the channel to #3
etc…
F0 00 will disable the global channel feature (MIDI events are sent via the programmed channel)
Best Regards, Thorsten.
cimo
July 13, 2006, 9:02pm
3
what about setting buttons to switch among different banks? can i program banks without lcd and menu buttons?
btw i am also on the construction of a controller specifically built for ableton i will update picture and schematics soon (what soon means …yeah.. you know that)
regards simone
T.K
July 14, 2006, 5:28pm
4
what about setting buttons to switch among different banks? can i program banks without lcd and menu buttons?
this is possible since ca. 4 years
-> http://www.ucapps.de/midibox64e/midibox64e_sfb_table.txt
Best Regards, Thorsten.
cimo
July 14, 2006, 6:44pm
5
:-[ yeah sorry.. thanks for the help
cimo
September 10, 2006, 11:32pm
6
hi all
ok so far i ve added that meta event 00 to mb64e_meta.inc as described
i have tried
1 to create a .ini file with a few buttons assigned to F0 01 (02,03, etc) 7F (is this correct? i tried also 00) on/off (is this correct?)
2 to use vmidibox to change the buttons as Meta Event with Meta ID = 1, byte 0 = 240, Nr. = 1 (2,3 etc), i tried all the different modes
apparently the buttons send a syx so they have been configured but there is no channel change
where is the bug??
thanks
simone
T.K
September 14, 2006, 5:49pm
7
Did you build a new .hex file from your modified code, and uploaded it to your MIDIbox?
Because it sounds like the default meta handler is still running - it sends SysEx
Best Regards, Thorsten.
cimo
September 15, 2006, 12:02am
8
as usual and DUE .. thanks for the support
yes i ve rebuilt the application and uploaded it
i ve exchanged the default meta event 00 with the new one as described
what about the byte1 is it supposed to be 00 or 7F ?
best simone
T.K
September 15, 2006, 8:05pm
9
what about the byte1 is it supposed to be 00 or 7F ?
You can assign any number to the second byte - sometimes this is useful for more flexible meta events
Best Regards, Thorsten.
cimo
September 18, 2006, 2:37pm
10
ok
i ve made my way throught my new osx system and now i have all the needed tools to change/upload the application
anyway i can t get my problem solved
i repeat the steps i took:
1 upload a customised mb64e application
2 swap the default MB64E_META_Handler_00 with the one you (Thorsten) posted
i didn t change anything else
3 re assemble main.asm and upload the application again
4 download the mk_syx, modify the midibox64e.ini for my application
5 convert to a syx file
6 upload the new syx
results
in midi monitor i can see that now those buttons are sending a syx and not a note
but no midi channel change!! i assume that somehow the meta handler is not active
questions
is it possible that when i upload the new midibox64e.syx file i am overwriting the meta handler?
how will the midibox “listen” to the buttons sending the F0 00 (01 02 etc) event? is it an internal process?
thanks
best regards
simone
T.K
September 18, 2006, 6:23pm
11
Whenever you are pressing a button which is assigned to a Fx event (Exception: FF), or when you are turning a pot which is assigned to a Fx event, the application will branch to the meta handler in mb64e_meta.inc - so, if you do see other MIDI events as expected, the problem must be inside the meta handler, and nowhere else.
No, a midibox64e.syx file only overwrites the configuration data, it doesn’t overwrite any code
Best Regards, Thorsten.