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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Altérations dièse ou bémol au lieu de bécarre avec easyHeadsOn


From: Ya Gloops
Subject: Altérations dièse ou bémol au lieu de bécarre avec easyHeadsOn
Date: Thu, 16 Mar 2023 07:12:55 +0000 (UTC)

 Bonjour, j'utilise la fonction easyHeadsOn, mais je ne trouve pas très logique d'obtenir, dans l'exemple de sol majeur suivant, 
 un bécarre 7 au lieu d'un bémol 7, et dans la tonalité de f majeur, d'obtenir un bécarre 4 au lieu d'un dièse 4...
 Est-il possible d'écrire une fonction qui ajusterait pour chaque tonalité ?
Merci pour votre aide!
 
\version "2.24.1"

#(define Ez_numbers_engraver
   (make-engraver
    (acknowledgers
     ((note-head-interface engraver grob source-engraver)
      (let* ((context (ly:translator-context engraver))
             (tonic-pitch (ly:context-property context 'tonic))
             (tonic-name (ly:pitch-notename tonic-pitch))
             (grob-pitch
              (ly:event-property (event-cause grob) 'pitch))
             (grob-name (ly:pitch-notename grob-pitch))
             (delta (modulo (- grob-name tonic-name) 7))
             (note-names
              (make-vector 7 (number->string (1+ delta)))))
        (ly:grob-set-property! grob 'note-names note-names))))))

#(set-global-staff-size 26)

\layout {
  ragged-right = ##t
  \context {
    \Voice
    \consists \Ez_numbers_engraver
  }
}

% Faire automatiquement un bémol au lieu d'un bécarre
\relative c'' {
\easyHeadsOn
\key g \major
 g f
}
% Faire automatiquement un dièse au lieu d'un bécarre
\relative c' {
\easyHeadsOn
\key f \major
f b
}


reply via email to

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