🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.ms
Article #14053

Re: MIDI for Windows

#14053
From: sampson david 58163
Date: Wed, 21 Feb 1990 20:10
91 lines
4638 bytes
In article <3601@rti.UUCP> bcw@rti.UUCP (Bruce Wright) writes:

   In article <2540@ncr-sd.SanDiego.NCR.COM>, carlc@mars.SanDiego.NCR.COM (Carl Christofferson) writes:
> In article <1990Feb19.205639.15983@chinet.chi.il.us> you write:
> >Hey one and all.  I've got a customer here that wants to develop apps
> >for MIDI in Windows.
> 
> I am also interested in developing MIDI/music apps for Windows, but I have
> no experience in this area at all!  Can anyone direct me to some good books
> on developing MIDI/music apps and on how to use the Windows Sound functions?
> Petzold doesn't mention them at all.

#  I'm a bit puzzled by this question.  It might be easier to answer 
#  questions if I knew what problem you are having.  The Windows sound 
#  functions are simple enough (really too simple for a lot of purposes).


Bruce,  

I sent the original poster some e-mail about the driver.  However, I
think this may be of intrest to more than one person, so here goes....


I think that Carl Christofferson's premise is slightly confused.
Programming for a MIDI port, MIDI device, and programming for MS
Windows can be, and in most cases, are two different subjects.

What I mean is that one doesn't use the Windows Sound functions to
control a MIDI card or instrument.  When dealing with MIDI there are
two subject areas:

1) A seperate set of rountines that have absolutely nothing to do with
Windows but are used to control the MIDI card/port.

2) Controlling the actual MIDI instrument.  All of the MIDI charts in
the back of the your instrument owner's manual show the format of the
commands and responses for your MIDI device (keyboard or whatever).


Item 1:

Generally one has an assembler object file that you link with your
Windows files at compile time that contain routines that Get & Put a
byte to/from the MIDI port, and check the Status of the MPU-401 card.
The Get/Put and functions are written to interface with C so that they
can be called inside your C source like any other C function.


Item 2:

Once you can check the MIDI card status, and Get and Put a byte of
data to and from the port, all you have to do is follow the MIDI
instrument owner's manual command and response data format to control
the device or dump parameters.  However, the way you trigger commands
or display results becomes important at this stage, so you have to
address the design of the Windows based program that will paint the
stuff you want on the screen and do all those fancy MS Windows type of
things.  You have to write the code (and create the data structures)
that you use to control the MIDI instrument and store & manipulate the
data received from the MIDI device.


I bought a couple of books from M&T Publishers (found them at B.
Daltons).  One is called "C Programming for MIDI" by Jim Conger.  The
other is "The MIDI Book" (The specific title and the authors escape
me.  I don't have the book here at work.  However, one of the authors
is a columnist for Keyboard Mag --- last name is De Figuroria or
something like that).

Conger's book has an assembly routine that controls the MIDI port as I
described in above.  The other book provides an excellent description
of the MIDI spec (i.e. send this chunk of data and your MIDI device
will respond with that chunk of data).

Between the two books, I've learned how to manipulate anything on my
Korg M1.  In fact "The MIDI Book" has several examples using the Korg
M1.

I've just starting to write a MS Windows based Editor/Libarian for
the M1.  I'll come up for air in a couple of months.



--
-------------------------------------------------------------------------------

David Sampson                                         Harris Corporation
dsampson@x102a.ess.harris.com                   Gov't Aerospace Systems Divison
uunet!x102a!dsampson                                  Melbourne, Florida

-------------------------------------------------------------------------------
Technical Details
Message-ID: <DSAMPSON.90Feb21151032@x102a.harris-atd.com>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!wuarchive!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!ucsd!nosc!logicon.arpa!trantor.harris-atd.com!trantor!dsampson
References: <2540@ncr-sd.SanDiego.NCR.COM> <3601@rti.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!wuarchive!zaphod.mps.ohio-state.edu!tut.cis.ohio-state.edu!ucsd!nosc!logicon.arpa!trantor.harris-atd.com!trantor!dsampson
From: dsampson@x102a.harris-atd.com (sampson david 58163)
Newsgroups: comp.windows.ms
Subject: Re: MIDI for Windows
Message-ID: <DSAMPSON.90Feb21151032@x102a.harris-atd.com>
Date: 21 Feb 90 20:10:32 GMT
References: <2540@ncr-sd.SanDiego.NCR.COM> <3601@rti.UUCP>
Sender: news@trantor.harris-atd.com
Distribution: na
Organization: Harris Gov't Aerospace Systems Division
Lines: 91
In-reply-to: bcw@rti.UUCP's message of 21 Feb 90 05:05:23 GMT