2007-07-17 17:37:53 | US-224 Installation and Use Control Protocol - 57.72 KB | 224controlprotocol.pdf

2007-07-17 17:37:53 | US-224 Installation and Use Control Protocol - 57.72 KB | 224controlprotocol.pdf
US-224 Control Protocol
Purpose
Provide simple, effective integration between the US-224 and host software applications.
Introduction
The US-224 provides digital audio I/O, MIDI, and control surface functions in a single affordable
USB-based product. While the audio and MIDI I/O follow established which are easily interfaced
with host applications, full integration of the control surface aspects of the US-224 requires a set
of messages to be defined which permits two-way communication of control information between
the host application and US-224.
Functional Groups
The US-224's control surface are divided into several major functional groups:
Transport and Locate switches and status LED's
Per-channel controls (faders, switches, and LED's)
Bank switching buttons and LED's
Function switches, LED's and continuous "data wheel"
Communication model
Standard MIDI controller and sysex messages will be used to communicate between the host and
US-224. In many cases, the commands transmitted by the US-224 are identical to those
generated by the JL Cooper CS-10 controller. In general, it is desired that overall system "state
information" be maintained by the host application, rather than in the US-224. As an example,
here is how a change in transport state from STOP to PLAY might be communicated:
User presses PLAY button on US-224.
Play-button command is sent via USB to host application as MIDI .
Application receives Play message from the "US-224 Control" Midi input device.
Application switches to PLAY mode, just as if user had performed the operation with a
mouse-click.
Application sends Transport Update message to "US-224 Control" Midi output device, which
is sent via USB to the US-224.
US-224 interprets transport-update command, and responds by activating the PLAY LED.
In this example, the US-224 doesn't "know" the state of the transport. It has simply sent
command indicating the button-press, and responded to the transport-update command from the
host by lighting the appropriate transport LED.
Transport/Locate command set
The US-224 contains a set of standard transport switches: REW, FFWD, STOP, PLAY, and REC.
In addition, dedicated status LED's are used to communicate the current transport state to the
user. The LED's indicate REW, FFWD, PLAY, and REC. (Note that there is no LED to indicate
STOP.) Additionally, there are three locate switches, which can be used to set and locate to
markers established on the host application's timeline. SET is intended to be used as a SHIFT
key, along with either the < or > button to drop a marker at the application's current time.
US-224 to Host Messages (transmitted at button-down):
•
•
•
•
•
•
•
•
TRANSPORT_REWIND
o Button-down: BF 13 7F
o Button-up:
BF 13 00
TRANSPORT_FFWD
o Button-down: BF 14 7F
o Button-up:
BF 14 00
TRANSPORT_STOP
o Button-down: BF 15 7F
o Button-up:
BF 15 00
TRANSPORT_PLAY
o Button-down: BF 16 7F
o Button-up:
BF 16 00
TRANSPORT_REC
o Button-down: BF 17 7F
o Button-up:
BF 17 00
LOCATE_LEFT (non CS-10)
o Button-down: BF 18 7F
o Button-up:
BF 18 00 7.
LOCATE_RIGHT (non CS-10)
o Button-down: BF 19 7F
o Button-up:
BF 19 00
SET_LOCATE (non CS-10)
o Button-down: BF 1A 7F
o Button-up:
BF 1A 00
Host to US-224 Messages (transmitted when host transport-state changes:
•
UPDATE_TRANSPORT_LED:
o State is REWIND:
F0 4E <UNIT> 12 01 13 <STATE> F7
o State is FFWD:
F0 4E <UNIT> 12 01 14 <STATE> F7
o State is STOP:
F0 4E <UNIT> 12 01 15 <STATE> F7
(Note: US-224 has no STOP LED: message is defined for future devices)
o State is PLAY:
F0 4E <UNIT> 12 01 16 <STATE> F7
o State is REC:
F0 4E <UNIT> 12 01 17 <STATE> F7
Where:
• <UNIT> is device ID. Should be transmitted as 0 for now.
• <STATE> == 0 turns LED OFF
• <STATE> == 7F turns LED ON
Per-channel Control command set
The US-224 includes a set of 4 channel-strip controls and LED's. Each channel-strip includes the
following controls:
a.
b.
c.
d.
linear fader for gain control
Mute/Solo switch and LED
Record-enable LED
Select switch and LED
Three modifier switches affect the channel strip indicators:
a. A momentary NULL switch and LED (to aid the user in matching the fader sliders with the
"virtual" value maintained by the application software). When the application receives a
NULL button-down message, it compares its internal fader values with the most recentlyreceived physical fader positions for the currently- active bank of eight channels, and
sends out messages which light the REC and SELECT LED's to indicate the direction the
user needs to move each of the faders to agree with the application's virtual fader levels.
When the user releases NULL, the application sends REC and SELECT LED update
messages which will cause them to revert to their "native" function (indicating record and
channel-select status).
b. A REC (record) button which acts as a "shift" key, enabling the track select switches to
affect the record-enable status of the corresponding track in the application software.
c.
A MUTE/SOLO mode button, which toggles the function of the mute buttons and
indicators, making them activate a SOLO function on their associated track.
US-224 to Host Commands:
1. FADER_POSITION:
2. MUTE_SWITCH:
a. Button-down:
b. Button-up:
3. SELECT_SWITCH:
a. Button-down:
b. Button-up:
4. NULL_SWITCH
a. Button-down:
b. Button-up:
5. REC_EN_SWITCH:
a. Button-down:
b. Button-up:
6. SOLO_SWITCH:
a. Button-down:
b. Button-up:
BF 4x vv
x = [0..3], vv = [0..3F]
BF 0x 7F
BF 0x 0
x=[0..3]
BF 2x 7F
BF 2x 00
x=[0..3]
BF 28 7F
BF 28 00
BF 29 7F
BF 29 00
BF 2A 7F
BF 2A 00
Host to US-224 Messages:
Note: In these messages, <STRIP #>is a number in the range [0..3], corresponding to the
channel-strip #, and <STATE>is either 0x00 (LED OFF) or 0x7F (LED ON) . Transmit<UNIT> as
0 for now.
a.
b.
c.
d.
e.
UPDATE_MUTE_LED:
UPDATE_SEL_LED:
UPDATE_REC_LED:
UPDATE_NULL_LED:
UPDATE_SOLOMODE_LED:
F0 4E<UNIT>
F0 4E<UNIT>
F0 4E<UNIT>
F0 4E<UNIT>
F0 4E<UNIT>
12 02
12 03
12 04
12 05
12 06
<STRIP #> <STATE> F7
<STRIP #> <STATE> F7
<STRIP #> <STATE>F7
<STATE> F7
<STATE> F7
Note: following message forces US-224 to send current fader position messages to host via the
US-224 Control Port
f.
DUMP_FADER_POS:
F0 4E<UNIT>
12 10
<STRIP #> <STATE>F7
Bank-Switching Command Set
The US-224 has two switches that allow the user to select the bank of application channels that is
addressed by the four channel-strips. For example, an application with 32 virtual tracks would
define eight banks of four channel strips each. The Bank-L and Bank-R switches let the user
quickly shift the control surface to address any bank of four channels. There are two LED's
adjacent to the Bank-L and Bank-R switches, which indicate that pressing the button will cause
the application software to switch to the next lower or higher bank, respectively. It is OFF when
there are no further virtual fader banks available in that direction.
US-224 to Host Commands
•
•
BANK_LEFT:
o Button-down:
o Button-up:
BANK_RIGHT:
o Button-down:
o Button-up:
BF 10 7F
BF 10 00
BF 11 7F
BF 11 00
Host to US-224 Messages:
a. UPDATE_BANK_LEFT_LED: F0 4E<UNIT>
b. UPDATE_BANK_RIGHT_LED: F0 4E<UNIT>
12 07
12 08
<STATE> F7
<STATE> F7
where<STATE> is either 0x00 (LED OFF) or 0x7F (LED ON) <UNIT>is device ID. Should be
transmitted as 0 for now.
Continuous data wheel
A data wheel is provided for general-purpose parameter modification. In addition to the pan level
setting described above, the data could be used for scrubbing, locating, or any other purpose the
application programmer desires.
US-224 to Host Commands:
DATA_WHEEL (identical to JL Cooper CS-10)
BF 60 vv,
vv = 2's complement using 7 data bits
Host to US-224 Messages:
UPDATE_ASN_LED:
F0 4E<UNIT>
12 0F
where
<UNIT> Transmit as 0 for now.
<STATE> is either 0x00 (LED OFF) or 0x7F (LED ON)
<STATE> F7
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement