What's new in BMC 2.0.0

by
BMC Documentation

BMC 2.0 brings many changes, here are some of the new features:

Shared Events Across Devices

The biggest architectural change in BMC 2.0 is the events library, in the past BMC would allocate bytes for each device (in BMC as device is a controllable piece of hardware, exp: button, led, etc.) within these bytes events were stored, for example an event could be a midi program change or a layer change, in 2.0 that's no longer the case. Now each device is allocated a pair of bytes which then point to an event in a library.

Different Device types can share the same event and BMC will determine weather it's an input device (a button, encoder, potentiometer, aux jack) or an output device (leds, pixels, displays, relays) and handle the event accordingly.

Here's an example, you could create an event for a MIDI Control Change, that event could have the Control # be 10 and the value toggle between 127 and 0, you can then assign that event to a button and an led, when you press the button BMC will send out that control change message with a value of 127 and the second time you press it a value of 0, in turn the led will turn on when the value 127 is sent and it will turn off when a value 0 is sent. With this setup BMC can use less EEPROM.

BMC Shared Events 1 BMC Shared Events 2

On Board Editor

Another major change in BMC 2.0 is the ability to have an on board editor, for this you will need an ILI9341 or ILI9844 display, these displays have touch capability and BMC can use it for navigation of the menus, in addition you can create events for navigation and dedicate a layer to control the editor (NOTE: the on board editor can NOT be used at the same time as the desktop editor)

This new editing capability will allow you to make changes without having a computer connected to your MIDI Controller, however it's a primitive type of menu for editing so the desktop editor should be used whenever possible, specially when you first start creating your events and assigning them.

The On Board Editor is optional and can be disabled when using the ILI9341 displays in the Ports Option page of the config file maker.

BMC On Board Editor Config File

Pages are now labeled Layers

In previous versions of BMC you had "Pages", these are now labeled "Layers" across BMC, a Layer is it's own set of data for devices, for example if you have 4 buttons and 4 layers, in layer 1 all buttons could be assigned to MIDI Program Changes to switch presets in a device, in layer 2 all buttons could be assigned to MIDI Control Change to switch effects on/off on a device, on layer 3 you could have a combination of both and so on. Each layer will give you a brand new button to assign it to anything and the same goes for all other devices assinged to layers. NOTE: many of the devices in BMC can be "Layer" devices or "Global" devices, a "Global" device will have the same event no matter what layer you are on, while layer devices will have their own unique events depending on the layer, also note that Displays and Pixel Strips can not be Global and Relays and Aux Jacks can only be Global

New Layout UI Options

In BMC 2.0 you can now customize the look of all devices, you can set the color of leds, also the size of an led, same goes for buttons and all other devices. This is to allow you to customize your BMC layout to match the actual hardware, for example you could have an encoder with a red knob and a potentiometer with a blue knob, a 3mm green led and a 5mm pink led, you can now assign all these things in the config file maker's layout editor by right clicking a device and selecting the Style and Color.

BMC Buttons Layout Editing BMC Buttons Layout Editing

BMC Leds Layout Editing BMC Leds Layout Editing

Keypad Wiring for buttons and Encoders

BMC 2.0 supports the use of Column/Row keypad wiring, you can use 8 pins on your teensy to give you 16 pins for buttons/encoders, these are available in the config file maker under MUX, you can have a combination of 4 to 8 Columns and 4 to 8 Rows for up to 64 MUX Pins.

BMC Keypad Mux BMC Keypad Mux

LFO for MIDI Messages output

The new LFO (low frequency oscillator) allows you to send MIDI Control Changes with a variable value, you can edit the Cycle Time, Waveform and Note Division along with the Minimum and Maximum value to send out. NOTE the LFO is tied to the MIDI Clock either in Slave or Master Mode.

BMC LFO Editor

Up to 254 pins for Devices

You can now have up to 254 Pins available to use for devices within BMC, these is done using a combination or the physical pins on teensy and Multiplexers, each mux type will give you up to 64 pins with the exception of the Analog Mux In which allows up to 127.

Nero

About Nero

I'm a Musician, Web Developer, Graphic Designer, Sound Engineer and the list goes on!
View all posts by Nero


Sign In to leave a comment

OR

Comment as a Guest