I get what you are doing here, but I am constantly moving players around in sections, especially clarinet and flute going in and out of sax section for example, hiding/showing certain percussion instruments like Marimba that are not used on every song, etc. So I like to see my entire band reflected in one single file for every song, all instruments laid out flatly, then be able to reorder, regroup, show/hide anybody with simple comment % statements and inclusion of grouping header/trailers as seen in my previous post.
So for me to create a template called "orchestra" or a template called "sax section" that has the instruments grouped/ordered/present/notpresent in a static fashion, means I would be always maintaining that file and because it's a shared file subsequently "breaking" it for use in other songs. In the typical stage/school band the band members change and songs use different structures and instrumentation all the time. In my example by having one structure file and one music file for each song, where all possible instruments are reflected flatly, ungrouped, unordered in the structure file, I can then change only that songs structure and not break all my other songs that share the same staff templates. IOW for me to have templates that group instruments at all into "orchestra" or "brass", would give me more to maintain and unknowingly break other songs. Also having a high-level "file of include files" to maintain per song means that I can ask a student to print off a desired score, because they dont need to know lilypond at all, they only need to know what instruments I want, what grouping I want, and what order I want, and how to adjust the staff spacing/count variables for the paper I ask them to use on that particular print out. If we are playing that piece on the football field we'll do a marching pad, if we are in the auditorium we'll do 9x12. So all they really need to know is how to enter a comment statement on the \include lines of what they want to omit and how to position the staffgroup header and trailer include files. I would not want them messing with brackets { } or anything that would cause a potential compiler error or mess up the notes. As for me I only need to maintain the song.ly files and all those do is set variables, and hopefully never have to touch the shared templates very often. And of course every day there's the kid that doesn't have his music, I can easily go ask them to do their own part extraction print out because they are fully shielded from knowing lilypond. Maybe some day somebody can write a Windows program to "drag and drop" maintain the high-level .ly "file of includes" to create parts and scores. But for now it's easy enough to explain to a student needing a printout how to enter a comment statement, or even how to make me a custom conductor score, and my section leaders can even make their own custom scores of just their section without knowing lilypond. :-) 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#a6415201 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