[CM] cm-2.3.4 available
Rick Taube
taube at uiuc.edu
Mon May 20 10:21:51 PDT 2002
CM 2.3.4 is available from ccrma-ftp:
sources (linux, mac, windows):
ftp://ccrma-ftp.stanford.edu/pub/Lisp/cm/sources/cm-2.3.4.tar.gz
ftp://ccrma-ftp.stanford.edu/pub/Lisp/cm/sources/cm-2.3.4.sea.bin
ftp://ccrma-ftp.stanford.edu/pub/Lisp/cm/sources/cm-2.3.4.zip
binaries (mac/windows):
ftp://ccrma-ftp.stanford.edu/pub/Lisp/cm/binaries/cm-2.3.4-ppc.sea.bin
ftp://ccrma-ftp.stanford.edu/pub/Lisp/cm/binaries/cm-2.3.4-win32.zip
Whats new:
o CM ported to SBCL Common Lisp 0.7.2
o New RANGE pattern enumerates numbers. Can also
be used for cycles and bounded random walks.
o New TRANSPOSER object replaces the hackish intervals macro.
The object also supports 12-tone manipulations like
inversion, retrograde, retrograde-inversion and
modulus from an offset.
o DEFPROCESS can now return a list of processes. See the new
file "cm:examples;reich.cm" for an example of this. The
file "cm:examples;ligeti.cm" also contains process lists
as well as uses of the new RANGE and TRANPOSER objects.
o The SPROUT and OUTPUT process clauses now allow lists of
objects to be sprouted or output.
o New "typed" pattern inits can be used in place of OF:
NOTES
KEYNUMS
RHYTHMS
AMPLITUDES
INTERVALS
These all cause data specified as their value to be parsed
according to the function for which the init is named. For
example, the following two are equivalent:
(new cycle of '(c5 d e) parsing #'note)
(new cycle notes '(c5 d e))
o KEYNUM and NOTE now support an explicit :TO scale.
o New tuning entries in cm:etc;examples;scales.cm for
Sargam, Just, Meantone, Werckmeister 3, and
Wendy Carlos' Alpha scale.
o New LOOKUP function performs non-interpolating x-to-y lookup.
Y values do not need to be numbers.
o New RESCALE-ENVELOPE rescales an envelope according to new
upper and lower bounds on either axis.
o New SCALE-MOD function performs modulus operations on notes.
o DEFOBJECT now defines slot accessors for slot discriptions that
don't explicity provide them. The name of the accessor will be
<class>-<slot> where <class> is the name of the object being
defined and <slot> is the name of the slot. To declare a slot
without any accessor specify :ACCESSOR NIL in its description.
o Examples of pattern definitions like:
(new cycle a b c)
have been removed from documentation. Examples now always
show explicit OF initializations like:
(new cycle of '(a b c))
o The (new pattern ... in ...) hack has been removed from
documentation but continues to work.
o TRANSPOSE now accepts note names in its second arg.
o New contrib file: cm:etc;contrib;bezier.lisp implements
bezier curves in Plotter thanks to Bret Battey.
o More example tunings and modes added to "cm:examples;scale.cm"
o cm:ect;contrib;cm.el supports easy point and region evaluation
for inf-lisp in XEMACS. also supples an inferior lisp that runs
in its own frame and key bindings that allow APPLE commands
for eval, copy, paste etc.
o Lots of mode/tuning bugs fixed, thanks to Bret Battey for
finding them!
More information about the Cmdist
mailing list