Original-From: blink!tjt (Tim Thompson)
Newsgroups: bit.listserv.emusic-l
Date:         Tue, 8 Sep 1992 10:38:22 EDT
From:         tjt@BLINK.ATT.COM
Subject:      Keynote now available under NeXTStep

The Keynote language and graphical editor is now available for the NeXT.
A brief summary of what it is:

  Keynote is an awk-like programming language and graphical editor
  for MIDI data, with both algorithmic and realtime applications.
  The graphical interface is based on only a few built-in functions -
  the entire user interface of a complete music editor (piano-roll
  style with pop-up menus) is written in Keynote itself, and is hence
  completely customizable and extensible by the user.  Although it
  works best on UNIX systems (ideally 386-based) under the X Window System,
  Keynote is portable and runs on other machines.

For more info, see COMPUTING SYSTEMS (Journal of the USENIX Association),
Vol 3 No 2, Spring 1990.  Send me your postal address and I'll send you
hardcopy documentation.  An inexpensive binary-only version is available
(see below), and complete C source code (with a site license) is also
available in the AT&T UNIX System Toolchest for around $250 ($150 for Toolchest
registration and $100 for Keynote), call +1-908-522-6900 at 1200/2400 bps and
login as "guest", or mail to tcadmin@pluto.att.com, or call +1-908-580-4124.
A mailing list exists, with an archive server that provides music and
code examples - send email to keynote-request@blink.att.com to get on it.

I'm sending this note because I finally finished a NeXTStep port of Keynote.
It doesn't look much like a typical NeXTStep application, because Keynote
is portable to many different environments and works identically on all
of them.  However, it does run under NeXTStep, unlike a previous NeXT port
of Keynote that only ran under X Windows.  Keynote reads and writes MIDI only,
it does not manipulate digital audio.

An inexpensive binary-only version of Keynote for the NeXT is available from:

   Jon Backstrom
   Applied Digital Arts
   PO Box 375
   Indianola, Iowa 50125

   Phone: +1-515-961-4363 (Applied Digital Arts, call in the evenings)
   Email: viking@optimage.com

   Price: $49 + shipping ($3)

If you order a copy from Jon, please send email to me (tjt@blink.att.com),
so that I can make sure you get your copy (Jon is sometimes slow to respond),
and so that I can add you to the mailing list.

I'm now working on a multi-tasking and multi-window version of Keynote,
which looks to be quite powerful.  The two new features are *extremely*
synergistic.  My first attempt at multi-windowing (before multi-tasking was
added) was completely discarded because it wasn't "right".  With multi-tasking,
each window is now controlled independently by a separate task (or usually,
tasks), and I'm developing conventions for the messages that can be sent
to the tasks - the result is fairly object-oriented.  Keynote has no explicit
object-oriented support, but fifos and associative arrays (which can contain
arbitrary data, including function pointers and other arrays) provide a
very flexible message-passing mechanism.  If you get the source code for the
existing version of Keynote, you can also get early copies of this new version.
It will be some time before it has a complete user interface (which as always
is completely implemented with user-extensible Keynote code), but
the core multi-tasking and multi-window support is fully functional, and
I'd be interested in feedback on the features and developing user interface.

   ...Tim Thompson...AT&T Bell Laboratories/Holmdel/NJ...tjt@blink.att.com...
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU