lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tablature.ly


From: Carl D. Sorensen
Subject: Re: tablature.ly
Date: Mon, 27 Apr 2009 22:16:32 -0600



On 4/27/09 12:47 PM, "Marc Hohl" <address@hidden> wrote:

> Carl D. Sorensen schrieb:
>> 
>> On 4/27/09 3:38 AM, "Marc Hohl" <address@hidden> wrote:
>> 
>>  
> No, I didn't get this mail. I played around with your suggestions and the
> improvements given by Neil and have now:
> 
> #(define-markup-command (customTabClef layout props tuning) (pair?)
>     (define (square x) (* x x))
>     (let* ((num-strings (min (max (length tuning) 4) 7))
>            (font-size (- (* num-strings 1.5) 7))
>            (base-skip (square (+ (* num-strings 0.2) 0.4))))
>        (interpret-markup layout props
>          (markup #:vcenter #:bold
>                  ;;#:override #'(font-family . sans)
>                  #:fontsize font-size
>                  #:override #'(cons 'baseline-skip base-skip)

I thought that there should be no ' before (cons 'baseline-skip base-skip).
But apparently it works, so perhaps it's evaluated during the markup
interpretation.

The ' is a quote that prevents evaluation.  In this case, we want to
evaluate the expression, because we want to replace the symbol base-skip
with its value, which was assigned above.  But this apparently works with
the macro expansion.

>                  #:center-column ("T" "A" "B")))))
> 
> The raise-value calculation has gone, because I use #:vcenter, but I had
> to comment
> out the font-family line, because I got an error saying "unbound
> variable: font-family"
> if it is in the source. What's going wrong here?

Try #'(cons 'font-family 'sans), and see if that will work.  It may be that
the way things are substituted by the macro expansion is causing it to work
differently than I would expect with straight Scheme.

> 
>>  
>>>> Imagine a user doesn't like the default staff-space setting for
>>>> TabStaff (1.5).  If they change it, none of these empirical values
>>>> will work properly.
>>>> 
>>>>      
>> 
>> Here Neil points out the thing he's most concerned about.  It's not a
>> concern about the magic numbers per se, it's that they don't change with
>> staff-spacing.  In my earlier email (let me know if you didn't get it), I
>> asked for his help with that problem.
>> 
>>  
> With the definition above, I inserted #(set-global-staff-size <num>)
> and tried values from 10 to 100, and it worked as expected.
> So the quadratic equation seems to be the right way.

OK, so the baseline skip is apparently sized in terms of staff spaces, which
means your equations are right.

Thanks,

Carl





reply via email to

[Prev in Thread] Current Thread [Next in Thread]