Hi Werner,

On Thu, Dec 14, 2023 at 12:03 AM Werner LEMBERG <w...@gnu.org> wrote:

>
> Walking through some unanswered e-mails of mine I stumbled across this
> one, asked in October.
>
>   https://lists.gnu.org/archive/html/lilypond-user/2023-10/msg00222.html
>
> > How can I make LilyPond display the actual values of
> > `script-priority` for a stack of grobs?  [...]
>
> Any suggestions how to do that?  Otherwise I'll file an issue.
>

A few days ago I was looking for something, and stumbled across
https://lsr.di.unimi.it/LSR/Item?id=1017
And I thought that it might help here. I was able to modify it a bit to
pare down the info it returns, as it returns *everything* about each
occurence of the grob in question. The result:

\version "2.25.10"

#(define print-all-script-priority
   (grob-transformer 'after-line-breaking
                     (lambda (grob orig)
                       (format #t "\n~a:" grob)
                       (format #t "\n~a:" "Text-Interface")
                       (format #t "\n\t~a:      ~a" "text"
                               (ly:grob-property grob 'text))
                       (format #t "\n~a:" "Text-Script-Interface")
                       (format #t "\n\t~a:      ~a\n" "script-priority"
                               (ly:grob-property grob 'script-priority))
                       )))

grobPropertiesInfo =
#(define-music-function (grob-name)(symbol?)
   #{
     \override $grob-name . after-line-breaking =
     #print-all-script-priority
   #})

\relative c {
  \set strokeFingerOrientations = #'(up)
  \set fingeringOrientations = #'(up)

  \grobPropertiesInfo #'StrokeFinger
  \grobPropertiesInfo #'Fingering
  <e' -1 -\rightHandFinger #1 e' -4 -\rightHandFinger #4 >

  \override Fingering.script-priority = #118
  <e -1 -\rightHandFinger #1 e' -4 -\rightHandFinger #4 >
}

This produces the output:

Starting lilypond 2.25.10 [Untitled]...

Processing `/tmp/frescobaldi-01dbi2f4/tmpg0hzpy81/document.ly'

Parsing...

Interpreting music...

Preprocessing graphical objects...

Finding the ideal number of pages...

Fitting music on 1 page...

Drawing systems...

Converting to `document.pdf'...


#<Grob Fingering >:

Text-Interface:

text: 1

Text-Script-Interface:

script-priority: 96


#<Grob StrokeFinger >:

Text-Interface:

text: p

Text-Script-Interface:

script-priority: 121


#<Grob Fingering >:

Text-Interface:

text: 4

Text-Script-Interface:

script-priority: 103


#<Grob StrokeFinger >:

Text-Interface:

text: a

Text-Script-Interface:

script-priority: 128


#<Grob Fingering >:

Text-Interface:

text: 1

Text-Script-Interface:

script-priority: 114


#<Grob StrokeFinger >:

Text-Interface:

text: p

Text-Script-Interface:

script-priority: 121


#<Grob Fingering >:

Text-Interface:

text: 4

Text-Script-Interface:

script-priority: 121


#<Grob StrokeFinger >:

Text-Interface:

text: a

Text-Script-Interface:

script-priority: 128

Success: compilation successfully completed

Completed successfully in 0.6".

Probably better ways to go about this, but it seems to work.
-- 
Michael

Reply via email to