On Dec 5, 2012, at 5:58 PM, Thomas Morley <thomasmorle...@googlemail.com> wrote:
> Sorry to send this again, forgot to cc the list. > > 2012/12/5 Thomas Morley <thomasmorle...@googlemail.com>: >> 2012/12/5 Paul Morris <p...@paulwmorris.com>: >>> On Dec 4, 2012, at 7:27 PM, Thomas Morley <thomasmorle...@googlemail.com> >>> wrote: >> [...] >>>> May I ask, if you could add a commented 2.16-version of it? >>>> Although your code will work for 2.16.1 up to 2.17.6 (so far I >>>> tested), it would be nice to show the new make-engraver-macro and the >>>> possibility of #{ #} in scheme-code, once the LSR is updated. >>> >>> Ok, I just uploaded a new version with the 2.16 code commented out. The >>> make-engraver-macro is quite nice. >> >> Thanks for doing this! Glad to help! >>> It was a little tricky figuring out the #{ \markup ... #} syntax after >>> getting used to the scheme version. If it were not for the need to >>> demonstrate the new syntax (which I'm happy to help with) I'd probably just >>> stick with the scheme version at this point. >> >> I know what you mean. :) >> I tend to use only scheme-syntax in longer scheme-expressions. >> It's nice to show #{ #}, though. >> >>> I eventually got it working in all cases, but had to move the accidental >>> markups into variables >> >> Well, I do like variables. :) Yeah, in this case they were only used once each, so it seemed like overkill to assign them to variables. Maybe it's clearer that way though. >>> to avoid too much nesting, which wasn't working. Namely this part: >>> >>> (if (pair? tonic-acc) >>> (set! key-name (markup key-name (if (= acc-type 0.5 ) >>> (markup #:translate (cons (* mult -0.3) (* mult 0.8)) >>> #:magnify (* mult 0.9) #:sharp) >>> (markup #:translate (cons (* mult -0.2) (* mult 0.4)) >>> #:magnify (* mult 0.9) #:flat))))) >>> >>> % ----> the following doesn't work: >>> >>> (if (pair? tonic-acc) >>> (set! key-name #{ \markup #key-name #(if (= acc-type 0.5 ) >>> #{ \markup { \translate #(cons (* mult -0.3) (* mult 0.8)) >>> \magnify #(* mult 0.9) \sharp } #} >>> #{ \markup { \translate #(cons (* mult -0.2) (* mult 0.4)) >>> \magnify #(* mult 0.9) \flat } #} ) #} )) >> >> It will work, while adding two braces: >> >> (if (pair? tonic-acc) >> (set! key-name >> #{ \markup { % <========================== >> #key-name >> #(if (= acc-type 0.5 ) >> #{ >> \markup { >> \translate #(cons (* mult -0.3) (* mult 0.8)) >> \magnify #(* mult 0.9) >> \sharp >> } >> #} >> #{ >> \markup { >> \translate #(cons (* mult -0.2) (* mult 0.4)) >> \magnify #(* mult 0.9) >> \flat >> } >> #}) >> } % <============================= >> #})) Argh! The missing braces strike again. I should have caught that. Your reformatting makes it much easier to follow. >>> %----> but this does: >>> >>> (if (pair? tonic-acc) >>> (set! key-name #{ \markup { #key-name #(if (= acc-type 0.5 ) >>> txt-sharp txt-flat ) } #} )) >>> >>> >>> Regards, >>> -Paul >> >> >> Now approved: >> http://lsr.dsi.unimi.it/LSR/Item?id=856 >> >> Regards, >> Harm >> >> P.S. >> I cc-ed the list, because I think it might be of interest for all. Thanks again! -Paul _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user