Computer Music: Musc 216
MIDI Programming Resources


Below are a series of unrelated, unorganized links. When I have time, I'll go back and clean things up. But for now this is just a convenient location to catalog any interesting links that I come accross regarding MIDI programming on either Mac or Windows. Last updated: 12.28/04

Generic clearing-houses for all things MIDI programming

Harmony Central's MIDI Software Development Tools

Synth Zone

Cross-platform MIDI Programming on the Macintosh/Windows:

JavaMidi. A "set of classes and a library that let you use a platform's MIDI capabilities from Java. JavaMIDI supports MIDI input and output and arbitrary-length system exclusive packets for Win32 platforms (Win95 and NT) and the Macintosh."

Java Sound Resources: FAQ: MIDI Programming

MIDI Python. A" collection of classes handling Midi in and output in the Python programming language."

MidiWeb. MidiWeb consists of a server/client framework using TCP/IP to connect, receive and send midi data. It allows users to connect unlimited midi devices either locally and/or over the internet and send realtime data to each other

MIDI-Perl.

More MIDI-Perl.

MIDI Programming on the Macintosh:

PYMIDI Framework. A workable MIDI Patch Bay which allows the user to hook up various pieces of MIDI gear (software and hardware) and then pass data between them. It's FREE! .... and he has the SOURCE CODE which is written in Objective-C with PYMIDI and can be opend and EXAMINED in XCODE.

Cocoa-MIDI Programming. Thread of a Mailing-List at Apple/Dev.

DxMIDI - a plug-in for RealBasic. RealBasic is a very handy and powerful cross-platform programming environment developed originally for Macintosh and now available for Windows. An interpreted language, RealBasic is WELL-DOCUMENTED and has a large COMMUNITY of programmers throughout the world. The RealBasic development software is not particularly expensive ($159.00 for a basic license) and can quickly "spit-out" a Windows-version of your application, often without any changes or additions. Currently, there is no Windows MIDI plug-in and evidently no effort that I can find by anybody to write one. [RealBasic has "real-basic MIDI capabilites without a plugin: play a MIDI file using QuickTime, send a MIDI note on/off with its NotePlayer control. However, there is no MIDI input and no way to send other MIDI commands such as Control Change. This contines to be absolutely madning and shortsighted on the part of Real Software since it would take such little effort to add such powerful capabilities.]

MonkeyBread MIDI plugin for RealBasic. Another MIDI plugin for RealBasic (actually a whole set of plugins of which MIDI capabilities are included). Probably implemented very much like DxMIDI, however, I've never tried it but it looks very cool. No plans for a Windows version. The people at MonkeyBread are very nice and respond to e-mails in a timely way.

Anything you come accross which says OMS or MIDI Manager for the Macintosh should be AVOIDED. These are OLD MIDI systems for pre-OSX (OS-X) operating systems. However, OMS was the standard for Macintosh computers, especially in education/electro-acoustic music through Mac's System 9.2. With OSX there is no need for a "MIDI System" because MIDI/AUDIO controls are now BUILT IN. Evidently, one or more of the development people from OMS (Opcode Systems) went with Apple after about 1996 when Gibson Guitar bought out Opcode and then shut it down. Apple's Audio/MIDI Setup utility has the look and feel of OMS.

MIDI Programming on Windows:

Direct MIDI. "A set of C++ classes based on DirectX and aiming at improving software development under MIDI and audio technology. The software layer is designed with the finest object orientation to facilitate application construction and architecture integration. Its error prevention and the ease of use make DirectMidi the ideal tool for developers who are looking for a stable, safe and state-of-the-art MIDI and audio library." -- from the web site.

Check out others at Harmony Central.

See this BLURB about Midi/Perl/Windows

Wrapper Library for Windows MIDI API

Has possibilities, but seems mickey-mouse:

MidiShare Development Kits

Visual Basic MIDI

Midi Application Programming

Real OLD stuff but it still might be useful:

Midi Application Programming

Borg's MIDI Tech Page

Resources for Programmers:

Programmers Heaven.com

Programmers Heaven2


Top of the Page

Course Syllabus

Main Page