BASS.NET API for the Un4seen BASS Audio LibraryMidiSysExMessageMMCDeviceID Property BASS.NET API for the Un4seen BASS Audio Library
Gets the MMC Device ID (or 255 on error or not present).

Namespace: radio42.Multimedia.Midi
Assembly: Bass.Net (in Bass.Net.dll) Version:

public byte MMCDeviceID { get; }

Property Value

Type: Byte

If dealing with a MIDI Machine Control (MMC) protocol the byte after the IsUniversalRealtime byte will contain a device ID.

Every device which can respond to MIDI Machine Control messages should have a unique (ie, individual) ID number. For example, a hard disk recorder may have an ID of 1. A MIDI sequencer controlling the hard disk recorder's record and playback may have an ID of 2. Usually, a device will allow the user to set its individual ID, so that any conflicts between devices can be resolved. The range of allowable ID numbers is 0 to 127 inclusive. By having unique ID numbers, you can use one of these ID numbers in a System Exclusive message, and then the various devices that are all daisy-chained together via MIDI can determine which device a particular System Exclusive message is meant for. Of course, even the master controller which is being used to control the entire MIDI Machine Control network can have its own, unique ID, in case slaved controllers wish to create and send messages back to the master.

NOTE: It is possible to have two (or more) devices set to the same ID number. What this means is that both devices always respond to the same MIDI Machine Control messages with that ID number, and you completely lose individual control over each. There is also no limit as to how many individual ID numbers a given device can respond to. If desired, a device can even respond to all 127 individual ID numbers, but this would be akin to a sound module that only operates in Omni mode (ie, not too useful if you have other units daisy-chained).

A channel number of 127 (referred to as the "All-Call channel number") is reserved to mean "all devices respond". When a MIDI Machine Control message with a channel nummer of 127 is sent along the MIDI bus, all devices should respond to this message if appropriate (ie, if they support the particular command of that message), regardless of their individual ID numbers.

Note: If not dealing with a universal real-time SysEx 255 will be returned. This member might anyhow return a valid value, since this property simply evaluates the second data byte after the initial StatusType.

See Also