[CM] Trouble using tunings

Anthony Kozar anthonykozar@sbcglobal.net
Tue, 04 Oct 2005 02:42:14 -0400

Thanks for looking into this Rick.  I suppose that I should have updated to
CM 2.4.x by now, but I got CM/CLM/CMN all into the same image several years
ago and have just stuck with it.

Looking into the problem some more myself, I have traced the error to
retrieving the note name from the scale's internal hash table.  For some
reason, (gethash 'a4 (scale-table #!meantone)) returns nil nil, even though
running the following command clearly shows a key a4 in the table:

(maphash #'(lambda (k v) (format t "~A = ~A~%" k v))
         (scale-table #!meantone))

110 = (#S(sd :note d8 :keynum 110 :octave 9 :class 2 :name d :accidental
r = (#S(sd :note r :keynum -1 :octave nil :class nil :name nil :accidental
62 = (#S(sd :note d4 :keynum 62 :octave 5 :class 2 :name d :accidental nil))
a4 = (#S(sd :note a4 :keynum 69 :octave 5 :class 9 :name a :accidental nil))

Interestingly, (gethash 'r (scale-table #!meantone)) does work, but none of
the other note names that I have tried do.

I do not really understand how gethash could be misbehaving if that is
really what is happening.  (My MCL image was saved right after loading CM



OH!  Just discovered that the symbols in the hash table seem to have extra
characters.  'a4 is in there as '\a4 and 'gs1 as '|gs1| for example.  Does
this make any sense??

Anthony Kozar
anthonykozar AT sbcglobal DOT net

Rick Taube wrote on 10/3/05 7:44 PM:

> Hi -- I dont have MCL anymore so if I can't build 2.3.4 in openmcl im
> not sure if ill be able to debug it.
> FWIW it does work in 2.7.0: