lilypond-user-fr
[Top][All Lists]
Advanced

[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



reply via email to

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