On Apr 3, 2011, at 11:42 PM, Javier Ruiz-Alma wrote:

> On Apr 3, 2011, at 7:31 PM, Javier Ruiz-Alma wrote:
> 
>> Any ideas as to how best to approximate the trill plus fingering notiation 
>> as shown in this image?
>> The closest I can get is:
>>  
>> a2.\trill^markup{\finger "3 2"}
>>  
>> However, this doesn't show the cap over the digits, plus lilypond seems to 
>> always try to display the "tr" symbol at the very top, no matter what order 
>> the modifiers are listed after the note.
>>  
>> Thx, Javier
>> <original_fingered_trill.gif>_______________________________________________
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> http://lists.gnu.org/mailman/listinfo/lilypond-user
> 
> Just realized that this is better...
> 
> #(define-markup-command (up-tied-lyric layout props a b)
>   (markup? markup?)
>   (let*
>           ((tie-str (ly:wide-char->utf-8 #x2040))
>            (joined  (list-join `(,a ,b) tie-str))
>            (join-stencil (interpret-markup layout props tie-str))
>            )
> 
>         (interpret-markup layout
>                           (prepend-alist-chain
>                            'word-space
>                            (/ (interval-length (ly:stencil-extent 
> join-stencil X)) -3.5)
>                            props)
>                           (make-line-markup joined))))
> 
> 
> { \once \override Staff . Script #'outside-staff-priority = #0
> a'2.\trill^\markup{ \up-tied-lyric \finger 3 \finger 2 }}
> 
> 
> Cheers,
> Mike
> Wow, Thank You Mike!
> 
>  
> Attached is my first try with your code.  I improvised the following to 
> reduce the space between digits, with bad results:
> 
> \markup{ \up-tied-lyric \finger "43" }
> 
> I don't know anything about custom commands (yet), so I suspect it fails is 
> because your command is expecting two arguments.  Let me know if there's 
> anything I can tweak to improve the distance between the digits or horizontal 
> positioning of the cap/tie.
> 
>  

#(define-markup-command (up-tied-lyric layout props a b factor)
  (markup? markup? number?)
  (let*
          ((tie-str (ly:wide-char->utf-8 #x2040))
           (joined  (list-join `(,a ,b) tie-str))
           (join-stencil (interpret-markup layout props tie-str))
           )

        (interpret-markup layout
                          (prepend-alist-chain
                           'word-space
                           (/ (interval-length (ly:stencil-extent join-stencil 
X)) factor)
                           props)
                          (make-line-markup joined))))


{ \once \override Staff . Script #'outside-staff-priority = #0
a'2.\trill^\markup{ \up-tied-lyric \finger 3 \finger 2 #-2.75 }}

Alternatively, if you want to hardcode a value instead of passing the function 
a value every time, you can just use the code I sent you before but replace the 
-3.5 with whatever value you want hardcoded in there.

Cheers,
MS
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to