[CM] cm-2.3.4 available
Mon, 20 May 2002 12:21:51 -0500
CM 2.3.4 is available from ccrma-ftp:
sources (linux, mac, windows):
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:
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