Hi Jean, > Yeah, we're discussing two things that have been deprecated > together but are separate. One is \addInstrumentDefinition > + \instrumentSwitch, which sounds like it helps with switching > instruments but is actually both completely generic and > close to useless, the other is instrumentCueName + > Instrument_switch_engraver + InstrumentSwitch.
It certainly would be nice to have only things that are relevant, specific, useful, and consistent! >> Next thing to settle: How best to handle multi-instrumental players’ music. > (I didn't try to understand that part of the discussion yet.) You’ll see the problem in the snippet below (n.b. requires OLL to compile): the key signatures (included in a separate variable that is simultaneous-ed in with the note variable when the score is built) are not being transposed according to the instrument that begins to play at that exact moment [see first score]; but if the key change is delayed, the key signatures are transposed properly [see second score]. There’s probably a really simple fix in the auto-transpose framework code that will eliminate this issue, but it’s definitely above my current pay grade! Cheers, Kieren. %%% SNIPPET BEGINS \version "2.19.15" \language "english" \include "oll-core/package.ily" \loadModule snippets.editorial-tools.auto-transpose % some music to insert into example bach = { bf' a' c'' b' } % add two transposing instrument-definitions clarinet_Eb = { \transposition ef' \clef "treble" \set Staff.shortInstrumentName = "Es-Kl" \set Staff.instrumentCueName = "Es-Kl" \set Staff.midiInstrument = "clarinet" } clarinet_Bb = { \transposition bf \clef "treble" \set Staff.shortInstrumentName = "Kl" \set Staff.instrumentCueName = "Kl" \set Staff.midiInstrument = "clarinet" } %%% the 'intuitive’ score code doesn’t work: global = { \key f \major s1 \key g \major s1 \key c \major s1 } theNotes = { \bach \clarinet_Bb \bach \clarinet_Eb \bach } \score { \new Staff \with { \autoTranspose } \new Voice << \global \theNotes >> } %%% but it may just be an issue of timing? global = { \key f \major s1*2 \key g \major s1*2 \key c \major s1*2 } theNotes = { \bach \clarinet_Bb s1 \bach \clarinet_Eb s1 \bach } \score { \new Staff \with { \autoTranspose } \new Voice << \global \theNotes >> } %%% SNIPPET ENDS