new cm release

Rick Taube hkt@zkm.de
Wed, 30 Mar 94 14:59:23 GMT+0100


ive placed a release of cm with lots of new stuff on ccrma-ftp.stanford.edu and ftp.zkm.de. see changes.text for full details....

1) New RT output syntax + playnote object for using with Paul
Lanksy's rt.app sound file mixing program.  The file
stella/examples/barnyard.stella contains a demo mixing example using
standard NeXT sounds. See the implementation file stella/rt.lisp for
info on the rt output stream and playnote object; the dictionary.rtf
entries for RT and INFILES; and online Help Open topic.

2) Item streams completely reimplemented - 25% faster with several
new features:
  a)  zero length periods - a substream that sets its period length
  to 0 "disappears" in its superior's pattern until it is encountered
  again and sets its period > 0.  This enables all sorts of
  patterns that were formally impossible or very hard to describe.
  b)  new ROTATION pattern. see dictionary.rtf for more info. the
  file contrib/change-ringing.lisp implements a bunch of rotation
  values to produce various sorts of change ringing patterns such
  as Plain Hunt, Plain Bob, etc. The change ringing idea is
  courtesy of Nicky Hind.
  c)  item streams can now count either periods or elements, and can
  traverse their patterns either depth or breadth first.
  d)  Stream creation is now much simpler, and you can create any
  type directly using make-instance.
  e)  No more voicing stream - instead, either steps or intervals
  can incerement their offsets in parallel to the data.

3) defscale now defines gapped and general scales in addition to
equal tempered. the file contrib/defscale contains a bunch of unusual
scales and tunings.

4) Algorithms now have initializer and finanalier slots to hold
optional functions to be funcalled just before and after the
algorithm or generator is scheduled.

5) New global variable *compile-algorithms* controls if stella should
compile an algorithm's code upon definition (when the code doesnt
result in a lexical clousure). the default value is nil, but a t
value may speed up exection by orders of magnitude.
*compile-algorithms* has no effect in mcl, which always compiles
code anyway.

>From bil@ccrma.Stanford.EDU Mon Apr 11 13:20:51 1994