Jump to content

Newbie question: Layering concept


glennv
 Share

Recommended Posts

Hi Midibox guru's.

Just found this board a week ago and have been sucking it dry for info about this great project(s).

Have already ordered some stuff to start building my simple midibox64 8x8 switch 8x8 led matrix (no display pots etc just clean button/led box) to fire away clips at ableton live. (dont need pots etc since have several other controllers to do that stuff).

My question is : Is it possible somehow with the midibox64 to have some sort of 2 layer concept with lets say 1 button + 1 led , which when pressed once shifts all buttons and leds into another layer where the leds display the actual button status of that layer. Pressed again switch back to first layer. (i may need to give up 1 button / led from my matrix as i understood you can only adress 64 of them with 1 core but that is less important). Or an on/off button for that matter.

Is that something i can do with some standard config with the mios gui config tool or some text editor or do i need to do some programming ? (which I know nothing about so would need tips / pointer examples) 

p.s. Also read about banks (if using a bank stick).  Could this be a solution . Could I make a button that automatically save the led status , and switches to the second bank and the reverse , or is this bank stuff only intended for pots. Switch needs to be almost immediate for live performances so waiting a minute for bank saving would not work.

Link to comment
Share on other sites

Welcome aboard glennv!

My question is : Is it possible somehow with the midibox64 to have some sort of 2 layer concept[...]

Yes ;-) You can actually have (almost) any number of layers you wish to have.

(i may need to give up 1 button / led from my matrix as i understood you can only adress 64 of them with 1 core [...]).

You do not have to give up buttons for that matter. Your buttons will be connected to DIN modules. A single DIN4x module can handle 32 individual inputs - if you go with a button matrix, your 8x8 buttons will need 16 inputs leaving you with 16 open inputs.

Is that something i can do with some standard config with the mios gui config tool or some text editor or do i need to do some programming ?

I don't know a lot about the Midibox64 source code, but a simple "send data when a button is pressed" app isn't much work when you start with the skeleton application, which already does most of what you need.

I don't think you'll need to worry about banksticks unless you wish to have some buttons active in different layers at the same time.

Personal opinion: What do you need the 8x8 LEDs for? I'd go with your 8x8 button matrix and add an "up" and a "down" button or a rotary encoder to switch through the different layers. And of course a 7-segment LED display (or some LEDs)  to display the actually selected layer. (kinda like in the attachment).

Cheerio,

nILS

8x8_thumb.png

1937_8x8_png8d9d865356582604fc1a21dffe79

Link to comment
Share on other sites

Thanks for the feedback, but I definately need the leds for feedback of active playing clips in Ableton. Thats what I use the buttons for.

So as far as I understood i need 2xDIN4x and 2xDOUT4x for 64 buttons.

When I switch layer or banks wharever the best sollution is all leds need to be restored to there active/non-active state letting me exactly know whta is playing and what not.

Assuming I do not mind giving up some buttons , how would I approach this layer switching then in this case ?

Link to comment
Share on other sites

..

So as far as I understood i need 2xDIN4x and 2xDOUT4x for 64 buttons.

...

unless i'm misunderstanding you, several folks have modified the scan matrix example to do this.

for this you only need 1 din shift register and 2 dout shift registers...

(or 1/4 of a DINx4 and 1/2 of a DOUTx4)

this does entail using a diode on each switch...

Link to comment
Share on other sites

Aha, ok that takes care of the switch and led feedback parts. But still the layer switching is not clear to me.

If I just install the midibox64 mios can I then somehow configure it to use layers or do i need to do more (and if so what exacly, I am a complete newbie in this midibox stuff)

Link to comment
Share on other sites

Hmmm after reading about  the button matrix I get even more confused because there I lose some Douts , which I need for my 64 leds and also seem to need other software again.

Help I am getting lost snik snik.

My goal is not to save dins or douts (i will get more if i need them.) I just want to know how exactly to approach the configuration of a 8x8 button with 8x8 led feedback matrix (which is standard midibox64 mios so far is clear by me) plus allow for some sort of layer or bank switching while maintaining active led status saving/reloading as described earlier. Whatever is easier to do without extra programming (with of the shelf applications). Or, worst case, if it requires extra programming some code since i know absolutely nothing of  C-programming.  :'(

Link to comment
Share on other sites

Hmmm after reading about  the button matrix I get even more confused because there I lose some Douts , which I need for my 64 leds and also seem to need other software again.

Help I am getting lost snik snik.

The button matrix has *nothing* to do with the DOUTs. I assume you got lost as the diodes were mentioned. You need a diode (not LED) on every button to make allow for the matrix to work.

Or, worst case, if it requires extra programming some code since i know absolutely nothing of  C-programming.  :'(

I wouldn't worry about the programming just yet - if sending the events and keeping the LEDs lit until the sample is done is all your application needs to do, it's not a big deal. TK provided us with an excellent skeleton application for that =)

Link to comment
Share on other sites

Glennv, can you please explain your idea with layer switching in Live with more details.

If button/LED column represent one channel in Ableton Live, in each column you can activate only one clip so if you switch the layer and activate another clip in same column Live automatically deactivate the clip that you have triggered in the first layer as only one clip can play in one column (channel) at the time.

I am personally very inspired with Monodeck II clip triggering concept as it receives sloth status from Live (empty/have clip/playing/stopped) I couldn`t dug an information how the sloth status feedback is realized. I know Robert is using it with Max MSP but don`t know anything else.

For the ones that dont know, Monodeck concept is so great... there is button/LED matrix for every song. Every song is another layer, probably just MIDI channel is different for every song. Every button in matrix has RGB LED which lits different regarding the slot/clip status which is so great as you don`t have to look at monitor AT ALL! That`s my dream come true... having a gig without "checking an email" on laptop!!! What is totally crazy is that LED somehow indicate which sloth have clip and which sloth is empty  ??? Does anybody have a clue how it is realized?

It would be so great if we can use just one controller on stage. That is why Robert Henke say that Monodeck is performing instrument rather than MIDI controller, but as he works for Ableton he might have some custom Live that sends sloth/clip status to his beloved Monodeck :-\

However... I would still like to build button/duo LED matrix trigger that can send just notes on/off So would be thankfull as TK or somebody can do some code modification for that. I believe it is not alot of work as it exists as SEQ

Link to comment
Share on other sites

I've created a primitive application for this 4x16 button/duo-LED matrix a while ago ...

akk did you publish this application?  i must have missed it.  i had to create my own for this:

http://www.midibox.org/forum/index.php/topic,10004.0.html

but it needs a rewrite because the sparkfun buttons need debounce.

perhaps i'll get back to that soon.  so many projects...

anyways in this context the dual leds are not required, and there are several folks

who have combined the button matrix and led matrix

(examples in the wiki and the forum for the seeker to find)

Link to comment
Share on other sites

Before I wrote the BLM driver for MBSEQ, I enhanced the sm_c_example1_v1 for testing the hardware.

It was a quick&dirty hack, but it shouldn't be so much effort to clean up the code, and to release it as blm_example

I will also integrate a debouncing function for buttons

Best Regards, Thorsten.

Link to comment
Share on other sites

...It was a quick&dirty hack...

that's where mine stands, pretty quick and dirty, too dirty to publish...

it just steps through the 4 led states on pressing of the corresponding button.

i didn't understand how the built in mios debounce worked when i started,

or i would have derived from example2...

but it shouldn't be so much effort to clean up the code, and to release it as blm_example

I will also integrate a debouncing function for buttons

coolness, again you will save me from getting my coding fingers dirty, hehe.

while you are in there, could you also include a compile switch for inverting

the sink lines for using npn transistor sinks as in the SID?

my first use of this array will be able to light all leds at once,

taking it way out of spec without the current sinks.

(especially when lighting through the sparkfun buttons)

Link to comment
Share on other sites

Wow suddenly so many replies, Thanks guys , so much info. This forum rocks.

To explain what i want to do in Ableton is simple.

8x8 button led matrix should be able to fire 8 clips/slots per track (1 active per trackof course) and the leds just indicate if the clip is active or not (as far as I understood ableton can easily send back the midi message to do this. This far I understood from all the reading). But my songs generaly have more then just 8 tracks so I want to flick a switch , hit a button or clap my hands (whatever works) and then instead of firing clips into tracks 1-8 I fire clips in track 9-16 (and the leds should show the running clip status of the tracks 9-16 otherwise it is useless  :P ) . Thats it , so just 2 banks/layers whatever, triggered by one or if needed 2 switches. Feels simple.

I called this (ignorant as i am ) layering, but could be called bank switching etc etc.

It is completely irrelevant what midi message (eg CC or 64 different note on/off) the buttons send since i can map any message to any slot in ableton. Just when I switch banks/layers all 64 buttons should of course send other messages otherwise (edit: or on a different channel the same message) they still fire the same clips and the leds should show the running clip status of the tracks 9-16 otherwise it is useless  :P

I was inspired to go look for home made controlles by te Monodeck (pure porn !!!!). Also saw the monome, which looks exactly what 1 want (although reading the replies here the thing can do much more than my initial goal but a monome clone would be a plus  ;D ;D

Thanks TK I will have a look at your (and others) examples, but hope you understand what i need now. Must be very simple and straightforward for you gurus here.

Edit : TK after looking at the pics this is exactly what i need (albeit in a 8x8 instead of 4x16 config). WOW. Do you have any ready made aplpication i can just load in and go with it ??? How about a connection / wiring diagram since it looks very different then the standard Midibox wiring. Very cool how you build your leds on the buttons so you have clickable leds.

Link to comment
Share on other sites

When I switch layer or banks wharever the best sollution is all leds need to be restored to there active/non-active state letting me exactly know whta is playing and what not.

Live can send MIDI feedback for clips when triggered but Live wan`t send all clip status feedback of layer 1 if you switch to layer 2 and again back to layer 1.

Link to comment
Share on other sites

Yes that was what I figured. Thats why I described in my first post that before switching, the leds status needs to be saved.\ and after switching restored from the active bank/layer. Assuming you start with all clips off and only using the buttons and not the screen to trigger clips , the leds should remain accurate. Probably easier to just make a 16x8 matrix instead , but I prefer a smaller sollution if at all possible. 

I saw this bank stick thingy but could only find references to it saving pots status. Does it also save led status ? And is the switching fast enough or does it take vary long to save a bank.

Link to comment
Share on other sites

Yes that was what I figured. Thats why I described in my first post that before switching, the leds status needs to be saved.
If you save the clip status in bank and switch to layer 2 it can happen that some of the clips in live change their status (stop after it finish if they are not looping) so in that case you want have real current clip status. Saving status into bank is more like a dirty solution. At the end, it mostly depends of how one work with Live. To me the goal would be to get real clip status.
Link to comment
Share on other sites

Shit you are right. Did not think of that, would only work with looping clips you have to start/stop manualy. Hmmmmmm  :'( :'( :'(

Looks like I do have to build the 8x16 monster then ........ Or maybe go for a 16x5 or 16x6.

With the Monodeck Robert has written a MAX patch that according to his website send clip status to the leds. That would be one way probably. I wonder how the Monome guys do it then??

Link to comment
Share on other sites

Cooooool. Thanks man great stuff.

So if I forget about layer/bank switching for the moment loooking at the led feedback problems and use your software and build this baby using a 3 pin duo colored led instead of your 2 leds, I should be able to show next to on/of state a flashing color at each cycle for my ableton clips. (since it sends out vel 0 for stop , vel 1 at each cycle and 127 for on as found in other trhread) . IS this correct or am I missing something ?

I am pretty ok in soldering , just the programmin stuff is not my thing  ;D

Btw if I use normal momentary buttons do I need to bether about this debouncing stuff (no idea what it is but is only mentioned with these funny rubber keyboard buttons.

EDIT: Duhhhhhhh , after looking better at your pics you are using 3 pin leds.  :-X

Is it easy to modify so note on (vel 127) is red (instead of both leds=orange) ??

Link to comment
Share on other sites

Please have a look into main.c and decite by yourself, if modifications are easy to realize or not.

Oeps, crossed the line between newbie and idiot i think  :P

Even for a non programmer with the documentation in the code changing led color behavior looks dead easy . Great stuff TK and thanks a lot for you help. Now just wait for the stuff to arrive to start hacking away.....

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.

Guest
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.

Loading...
 Share

×
×
  • Create New...