Keykit

KeyKit is a graphical environment and programming language for MIDI synthesis and algorithmic composition. It was originally developed by Tim Thompson and released by AT&T.

Overview
Keykit (originally named "Keynote") was developed by Thompson in his spare time while he worked for AT&T. However, it was not related to his actual job there. Keynote was originally released through the AT&T Toolchest, and in 1995 was released as KeyKit with a license making it freely available for non-commercial use.

Keykit is noteworthy for its versatility and expressiveness. Complex algorithmic arrangements can be produced with as much detail and sophistication as required, and the software works on multiple platforms and operating systems. It is not dependent on peripherals or sound cards from a specific vendor. These are unique advantages over similar "music workstation" products with the same or similar functionality for algorithmic composition and computer generated music.

Language features

 * variables, functions, classes, and dynamic typing
 * supports object-oriented programming
 * always-active MIDI recording
 * multi-tasking environment
 * library functions and classes (both built-in and user-definable)
 * multi-platform multi-os and not dependent on specific peripherals

GUI features
Features:
 * GUI-based multi-track sequencer
 * pop-up context menus
 * built-in and user-definable "tools"

Limitations

 * interoperability: no support for COM/OLE, Jack, VST, ReWire
 * no support for audio processing (MIDI only)