Greetings!
After watching Sarah K Alawami's work on a score recently on this
user-list, but not having the musical and compositional skills to make
constructive remarks, and after reading the thread entitled 'stylesheet
structure', it occurred to me that an approach might be found which
might make the whole process a little less opaque.
After a lot of fiddling around I came up with this schema:-
Write separate files for each instrument, containing only its musical
elements, and name them 'instrument'.ily, signifiying that they are not
to be compiled directly by Lilypond.
Write separate files for each instrument, "\include"ing the relevant
.ily file, and with enough information to allow Lilypond to process it
correctly. (This would enable 'proofing' of each instrument for musical
correctness concerning octaves, barchecks, etc., without having to deal
with the complete score).
Write a separate file for the version, paper, header, sections, naming
it version-paper-header.ily
Write a separate file for the global constants; time, beat, key, etc.,
-structure, naming it global.ily
Write an overarching 'score' file "\include"ing all the relevant .ily
files, and containg any additional information for the final processing
by Lilypond, naming it 'musical-title'.ly
This approach is well-facilitated in Frescobaldi, using the
point-and-click correlation between the output pane and the relevant
input file. (Frescobaldi calls up the relevant .ily file even if it is
not loaded at the time - a very convenient feature).
Whether this would work well for someone with severe visual impairment
or other disability, I don't know.
Regards,
Bill
This is how a work might be structured:-
+++++++++++++++++
global.ily
version-paper-header.ily
+++++++++++++++++
bass.ily
bassoon.ily
cello.ily
clarinet.ily
drum.ily
flute.ily
horn.ily
oboe.ily
score.ily
trumpet.ily
viola.ily
violin-ii.ily
violin-i.ily
+++++++++++++++++
bass.ly
bassoon.ly
cello.ly
clarinet.ly
drum.ly
flute.ly
horn.ly
oboe.ly
trumpet.ly
viola.ly
violin-ii.ly
violin-i.ly
+++++++++++++++++
fullscore.ly
+++++++++++++++++
Example files are as follows:-
global.ily ---
==============
global=
{\time 12/8
\tempo 4. = 100
\key g \major
}
==============
version-paper.ily ---
==============
\version "2.17.15"
\header
{
%whatever is wanted from the full header definition as in the Lilypond
documentation...
}
#(set-global-staff-size 17)
\paper
{
indent = 30 % space for instrumentName
short-indent = 15 % space for shortInstrumentName
}
==============
a music file ---
==============
\include "version-paper.ily"
\include "global.ily"
\include "bass.ily"
\score {
{ \global \bassMusic }
\layout { }
}
==============
the 'score' file ---
==============
\score {
<<
\new StaffGroup = "StaffGroup_woodwinds"
<<
\new Staff = "Staff_flute"
{
\set Staff.instrumentName = #"Flute"
\global \fluteMusic
}
\new Staff = "Staff_clarinet"
{
\set Staff.instrumentName =
\markup { \concat { "Clarinet in B" \flat } }
\transposition bes
\global \transpose bes c' \clarinetMusic
}
\new Staff = "Staff_bassoon"
{
\set Staff.instrumentName = #"Bassoon"
\global \bassoonMusic
}
>>
\new StaffGroup = "StaffGroup_brass"
<<
\new Staff = "Staff_hornI"
{
\set Staff.instrumentName = #"Horn in F"
\transposition f
\transpose f c' \global \hornMusic
}
\new Staff = "Staff_trumpet"
{
\set Staff.instrumentName = #"Trumpet in C"
\global \trumpetMusic
}
>>
\new RhythmicStaff = "RhythmicStaff_percussion"
<<
\set RhythmicStaff.instrumentName = #"Percussion"
\global \percussionMusic
>>
\new StaffGroup = "StaffGroup_strings"
<<
\new StaffGroup = "StaffGroup_violins"
<<
\new Staff = "Staff_violinI"
{
\set Staff.instrumentName = #"Violin I"
\global \violinIMusic
}
\new Staff = "Staff_violinII"
{
\set Staff.instrumentName = #"Violin II"
\global \violinIIMusic
}
>>
\new Staff = "Staff_viola"
{
\set Staff.instrumentName = #"Viola"
\global \violaMusic
}
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user