On Fri, 8 Jan 2016, Christopher R. Maden wrote: > Generally, once you get into any kind of moderately complicated score, you > have to concoct your score and MIDI separately, e.g.: > > theTune = c c c c > theScore = \repeat volta 2 { \theTune } > theMidi = \theTune \transpose c c' \theTune > \score{ \theScore \layout{} } > \score{ \theMidi \midi{} }
This is pretty much exactly what I do for a similar instruction in an original ragtime piece. It's a shame that LilyPond's requirement to completely evaluate music expressions immediately, and therefore once and for all, forces this kind of thing on us. The natural thing to want to do would be to have an "if (MIDI) { }" kind of construction at the point in the music where there's a difference; but that's simply impossible the way LilyPond currently works. And so anyone who wants both a printed score and MIDI is forced to write the whole thing twice over, attempting to keep the two versons updated relative to each other by hand, with the ability to share code only at the lowest levels of the hierarchy. I'm sure that someone will now respond with a claim that the way LilyPond currently works is actually better for users too, instead of being only a consequence of behind-the-scenes design issues. -- Matthew Skala msk...@ansuz.sooke.bc.ca People before principles. http://ansuz.sooke.bc.ca/ _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user