OhmRGB

From Livid Wiki
Jump to: navigation, search

Contents

Introduction

This instrument is built with all the familiar controls of a standard MIDI controller, instrument, or mixer.
The OhmRGB features assignable RGB LED backlighting, custom designed rubber buttons, and high quality sliders and knobs.
The control layout was inspired by some of the most innovative and popular audio software programs that have revolutionized the way music is created and performed.
OhmRGB users will find the controller to be highly intuitive and adaptable to a variety of music, lighting, and video software.
The OhmRGB makes an ideal companion for hardware such as analog synthesizers, video mixers, DJ software, lighting equipment, and other musical instruments.

What’s in the box

  • Livid OhmRGB Controller
  • USB Cable
  • Registration Card

Features

  • 81 Buttons
    • 64 Button Clip Bank
    • 6 Function/ Transport Buttons
    • 8 Mute/ Solo Style Buttons
    • 2 Transform Buttons
    • 1 BPM Tap Style Buttons
  • 25 Analog Controls
    • 16 Rotary knobs
    • 8 Faders
    • 1 Crossfader
  • 81 RGB Indicator LEDs
    • Located Underneath Button Clip Bank, Mute/Solo, Transform, Function and BPM Buttons
  • Sleek Aluminum Body
  • Smooth Wooden Endcaps
  • Remappable Buttons, Analog Controls, and LEDs
  • Dimmable Logo Light
  • Dimmable Backlights
  • Global Channel Control
  • Four Banks of Settings on Four Channels


Controls and Connections

Ohm64layout.gif
While any of the controls on the OhmRGB can be used for a wide range of functionality, here are some basic terms and uses for the controls.

  1. Clip Bank: The Clip Bank sends out data for activating files, triggering loops, sequences, or files. The programmable buttons on the Clip Bank can be assigned to MIDI notes or Continuous Controllers (CCs).

  2. Faders / Sliders (Linear Potentiometers) These programmable vertical sliders can be used to adjust effects pitch volume, or used to manipulate data. The sliders can send CC or Pitch Bend messages.

  3. Mute/ Solo These programmable buttons can be used to activate effects or mute channels. The buttons can be assigned to MIDI notes or CCs.
  4. Knobs (Rotary Potentiometers) These programmable knobs can be used to adjust effects, EQ settings, and control playback. The knobs can be programmed to send CC or Pitch Bend messages.

  5. Function/ Transport Buttons These programmable buttons are designed to be used to activate various functions within the software such as switching between channels or banks, selecting tracks, or used to cue, play, pause, and rewind your media. The buttons can be assigned to MIDI notes or CCs.

  6. Transform Buttons These programmable buttons can be used to transform, mix, switch, or fade between channels. The buttons can be assigned to MIDI notes or CCs.


  7. Crossfader Use the crossfader to control the crossfade, mix, or transition between channels. The crossfader can be programmed invert it's values.
 The knobs can be programmed to send CC or Pitch Bend messages.

  8. BPM Tap Button This programmable button is designed for tapping the BPM. This button can be assigned to MIDI notes or CC’s.

Mididin.gif


  1. MIDI IN – The MIDI Input port provides a standard 5 PIN MIDI jack for connecting other MIDI devices to the OhmRGB.
    MIDI input data is then routed over USB to the host computer, and is available to your software on the second port named “OhmRGB External” (on Windows XP, “USB Audio Device[2]”)
  2. MIDI OUT - The MIDI Output port provides a standard 5 PIN MIDI jack for outputting MIDI from your computer, over the USB cable, and to the MIDI jack. The OhmRGB will also send its data out the MIDI jack. This MIDI Output can be accessed on your computer via the port named “OhmRGB External” (on Windows XP, “USB Audio Device[2]”)
  3. USB – USB Port for powering the OhmRGB and sending MIDI message to and from the instrument.

Expansion Jacks

The OhmRGB has expansion jacks for connecting additional analog controls. You can use the 1/4" jacks to connect Roland style expression pedals, or wiring your own devices such as sensors, fader, rotary knobs, and more. The pin header connections allow you direct access to the Brain of the OhmRGB for wiring up to 8 additional analog controls.
Block expansion.jpg

A - 2 - 1/4" Input Jacks

WARNING this jack is designed ONLY for passive input.
Plugging anything with voltage (that includes an audio signal) will damage the unit and void your warranty.

WARNING this jack is NOT designed for switch style pedals. It is designed explicitly for TRS style jacks. Use of a switching pedal (or any TS style 1/4" jacks) will short part of the power supply of your controller,and repeated exposure could damage it.
These jacks were designed to be used with Roland style foot pedals (the DP8, specifically).
(note: the Roland EV-5 is a different style of design and is NOT compatible with the Expansion Jacks).

You can also use the 1/4" Jacks as analog controls with a variable resistor wired to them (i.e. fader, rotary knob, sensor).
If you are rewiring an alternative pedal or your own variable resistor, the pins are as follows:
- The Tip is power, the Ring is wiper (or signal), and the Sleeve is ground.

B - Expansion Pins

Expansion pins.jpg
This pin header lets you connect up to eight additional analog controls to the OhmRGB. The 10-pin analog pin header has Power (Pin1 lower left) and Ground (Pin2 top left), and 8 more pins for individual inputs (Pins 3-10). Each pot should have its outer pins connected to Ground and Power, with the wiper pin connected to one individual input pin (Pins 3-10). The numbering in the diagram relates the expansion jack's pins to the pin numbers of an analog pin header on the Brain.

C - Dip Switch

The dip switches next to the pin header allow you to activate the analog inputs. To activate the analogs you need to put them in the up position. If you are not using an analog on the pin header it needs to be in the down position as this grounds the connection and prevents it from sending data. Switches 1-8 correspond to pin 3-10 on the pin header as pin 1 and 2 are ground and power.

Connecting

To make the OhmRGB controller compatible with industry standard sound and video equipment, the controller comes equipped with both a USB and MIDI out connection. The USB is designed to connect directly to a computer and the MIDI out can be used to connect to a MIDI interface, PC soundcard, external soundcard, or any of the hundreds of MIDI processors and synthesizers using a standard MIDI cable. The OhmRGB is completely USB powered and does not require an external power supply.

For Direct USB Connectivity

The OhmRGB is class-complaint and does not require drivers when using the USB connectivity.

  1. Connect the USB cable from the computer to the USB port on the OhmRGB.
  2. When the logo on the OhmRGB is illuminated, the device is powered.

For MIDI Connectivity

Using a standard five-pin MIDI cable, connect the OhmRGB MIDI in and out to the MIDI in and out of your sound-card or other MIDI interface. The OhmRGB must be plugged into a USB host and have MIDI software running (even if it's something basic like MIDI Monitor (http://www.snoize.com) or MIDI OX (http://www.midiox.com) running. This is a by-product of USB-powered class-compliant devices with no external power source. However, once you have the OhmRGB connected to a computer and some simple MIDI application running, you can send the Ohm's MIDI out the MIDI output jack.
 It is worth noting that there is a special "MIDI Merge" function that determines if the MIDI data from using the controls on the OhmRGB will be sent out the MIDI jack. By default, MIDI Merge is enabled, however, if you are not getting MIDI data from the OhmRGB out the MIDI jack, it is worth double-checking MIDI Merge in the Editor.

Looking at the back of the OhmRGB, the MIDI OUT is the input jack on the right located next to the USB port, and the MIDI IN is the jack on the left.

Troubleshooting


Make sure your USB cable is properly connected. If you are using a USB hub, try connecting the OhmRGB USB cable directly to your computer. The lights should come on once the OhmRGB is connected.

If you are using a Macintosh Computer running OSX, make sure you have OhmRGB selected as your device in the Audio MIDI setup. To access Audio MIDI go to Applications>Utilities>Audio MIDI Setup.

Check to make sure your software is configured to use the OhmRGB. Open your application’s preferences to verify that the software is configured to receive the MIDI messages from the OhmRGB controller.

Windows XP will show the port names as “USB Audio Device” and “USB Audio Device[2]”, though the “New Hardware Found” popup will show the device as “OhmRGB”.

Windows 7 will show your controller as OhmRGB and will automatically recognize the device.

If you are still having problems, confirm that you are receiving MIDI data using MidiMonitor (for OS X) at http://www.snoize.com/MIDIMonitor/ or MIDIOX (for Windows) http://www.midiox.com.

Editor

For details on editing the MIDI assignments on the OhmRGB, click here: OhmRGB Editor

Support

For questions or support please visit our forums at http://forums.lividinstruments.com Here you will find answers to many of your questions and ask new ones. We will do our best to answer most of of your questions within 24 hours.

Appendix

Default MIDI Settings

Ohm64 MIDI Defaults.png

Ableton Live Remote Script Mappings

The OhmModes Remote Script turns your OhmRGB into three virtual controllers, providing full integration into Ableton Live. Documentation and details here.

OhmRGB Sysex

SYSTEM EXCLUSIVE COMMAND BYTES

The System Exclusive message includes the official MIDI Manufacturer ID for Livid, a Product number, and the Command number. A "wild card" Product number allows the same commands to be shared across multiple Livid products. These messages can be almost any number of bytes from 7 to (183) bytes.

Note: In this specification, all numbers are hexadecimal unless parenthesized or otherwise noted, in which case they are decimal.

F0 00 01 61 07 NN ... F7

The Product number is 02 for the OhmRGB, and the Command numbers, NN, are described below.

COMMAND SUMMARY

00 : individual button map (not supported) *
01 : individual control map (not supported) *
02 : Save User Settings
03 : read presets (ignored) *
04 : Set all LED indicators
05 : Recall User Settings
06 : Factory Reset
07 : Request, multiple subtypes:
07.04 : Request all LED indicators
07.06 : Request Control Surface Snapshot
07.08 : Request MIDI Settings (Local Control, etc.)
07.09 : Request Single MIDI Input mapping
07.0A : Request Analog mapping
07.0B : Request Button mapping
07.0C : Request MIDI Basic Channel
07.0D : Request MIDI Output Merge setting
07.0F : Request crossfader Flip setting
07.16 Request Bank Channel
07.17 Request Bank Channels
07.1A Request Current Bank
07.21 : Request Expansion Analogs mapping
07.22 : Request Color Scheme
07.23 : Request Note Map for LED Indicators
07.24 : Request CC Map for LED Indicators
08 : MIDI Settings Response
09 : Map Single LED Indicator
0A : Map Analog Inputs
0B : Map Buttons
0C : Set MIDI Basic Channel
0D : Set MIDI Output Merge
0E : Erase entire MIDI Input Map
0F : Set crossfader Flip
16 : Set Bank Channel
17 : Set All Bank Channels
18 : Save Current Bank Settings
19 : Save All Bank Settings
1A : Current Bank Number
21 : Map Expansion Analog Inputs
22 : Map Color Scheme
23 : Map All Notes to LED Indicators
24 : Map All CCs to LED Indicators
7E : NAK Negative Acknowledge
7F : ACK Positive Acknowledge
* Commands 0, 1, and 3 are Ohm "classic" System Exclusive commands. Even though the MIDI Manufacturer ID is different, and the command structure is different as well, these skipped command numbers pay tribute to what came before.

COMMAND DETAILS

02 : Save User Settings

F0 00 01 61 07 02 F7

All User Settings which can be remembered will be stored in Flash and automatically restored whenever the OhmRGB is powered up.

The OhmRGB responds with ACK when finished processing this command.

04 : Set all LED indicators

F0 00 01 61 07 04 B*42 F7

All (81) LED indicators can be set to one of 7 colors or off with this command. There are (42) bytes. Values must be 7F or less. The first 3 bits in a Byte control the R, G, and B values respectively for a single indicator, the next three bits control the RGB for the next LED in the column, and the last bit is ignored. The positions in the list do not conveniently line up with the positions of indicators on the Ohm64.

The LED columns and rows do not conveniently match up with the physical layout of the Button columns and rows. Using codes as C.R to specify column and row, the LED codes are as follows (all codes are decimal in this table):

64 button grid:

56 48 40 32 24 16 8 0
60 52 44 36 28 20 12 4
57 49 41 33 25 17 9 1
61 53 45 37 29 21 13 5
58 50 42 34 26 18 10 2
62 54 46 38 30 22 14 6
59 51 43 35 27 19 11 3
63 55 47 39 31 23 15 7

Left/Right crossfader:

74 75

1-8 Slider 'mute':

66 67 70 71 79 78 77 76

F-buttons:

64 68 72
65 69 73

BPM:

80

The OhmRGB responds with ACK when finished processing this command.

Explanation by way of example:

Each byte controls 2 LEDs. If you set the first byte's value to 0x3F (63) then it would turn the top right button and the button two rows down from it (use the chart in the above link to determine byte "position" and physical location - those are the buttons labeled 0 and 1 in the chart) the color white. If you made the first two bytes value 0x11 and 0x34 the far right column of the RGB Grid would look like:

RED
off
GREEN
off
BLUE
off
CYAN
off

Looked at another way, the byte value 0x11 looks like this in binary, with the first 3 bits controlling the onstate of the RGB leds in the top right button, the next 3 bits the RGB states of the button two down from it:
1 0 0 0 1 0 0
R G B R G B -
so those two buttons will show RED and GREEN respectively
The value 0x34 looks like:
0 0 1 0 1 1 0
R G B R G B -
so those two buttons will be BLUE and GREEN+BLUE (CYAN).

Finally the message would look like this (these are hex values) for the above example:
F0 0 1 61 7 4 11 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 F7 and in decimal:
240 0 1 97 7 4 17 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 247

05 : Recall User Settings

F0 00 01 61 07 05 F7

Recall User Settings from storage, just like what happens on power up.

The OhmRGB responds with ACK if the User Settings are valid, or NAK when no setting have been saved or the memory is unreadable.

06 : Factory Reset

F0 00 01 61 07 06 F7

This will erase the User Settings so that the OhmRGB is factory fresh.

The OhmRGB responds with ACK when finished processing this command.

07 : Request

F0 00 01 61 07 07 RR .. F7

This command allows several types of information to be requested. Each request type, RR, will be detailed below. Some request messages require additional information bytes to specific which particular item is being requested.

The OhmRGB responds with the specified data.

07.04 : Request all LED indicators

F0 00 01 61 07 07 04 F7

Request state of all LED indicators. The OhmRGB will respond with Command 04, and the bits are interpreted identically.

07.06 : Request Control Surface Snapshot

F0 00 01 61 07 07 06 F7

Request values for all Analog inputs. The OhmRGB will re-scan every analog input and report the value with the usual MIDI Channel Message, even if it has not changed.

07.08 : Request MIDI state (Channel Mode, etc)

F0 00 01 61 07 07 08 F7

Request state of settings that are controlled by MIDI messages, such as Local Control, Omni, Mono/Poly Mode. The OhmRGB will respond with Response Command 08.

07.09 : Request Single MIDI Input mapping

F0 00 01 61 07 07 09 LL HH F7

Request the current mapping of incoming MIDI messages. LL HH is the 8-bit map code defined under Command 09 below. Both values must not exceed 7F. LL holds the lower 7 bits, HH holds the most significant bit. Values of HH greater than 1 are reserved. The OhmRGB will respond with Command 09, which repeats LL and HH followed by the LED code as CR.

07.0A : Request Analog mapping

F0 00 01 61 07 07 0A F7

Request MIDI map for all Analog inputs. The OhmRGB will respond with Command 0A, and the bits are arranged identically.

07.0B : Request Button mapping

F0 00 01 61 07 07 0B F7

Request MIDI map for all Buttons. The OhmRGB will respond with Command 0B, and the bits are formatted identically.

07.0C : Request MIDI Basic Channel

F0 00 01 61 07 07 0C F7

Request MIDI Basic Channel. The OhmRGB will respond with Command 0C.

07.0D : Request MIDI Output Merge setting

F0 00 01 61 07 07 0D F7

Request MIDI Output Merge setting. The OhmRGB will respond with Command 0D.

07.0F : Request crossfader Flip setting

F0 00 01 61 07 07 0F F7

Request crossfader Flip setting. The OhmRGB will respond with Command 0F.

07.16 Request Bank Channel

F0 00 01 76 05 07 16 F7

Request current Bank Channel. The OhmRGB will respond with Command 16.

07.17 Request Bank Channels

F0 00 01 76 05 07 17 F7

Request all Bank Channels. The OhmRGB will respond with Command 17.

07.1A Request Current Bank

F0 00 01 76 05 07 1A F7

Request current bank number. The OhmRGB will respond with

F0 00 01 76 05 1A BANK F7

where BANK is the current bank number 00-03.

07.21 : Request Expansion Jack Map

F0 00 01 61 07 07 22 F7

Request MIDI settings for the expansion jacks. The OhmRGB will respond with Command 21.

07.22 : Request Color Map

F0 00 01 61 07 07 23 F7

Request Color Map. The OhmRGB will respond with Command 22.

08 : MIDI Settings Response

F0 00 01 61 07 08 XX F7

Individual MIDI settings, such as the Channel Mode flags, are combined into the data of this message, XX. Bit 1 is Omni Mode Off/On. Bit 3 is Local Control Off/On. All other bits, including 0 and 2, are Reserved. They may reflect other settings, but they may change in future releases. Note that this is a response command only, and it will be ignored if received by the OhmRGB. Use the official MIDI messages to change these settings.

09 : Map Single LED Indicator

F0 00 01 61 07 09 LL HH CR F7

This command updates the MIDI Input map for a single entry. If HH is 00, then LL specifies the Note number. If HH is 01, then LL specifies the Control number, but only valid control numbers are accepted from 00 to 78. Values of HH above 1 are reserved. CR is the LED indicator Column and Row (see Command 04 for details), or 7F to clear the mapping for the specified entry.

The OhmRGB responds with a Single MIDI Input mapping for the specified message.

0A : Map Analog Inputs

F0 00 01 61 07 0A (25)*[LL HH] F7

This command updates the MIDI map for all (25) Analog inputs. If HH is 00, then LL specifies the 7-bit Control number, but only valid control numbers 00 to 78 are accepted. If HH is 01, then LL selects between 14-bit Control numbers and Pitch Bend. In the latter case, LL between 60 and 6F specifies a Pitch Bend message on Channel (1) through (16), respectively. Otherwise, LL selects a 14-bit Control number, of which the only valid control numbers are 00 to 1F. All other values for LL, 20 through 5F and 70 through 7F are reserved for future use. Values of HH above 1 are similarly reserved.

There are (25) sets of LL HH value pairs in this message, each corresponding to the index of an Analog input. These indices do not conveniently match up with the physical layout. The index codes are arranged as follows (all indices are decimal in this table, and start with 0):

crossfader: 24 eight faders, from left to right: 23, 22, 15, 14, 5, 7, 6, 4 upper left knobs: 17, 16, 9, 8 19, 18, 11, 10 21, 20, 13, 12 right knobs: 3, 1, 0, 2

The OhmRGB responds with ACK when finished processing this command.

0B : Map Buttons

F0 00 01 61 07 0B (88)*[LL HH] F7

This command updates the MIDI map for all (81) Buttons. If HH is 00, then LL specifies the Note number. If HH is 01, then LL specifies the Control number, but only valid control numbers are accepted from 00 to 78. Larger values of LL and HH are reserved, with 7A (start), 7B (continue), and 7C (stop) used for MMC, 7E is used for bank cycling. Bank cycling will allow a button to cycle through the bank programs 1-4 and change the color of the LED to indicate the current bank:

  • 1=white
  • 2=red
  • 3=green
  • 4=blue

There are (88) sets of LL HH value pairs in this message, each corresponding to the index of a Button. These indices do not conveniently match up with the physical layout, and there are seven missing codes near the end which are reserved. The index codes are arranged as follows (all indices are decimal in this table, and start with 0):

grid buttons are:

0, 8, 16, 24, 32, 40, 48, 56
1, 9, 17, 25, 33, 41, 49, 57
2, 10, 18, 26, 34, 42, 50, 58
3, 11, 19, 27, 35, 43, 51, 59
4, 12, 20, 28, 36, 44, 52, 60
5, 13, 21, 29, 37, 45, 53, 61
6, 14, 22, 30, 38, 46, 54, 62
7, 15, 23, 31, 39, 47, 55, 63

crossfader

64, 72

1-8 Slider 'mute' buttons, from left to right, are:

65, 73, 66, 74, 67, 75, 68, 76

function 1-6:

77, 78, 79, 69, 70, 71

BPM:

87

The OhmRGB responds with ACK when finished processing this command.

0C : Set MIDI Basic Channel

F0 00 01 61 07 0C NN F7

This command sets the MIDI Basic Channel to NN, where 00 through 0F are valid and the rest are reserved. During operation, incoming Channel messages are ignored if Omni Mode is Off and the Channel does not match. If Omni Mode in On, then the incoming Channel is not checked, and all messages are interpreted. For outgoing MIDI messages, the Basic Channel is always used unless an Analog input is mapped to Pitch Bend, in which case the Channel number is specified by the mapping entry.

The OhmRGB responds with ACK when finished processing this command.

0D : Set MIDI Output Merge

F0 00 01 61 07 0D NN F7

This command allows the Control Surface to merge its messages onto the MIDI output jack, in addition to USB. NN can be 00 (off) or 01 (on). Other values are reserved.

The OhmRGB responds with ACK when finished processing this command.

0E : Erase entire MIDI Input Map

F0 00 01 61 07 0E F7

This command erases all MIDI Input message mappings. These affect the remote control of LED indicators, so no remote control will be available immediately after the map is erased. Because there are as many as (256) possible MIDI Input messages that can be mapped to an LED, and because multiple assignments to the same LED can cause conflicts, it is best to start the LED indicator mapping process by first erasing all entries before filling in the desired mappings, no more than (75), preferably.

The OhmRGB responds with ACK when finished processing this command.

0F : Set crossfader Flip (left or right as minimum)

F0 00 01 61 07 0F NN F7

This command allows the crossfader response to be flipped. NN can be 00 or 01. Other values are reserved.

The OhmRGB responds with ACK when finished processing this command.

16: Set Bank Channel

F0 00 01 76 05 16 CH F7

This command will set the input and output channel for all controls in the current bank. CH specifies the channel, in the range of 0-0F. This does not change the controller's Main channel, which is used for communicating with the device for program changes, and other standard MIDI commands.

17: Set All Bank Channels

F0 00 01 76 05 17 CH*4 F7

This command will set the input and output channel for all controls in all (4) program banks. CH specifies the channel, in the range of 0-0F. This does not change the controller's Main channel, which is used for communicating with the device for program changes, and other standard MIDI commands.

18: Save Current Bank Settings

F0 00 01 76 05 18 F7

This command will save all settings to flash memory for the current bank.

19: Save All Bank Settings

F0 00 01 76 05 19 F7

This command will save all banks to flash memory.

1A: Current Bank

F0 00 01 76 05 1A BANK F7

Contains the Bank number in the BANK byte. This message is sent in response to 07 1A in addition to a bank button press on the controller.

21 : Map Expansion Analog Inputs

F0 00 01 61 07 21 (10)*[LL HH] F7

This command updates the MIDI map for all (10) Expansion Analog inputs. If HH is 00, then LL specifies the 7-bit Control number, but only valid control numbers 00 to 78 are accepted. If HH is 01, then LL selects between 14-bit Control numbers and Pitch Bend. In the latter case, LL between 60 and 6F specifies a Pitch Bend message on Channel (1) through (16), respectively. Otherwise, LL selects a 14-bit Control number, of which the only valid control numbers are 00 to 1F. All other values for LL, 20 through 5F and 70 through 7F are reserved for future use. Values of HH above 1 are similarly reserved.

There are (10) sets of LL HH value pairs in this message, each corresponding to the index of an Analog input. The relationship of LL HH pairs (called "BB" below) to the physical pins on the expansion jack are like so:
Exp-bytes.png
The OhmRGB responds with ACK when finished processing this command.

22 : Color Map

F0 00 01 61 07 22 (7)*[COLOR CODE] F7

The color values that are triggered by note velocity and cc value can be changed. The COLOR CODES are:

  • 0 -> No Color (LED Off)
  • 0x01 (100) -> Red
  • 0x02 (010) -> Green
  • 0x03 (110) -> Yellow (Red+Green)
  • 0x04 (001) -> Blue
  • 0x05 (101) -> Magenta (Red+Green)
  • 0x06 (011) -> Cyan (Blue+Green)
  • 0x07 (111) -> White (Red+Blue+Green)

Looked at another way, the color value in any of the 7 slots will match up with the following velocities:

0 1 2 3 4 5 6 7
0 1-3 4-7 8-15 16-31 32-63 64-126 127

currently, the default is 0 7 6 5 1 4 3 2:

  • 000-000: OFF
  • 001-003: White
  • 004-007: Cyan
  • 008-015: Magenta
  • 016-031: Red
  • 032-063: Blue
  • 064-126: Yellow
  • 127-127: Green

23 : Map LED All Notes

F0 00 01 61 07 23 (128)*[CR CODE] F7 Command 23 is an alternative to Command 09. The position index of the (128) bytes represent a note number, and the byte value represents the CR Code (see CR Code map). For example, the CR Code (80) in position 0 would map note 0 to the Livid Logo button. A CR Code of (127) in any position in the 128 byte list means that the note at that position will not control any LED.

24 Map LED All CCs

F0 00 01 61 07 24 (128)*[CR CODE] F7 Command 24 is an alternative to Command 09. The position index of the (128) bytes represent a continuous controller number, and the byte value represents the CR Code (see CR Code map). For example, the CR Code (80) in position 0 would map cc 0 to the Livid Logo button LED. A CR Code of (127) in any position in the 128 byte list means that the cc at that position will not control any LED.

25 : Set All LEDs For All Banks

F0 00 01 61 07 25 (B1*42) (B2*42) (B3*42) (B4*42) F7

Similar to Command 04, this will change the LED states for all banks. The result is that any stored LED settings in a bank will be overwritten by the states described in Command 25. The (42) bytes B1 will describe the states for bank 01, the (42) bytes B2 will describe the states for bank 02, and so on. It is worth noting that these settings will not be saved to flash memory, however, unless a Command 18 or 19 is send to the device.

7E : NAK Negative Acknowledge

F0 00 01 61 07 7E F7

This is intended as a way for the OhmRGB to indicate a problem with the previous message. Unfortunately, when messages are sent too fast, it becomes impossible for the OhmRGB to reply with anything reliably, even NAK.

The best approach is to wait for ACK (see below) after sending each message, rather than depend on NAK to indicate an error. The one exception is Recall User Settings, where the OhmRGB will reply with NAK if the contents of User memory are empty or otherwise corrupted.

7F : ACK Positive Acknowledge

F0 00 01 61 07 7F F7

ACK means the previous message was handled correctly. Some messages (e.g. Map Single LED Indicator) simply reply with a specific command instead of ACK, when more context is needed than a simple acknowledgment.

MAPPING SUMMARY

Analog to CC; 121 control numbers; 7-bit value Analog to CC; 32 control numbers; 14-bit value Analog to Pitch Bend; 16 channels; 14-bit value Button to Note; 128 note numbers; 1-bit value Button to CC; 121 control numbers; 1-bit value Button to MMC; 3 types; no value LED from Note; 128 note numbers; 1-bit value LED from CC; 121 control numbers; 1-bit value

MIDI IMPLEMENTATION

The following standard MIDI messages are implemented.

System Real Time:

  • MIDI System Reset

Channel Mode Messages:

  • Reset All Controllers
  • Local Control (connects buttons to corresponding LED indicators)
  • Poly On / Mono On (both set Omni Off)
  • Omni On/Off
  • All Notes Off (turns off all LED indicators)

Controller Numbers:

  • 76 : backlight dimmer
  • 77 : logo dimmer

Note Velocity and CC value input:

  • 000-000: OFF
  • 127-127: Color7
  • 064-126: Color6
  • 032-063: Color5
  • 016-031: Color4
  • 008-015: Color3
  • 004-007: Color2
  • 001-003: Color1

(Refer to command 22)

Program Change:

  • Sending a program change number 1-4 to the OhmRGB on the MIDI Basic Channel (cmd 0C) will change the bank number.