[CM] Let's hear from CM 1.x users(?)
Rick Taube
taube@uiuc.edu
Mon, 18 Nov 2002 09:20:24 -0600
>After working with the latest version, and realizing how much time i've
>spent trying to re-implement things like the linked-to pattern, and
>stella; I've had a thought to try to get this old version working again,
id be interested in learning the full list of things you are missing -- ive tried to support every feature that wasn't a total hack in the newr versions while also trying to make the system feel more like a natual extension to a language rather than some oddity with its own rules.
for example i think you can get the same effect as the linked-to feature you want just by using a transposer object and a 'pval' pattern value. pval allows you to stick an arbitrary lisp expression inside a pattern and the pattern will return its evaluated value. the function 'pattern-value' returns the last value that was read from a pattern. so
(pval (pattern-value x))
inside a pattern will evaluate to the last value of the pattern in the 'x' variable.
here is linked to, i think:
> (new random :notes '(e1 f g a b c2 d) :name 'bass-line))
#<random "bass-line">
> (next #!bass-line)
e1
> (define x (new transposer
:of (new heap
:of '((28 31 35 36)
(29 33 36 38)
(28 31 35 38)
(29 33 36 40)
(29 31 35 38)
(31 33 36 40)
(29 33 35 38)))
:on (pval (pattern-value #!bass-line))))
> (next x)
(a3 b3 ef4 fs4)
> (next x)
(af3 b3 ef4 fs4)