Good thing I'm not a full-time programmer. The only blocks I'm splitting across files are the \Score, \ChoirStaff and \StaffGroup all the others (paper, header layout, etc), are self contained in their .ly files. It's worked well in that I do need to print on various kinds of paper mostly 9x12 and marching, but occasionally Letter and A4 too, so I variableized page filling with high-level system spacing and count variables and just comment in the paper .ly file I want and adjust only two variables to fit a page of music on different paper. Also I need to be able to easily plug staffs in or out by simply commenting in/out the appropriate .ly files, for various combo or sectional leader rehearsals and part extracts.
Since \score, \choirstaff and \staffgroup require containment of their "child staffs" I had to begin and end them across files so I made CommonHeader.ly and CommonTrailer.ly that begin/end everything and I can re-use it easily. If I need to do staff grouping I do it similarly by imbedding CommonSaxSectionGroupHeader.ly and CommonSaxSectionGroupTrailer.ly (I have .ly files to begin and end staff groups too for band sections) Also sometimes I will need to throw a Trombone into the sax section group if I dont have a baritone player, I can do that easily too. The nice part about splitting these containers across files is that I can set and forget my "with" clauses in the CommonHeader for staffgroup, score, and choirstaff and mix and match easily from one master compile file. I like to be able to control all the structure from a single .ly file that I compile, and control all the notes, keys, etc from a single music.ly file. And forget about all the rest of the files once I've written them. To date I've scored about 120 songs for jazz/stage band and combos using this arrangement and the only files I ever change any more are the music-specific files that set the music variables, and the compile_whatever.ly files that assemble the desired staffs into a score or score of staffgroups or part extract all on the paper I want. I dont worry too much about splitting the score, choirstaff and staffgroup containers across files I guess because I am being very productive in only having to maintain one music file and one compile file for each piece and still retaining flexibility and speed in getting the scores I need fast with a few comment ins/outs in my compile.ly files. I'm open to better ways too, (but the split container across files is not bothersome to me). David Greene wrote: > > Rick Hansen (aka RickH) wrote: > >> \include CommonHeader.ly % contains header block and >> begins a >> score block and begins a nested choir staff block >> \include AltoSax1.ly % generic template for alto >> sax and transposes for Eb >> \include AltoSax2.ly % etc >> \include TenorSax1.ly % etc >> \include TenorSax2.ly % etc >> \include BaritoneSax.ly % etc >> \include CommonTrailer.ly % ends the choir staff block, >> states the layout block, and ends the score block > > Yuck! I get what you're doing, especially with your second note > on the topic, but spreading a score {} block across include files > smacks of bad programming practice. > > It would be better if we could create and assign Staves, Voices, > Lyrics, etc. to variables. Then we could do something like this: > > myMusic_ForConcertoNo3.ly: > > varViolinINotes = \relative c' { a-4 b c d } > varViolinIINotes = \relative c' { d2 f } > varClarinetNotes = \relative c' { d16 e f g d f g a d2 } > varTitle = "Concerto Number 3" > varKey = { \key c \major } > varTime = { \time 4/4 } > varStyle = "Moderato" > varComposer = "Beat-hooven" > > myStructure_ViolinI.ly: > > varViolinIStaff = \new Staff \with { > instrument = \markup { \sans "Violin I" } > stringNumberOrientations = #'(left) > fingeringOrientations = #'(right) > } % end with > { > #(set-accidental-style 'modern) > \clef "treble" > \once \override Score.RehearsalMark #'self-alignment-X = #left > \mark > \markup { \bold \smaller \varStyle } > \varKey > \varTime > \varViolinINotes > } > > > myStructure_Orchestra.ly: > > myOrchestralLayout = layout { ... } > > myOrchestralScore = score { > \myViolinIStaff > ... > \myOrchestralLayout > } > > myCompileViolinI_ForConcertoNo3.ly: > > \include "myMusic_ForConcertoNo3.ly" > \include "myStructure_ViolinI.ly" > \include "myStructure_Orchestra.ly" > > \myOrchestralScore > > This is a more structured approach than splitting the syntax across > files. Perhaps it is already possible to do this -- I haven't tried. > > Thoughts? > > -Dave > > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > > -- View this message in context: http://www.nabble.com/Orchestral-score-file-organization-tf2288589.html#a6413345 Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com. _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user