Heinrich Taube![]()
Use your Web client or anonymous FTP in binary mode to transfer:
% mv cm.tar.gz /usr/local/lisp % cd /usr/local/lisp % gzcat cm.tar.gz | tar xvf -
MOVE CM.ZIP \LISP CD \LISP PKUNZIP -D CM.ZIPYou can rename the CM source directory after the archive has been restored.
Common Music runs on all System 7 or higher Macintoshes with at least 6MB of RAM and 8 MB of hard disk storage. Using Midi requires the Apple Midi Manager system extension version 2.0.1 or higher and a midi driver. Currently supported midi drivers are:
Directions:
cm-directory "HD:Lisp:CM:" cm-image-name "HD:Lisp:CM:Common Music" syntaxes '(:MIDI :CSOUND) extensions nil save? t
Directions:
% mkdir pcl % cd pcl % zcat pcl.tar.Z | tar xvf - % cl <cl> (load "defsys.lisp") <cl> (pcl::compile-pcl) <cl> (exit) %
% cd cm/midi/next % make CFLAGS=-DACL
% cd cm/site % make
cm-directory "/usr/local/lisp/cm/" cm-image-name "/usr/bin/cm" clm-directory "/usr/local/lisp/clm/" cmn-directory nil pcl-directory "/usr/local/lisp/pcl/" syntaxes '(:MIDI :CLM :MUSICKIT) extensions nil save? t
Directions:
% cd /clm % libm
% cd gcl-1.1/unixport % rm raw_gcl saved_gcl
% cd gcl-1.1 % gzip -cd gcl-next.tar.z | tar xvf -this installs new defs for NeXT and NeXT386 that have the proper linking commands for the libaries. Next, edit either h/NeXT.defs or h/NeXT386.defs and change the -L path at the end of the LIBS= statement to point to your CLM source directory.
% add-defs NeXT % makeOR
% add-defs NeXT386 % make
% cd cm/site % make
cm-directory "/usr/local/lisp/cm/" cm-image-name "/usr/bin/cm" clm-directory "/usr/local/lisp/clm/" cmn-directory nil pcl-directory "/usr/local/lisp/pcl/" syntaxes '(:MIDI :CLM :CSOUND) extensions nil save? t
DOS Directions:
[Note: the double backslash is necessary for DOS directories in Lisp.]
cm-directory "c:\\cm\\" cm-image-name "c:\\cm\\cm.mem" clm-directory nil cmn-directory nil pcl-directory nil syntaxes '(:midi :csound) extensions nil save? t
c:\clisp\lisp.exe -M c:\cm\cm.mem %1 %2 %3 %4 %5 %6 %7 %8 %9
% cd {CLISP}/src/base
% lisp.run -M lispinit.mem
> (make-package "COMMON-MUSIC")
> (saveinitmem "lispinit.mem")
> (exit)
%
Be sure to use this new lispinit.mem as the replacement for the
original when doing the clisp-add-module-set below.
% cd {CM}/midi/next
% make CFLAGS=-DCLISP
% {CLISP}/src/base/lisp.run -M {CLISP}/src/base/lispinit.mem -c
clisp-next-midi.lisp
% cd {CLISP}
% clisp-link create-module-set midi {CM}/midi/next/clisp-next-midi.c
% cd midi
% cp {CM}/midi/next-midi.o next-midi.o
% cd .. % clisp-link add-module-set midi base base+midi
% base+midi/lisp.run -M base+midi/lispinit.memYou will use this as your base CLISP image for building Common Music
cm-directory "/usr/local/lisp/cm/" cm-image-name "/usr/local/lisp/cm/cm.mem" clm-directory nil cmn-directory nil pcl-directory nil syntaxes '(:MIDI :CSOUND) extensions nil save? t
#!/bin/csh -f /usr/local/lisp/clisp/src/lisp.run -M /usr/local/lisp/cm/cm.mem $*
Common Music has been minimally tested in CMUCL 17f on SGI/IRIX 5.3.
Directions:
cm-directory "/usr/local/lisp/cm/" cm-image-name "/usr/local/lisp/cm/cm" clm-directory "/usr/local/lisp/clm/" cmn-directory nil pcl-directory nil syntaxes '(:MIDI :CSOUND) extensions nil save? t
CMU does not currently support LOAD-FOREIGN on SGI so MIDI real time is not implemented.
Directions:
- Intel 486 33 MHz with 16 Meg RAM
- MSDOS 6.0
- Windows 3.1
- Visual C++ 2.0
- Franz CL/PC Common Lisp with all patches loaded.
c:\allegro\lisp.exe c:\cm\cm.img
depending on where your allegro and cm.img are.
The midi connection was implemented by Joe Fosco, fosco@ils.nwu.edu. Its .dll is supplied so you dont have to compile anything. The connection currently supports a maximum of 4000 future messages.
Known Problems:
When build/make-cm.lisp is loaded into lisp it prompts for the informtion it needs to compile, load and save Common Music. The settings you specify will be (optionally) saved in a site configuration file. This file can be used in subsequent builds to save the system exactly the way you specified.
Experienced users can call make-cm directly with the build information specified as keyword arguments to the function. Here is an explanation of the build parameters:
KEYWORD DESCRIPTION DEFAULT VALUE
cm-directory Common Music source directory <current directory>
cm-image-name The application file to build, if any. <cm-directory>/cm
site-directory Directory for site customized files. <cm-directory>/site
If you specify a directory other than
the default, you must move any scripts
from cm/site that you intend to use to
your personal site directory.
bin-directory Where to put the binaries if you don't <cm-directory>
keep them with the sources.
pcl-directory If you use PCL (public domain CLOS), NIL
set this variable to the PCL source
directory. You must have compiled PCL
before building Common Music.
clm-directory If you use CLM (Common Lisp Music) set NIL
to the CLM binary directory. You must
have compiled CLM before building
Common Music.
cmn-directory If you use CMN, set to the CMN source
directory. You must have compiled CMN
before building Common Music.
save? If T, make-cm compiles sources and :IF-NO-COMPILE
saves the cm application in one pass.
If :IF-NO-COMPILE, the build script
either compiles sources or loads the
binaries and saves the application if
no sources needed compilation. If NIL,
make-cm script compiles/loads sources
but will not save an application.
The :IF-NO-COMPILE option results in the
smallest application size.
syntaxes The list of output syntaxes to build '(:MIDI :CSOUND)
into Common Music. Select any from:
:MIDI
:CLM
:CMN
:CSound
:MusicKit
:CMix
:CMusic
:RT
:SGIMix
The first syntax in the list becomes
the default syntax when the system
boots up. You must load clm and cmn
before calling make-cm if you want cm
to build withto build with either the
:CLM or :CMN syntax.
capella Whether to include Capella or not. T
[MCL only]
extensions Optional list of additional files to NIL
load.