lilypond-devel
[Top][All Lists]
Advanced

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

Deprecation of instrumentCueName and instrument switch stuffs


From: Xavier Scheuer
Subject: Deprecation of instrumentCueName and instrument switch stuffs
Date: Tue, 13 Dec 2022 10:55:15 +0100

Hello,

While replying to a query on the French-speaking list I realized that in
the latest versions of LilyPond the instrumentCueName property was
considered deprecated (as well as the engraver
"Instrument_switch_engraver", the grob "InstrumentSwitch" and the music
functions instrumentSwitch and addInstrumentDefinition).
Commit 5df7147b5977b010179bab53c2e077d559ec8ed7

This is a property that I commonly use (see typical example of my use
below) and I don't understand the rationale for removing it. Furthermore I
find promoting simple "catch-all" TextScripts (attached to an empty chord,
cf. NR 1.6.3) to indicate the instrument cue name a bad practice when you
can have a dedicated property and grob.
With a dedicated object it is cleaner, "modular" and future-proof: if you
want to adapt the size or font of all the instrument cue names you just
have to modify the properties of this object. With the approach promoted
now you have to search for all occurrences where you have induced the
instrument cue name with a TextScript and modify them.

So I agree that the old approach wasn't perfect (especially the mix of
instrument cue name and instrument switch, two uses for one
object/property/engraver), but in this case I'd rather have two properties
(instrumentCueName and instrumentSwitchName), objects (InstrumentCueName
and InstrumentSwitch) and engravers ("Instrument_cue_name_engraver" and
"Instrument_switch_engraver"), than remove everything!

Thanks for your attention and have a nice day.

%%%% Use of instrumentCueName for advanced formatting of cues from other
voices
flute = \relative c' {
  c4\f d e f |
  g4 a b c |
  c4 b a g |
  f4 e d c
}
\addQuote "flute" { \flute }

violin = \relative c' {
  R1*2 |

  c1\mp |
  d1
}

violinCues = {
  <<
    {
      \voiceOne
      s1
      \voiceTwo
      s1
      \oneVoice
    }
    \new CueVoice = "fluteCueVoice" \with {
      instrumentCueName = "Flute"
    } {
      \voiceTwo
      \quoteDuring "flute" { s1 }
      \voiceOne
      \quoteDuring "flute" { s1 }
      \oneVoice
    }
  >>
  s1*2
}

\layout {
  \context {
    \Score
    quotedEventTypes = #'(note-event
      rest-event
      tie-event
      beam-event
      tuplet-span-event
      tremolo-event)
  }
}

\score {
  <<
    \new Staff = "violinStaff" \with {
      % instrumentName = "Violin"
      % shortInstrumentName = "V"
    } {
      <<
        \new Voice = "violinVoice" {
          <<
            \violin
            \violinCues
          >>
        }
      >>
    }
  >>
}
%%%%

Kind regards,
Xavier


reply via email to

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