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.




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.




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.




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.




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.







pops up an alert window asking you if you really want to start from scratch, thus erasing all settings for the sensors.




shows the Mac's file selector 'Open JunXion Configuration', where you can select a previously saved configuration file.




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!





the edit menus are all disabled





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.




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, VCRs, 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





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.