
From: Stephen Travis Pope
	The Nomad Group, Computer Music Journal, CCRMA
	P. O. Box 60632
	Palo Alto, CA, 94306
	Tel: (415) 424-0918
	EMail: stp@CCRMA.Stanford.edu, stp@sics.se

Dear MODE 1.1 Recipient,				Palo Alto, June 26, 1992

Congratulations! Enclosed in this package you will find the Smalltalk-80
source code for the Musical Object Develpoment Environment (MODE) 
Version 1.1 release and documentation.

The MODE is a general-purpose music description and composition system; 
it is a re-implementation of the HyperScore ToolKit (HSTK), and went by 
the name of Topaz in the interim. 
Each of these versions was tailored to a specific version of the Xerox- 
then-ParcPlace Smalltalk-80 virtual image/virtual machine; MODE 1.1 is 
known to work on ParcPlace Systems, Inc. Objectworks\Smalltalk Release 4.1
running on a Sun SPARC workstation. The portability of the code is not 
guaranteed to other Smalltalk-80 versions, nor to other Smalltalk dialects 
(e.g., Smalltalk-V, LittleSmalltalk, or GNU_Smalltalk), nor to other host
platforms. The bulk of the "kernel" Smalltalk code is however quite 
generic, and only the user interface classes are Objectworks-4.1-specific. 
The platform dependencies are also well documented, and the system should 
run suitably (for development) without any external interface.

Various versions and components of the MODE are documented in two chapters 
in the book "The Well-Tempered Object: Musical Applications of Object-
Oriented Software Technology" (S. T. Pope, ed. MIT Press, 1991), in papers 
in the Proceedings of the  1987, 1989, 1991, and 1992 ICMC conferences, 
in an article in "Computer Music Journal" 16:3, Fall, 1992 (forthcoming),
and in documents available via anonymous Internet ftp file transfer from 
the directory pub/st80/doc on the Internet machine ccrma-ftp.stanford.edu.

There are several elements of the MODE:
	a music representation language (SmOKe events, sounds);
	several schedulers and I/O drivers (voices, sound files);
	user interface components for musical applications; and
	several built-in applications (editors and browsers for MODE objects).

The source distribution is available in several forms in the compressed archive files with the name suffix .tar.Z. The full release unpacks itself into a directory hierarchy that looks like the following subtree:

	Files
		README	this file
		DEMO.t		the MODE demo script and comments
		build.script	the MODE 1.1 build script
		ls-lR.t		ls -lR of this release
		bugs.t		list of known bugs, missing features, etc.

	Subdirectories
		doc/		documentation and reference manuals
		system/		system class changes and extensions
		music/		MODE kernel class categories
		musicUI/	MODE user interface and application class categories
		scores/		demonstration scores
		utilities/	SPARC binaries and sources for various soundfile and 
				MIDI-related utility programs used by MODE--see the 
				file doc/MODE_1.1.ExternalEnvironment.t

There are archive files for the full release (including binaries for the 
utility programs and sample data files--pretty big), the "kernel" release 
(just the Smalltalk code and minimal doc), or the documentation only.

To install MODE, first create a subdirectory called "mode" or something 
similar, and go there; copy one or more of the archive files onto your 
local machine with "ftp", then uncompress (using "uncompress *.Z"), and 
unpack (using "tar xvf *.tar", etc.) the compressed archive file of your 
choice. Compare the subdirectories just created against the FILE.LIST 
file to make sure it worked.

Select which (version 4.1 or later) Smalltalk-80 virtual image you will use; 
this may be the standard release from ParcPlace (in which case you should 
probably copy the snapshot to your home directory or save one there). 
Start up Smalltalk-80 (using something such as "st80 ~/st80.im"). 

Open a file list view in Smalltalk and spawn a text editor view on the file 
named "build.script" in the release's root directory. [N.B.: Do not try to 
"file in" this file!] 

Read through the build script; it consists of a number of code blocks that 
are meant to be selected one-at-a-time and "done" step-by-step; follow the 
directions there. After doing the file-in, you might want to re-arrange the 
system class categories (using the item "edit all" in a Browser's category 
list view), to put the MODE categories at the top so that they will be first 
in the category list when you open new Browsers.

There are several optional packages that are not filed in by the default 
build script. These include the package browser (AKA 6-paned Browser), the 
3D geometry and projections, the reference manual writer, my favorite color 
looks, dictionary case statements

Additional packages that I recommend include the standard PostScript printing
code, the UnixIPC support (required for several components, browse references 
to class UnixProcess), FullBrowser, Profiler, and CParser.

After this build, save your virtual image (!!), look at the MODE_1.1.DEMO.t 
demo notes file for some ideas on how to test, learn, demonstrate the system 
kernel and tools. Executing the expression "MusicMagnitude MODEExampleListView" 
will open up a method-list browser on all of the MODE class examples; this is
worth the next several hours of your time. Look in the documentation directory 
for the course notes and reference manuals, as well as the notes in the external 
environment and utility programs.

...happy browsing...

DISCLAIMER: The source code provided with this release is distributed AS-IS; 
no support is implied through the distribution of this software.  The author 
is interested in bug reports, especially those accompanied by fixes or 
improvements. Several of the classes here are still undergoing re-
implementation; classes whose class comments say "THIS IS NOT FINISHED YET" 
are still being ported to the new framework and will come in the near future.
Check the ccrma-ftp archive for newer versions.
	
Your comments are welcome.

stp

=========================== C O P Y L E F T ============================

N.B. -- THIS IS NOT PUBLIC DOMAIN SOFTWARE. --

The software included in this distribution is classified as free-distribution 
software. All copyrights are maintained by the authors as listed below.
Recipients of this distribution are authorized to further distribute this 
software for NON-COMMERCIAL applications. ALL commercial applications of this 
software are subject to further agreements with the authors and remain at their 
discretion. All Further Rights Reserved.

Portions of this software are copyright (c) 1986-92, Stephen Travis Pope, 
The Nomad Group: Nomad Object Design, Nomad Computer Music Research.  
Rights granted as above.
Portions of this software are copyright (c) 1986, Mark Lentczner and Apple 
Computer Inc. Rights granted as above.
Portions of this software are copyright (c) 1988, Guy E. Garnett and Stanford 
University. Rights granted as above.
Portions of this software are copyright (c) 1988, John Mahoney and University 
of Washington. Rights granted as above.
Portions of this software are copyright (c) 1989, Hitoshi Katta and Fuji/Xerox 
Corp. Rights granted as above.
Portions of this software are copyright (c) 1989, John Tangney. Rights granted 
as above.
