[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: esai impression de split arrow
From: |
Daniel Bernair |
Subject: |
Re: esai impression de split arrow |
Date: |
Sat, 18 Jan 2014 08:36:37 +0100 |
Merci Bernard et Pierre pour votre aide. Cette commande est intéressante
pour moi car je me demandais comment imprimer également des flèches
montantes ou descendantes. Super, j'ai l'outil. Cependant, j'ai dû le
corriger pour le ramener en version 16 comme indiqué dans un message
précédent.
Cependant, les fèches sont écrasées par l'armure de changement de tonalité.
Les flèches et l'armure doivent se coller à une barre de mesure. C'est
pourquoi j'aurais voulu déplacer sur la droite (un cm ou plus selon
l'armure) l'impression de ces flèches, mais pas toujours selon qu'il y ait
ou non armure.
J'ai donc dû changer ma partition en déplaçant une mesure de silences après
l'impression de l'armure puis faire l'impression des flèches. Dans ce cas
cela allait mais ce ne sera pas toujours possible.
Dans le snippet, ce problème ne se voit pas car l'exemple se termine trop
tôt, sans changement de tonalité ni continuité de la première voix.
Pierre, vois-tu, dans ta commande le moyen de décaler ?
Merci.
Daniel Bernair
-----Message d'origine-----
From: bameylan
Sent: Friday, January 17, 2014 12:54 AM
To: address@hidden
Subject: Re: esai impression de split arrow
Daniel, voilà le code que notre ami Pierre Perol-Schneider m'avait envoyé;
regarde mon message là:
http://lilypond-french-users.1298960.n2.nabble.com/Inserer-un-objet-graphique-td7580411.html#a7580413
et le code de Pierre:
#(define-markup-command (arrow-at-angle layout props angle-deg length fill)
(number? number? boolean?)
(let* (
(PI-OVER-180 (/ (atan 1 1) 34))
(degrees->radians (lambda (degrees) (* degrees PI-OVER-180)))
(angle-rad (degrees->radians angle-deg))
(target-x (* length (cos angle-rad)))
(target-y (* length (sin angle-rad))))
(interpret-markup layout props
(markup
#:translate (cons (/ target-x 2) (/ target-y 2))
#:rotate angle-deg
#:translate (cons (/ length -2) 0)
#:concat (#:draw-line (cons length 0)
#:arrow-head X RIGHT fill)))))
splitStaffBarLineMarkup = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
\combine
\arrow-at-angle #45 #(sqrt 8) ##t
\arrow-at-angle #-45 #(sqrt 8) ##t
}
convDownStaffBarLineMarkup = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
\arrow-at-angle #-45 #(sqrt 8) ##t
}
convUpStaffBarLineMarkup = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
\arrow-at-angle #45 #(sqrt 8) ##t
}
splitStaffBarLine = {
\once \override Staff.BarLine.stencil =
#(lambda (grob)
(ly:stencil-combine-at-edge
(ly:bar-line::print grob)
X RIGHT
(grob-interpret-markup grob splitStaffBarLineMarkup)
0))
\break
}
convDownStaffBarLine = {
\once \override Staff.BarLine.stencil =
#(lambda (grob)
(ly:stencil-combine-at-edge
(ly:bar-line::print grob)
X RIGHT
(grob-interpret-markup grob convDownStaffBarLineMarkup)
0))
\break
}
convUpStaffBarLine = {
\once \override Staff.BarLine.stencil =
#(lambda (grob)
(ly:stencil-combine-at-edge
(ly:bar-line::print grob)
X RIGHT
(grob-interpret-markup grob convUpStaffBarLineMarkup)
0))
\break
}
Le tout marche excellement bien!
Bernard
-----
Cordialement
Bernard
--
View this message in context:
http://lilypond-french-users.1298960.n2.nabble.com/esai-impression-de-split-arrow-tp7580815p7580824.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.
_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr