Jump to content

Fixed buttons in midibox64e?


Recommended Posts

I've asked this question in one of my other threads, but did not get any replies, so I'll try to make a new thread....


What I need are fixed buttons that stays the same even if I change bank/patch.


4 of my buttons are toggle buttons. If one of them is on, I need it to stay on even if I change bank. Is this possible with midibox64e? Right now the buttons revert to what they are set to in the recalled bank...


The pedal_box project does exactly that - but unfortunately don't support rotary encoders.... http://www.midibox.o...hp?id=pedal_box


One solution could be if the banks only stored and recalled the encoder positions, and not the buttons... Is that possible?

Another solution could be to have 2 cores, one running pedal_board for the for the buttons, and one running midibox64e for the encoders only. Then with midi merge enabled on both boards and just sending programchanges from pedal_board to midibox64e running patch mode to change the encoder positions.... But that seems a bit excessive, or is that what i need to do?

Link to comment
Share on other sites

i think this is possible if you use groups instead of banks for the encoders. you can send up to 128 midi events with 8 encoders if you assign them to the 16 available groups (or 16 encoder with 8 groups, .....). the button assignments do not change if you change the group.

Ok, I'll give that a try...


But I need the encoders to change value when i change groups, not the event. So my 16 encoders always control the same event and just change value. Is that possible with groups?

Link to comment
Share on other sites

i don´t know if thats possible, i never tried that. it should be possible in theory as long as a virtual encoder in group n doesn´t get updated while another group is active. what are you controlling with your midibox? does it send values to your box?


why don´t you try the new firmware mb_ng with a new lpc17 core? i think you could set up such a scenario more easily and flexible.

Link to comment
Share on other sites

I'll test it out this evening when I get home from work.


I'm controlling Mainstage on an apple mac. It's a live performance software thingy. It can send values if I want it to.


I was thinking about upgrading to a lpc17 core with a mb_ng. I am reading the documentation at the moment - and haven't found (or understood, more likely) that function yet...

Link to comment
Share on other sites

well, the mb_ng is still in the making... so far everything is open.


but i think you could already set up a scenario where you can have 16 encoders and some buttons that can send multiple midi values at once. e.g. 8 buttons that could send 8 different "valuesnapshots" of all 16 encoders at once using the event_sender and event_receiver. for that you wouldn´t need banks or groups anymore. i didn´t try that yet, but i think this could be a possibility (probably among many others).


just a thought....

Link to comment
Share on other sites

So I tried the group thing! And it almost worked.... It looked right, but unfortunately the encoder did not send the midi data for the new value of the encoder when changing banks. So even though the encoder changed no data was sent to my application (kind of like when you dont have auto-snapshot and switch banks or patches).


Are there no other possibilities?

Link to comment
Share on other sites

you could try another metafunction:




FF 04 0n | - Save Encoder Positions in current Bank,
         | - Jump to Bank n (n=0..7),
         | - Restore Encoder Positions from new bank


but then you would have the same problem with your global buttons, i guess.


what are those 4 toggle buttons controlling? if Mainstage reports back the status of these buttons, then they shouldn´t change, if you switch to another bank.

Link to comment
Share on other sites

Yeah, thats the same problem....


Mainstage does report the status back from those buttons, but as soon as i switch bank all the led's turn off, even though they are still on in Mainstage. So it's actually working - but it's a bit difficult for me to see whats going on.


Here is what the board does:


16 encoders:

1-8: Controlls amp settings for my ampsim (channel, gain, bass, mid, treble etc.)

9-15: Controlls the levels in my in-ear monitor (vocals, guitar, other guitar, bass, metronome etc.)

16: Guitar tuner output


12 footswitches:

1-4: Changes bank to change guitar sound (clean, crunch, drive and lead)

5: Vocal effect: throw delay which is momentary,

6: Filter vocal effect wich is toggle.

7: Guitar Dim toggle

8: Guitar Boost toggle

9: Guitar Mute toggle

10: backtrack Play/stop toggle

11: backtrack previous momentary

12: backtrack next momentary


Now: everything works, except that all LED's turn off when I change banks - which leaves me "in the dark" :-) The buttons still are activated in Mainstage - so there is no problem sound-wise.


Obviously it would be nice to have encoder 9-15 be "Fixed" as well, so my in-ear levels would stay the same regardless of which bank I'm in... But thats no biggie - I don't fiddle to much with that...

Link to comment
Share on other sites

ok, i´m out of ideas for now.... unfortunatly i ripped apart my old mb64e quite a while ago to use the parts for something else, so i´m flying blind here.


though i can not test it myself, i don´t have a mac, i begin to suspect, that Mainstage doesn´t really provide a fully working bidirectional connection with the controller. one thing you could do now, is to monitor the midi output of Mainstage with a midi monitor. if your midibox has an lcd you can use the mbmon app, or you can use a software monitor (i don´t know which one you can use for mac).

it´s a longshot, but you could see, what Mainstage actually sends back to the controller. it can help adapting your midibox design to the software.

Edited by JEFinster
Link to comment
Share on other sites

Ok, well thanks very much for the advice - I do appreciate it - even though we did not fix it :-)


I don't think there is a problem with the bi directional connection with mainstage, since every thing works. I can change encoders and buttons from mainstage perfectly. The thing with midi is that it only sends a status once, so if a button is on, its just because the last message it got was "on", and it will stay "on" until it gets an "off" message. It's midibox64e that turns off the led's when I change bank, not mainstage.


It seems I need to get a midi box_ng going to get this functionality... Then I could probably get the "in-ear encoders" to work perfectly as well. Just seems to be a bit tricky - when you are a musician and not a programmer :-)

Link to comment
Share on other sites

a bit tricky - when you are a musician and not a programmer :-)


that´s the beauty of the new mb_ng firmware. you don´t have to "program" or compile anything in the traditional sense anymore. You just have to write a script for the midibox and upload it and the midibox will compile it for you  :happy:. in the script you just tell your midibox what kind of hardware you are using and what you want it to do with that hardware. there is a little bit of syntax you have to learn, but it´s very easy compared to traditional c language. its level of difficulty is comparable to writing webpages with html.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...