BMC 2.0 brings many changes, here are some of the new features:
- Shared Events Across Devices
- On Board Editor
- Pages are now labeled Layers
- New Layout UI Options
- Keypad Wiring for buttons and Encoders
- LFO for MIDI Messages output
- Up to 254 pins for Devices
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.
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.
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.
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.
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.
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.
Sign In to leave a comment
Comment as a Guest