Good morning LilyPond,

\version "2.13.31" % on Mac OS X
\paper{ raggedright = ##t }

initialAcciaccatura = \relative c' {
       \acciaccatura <c e g>8
       <d fis a>8
}

initialGrace = \relative c'' {
        \grace c16
        c4
}

initialAppoggiatura = \relative c'' {
        \appoggiatura c16
        c4
}

middleGrace = \relative c'' {
        c4 \grace c16
        c4
}

\markup { initial acciaccatura prevents instrument name and system
start brace }
\score {
   \new StaffGroup = "Guitar"
   \with {\consists "Instrument_name_engraver"}
   <<
     \set StaffGroup.instrumentName = #"Guitar"
     \set StaffGroup.systemStartDelimiter = #'SystemStartBrace
     \new Staff {
            \initialAcciaccatura
     }
     \new TabStaff {
       \initialAcciaccatura
     }
   >>
}

\markup { initial grace note prevents instrument name and system
start brace }
\score {
   \new StaffGroup = "Guitar"
   \with {\consists "Instrument_name_engraver"}
   <<
     \set StaffGroup.instrumentName = #"Guitar"
     \set StaffGroup.systemStartDelimiter = #'SystemStartBrace
     \new Staff {
            \initialGrace
     }
     \new TabStaff {
       \initialGrace
     }
   >>
}

\markup { initial appoggiatura prevents instrument name and system
start brace }
\score {
   \new StaffGroup = "Guitar"
   \with {\consists "Instrument_name_engraver"}
   <<
     \set StaffGroup.instrumentName = #"Guitar"
     \set StaffGroup.systemStartDelimiter = #'SystemStartBrace
     \new Staff {
            \initialAppoggiatura
     }
     \new TabStaff {
       \initialAppoggiatura
     }
   >>
}

\markup { initial appoggiatura prevents instrument name and system
start square }
\score {
   \new StaffGroup = "Guitar"
   \with {\consists "Instrument_name_engraver"}
   <<
     \set StaffGroup.instrumentName = #"Guitar"
     \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
     \new Staff {
            \initialAppoggiatura
     }
     \new TabStaff {
       \initialAppoggiatura
     }
   >>
}

\markup { grace note after the first note: everything is ok }
\score {
   \new StaffGroup = "Guitar"
   \with {\consists "Instrument_name_engraver"}
   <<
     \set StaffGroup.instrumentName = #"Guitar"
     \set StaffGroup.systemStartDelimiter = #'SystemStartBrace
     \new Staff {
            \middleGrace
     }
     \new TabStaff {
       \middleGrace
     }
   >>
}

HTH
Bug's Bunny
This is just another manifestation of our old favourite bug which is documented under "Known issues and warnings" in http://lilypond.org/doc/v2.13/Documentation/notation/special-rhythmic-concerns#grace-notes. However, your example is a bit more subtle, since you do property settings that happen in parallel with the grace notes and it seems that LilyPond thinks that these settings happen after the grace notes, which means that they have not taken effect when the StaffGroup is created.
There are two simple remedies:
1) Move the settings to the \with{...} clause:
\score {
  \new StaffGroup = "Guitar"
  \with {
    \consists "Instrument_name_engraver"
    instrumentName = #"Guitar"
    systemStartDelimiter = #'SystemStartBrace
  }
  <<
    \new Staff {
           \initialAcciaccatura
    }
    \new TabStaff {
      \initialAcciaccatura
    }
  >>
}


2) Move the settings to within one of the Staff contexts that you define and do them before the grace notes:
\score {
  \new StaffGroup = "Guitar"
  \with {\consists "Instrument_name_engraver"}
  <<
         \new Staff {
           \set StaffGroup.instrumentName = #"Guitar"
           \set StaffGroup.systemStartDelimiter = #'SystemStartBrace
           \initialGrace
    }
    \new TabStaff {
      \initialGrace
    }
  >>
}

Of course, alternative 1) is gives a more aesthetically pleasing input file.

    /Mats


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to