Bonjour à toute l'équipe!
J'aimerai ajouter en ossia, au dessus de la main droite d'une portée de piano, une portée d'ossia, piano elle aussi.
Lorsque je change le code
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
en
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new PianoStaff \with { \remove "Time_signature_engraver" alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
refus complet avec le message suivant:
Interprétation en cours de la musique.../usr/share/lilypond/2.22.1/scm/music-functions.scm:2550:19: In procedure ly:context-property in expression (ly:context-property Staff (quote magnifyStaffValue)):
/usr/share/lilypond/2.22.1/scm/music-functions.scm:2550:19: Wrong type argument in position 1 (expecting Context): #f
Arrêté avec le code de retour 1.
Je n'ai trouvé nulle part la possibilité d'ajouter un PianoStaff en ossia… Est-ce irréalisable avec la version 2.22.1?
Bernard
Bonjour à toute l'équipe!
J'aimerai ajouter en ossia, au dessus de la main droite d'une portée de piano, une portée d'ossia, piano elle aussi.
Lorsque je change le code
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
en
\new Staff = "main" \relative { c''4 b d c << { c4 b d c } \new PianoStaff \with { \remove "Time_signature_engraver" alignAboveContext = "main" \magnifyStaff #2/3 firstClef = ##f } { e4 d f e } >> c4 b c2 }
refus complet avec le message suivant:
Interprétation en cours de la musique.../usr/share/lilypond/2.22.1/scm/music-functions.scm:2550:19: In procedure ly:context-property in expression (ly:context-property Staff (quote magnifyStaffValue)):
/usr/share/lilypond/2.22.1/scm/music-functions.scm:2550:19: Wrong type argument in position 1 (expecting Context): #f
Arrêté avec le code de retour 1.
Je n'ai trouvé nulle part la possibilité d'ajouter un PianoStaff en ossia… Est-ce irréalisable avec la version 2.22.1?
Bonjour Bernard,
La commande \magnifyStaff n'est pas faite pour les contextes PianoStaff, seulement pour les contextes Staff et apparentés. Il faut la mettre dans les Staff, et réduire un peu la distance entre les deux portées à la main. Par ailleurs, les accolades de début de système ne sont pas faites pour des PianoStaff introduits au milieu de la partition, elle se placent au début du système… Voici une solution à la va-vite :
\version "2.22.2"
\new Staff = "main" \relative {
c''4 b d c
<<
{ c4 b d c }
\new PianoStaff \with {
\remove "Time_signature_engraver"
alignAboveContext = "main"
firstClef = ##f
\override StaffGrouper.staff-staff-spacing =
#'((basic-distance . 5)
(minimum-distance . 3))
\override StaffGrouper.staffgroup-staff-spacing.basic-distance = 5
\consists
#(lambda (context)
(let ((brace #f)
(bar #f))
(make-engraver
(acknowledgers
((span-bar-interface engraver grob source-engraver)
(set! bar grob))
((system-start-delimiter-interface engraver grob source-engraver)
(set! brace grob)))
((stop-translation-timestep engraver)
(ly:pointer-group-interface::add-grob brace 'side-support-elements bar)))))
}
<<
\new Staff \with { \magnifyStaff #5/7 } { e4 d f e }
\new Staff \with { \magnifyStaff #5/7 } { R1 }
>>
>>
c4 b c2
}
Cordialement,
Jean
···
Le 01/04/2022 à 15:15, Bernard Meylan a écrit :