[CM] CLM->CMN problem

Rodrigo Segnini rsegnini@ccrma.Stanford.EDU
19 Feb 2003 08:51:17 -0800


--=-ySMaE6eDhszofx30Y3oa
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hi. In CMN the following code produces a shaded single <C4:1/5 duration>
note with onset <2> in staff <ins> from score <hi>, as in the picture
that I'm attaching.

(progn (setf hi (init-clm-input))
       (setf ins (add-staff hi "ins" nil))
       (add-note-to-staff hi ins 2.0d0 1/5 261 (GRAY-SCALE 0.458))
       (finish-clm-input hi nil nil))

Most of the translation between CLM and CMN is handled by functions
inside cmn2.lisp. One of them, (display-notes args notes) takes a list
of arguments as score attributes and a list of notes in the same form as
the third line above (score name begin-time duration frequency &rest).
I have created a function that calls <display-notes> using note lists
similar to that same line. The output is correct, except that the
grayscale attribute is lost.
When peeking at hi.cmn, it is clear that it had no consequences on it.

;;; -*- syntax: common-lisp; package: cmn; base: 10; mode: lisp -*-
;;; cmn structure stored Tue 18-Feb-3 at 15:22
(in-package :cmn)

(cmn (title "speech2cmn test")
  (size 12)
  (title-separation 5)
  (automatic-page-numbers T)
  (automatic-measure-numbers T)
  (all-output-in-one-file T)
  (redundant-accidentals nil) (title "speech2cmn test")
  (system
    (staff (staff-name "75") 
      (treble)
      (meter 2 4)
      (ef6 (rq 1/5) (onset 0) stem-down begin-two-octaves-up)
      (ef6 (rq 1/5) (onset 1/5) stem-down)
      (...)
      (ef6 (rq 1/5) (onset 11/5) stem-down  end-two-octaves-up))
    (staff (staff-name "71") ...

On the other hand, if one edits hi.cmn and adds the color attribute, and
(load "hi.cmn") as the current score, then color it goes.

I have traced what happens to the arguments after <display-notes> and
inserted print statements in reloaded sections of cmn2.lisp to observe
the state of the <&rest object> variable after every call.

<display-notes> calls <add-note>, which in turn calls
<add-note-to-staff>. At the end of it there is a conditional such that
if there are any extra arguments, <note> is applied to them (apply
#'note nt rest) before pushing the result to (staff-data staff),
otherwise (push nt (staff-data staff)).

Now, at this point it gets all too obscure for me as <note> just
encapsulates a call to <ur-note> which seems to be the place where
relevant information is added to the note object (self-acting-p,
rhythm-p, score-object-p, etc) and the rest is discarded.

Up to here I can trace that (GRAY-SCALE 0.458) is still alive as an
argument, but it has no consequence to the note object.

Any idea why that is happening?

Thanks,

Rodrigo

--=-ySMaE6eDhszofx30Y3oa
Content-Disposition: attachment; filename=aaa.jpg
Content-Type: image/jpeg; name=aaa.jpg
Content-Transfer-Encoding: base64

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
vvbQjrhSIr7ZAxiLM34nNpnxOROPFUkc1ip8nORPNcHtgA8bbW2G56K0UyHWMdhu1LbGJBc4qpnd
RujbTd9TzNV6I9V2o17tf7GV4IqOsOzC9V160nI+4QUiT01bPTLV0SYgr1a7LqiPCIio9yuyqcFc
jl4ZwloAAAAAy7ldayhqGxU+n7lcGKxHLLSyU7WouV+Fe8lYueGfLHFOPniX1LrfUlup4ILRoK81
Fwq3rHCs6wrBGuMI6R0Uj8IjlbwcrEVNr4kwBSan1Pa9I2Oa73efuqePg1reL5Xr5MYnzcuF/wBF
VVREVU8IodN6p7db5HqG8SfZumopVjp4kcqqkfHaSFFTDnZREdI7CZ8kXY2E36HRmoL5fI7/ANoF
kvl3qo5VlgtkE1GlDB5pso11RlzcJGuMNyrfi28qq+oeIbp7Mvn1qLqANS1Wqhsdrp7ZbKaOmo6d
mxFEzyan/tVVcqqrxVVVVyqnYT/iG6ezL59ai6geIbp7Mvn1qLqAKAE/4hunsy+fWouoHiG6ezL5
9ai6gCgBP+Ibp7Mvn1qLqB4hunsy+fWouoAoAT/iG6ezL59ai6geIbp7Mvn1qLqAKAE/4hunsy+f
WouoHiG6ezL59ai6gCgJ3Xf/ACZcP+3/APRp+vEN09mXz61F1Bi6tvNfV6YrIJtM3WijdsZnnkpV
YzD2rxRkzncfLgi+f3cQMlmqobJZaKz6cRtTVyJ/PT90vGR3DDUVEVzs4xlPJGpx+VhpKwvstufJ
Vq51xq17yqc6Tb45XCZ+9MrlePFV4qmCR0fRVlnatfJpS5108qI6nqIJqXYSNzUXLUfM1yOXKouU
8v8AFc13iG6ezL59ai6gCgBP+Ibp7Mvn1qLqB4hunsy+fWouoAoAT/iG6ezL59ai6goAAAAAAAAA
AAAAAAAAAAAAAAAAAMu5QX6Woa613K200GwiOZVW987ldleKObMxETGOGPkvHjw49z1h67Y+TTdU
BQAn9z1h67Y+TTdUNz1h67Y+TTdUBQAn9z1h67Y+TTdUNz1h67Y+TTdUBQAn9z1h67Y+TTdUNz1h
67Y+TTdUBQAn9z1h67Y+TTdUNz1h67Y+TTdUBQAn9z1h67Y+TTdUNz1h67Y+TTdUBQAn9z1h67Y+
TTdUNz1h67Y+TTdUBQGZqG1vvVknt8cjY3TKzL3JnZRHtVVx81wi/wD4cW56w9dsfJpuqG56w9ds
fJpuqAoAT+56w9dsfJpuqG56w9dsfJpuqAoAT+56w9dsfJpuqG56w9dsfJpuqAoAT+56w9dsfJpu
qKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA//Z

--=-ySMaE6eDhszofx30Y3oa--