home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Virtual Reality Zone
/
VRZONE.ISO
/
mac
/
PC
/
PCGLOVE
/
GLOVE
/
MIDIGL.ZIP
/
MIDIGLOV.DOC
< prev
next >
Wrap
Text File
|
1992-10-27
|
5KB
|
109 lines
DOCUMENT FILE FOR MIDI ADDITION TO O2GLOVE by Mick Imfeld
The filed in this Zip are files from o2glov.zip into which
I spliced midi control functions using the Musicquest
Toolkit.
HELPME!.DOC and THEGLOVE.DOC are included in unaltered form.
These files tell how to hook the Nintendo Power Glove to
the parallel port of an IBM compatible computer, and how to
maximize the glove's performance.
The files:
UF_GLOV1.CPP
UF_GLOV2.CPP
GLGRPH1.CPP
GLGRPH2.CPP
MO2GLOVE.PRJ
MO2GLOVE.DSK
are my modifications of files by the same name (minus the
first letter "M" which I added so you would not overwrite
your o2glove files of the same name if you unzip in the
directory where you have the o2glove files stored) from
o2glov.zip. To produce midiglov.exe, change uf_glov1.cpp
and glgrph1.cpp to uf_glove.cpp and glgrph.cpp. To produce
midiglo2.exe rename uf_glov2.cpp and glgrph2.cpp to
glgrph.cpp and ul_glove.cpp.
Midiglov.exe and midiglo2.exe are executables file which will
behave in the same manner as o2glove.exe except that midi
transmissions are linked to the glove movements as well as the
graphic display. For the difference in the two see PROBLEMS.
X-Axis: the X Axis sends midi note numbers. The note-on
note-off function is controlled by the index finger of the
glove. (fist=off) The program asks you how many notes you
wish to spread over the 256 X axis values.
Y-Axis: the Y Axis controls midi pitch bend messages, with
up bending up (big surprise). You are asked upon startup
if you wish to turn this function on or off. Pitch bend
range must be done on your instrument for now, but it should
be controlled in the software as the project develops.
Z-Axis: the Z Axis controls volume by sending midi controller
7 volume control messages. If your midi instrument does not
receive this controller the program probably will not work
for you. Some volume scaling is available depending on how
far from the glove receivers the glove is placed when you
center the glove. Greater control over the volume range is needed.
PROGRAMMING: In order to compile this program, besides adjusting
the directory parameters and adjusting for the differences
between Turbo C++ 3.0 which I used and another compiler, you
must have the files mcc.h and mcctkf.asm compiled for large
model. These files are contained in the Musicquest Programmers
Toolkit. (Note Musicquest compiles their large model obj as
mcctkfl.obj, while I used the name mcctkf.obj.)
All I did was to locate the portion of the o2glove code where the
glove parameters are sent to the graphics screen and insert a
function which also sends the parameters to the above
described functions on the midi card. This is located in the
file glgrph.cpp. I added to the main program file ul_glove.cpp
the interface initialization routines and some user input
code, and interface close code.
I believe the program should function on any MPU 401 compatible card,
although I have only tried it on an MQX32M.
PROBLEMS: Obviously this is just a programming example and does
not begin to touch the potential of the glove as a midi controller.
The biggest problem so far is that my method of sending note off
messages does not catch all of the note on's generated by the glove.
If the midi intstument receives the "all notes off" message, this
is not a probem. My Roland D-5 does. My Keyboard model EPS 16+
does not.
I created midiglo2.exe for instruments which do not accept midi all
note off messages. The only thing I could think of (in the 2 hours since
I discovered the problem) was to send multiple individual note off
messages. I have covered from two notes below the range to two notes
above so as to catch the effect of the pitch bend. It seems to slow
down the whole works, so I am anxious to see what clever solutions our
predigious programmer members come up with.
In fact, my hope is that a number of the experienced programmers here will
take this idea and run with it, creating a wonderful new musical
experience for enthusiasts like me.
DISCLAIMER: This is freeware. I can only offer it for free if you
agree to waive all rights against me if the program crashes your
comupter, overwrites your operating system and the last 10 years
accounting records, melts down your synth and breaks the water pipes
in the toilet, or any other damage I may have left out. I an not
a professional programmer. I barely know enough to get this
thing to work. I do not profess to know anything about C++
programming technique. The whole thing is a kludge, but what
the heck, I'm having a god tinme.
ACKNOWLEDGEMENTS: To the extent this program works, please give
credit to Mark Pflaging and all of the others who worked to
create o2glove, and who are credited in various files in the
o2glov.zip.
Mick Imfeld CIS 74676,37
You can contact me by email or on graphdev Sections 10 & 11.