Specifications
converter 1.5
2000 - 2005 urr Sound Technologies Inc.
63
buffer size is greater than the minimum required, midi (or a combination of midi and audio) interrupts
may occur so frequently that converter will still be unable to quickly provide accurate axis range results
(buttons will not be affected). This should only occur, however, under extreme circumstances. If it
happens, either reduce the amount of midi input load, disable some of the audio filter channels, or forgo
the use of gameport axis input – or use the gameport axis inputs as simple button (on / off) channels
(using arithmetic operators to expand acquired axis values above 5 (as an example) to a number above
64).
The joystick buttons status is acquired in a much more elegant (simple) fashion, and do not create the
same performance effects as reading the joystick axis. Therefore, all four joystick buttons can be used
without incurring the computing load required by the axis by simply disabling all four gameport axis in
the gameport input settings ( [F4] – [F5] ) and then enabling gameport input in the root real-time settings
menu.
Programming gameport to midi conversion is simple – here’s how to program joystick A to generate a
stream of pitch bend and modulation wheel data on midi channel 1:
•
Press [F4] for the game/mouse/lfo parameters menu, then [F5] for gameport settings, followed by
[F5] again for gameport input settings. Check to make sure that the
joystick A x-axis
and
joystick
A y-axis
parameters are set to “ON”.
•
Press [F6] for the gameport midi conversion settings menu, followed by [F5] for joystick A’s settings
page.
•
For the
x-ax conv. byte pos.
parameter (x-axis conversion byte position) type 2 to place the
converted byte value in the 2
nd
databyte position; for the
x-axis statusbyte
parameter type 224 (for
pitch bend channel 1); followed by 0 for the
x-ax 1
st
databyte val
parameter (x-axis 1
st
databyte
value) and perhaps for clarity’s sake place a 0 in the
x-ax 2
nd
databyte val
parameter (which is
going to be filled in by the byte taken from the x-axis channel of joystick A).
•
Next, to program modulation wheel data, move the cursor to the
y-ax conv. byte pos
parameter
and type 2, then type 176 into the
y-axis statusbyte
parameter to specifiy a controller message on
channel 1, type 1 into the
y-ax 1
st
databyte val
parameter to specify modulation as the controller
message type, and optionally place a 0 in the
y-ax 2
nd
databyte val
parameter.
And that’s it – the gameport is programmed to transmit pitch bend and modulation data on midi
channel 1. If it doesn’t appear to be working, check the root realtime settings menu to ensure that the
gameport input is activated. If it says “gameport disabled” you will have to exit converter and choose an
audio input buffer size of 72 bytes or larger. Incidentally, due to the somewhat inaccurate nature of
gameports, pitch control may not be the most musically appropriate use for them, even though
smoothing algorhythms have been implemented to reduce errors – refer to the midi appendix for a list
of possible controllers the gameports could be assigned to.
Note: Even though selectable as a message type, audio, gameport, and mouse input cannot be
converted to system exclusive (sysex), mtc/smpte ¼ frame, or certain undefined system
common/realtime message types.