lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Orchestral score file organization


From: Rick Hansen (aka RickH)
Subject: Re: Orchestral score file organization
Date: Wed, 20 Sep 2006 11:02:58 -0700 (PDT)

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
> address@hidden
> 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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]