Kieren,

I'm not sure if this fits under your umbrella of having a single top level
file, but what about this?

%%%% song-FV.ly
definedVariables = data
\include song.ily

%%%% song-SV.ly
definedVariables = data
\include song.ily

%%%% song.ily
\include [.ily files containing the notes, edition-engraver tweaks, etc.]

\header {
  [header parameters shared by both versions]
  [differing header parameters defined in global variables]
}

\score {
  [contexts built from variables defined in \include-d files]
}
%%%%

Optionally, you could use the output names and book blocks so that you can
compile the whole work from a FullVersion.ly and ShortVersion.ly which are
basically a series of includes of the applicable songs.

Hope some of these ideas help or at least spark others,
Sam

Reply via email to