Subject: Taille altérations sur les fondamentales des accords (chordRootNamer ?)

From: M4rty <[email-masked]>
Date: Wed, 28 Apr 2021 03:40:16 -0700 (MST)

Bonjour à tous,

Je cherche à modifier la taille (\fontsize et eventuellement \raise) des
altérations dans l'écriture des accords en chiffrage américain, tout en
conservant les symboles # et b par défaut. Comme on peut le voir sur la
photo, c'est un peu gros et bas.

<http://lilypond-french-users.1298960.n2.nabble.com/file/t395801/alt.jpg> 

J'ai trouvé ce code sur le forum, qui permet de changer les symboles par
défaut et de les remplacer par des caractères. Je sais comment modifier la
hauteur et la taille avec ce code, mais je ne sais pas comment faire pour
conserver les symboles d'altérations par défaut :

#(define (chordNamer pitch majmin)	;majmin is un argument nécessaire à
"chordNamer" mais inutile ici
	(let* ((alt (ly:pitch-alteration pitch)))
		(make-line-markup
			(list
				(make-simple-markup 
					(vector-ref #("C" "D" "E" "F" "G" "A" "B")
						(ly:pitch-notename pitch)))
				(if (= alt 0)			; alteration ?
					(markup "")		;non
					(if (= alt FLAT)	; b ou #
						(markup "b")
						(markup "#")
					)
				)
			)
		)
	)
)

\layout { {         \Score
         chordRootNamer = #chordNamer } }

Quelqu'un connait la solution ?

Merci !!

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Wed, 28 Apr 2021 12:49:35 +0200

Bonjour M4rt,
Essaie :

#(define (chordNamer pitch majmin)      ;majmin is un argument nécessaire à
"chordNamer" mais inutile ici
        (let* ((alt (ly:pitch-alteration pitch)))
                (make-line-markup
                        (list
                                (make-simple-markup
                                        (vector-ref #("C" "D" "E" "F" "G"
"A" "B")
                                                (ly:pitch-notename pitch)))
                                (if (= alt 0)                   ;
alteration ?
                                        (markup "")             ;non
                                        (if (= alt FLAT)        ; b ou #
                                                (markup #:musicglyph
"accidentals.flat") ; (markup "b")
                                                (markup #:musicglyph
"accidentals.sharp") ; (markup "#")
                                        )
                                )
                        )
                )
        )
)

Cordialement,
Pierre

---

From: M4rty <[email-masked]>
Date: Wed, 28 Apr 2021 04:11:06 -0700 (MST)

Merci beaucoup Schneidy !! J'ai réussi à faire exactement ce que je voulais
(cf code ci dessous). Il me reste un détail, j'aimerais si possible espacer
légèrement la nature d'accord. Je vais faire quelques recherches là dessus.

#(define (chordNamer pitch majmin)	;majmin is un argument nécessaire à
"chordNamer" mais inutile ici
	(let* ((alt (ly:pitch-alteration pitch)))
		(make-line-markup
			(list
				(make-simple-markup 
					(vector-ref #("C" "D" "E" "F" "G" "A" "B")
						(ly:pitch-notename pitch)))
				(if (= alt 0)
					(markup "")
					(if (= alt FLAT)
					(make-line-markup
            (list
              (make-small-markup (make-raise-markup 1
                (markup #:musicglyph "accidentals.flat")))))
          ;; or handle adding the sharp symbol
          (make-line-markup
            (list
              (make-small-markup (make-raise-markup 1
                (markup #:musicglyph "accidentals.sharp")))))))))))

---

From: M4rty <[email-masked]>
Date: Wed, 28 Apr 2021 04:14:06 -0700 (MST)

Merci Pierre !! Cela fonctionne !
J'ai réussi à faire exactement ce que je voulais avec le code ci dessous. Il
me reste juste à déplacer la nature d'accord légèrement vers la droite, je
vais continuer mes recherches ;-)

#(define (chordNamer pitch majmin)
	(let* ((alt (ly:pitch-alteration pitch)))
		(make-line-markup
			(list
				(make-simple-markup 
					(vector-ref #("C" "D" "E" "F" "G" "A" "B")
						(ly:pitch-notename pitch)))
				(if (= alt 0)
					(markup "")
					
					(if (= alt FLAT)
					(make-line-markup
            (list