[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: banter-style from chord-names-jazz.ly broken, 'case'-problem
From: |
Thomas Morley |
Subject: |
Re: banter-style from chord-names-jazz.ly broken, 'case'-problem |
Date: |
Wed, 8 Apr 2015 11:57:21 +0200 |
2015-04-08 11:45 GMT+02:00 Thomas Morley <address@hidden>:
> Hi.
>
> I started to rewrite chord-namings and stumbled over a problem in
> chord-generic-names.ly
>
> /Documentation/included/chord-names-jazz.ly with uncommented
> Banter-style is broken.
> At least since 2.12.3
>
> The problem is in 'step->markup-plusminus'
>
> Here you see the old code commented and a possible patch inserted:
>
> (define (step->markup-plusminus pitch)
> (make-line-markup
> (list
> (make-simple-markup (number->string (step-nr pitch)))
> (make-simple-markup
> ;(case (step-alteration pitch)
> ; ((DOUBLE-FLAT) "--")
> ; ((FLAT) "-")
> ; ((NATURAL) "")
> ; ((SHARP) "+")
> ; ((DOUBLE-SHARP) "++"))
> (case (step-alteration pitch)
> ((-1) "--")
> ((-1/2) "-")
> ((0) "")
> ((1/2) "+")
> ((1) "++"))
> ))))
>
> case uses eqv? to compare. (guile-manual)
> (step-alteration pitch) returns: -1 or -1/2 or 0 or 1/2 or 1
> (display (eqv? -1/2 FLAT), etc returns #t
boiled down:
(display DOUBLE-FLAT)
-> -1
(display (eqv? -1 DOUBLE-FLAT))
-> #t
(display
(case -1
((DOUBLE-FLAT) "--")
((FLAT) "-")
((NATURAL) "")
((SHARP) "+")
((DOUBLE-SHARP) "++")))
-> #<unspecified>
??
> Thus I've no clue why the old code fails.
> Any hint?
>
> Cheers,
> Harm