Jump to content

BLM Documentation, and a couple of questions


borfo
 Share

Recommended Posts

I'm thinking of writing a raspberry pi/2xnovation launchpad implementation of a Midibox Seq BLM.  I'm thinking I'd use processing in the raspberry pi to emulate a larger set of buttons on the novation launchpads - 2 LP's would be an 8x16 array with two extra vertical rows and one extra horizontal row.  I'd use the second vertical row for a variety of "shift" and modifier buttons which could move the area displayed on the 8x16 LP matrix - default would be to display the top 8x16 section, pressing a modifier would display the bottom 8x16 section.

 

Is it possible to implement a larger button matrix?  Like, would MIOS support a 32(vertical)x16(horizontal) matrix?  If so, I could set up my software to emulate (and use modifiers to page through) a larger vertical space.

 

I've found the BLM user manual page and the document at (root)/trunk/apps/controllers/blm_scalar/README.txt 

 

Is there any other BLM documentation hidden away anywhere that I should look at?  What files in the MIOS source code contain the BLM input/output handlers?

 

 

[edit: turns out I'm an idiot and didn't realize that the BLM already has a force to scale mode.  Disregard this last part.]

Also, is there any way (via MIDI) that I could ask the Seq V4 whether force to scale is enabled, and which scale is being used?  I think it would be useful to implement a BLM where only the notes in the selected scale are shown (for non-drum tracks) - this would make better use of the vertical space (you could display more than two full octaves on a 16x16 grid).  If you could just ask the Seq what scale is being used, you could calculate which notes should be shown.  This would be a feature I'd add to my BLM implementation later, once I had the basic functionality working - not something I'd do right away.

 

Implementing this might be even easier if you could send a midi request to the Seq v4 and have it return a message that somehow encoded the notes that are available in the selected scale - not the MIDI note numbers, but a reference to the note names - eg: D, E, F♯, G, A, B, and C♯ for the scale of D major, and you could calculate the midi note numbers from that, without having to know the scale.

Edited by borfo
Link to comment
Share on other sites

I'm thinking of writing a raspberry pi/2xnovation launchpad implementation of a Midibox Seq BLM.  I'm thinking I'd use processing in the raspberry pi to emulate a larger set of buttons on the novation launchpads - 2 LP's would be an 8x16 array with two extra vertical rows and one extra horizontal row.  I'd use the second vertical row for a variety of "shift" and modifier buttons which could move the area displayed on the 8x16 LP matrix - default would be to display the top 8x16 section, pressing a modifier would display the bottom 8x16 section.

 

Is it possible to implement a larger button matrix?  Like, would MIOS support a 32(vertical)x16(horizontal) matrix?  If so, I could set up my software to emulate (and use modifiers to page through) a larger vertical space.

 

I've found the BLM user manual page and the document at (root)/trunk/apps/controllers/blm_scalar/README.txt 

 

Is there any other BLM documentation hidden away anywhere that I should look at?  What files in the MIOS source code contain the BLM input/output handlers?

 

Yes, there are "hidden" implementations of the BLM emulation which have been programmed for MacOS, Juce and Lemur:

http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Ftools%2Fblm_scalar_emulation%2F

 

So: three examples which should give you enough informations.

Please study them before asking the next questions... ;-)

 

Up to 256x64 matrices are supported!

 

Also, is there any way (via MIDI) that I could ask the Seq V4 whether force to scale is enabled, and which scale is being used?

 

The BLM will automatically switch to Force-to-Scale when you enable the option in the MODE page.

 

So: the BLM will show reduced note space for each track which enabled this mode.

The scale will be configured in Fx->Scale

 

It's maybe also worth to mention that the scale will be considered in the vertical directory in Edit mode, and in horizontal direction in Live Keyboard & Record mode.

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Thanks - that's funny, I hadn't noticed that the BLM already switches to a force-to-scale mode - looking at the lemur implementation a little more carefully, it's clear that it does.  That's great.

 

It looks like the whole BLM goes into force to scale mode for all tracks whenever force to scale is enabled on the mode page for any single track - is that correct?

Edited by borfo
Link to comment
Share on other sites

You are right, "force to scale" is always enabled in grid mode:

 

      u8 use_scale = 1; // should we use this only for force-to-scale mode? I don't think so - for best "first impression" :)

 

So: actually I wanted to achieve that people are starting with the scaled layout without special options when they are using the BLM.

Do you really need the grid mode w/o FTS? Then I've to make this option configurable...

 

Best Regards, Thorsten.

Link to comment
Share on other sites

Ah I was wondering about this actually. I was playing around with the BLM and it seemed to always be forcing to scale even if the track I was using was set to OFF. I may have had another issue going on but this may be related. Ill dig around some more tonight.

 

Luke

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