[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: some objects not clickable
From: |
Jean Abou Samra |
Subject: |
Re: some objects not clickable |
Date: |
Thu, 30 Mar 2023 11:47:13 +0200 |
User-agent: |
Evolution 3.46.4 (3.46.4-1.fc37) |
Le jeudi 30 mars 2023 à 09:14 +0000, Werner LEMBERG a écrit :
> ```
>
> Please have a look at the attached snippet. Neither the `Divisio` nor
> the `VaticanaLigature` grob is clickable. What can be the reason for
> that?
The ligature is apparently not printed by a `VaticanaLigature` but by a
`NoteHead` (try `\override NoteHead.color = blue`). A bit disconcerting.
Divisio fails because its stencil is later reset by the engraver according to
`breathMarkType`. This appears to work:
```
\version "2.24"
\pointAndClickOff
\include "gregorian.ly"
#(use-modules (ice-9 match))
#(define notation-format
(match (ly:version)
((major minor _)
(format
#f
"https://lilypond.org/doc/v~a.~a/Documentation/notation/~~a"
major
minor))))
#(define ((add-link doc) grob original)
(if (ly:stencil? original)
(let ((url (format #f notation-format doc)))
(grob-interpret-markup
grob
(make-with-url-markup url (make-stencil-markup original))))
original))
addLink =
#(define-music-function (path doc)
(symbol-list? string?)
"Add a clickable link for a grob of type *path* to the documentation
page *doc* in the Notation Reference. All grobs in the score are
affected."
(propertyOverride
(append path '(stencil))
(grob-transformer 'stencil (add-link doc))))
\new VaticanaStaff \with {
\override Divisio.before-line-breaking =
#(lambda (grob)
(let ((orig (ly:grob-property grob 'stencil)))
(set! (ly:grob-property grob 'stencil)
((add-link "typesetting-gregorian-chant#divisiones") grob
orig))))
}
\relative c' {
\omit VaticanaStaff.Clef
\addLink VaticanaStaff.Divisio
"typesetting-gregorian-chant#divisiones"
\addLink VaticanaLigature
"typesetting-gregorian-chant#gregorian-square-neume-ligatures"
\[ c \flexa b \pes \deminutum d \]
\section
}
```
A bit ugly, but we don't have better at the moment.
signature.asc
Description: This is a digitally signed message part