KeyKit is an awk-like language developed by Tim Thompson and designed specifically for manipulating MIDI data. The full KeyKit system includes a multi-window and multi-tasking graphical user interface, and can be used for both algorithmic and realtime applications. The language itself has only a few built-in functions for graphics - the entire user interface is written in KeyKit itself, and is hence completely customizable and extensible by the user. The current version works best on Windows NT and Windows 95, but the software is designed to be portable. Previous versions have been ported to a wide variety of systems, including UNIX, DOS, Mac, Amiga, and even Plan 9.

Language Features

Graphical Interface

A complete graphical user interface is implemented in the user-defined library of KeyKit, using the small number of graphical primitives that are built into the language. This interface defines a standard for "Tools" that can all run simultaneously (thanks to multi-tasking). The tools can exchange MIDI data either through a clipboard (i.e. a global "Snarf" variable) or by using object-oriented get/set methods that most Tools have. The get/set methods allow you to copy data between tools by just pointing and clicking.

The largest tool in the user interface is a full-featured multi-track sequencer. Editing operations are extensive, and infinite undo is supported. New editing operations can be added by adding only a few lines of KeyKit code to the user-defined library. New editing operations can even be added on-the-fly, while KeyKit is running.

All pop-up menus are also pull-off menus, which you can place anywhere on the screen, building up your own user interface suited to your current activity. Screen "pages" can be saved, containing the complete state of all tools currently on the screen, including MIDI data within the tools.

This is a small screen dump showing a variety of the tools available in KeyKit's graphical user interface. A full-resolution version of this, and explanations of the tools it shows, can be found here.

More Information

Frequently Asked Questions

Here is a viewgraph-style presentation with more details about the history and features KeyKit.

Back to KeyKit Home Page

Copyright 1996 AT&T Corp. All rights reserved.
Windows is a trademark of Microsoft Corporation