Control Surface master
MIDI Control Surface library for Arduino
Classes | Public Member Functions | Public Attributes | List of all members
VUMatcher Struct Reference

#include <MIDI_Inputs/MCU/VU.hpp>

Detailed Description

MIDI Input matcher for Mackie Control Universal VU meters.

In the Mackie Control Universal protocol, VU meters are updated using Channel Pressure events.
Each device (cable number) has eight VU meters for the eight tracks. Only MIDI channel 1 is used in the original protocol.

The format of the MIDI message is as follows:

Status Data 1
1101 cccc 0hhh llll

If the level is 0x0, the meter is at 0%, if it's 0xC, the meter is at 100%.
0xD is an invalid value.
0xE sets the overload indicator, and 0xF clears the overload indicator.

Definition at line 107 of file VU.hpp.

+ Collaboration diagram for VUMatcher:


struct  Result
 Output data of the matcher/parser. More...

Public Member Functions

 VUMatcher (MIDIAddress address)
 Constructor. More...
Result operator() (ChannelMessage m)
 Parse and try to match the incoming MIDI message. More...

Public Attributes

MIDIAddress address
 MIDI address to compare incoming messages with. More...

Class Documentation

◆ MCU::VUMatcher::Result

struct MCU::VUMatcher::Result
+ Collaboration diagram for VUMatcher::Result:
Class Members
bool match Whether the address of the message matched our address.
uint8_t data The data to update the VU meter with [0x0, 0xF].

Constructor & Destructor Documentation

◆ VUMatcher()

VUMatcher ( MIDIAddress  address)


Definition at line 109 of file VU.hpp.

Member Function Documentation

◆ operator()()

Result operator() ( ChannelMessage  m)

Parse and try to match the incoming MIDI message.

Definition at line 118 of file VU.hpp.

Member Data Documentation

◆ address

MIDIAddress address

MIDI address to compare incoming messages with.

Definition at line 126 of file VU.hpp.

The documentation for this struct was generated from the following file: