[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))

result:
110 = (#S(sd :note d8 :keynum 110 :octave 9 :class 2 :name d :accidental
nil))
r = (#S(sd :note r :keynum -1 :octave nil :class nil :name nil :accidental
nil))
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
AFAIK).

*shrug*

...

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
http://akozar.spymac.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: