JunXion v1.0
Manual
Steim's JunXion is a Mac OSX tool (running on any Apple Macintosh computer using Mac OS 10.2 or higher) for converting USB Input device data into MIDI messages as used by electronic musicians. The program allows you to convert for example a Joystick's X/Y movement into Midi volume and panning control. Up to eight input devices such as Joysticks, (wireless) gamepads, steering wheels, mice, etc. can be connected (using a USB hub), whereby each input may use up to 20 'sensors', such as the trigger switch, throttle, steering, etc. depending on the device.
How to use it.
If you want to explore JunXion's full potential, make
sure you have connected a USB game device to your computer.
When you start JunXion for the first time you will be
asked for a registration code. This code can be ordered online thru Steim
Store (Kagi). After you have received your code you can copy/paste this in
the Welcome dialog and click OK. If you don't want to register yet, usage time
is limited to 20 minutes per session with a limited usage of 15 sessions.
Throughout this manual you will read the word numerical.
This refers to a special kind of button in JunXion showing a number, which can
be changed by clicking on it and then, while holding down the mouse button,
move the mouse as a slider up or down to increment / decrement the displayed
value.
Data Routing Window
Initially, JunXion will display two main windows, one
named 'Data Routing', the other one 'Status'. The 'Data Routing' window is used
to configure the midi routing and the 'Status' window will give you visual
feedback of device activity and midi messages that are send by JunXion.
When you have just started up, the 'Data Routing' (DR)
window will show you the first device it has found. If no external devices are
attached to your computer JunXion will automatically also enable your
computer's mouse and keyboard (called 'Generic Mouse' and 'Generic Keyboard').
The DR window will show you the first 20 device sensors it has found, meaning
that if the devices contains more than 20 sensors (like the 'Generic
Keyboard'), you can only use the first twenty and if it contains less sensors
(like the average joystick) it will show whatever is available. The Input
Device menu can be used to select the device you want to configure. Whenever
another device is selected in this menu, the DR window will show the settings
for that device. To quickly disable the selected device from sending any MIDI
data, click the Current Device enabler button so that it will be unchecked.
The DR window contains 20 rows for the sensors and each
sensor's settings are displayed in a number of columns. The window can be resized,
showing only the top/left part of the window if you want. JunXion initializes
those sensors by defining switch sensors as Midi Note On/Off events, starting
with Note number 60 and the continuous sensors will be initialized as
continuous controllers, aftertouch and pitch bend events. By default, device #1
sends on MIDI channel 1, device #2 on MIDI channel 2, etc. Below follows an
explanation of the different columns in the DR window.
Device Sensors
The sensors are displayed in the first column, JunXion
get the name of each sensor from the device itself.
Status
The Status column displays the current value of the
sensor in a graphical way, giving you visual feedback which button you are
pressing or how your joystick's x/y movement is responding.
Abs
Some sensors, like the Generic Mouse's X-axis and Y-axis
sensors, are difference sensors, meaning that whenever you move it will
generate data, but the sensor will always fall back to a middle value (like a
MIDI keyboard's Pich Bend wheel). When the 'Abs' button is checked, JunXion
will keep track of the differences and change that into an absolute value, in
the range as set in the next two columns:
Min / Max
These numericals (see 'How to use it') allow you to
specify the range that you want the sensors to work in. The default range is 0 - 1024, but you can also
change that into 785 - 125 for example, meaning that the sensor's output is
inverted and limited in the range. More on this later.
Midi Event
This popup menu allows you to select the MIDI event type
that you want to send whenever the sensor is activated. Directly related to the
event are the next three numericals:
Chan / Dat1 / Dat2
The 'Chan' numerical can be set from 1 - 16 and
determines the selected MIDI event type's channel. The next two numericals,
'Dat1' and 'Dat2' can be set anywhere in the range from 'Dec' to 127 and have
the following meaning, depending on the MIDI Event type:
Event Type Dat1 Dat2
Note On/Off Note
number (C3 = 60) Note velocity
Poly Key pressure Note
number (C3 = 60) Note pressure
Cont. Controller Controller
number Control
value
Program Change disabled Program number
Aftertouch disabled pressure
value
Pitch Bend PB
value LSB PB
value MSB
Basically for any MIDI event, the 'Dat1' and 'Dat2' values
are in a range from 0 - 127 (as specified by MIDI). It means for example that
128 different note numbers (note number 0 DOES exist) can be used (more than 10
1/2 octaves), which is a lot. But for the dynamics (the Note velocity
parameter) you can only have 128 different levels, whereby a level of 0 means:
note-off. For more details on the type of events and what they are used for,
see http://www.midi.org/about-midi/tutorial/tutor.shtml
The 'Dat1' and 'Dat2' numericals can be set as follows:
as default, the 'Dat2' numerical is always set to '--', meaning that in the
transmitted MIDI event it will use the sensor's current data value. If you want
to use a fixed number, any number between 0 - 127 can be selected. In some
situations you may want to use another sensor's data value, for example,
your Joystick's Button #5 should send a Note On/Off event, whereby the Note
number is determined by the Joystick X-axis and the Note velocity by the Joystick
Y-axis as shown below.
As you can see, sensor 6 (X-axis) and sensor 7 (Y-axis)
have their MIDI event set to 'None', meaning they don't send out data directly.
Sensor 5 (Button #5) however is set to send a MIDI Note On/Off message when
activated, whereby the 'Dat1' numerical is set to 'S6', meaning for the Note
number it uses the sensor data of sensor 6 and 'Dat2' is set to 'S7', meaning
the current value of sensor 7 determines the MIDI event's Note velocity.
So, to use the data value of another sensor, set the
'Dat1' / 'Dat2' numerical anywhere in the range from 'S1 - S20'.
The last two values that can be selected with those
numericals are 'Inc' and 'Dec'. This is handy if you want to use a button to
step thru values from 0 - 127 (Inc) or 127 - 0 (Dec).
In the example above, Button # 2 is used to increment a
MIDI Program Change value, each time the button is pressed, while Button #3 is
used to decrement that value. Remember: Inc always starts with 0, and goes up
to a maximum of 127, while Dec goes down to a minimum of 0.
Output
WIth this popup menu you can select either JunXion's
virtual ports (JunXion Port 1 and 2), which will be visible in other MIDI
controlled music applications allowing you to send the MIDI data direclty to
the parallel running music app, or, when the QuickTime synth is enabled (see
below), select the internal QuickTime Music synthesizer, or, when fysical MIDI
interfaces were detected on startup of JunXion, the ports of those MIDI
interfaces.
As you may realize, the flexibility of this architecture
is that each sensor can use its
own MIDI Output, whereby each MIDI output can address 16 different channels.
Status Window
The Status window is there purely for visual feedback.
It is a so called utility window, meaning it will always lay on top, even on
top of another (music) application's windows.
The top row displays eight indicators for the devices.
Whenever a device generates some activity, the indicator blinks. If a device is
detected but not Enabled (see above) the indicator shows a small Ô-Ô sign.
Below is the MIDI Monitor pane, showing the MIDI message currently generated by
JunXion (because you pressed a button or something). The message always starts
with the name of the MIDI output, 'JX Port 1/2' meaning 'JunXion Port 1/ 2',
'QuickTime' meaning the 'Quicktime Synth', etc.
After that the number indicates the MIDI channel the
event is send on, followed by the MIDI Event type whereby the abbreviations
stand for:
NON Note
On/Off
PKP Poly
Key pressure
CTR Continuous
Controller
PGC Program
Change
PRS Aftertouch
PBD Pitch
Bend
The next one or two numbers represent the 'Dat1' and
'Dat2' bytes of the send MIDI event. You may notice that PRS and PGC only show one
data byte ('Dat2' in the Data Routing window). This is according to the MIDI
specification (see http://www.midi.org/about-midi/tutorial/tutor.shtml).
Both the Status window and the DR window can be closed
by clicking the window close box. To re-open them, select the corresponding
menu item from the 'Windows' menu.
The Menus
The menu bar of JunXion shows the following menus: JunXion v1.0, File, Edit, Window. A description of the menus and its items is shown below:
JunXion 1.0
About JunXion
this opens the info window about JunXion, its creators, Steim Foundation and to whom the program is registered. This window will ALWAYS open when you startup the program. To close it, click OK or hit the 'Enter' or 'Return' key on your Mac's keyboard.
Preferences...
this opens JunXion's Preferences window as shown below:
Enable gamepads, mice, keyboards
when this box is checked, JunXion will search for all input
devices, including gamepads, mice, keyboards, etc. If not checked, it will only
search for devices that register as joystick.
Enable QuickTime synthesizer
when this box is checked, the Mac's Quicktime Music synthesizer
will be enabled, allowing you to play sounds using this internal synth. Beware
however, that this synth eats CPU
time which may slow down your machine's behaviour. (how much depends on your
type of computer).
Midi thru from input:
JunXion is able to function as a MIDI thru bus for
externally incoming MIDI. With this menu you select which fysical MIDI input
port's MIDI you want to send thru.
to output:
This menu shows the available MIDI outputs whereto the incoming MIDI data will be send thru.
JunXion's Preference settings are stored in the Configuration file, not (yet) as a seperate preference. This means that every time you start up JunXion without loading a Configuration, the default setting will be as shown above if no external input devices have been found. If some external Joystick devices have been found, the 'Allow all input devices' option will be unchecked.
File
New...
pops up an alert window asking you if you really want to start from scratch, thus erasing all settings for the sensors.
Open...
shows the Mac's file selector 'Open JunXion Configuration', where you can select a previously saved configuration file.
Save
when changes have been made to an opened Configuration, this command saves the changes. When saving a complete new Configuration, it shows the Mac's file selector 'Save Configuration', where you can create a new Configuration file for later retrieval.
Save AsÉ
shows the Mac's file selector 'Save Configuration', where you can create a new Configuration file for later retrieval.
Rebuild Device List
this will re-scan your system for input devices, RESETTING all the configured settings!
Edit
the edit menus are all disabled
Windows
Minimize window
allows you to minimize the Data Routing window (it falls
back into the Dock).
Data Routing
opens (if not open) and brings to front the Data Routing
window.
Status
if closed, re-opens the Status window.
That ends the description of JunXion, hopefully this
software is useful for you!
What is Midi?
MIDI is the acronym for Musical Instrument Digital
Interface. Throughout its
existence, MIDI has gained acceptance with industry professionals by leaps and
bounds. Not only does it allow for
faster creation and composition of music, it allows the composer to become the
proverbial one-man band.
MIDI was introduced in 1983. It was developed in cooperation between the major music
industry electronic instrument manufacturers including Roland, Yamaha, Korg and
others. No one ever dreamed the
kinds of sounds that could be created and accessed using such a powerful
communications protocol.
The MIDI protocol allows electronic devices (usually
synthesizers, but also computers, light show controllers, VCRÕs, multi-track
recorders, etc.) to interact and work in synchronization with other MIDI
compatible devices. Using a master
controller device such as a keyboard, one can play or trigger sounds from other
electronic devices remotely. This
eliminates the need for one keyboardist to perform with nine or ten keyboards
around him. He can play all the
keyboards through one simply by connecting them using MIDI. The other keyboards can be off-stage;
he never has to touch them, yet he can play them.
The best analogy for MIDI is to liken it to the linking of two computers via
modems. The same way the computers
share information via modem, electronic devices share it via MIDI. It does not send the actual musical
note, but the information about the note.
It can send messages to synthesizers telling it to change sounds, master
volume, modulation devices, which note was depressed, and even how long to sustain
the note.
MIDI has been continually expanded to include other
features for the professional musician.
Some of note include MIDI Time Code (allowing synchronization of video
and audio), Sample Dump Standard (allowing for the transfer of digital audio
files) and MIDI Show Control (allowing control of devices used in theater).
More info and details about Midi can be found on: http://www.midi.org/about-midi/tutorial/tutor.shtml
About STEIM
steim (the Studio for Electro-Instrumental Music) is the only
independent live electronic music centre in the world that is exclusively
dedicated to the performing arts. The foundation's artistic and technical
departments supports an international community of performers and musicians,
and a growing group of visual artists, to develop unique instruments for their
work. steim invites these people for residencies and provides them with an
artistic and technical environment in which concepts can be given concrete
form. It catalyzes their ideas by providing critical feedback grounded in
professional experience. These new creations are then exposed to a receptive
responsive niche public at steim before being groomed for a larger audience.
steim promotes the idea that Touch is crucial in
communicating with the new electronic performance art technologies. To much the
computer has been used, and designed, as an exclusive extension of the
formalistic capabilities of humans. At steim the intelligence of the body, for example: the
knowledge of the fingers or lips is considered musically as important as the
'brain-knowledge'. steim has stimulated the design of
extremely physical interfaces and is widely considered the as the pioneering
place for the new live electronic concepts.
steim 's artistic leader Michel Waisvisz has built a world
reputation being the first to invent a practice for ecstatic live performance
with live electronic instruments. Over the years a great variety of the
pioneering artists of the live electronic performance arts have worked at steim . More recently steim is being discovered by DJ's and
VJ's who want to liven up their act with physical control of their sound
machines and laptops, also dancers, actors, visual artists and are coming up to
steim to use the ideas found at steim and develop these further for
there personal goals.
steim has always encouraged the use of low-tech solutions and
the creative "misuse" of recycled high-tech. steim stands for "a human
approach to technology". This technology has to be tailored to the
individual. Unique instruments such as The Hands, The Web, The Sweatstick and
the MIDI Conductor were created as a result of personal and individual projects
but are now used by other performers.
Software instruments such as Image/ine and LiSa (Live
Sampling) have also flourished outside of steim. LiSa was awarded 'Non Plus Ultra' by the international
Groupe de Musique Experimentale de Bourges at the 1998 Electronic Music
Festival in Bourges, France.
For many years, steim has nurtured a special line of activity where children
are invited to play with its newly developed instruments. The playful, bright
and inventive reactions of these children have often been of decisive
importance in the process of creating playable electronic instruments. Since
the mid-seventies steim has developed a series of
tangible electronic devices that are intended not as toys but as instruments
that have been 'approved by children'. These include the Crackle Boxes and LiSa,
the live sampler.
steim runs the ' steim Electro Beep Club ', an exhibition in the form of an
arcade where visitors can playfully discover the major directions in the
tactile approach within steim 's instrumental objects.
In the immediate future, steim wants to extend the support to projects by
artists from other genres to help them discover the possibilities of the new
live electronic instruments. steim has started projects with puppeteers, circus-artists, street
musicians and others.
steim 's technical lab will continue to perfect The SensorLab
, the BigEye system and LiSa; it will also develop an instrument for the co
processing of sound and image. Finally it will continue its research into
telecommunications on stage (i.e. at extremely short distances) so that
ensembles of performance artists can work highly interconnected but freed from
the physical hindering of wires.
For more info on steim, visit http://www.steim.org/
License Agreement
Please
read the terms and conditions of this agreement carefully. By using this
software package, you indicate your acceptance of the terms and conditions
described below.
This
manual and the program it describes are copyrighted by STEIM Foundation
(STEIM). Both the manual and the program are licensed to you for your use on a
non-exclusive basis.
You
may use this program on any number of computers, provided that it is used on
only one computer at a time.
You
may make backup copies of this program for your use only, provided that they
bear STEIM's copyright notice.
You
may not: 1- alter or translate this program or its documentation in whole or in
part, 2- distribute or grant sublicenses or other rights to this program to
others, 3- allow this program or its documentation to be used in any multi-user
network or arrangement without prior written agreement from STEIM.
You
agree that your license will automatically terminate if you fail to abide by the
terms and conditions of this Agreement, and you agree, in that event, to
destroy all your copies of this program and its documentation.
Limited Warranty on the Product
STEIM
warrants to the original licensee that the program will perform on any Apple
Macintosh G3 / G4 computer,
running OS 10.2 or later, substantially as described in the user's manual.
IN
NO EVENT WILL STEIM, OR ANY PARTY ASSOCIATED WITH THIS PROGRAM, BE LIABLE FOR
ANY DAMAGES, INCLUDING ANY LOST SAVINGS, LOST PROFITS, OR ANY OTHER INCIDENTAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE, OR INABILITY TO USE THIS
PROGRAM. STEIM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES CLAIMED BY ANY OTHER
PARTY RESULTING FROM THE USE OR ATTEMPTED USE OF THIS PROGRAM. ALL WARRANTIES
IMPLIED ARE WITH STEIM, NOT YOUR LOCAL DEALER. IF PROBLEMS ARISE, CONTACT STEIM
DIRECTLY. STEIM WILL NOT BE RESPONSIBLE FOR ANY DAMAGES RESULTING FROM USE OF
UNAUTHORIZED COPIES OF THE PROGRAM.