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

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

Re: Grille harmonique 100% Lilypond


From: Vincent Gay
Subject: Re: Grille harmonique 100% Lilypond
Date: Fri, 11 Mar 2022 18:07:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1

Autre question dans la même rubrique : quand j'utilise la fonction écrite par Valentin suivie d'un \stopStaff celui-ci ne s’exécute pas

si j'enlève le \startStaff de fin (dans la fonction) c'est ok. Du coup je suis obligé de dupliquer la fonction (voir code ci-dessous)



\version "2.22.2"
#(set-global-staff-size 17)

\paper {
  #(set-paper-size "a4")
}

"\\/" = #(define-music-function
  (parser location mus1 mus2) ( ly:music? ly:music? )
  #{
    \stopStaff
    \once \override Staff.StaffSymbol.stencil = $(lambda (grob)
       (let* ((staff (ly:staff-symbol::print grob))
              (X-ext (ly:stencil-extent staff X))
              (Y-ext (ly:stencil-extent staff Y)))
         (ly:grob-set-property! grob 'layer -10)
         (ly:stencil-add
          (make-line-stencil
           (ly:staff-symbol-line-thickness grob)
           (car X-ext) (car Y-ext) (cdr X-ext) (cdr Y-ext))
          staff)))
    \startStaff
    \once \override ChordName.extra-offset = #'(1 . .5)
    $mus1
    \once \override ChordName.extra-offset = #'(3 . -3)
    $mus2
    \stopStaff
    \startStaff
  #})

"s" = #(define-music-function
  (parser location mus1 mus2) ( ly:music? ly:music? )
  #{
    \stopStaff
    \once \override Staff.StaffSymbol.stencil = $(lambda (grob)
       (let* ((staff (ly:staff-symbol::print grob))
              (X-ext (ly:stencil-extent staff X))
              (Y-ext (ly:stencil-extent staff Y)))
         (ly:grob-set-property! grob 'layer -10)
         (ly:stencil-add
          (make-line-stencil
           (ly:staff-symbol-line-thickness grob)
           (car X-ext) (car Y-ext) (cdr X-ext) (cdr Y-ext))
          staff)))
    \startStaff
    \once \override ChordName.extra-offset = #'(1 . .5)
    $mus1
    \once \override ChordName.extra-offset = #'(3 . -3)
    $mus2
    \stopStaff
  #})



grilleII = \chordmode {  
  \override Score.RehearsalMark #'self-alignment-X = #LEFT
  \mark \markup "fonction Valentin originale"
  \bar "[|:" \/ d2:m7 g:7 \/ d2:m7 g:7 \/ d2:m7 g:7
  \set Score.repeatCommands = #'((volta "1.") ) \/ d2:m7 g:7
  \set Score.repeatCommands = #'((volta #f) end-repeat)
  \stopStaff s1 \bar "" s \bar "" s \startStaff
  \set Score.repeatCommands = #'((volta "2.") ) c1:7+ \bar "||"
  \set Score.repeatCommands = #'((volta #f)) \bar "||" \break
  \mark \markup \left-column {  \pad-around #2 "  "  "avec fonction Valentin dupliquée" }
    \bar "[|:" \/ d2:m7 g:7 \/ d2:m7 g:7 \/ d2:m7 g:7
  \set Score.repeatCommands = #'((volta "1.") ) \s d2:m7 g:7
  \set Score.repeatCommands = #'((volta #f) end-repeat)
  \stopStaff s1 \bar "" s \bar "" s \startStaff
  \set Score.repeatCommands = #'((volta "2.") ) c1:7+
  \set Score.repeatCommands = #'((volta #f)) \bar ".."
}


    \score {
      \layout {
        indent = 0
        ragged-right = ##f
        ragged-last = ##f
        \context {
          \Score
          \remove "Volta_engraver"
          \omit Clef % Cacher la clef
          \omit TimeSignature % cacher la métrique
          \omit BarNumber
          \override SpacingSpanner.strict-note-spacing = ##t
          proportionalNotationDuration = #(ly:make-moment 1/16)
        }
      }
      <<
        \new Staff \with {
          \remove "Staff_symbol_engraver"
        }
        \new ChordNames \with {
          \override ChordName.extra-offset = #'(10 . -1 )
          \override ParenthesesItem.extra-offset = #'(10 . -1 )
          \override BarLine.bar-extent = #'(-5 . 5)
          \consists "Bar_engraver"
          \override StaffSymbol.line-positions = #'( -10 10 )
          \consists "Staff_symbol_engraver"
          \consists "Percent_repeat_engraver"
          \consists "Volta_engraver"
        }
        \grilleII
      >>
}

-- 
Vincent Gay
Envoyé depuis mon saxo-phone :)
https://myrealbook.vintherine.org/ - http://photos.vintherine.org/

reply via email to

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