2007-07-17 00:47:58 | US-428 Installation and Use Control Surface Messaging - 56.28 KB | controlprotocol.pdf

2007-07-17 00:47:58 | US-428 Installation and Use Control Surface Messaging - 56.28 KB | controlprotocol.pdf
TASCAM US-428 Control Surface Messaging
Revision 1.01
Date: 6/29/2000
Purpose
Provide simple, effective integration between the US-428 and host software applications.
Introduction
The US-428 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-428 requires a set
of messages to be defined which permits two-way communication of control information between
the host application and US-428.
Functional Groups
The US-428's control surface are divided into several major functional groups:
a)
b)
c)
d)
e)
Transport and Locate switches and status LED's
Per-channel controls (faders, switches, and LED's)
Bank switching buttons and LED's
EQ switches, continuous EQ and pan knobs, and associated status 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-428. In many cases, the commands transmitted by the US-428 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-428. As an example,
here is how a change in transport state from STOP to PLAY might be communicated:
1.
2.
3.
4.
5.
6.
User presses PLAY button on US-428.
Play-button command is sent via USB to host application as MIDI .
Application receives Play message from the "US-428 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-428 Control" Midi output device,
which is sent via USB to the US-428.
US-428 interprets transport-update command, and responds by activating the PLAY LED.
In this example, the US-428 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-428 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-428 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-428 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-428 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-428 includes a set of 8 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-428 to Host Commands:
1.
2.
3.
4.
5.
6.
FADER_POSITION: BF 4x vv x = [0..7], vv = [0..7F]
MUTE_SWITCH:
a. Button-down: BF 0x 7F
b. Button-up: BF 0x 0 x=[0..7]
SELECT_SWITCH:
a. Button-down: BF 2x 7F
b. Button-up: BF 2x 00 x=[0..7]
NULL_SWITCH
a. Button-down: BF 28 7F
b. Button-up: BF 28 00
REC_EN_SWITCH:
a. Button-down: BF 29 7F
b. Button-up: BF 29 00
SOLO_SWITCH:
a. Button-down: BF 2A 7F
b. Button-up: BF 2A 00
Host to US-428 Messages:
Note: In these messages, <STRIP #>is a number in the range [0..7], corresponding to the
channel-strip #, and <STATE>is either 0x00 (LED OFF) or 0x7F (LED ON) . Transmit<UNIT> as
0 for now.
1.
2.
3.
UPDATE_MUTE_LED: F0 4E<UNIT>12 02<STRIP #> <STATE> F7
UPDATE_SEL_LED: F0 4E<UNIT> 12 03<STRIP #> <STATE> F7
UPDATE_REC_LED: F0 4E<UNIT> 12 04<STRIP #> <STATE>F7
4.
5.
UPDATE_NULL_LED: F0 4E<UNIT> 12 05 <STATE> F7
UPDATE_SOLOMODE_LED: F0 4E<UNIT> 12 06 <STATE> F7
Note: following message forces US-428 to send current fader position messages to host via the
Us-428 Control Port
6.
DUMP_FADER_POS: F0 4E<UNIT>12 10 <STRIP #> <STATE>F7
Bank-Switching Command Set
The US-428 has two switches that allow the user to select the bank of application channels that is
addressed by the eight channel-strips. For example, an application with 32 virtual tracks would
define 4 banks of eight channel strips each. The Bank-L and Bank-R switches let the user quickly
shift the control surface to address any bank of eight 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-428 to Host Commands
• BANK_LEFT:
o Button-down: BF 10 7F
o Button-up: BF 10 00
• BANK_RIGHT:
o Button-down: BF 11 7F
o Button-up: BF 11 00
Host to US-428 Messages:
1.
2.
UPDATE_BANK_LEFT_LED: F0 4E<UNIT> 12 07<STATE> F7
UPDATE_BANK_RIGHT_LED: F0 4E<UNIT> 12 08<STATE> F7
where<STATE> is either 0x00 (LED OFF) or 0x7F (LED ON) <UNIT>is device ID. Should be
transmitted as 0 for now.
EQ Knobs and Band Selection Command Set
Three continuous-turn rotary encoders allow the user to set the Gain, Frequency, and Bandwidth
of a band of parametric EQ. The controller numbers used are the same as the JL Cooper CS-10,
however instead of an absolute 0..7F value, the increment/decrement of the encoder is
transmitted. The application must understand when the logical limit of the EQ control has been
reached, and provide on-screen feedback to let the user know that he is at the minimum or
maximum setting for the control. This prevents "wrapping" and discontinuous changes in the
values of the parameters being sent. A pan encoder knob is also defined; its operation is similar
to the EQ encoders.
US-428 To Host Commands:
1. SELECT_EQ_HI
a. Button-down: BF 2C 7F
b. Button-up: BF 2C 00
2. SELECT_EQ_HIMID
a. Button-down: BF 2D 7F
b. Button-up: BF 2D 00
3. SELECT_EQ_LOMID
a. Button-down: BF 2E 7F
b. Button-up: BF 2E 00
4.
5.
6.
7.
8.
9.
SELECT_EQ_LO
a. Button-down: BF 2F 7F
b. Button-up: BF 2F 00
EQ_GAIN_CHANGE:
a. BF 48 vv, vv = 2's complement using 7 data bits
EQ_FREQ_CHANGE
a. BF 49 vv, vv = 2's complement using 7 data bits
EQ_BW_CHANGE
a. BF 4A vv, vv = 2's complement using 7 data bits
MASTER_FADER
a. BF 4B vv, vv=2's complement using 7 data bits
PAN_CHANGE
a. BF 4D vv, vv = 2's complement using 7 data bits
Host to US-428 Messages:
1.
2.
3.
4.
UPDATE_EQ_HI_LED: F0 4E<UNIT> 12 09<STATE> F7
UPDATE_EQ_HIMID_LED: F0 4E<UNIT> 12 0A<STATE> F7
UPDATE_EQ_LOMID_LED: F0 4E<UNIT> 12 0B<STATE> F7
UPDATE_EQ_LO_LED: F0 4E<UNIT> 12 0C<STATE> F7
where <STATE>is either 0x00 (LED OFF) or 0x7F (LED ON)<UNIT> is device ID. Should be
transmitted as 0 for now.
Function switches, LED's, and continuous data wheel
A row of four AUX buttons is used to select an effect (aux-send) level for the selected channel(s).
When the user selects and AUX1-4 button, this fact is transmitted to the host, indicating that
future movements of the data wheel will affect that parameter.
Another row of four switches includes an ASN (track-source assign) button, and three applicationdefinable function buttons. A typical use of the function buttons would be to enable/disable
effects, or to mimic the function of the computer's arrow keys, to allow the user to switch from
track to track, switch between controls in a dialog, etc. The ASN button is intended to allow the
user to quickly determine the input-source for a track, by selecting this button and then using the
data wheel to cycle through the possible input-sources for the selected track.
A data wheel is provided for general-purpose parameter modification. In addition to the aux-send
level setting described above, the data could be used for scrubbing, locating, or any other
purpose the application programmer desires.
US-428 to Host Commands:
1. AUX_SWITCH
a. Button-down: BF 3x 7F
b. Button-up: BF 3x 00, where x=[0..3] (for AUX1, AUX2, AUX3, AUX4)
2. ASN_SWITCH
a. Button-down: BF 34 7F
b. Button-up: BF 34 00
3. FN_SWITCH
a. Button-down: BF 3x 7F
b. Button-up: BF 3x 7F, where x=[5..7] (for FN1, FN2, FN3)
4. DATA_WHEEL (identical to JL Cooper CS-10)
a. BF 60 vv, vv = 2's complement using 7 data bits
Host to
1.
2.
3.
US-428 Messages:
UPDATE_AUX_FN_LED: F0 4E<UNIT> 12 0D<AUX#> <STATE> F7
UPDATE_FN_LED: F0 4E<UNIT> 12 0E <FN#> <STATE>F7
UPDATE_ASN_LED: F0 4E<UNIT> 12 0F<STATE> F7
where
<AUX> is in the range [0...3] corresponding to LED's [AUX1·AUX4]
<FN#> is in the range [0...2] corresponding to LED's [FN1·FN3]
<UNIT> Transmit as 0 for now.
<STATE> is either 0x00 (LED OFF) or 0x7F (LED ON)
.
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