May 25, 2007.

Listing of all external controllers, for FreeWRL MIDI interface code,
version 1.19.15 and above.

What currently happens with local MIDI devices is that, when a new device
is plugged into a USB port, its name and a list of default controller types
is sent to FreeWRL.

All MIDI channel numbers on this device are assumed to be channel 1.

So, if you plug in a USB keyboard, it will get addressed as if it was channel 1.

If you plug in a DIN 5pin MIDI to USB converter (like a MidiSport 2x2) you will
get 2 devices, each assumed to have a device at channel 1 on it.

This will change in the future, as we get better at understanding OS X Core Audio.

To get a list of devices, either use the javascript call, or use MIDIMonitor.

Here is a list of controllers currently supported in FreeWRL. Cut and paste
these names into your X3D programs:

0   "Bank Select (coarse)"
1   "Modulation Wheel (coarse)"
2   "Breath controller (coarse)"
4   "Foot Pedal (coarse)"
5   "Portamento Time (coarse)"
6   "Data Entry (coarse)"
7   "Volume (coarse)"
8   "Balance (coarse)"
10  "Pan position (coarse)"
11  "Expression (coarse)"
12  "Effect Control 1 (coarse)"
13  "Effect Control 2 (coarse)"
16  "General Purpose Slider 1"
17  "General Purpose Slider 2"
18  "General Purpose Slider 3"
19  "General Purpose Slider 4"
32  "Bank Select (fine)"
33  "Modulation Wheel (fine)"
34  "Breath controller (fine)"
36  "Foot Pedal (fine)"
37  "Portamento Time (fine)"
38  "Data Entry (fine)"
39  "Volume (fine)"
40  "Balance (fine)"
42  "Pan position (fine)"
43  "Expression (fine)"
44  "Effect Control 1 (fine)"
45  "Effect Control 2 (fine)"
64  "Hold Pedal (on off)"
65  "Portamento (on off)"
66  "Sustenuto Pedal (on off)"
67  "Soft Pedal (on off)"
68  "Legato Pedal (on off)"
69  "Hold 2 Pedal (on off)"
70  "Sound Variation"
71  "Sound Timbre"
72  "Sound Release Time"
73  "Sound Attack Time"
74  "Sound Brightness"
75  "Sound Control 6"
76  "Sound Control 7"
77  "Sound Control 8"
78  "Sound Control 9"
79  "Sound Control 10"
80  "General Purpose Button 1 (on off)"
81  "General Purpose Button 2 (on off)"
82  "General Purpose Button 3 (on off)"
83  "General Purpose Button 4 (on off)"
91  "Effects Level"
92  "Tremulo Level"
93  "Chorus Level"
94  "Celeste Level"
95  "Phaser Level"
96  "Data Button increment"
97  "Data Button decrement"
98  "Non-registered Parameter (fine)"
99  "Non-registered Parameter (coarse)"
100 "Registered Parameter (fine)"
101 "Registered Parameter (coarse)"
120 "All Sound Off"
121 "All Controllers Off"
122 "Local Keyboard (on off)"
123 "All Notes Off"
124 "Omni Mode Off"
125 "Omni Mode On"
126 "Mono Operation"
127 "Poly Operation"