On 27/09/2025 16:39, Simon Albrecht wrote:
Hi everyone,
I figured this could be another entry for what might be a loose series,
please let me know if I should knock it off or keep it going.
Entering many chords in succession gets cumbersome quick, especially in
relative mode with wide intervals:
\relative { <c g' e'> <c a' f'> <c bes' g'> <c a' f'> | <c g' e'>1 }
But the <> alone add up.
This gets a lot easier knowing that <<>> aren’t just for different
Voices or Staffs, they can be for simultaneous music within one Voice
(or other Bottom context):
\context Bottom <<
{ c4 4 4 4 1 }
{ g4 a b a g1 }
\relative { e'4 f g f e1 }
>>
has the exact same output and meaning as the first version, but it’s
much easier to type and read and understand.
If you explicitly created the Voice (or other Bottom context? IDK what
other contexts this might apply to), you don’t need the \context Bottom
part.
HTH, Simon
I appreciate the saving of typing effort, but as a long-time programmer
I am a great believer in Saying What You Mean. This is saying one thing,
but meaning something else; that the two happen to generate the same
output is irrelevant.
I would prefer to define a "makeChordSequence" function that takes your
arguments and produces the right output. You may consider the difference
to be merely cosmetic, but the use of the function conveys information
to a reader that this really is chords and not some number of
parallel voices.