Hello,
not sure whether it's more appropriate for the "devel" list or for the
"user" list. So I'm posting it here and in case you don't find it
relevant, please tell me.
I've been thinking about this for several months already.
Many decades ago, there were a few text-based file formats for music
notation which all had one common feature.
The events that were supposed to occur all at the same time were given
on the same line of text, while the events that were supposed to occur
later were given on subsequent lines.
This had one strong advantage for people like me (who often hear music
in chords rather than in parts). I didn't have to rethink anything. Just
the way I heard the music in my head did I notate it in the text file.
Obviously those formats had drawbacks as well but this was the reason
why I was able to write stuff pretty fast there.
The way LilyPond works is a big contrast to them. In LilyPond, there
doesn't seem to be any option of getting something similar to that
behavior. Therefore, if I want to write, let's say, a 5-voiced piece and
I want to have good idea of how the voices go together, I actually have
to open 5 independent instances of my word processor, write each voice
separately, save each voice as an individual text file, and only when
it's all finished can I merge them all into one ".ly" file.
The trouble is, if the piece is very short, I could easily locate the
spots not just at the start of a measure but somewhere else as well.
However, if it takes something like 8 measures or more, there's almost
no chance I could possibly do that.
This requires me to first imagine "hearing" the parts separately, then
write one of them into "Voice 1", then write the next into "Voice 2" and
so on. Perhaps someone who's good at melodic thinking finds this okay
but for me it's enormously time-consuming.
To clarify, I'll try to first describe a short phrase in one of those
older formats (the letters after the octave numbers mean note lengths,
as in "o" for whole, "h" for half etc.). Then I'll describe the same
phrase with standard LilyPond syntax.
----------
c3o g3h C4h. E4h
g3h E4h
C4q
d3o f3o A3h F4q
E4h
B3h
D4q
c3o g3o C4o E4o
----------
\new PianoStaff \relative <<
\new Staff <<
\clef "treble"
{ e'2 e f4 e2 d4 e1 } \\
{ c2. c4 a2 b c1 }
>>
\new Staff <<
\clef "bass"
{ g2 g f1 g } \\
{ c,1 d c }
>>
>>
----------
My question is:
Would it ever be possible (perhaps in a future version) to make some
syntax adjustments in LilyPond which would make writing multiple-voiced
music at least slightly easier for people like me? Or, in case this
would be in strong conflict with the flexibility of LilyPond's syntax,
is there any alternative solution which I just don't know about? If
there is, it would definitely deserve being mentioned in the NR.
Thanks in advance for your suggestions.
Petr