lilypond-user
[Top][All Lists]
Advanced

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

Re: Align above "current" staff


From: Aaron Hill
Subject: Re: Align above "current" staff
Date: Sun, 27 Sep 2020 23:32:08 -0700
User-agent: Roundcube Webmail/1.4.2

On 2020-09-27 7:35 pm, David Wright wrote:
I'm not sure that it does produce clarity (as opposed to merely
explaining the unreliability in perception). Would it not be
clearer to put the ossia music inside a \relative{}, so that
the main sequence of pitches carries through undisturbed, and
the ossia has its correct octave specified within itself, locally.

I always think it rather risky to put structure inside \relative{},
rather than putting the \relative{}s inside the structure.

\relative is nothing more than a tool for a job. Providing one understands how it works and can manage the sequencing of notes, it is not wrong nor unreliable to use at a top-level. If it were either, then LilyPond should not accept such usage.

The original \ossia function flips the arguments so the ordering of notes behind the scenes as \relative sees them no longer matches the natural progression within the input file. As such, argument order matters to accommodate folks who choose to use \relative at the higher level and maintain consistency with the existing precedent that parallel sections of music are processed in the order they occur within the source:

%%%%
\relative { 1st 2nd << { 3rd 4th } \\ { 5th 6th } >> 7th 8th }
%%%%

With the original \ossia function, one must follow this sequencing:

%%%%
\relative { 1st 2nd \ossia { 5th(!) 6th } { 3rd(!) 4th } 7th(!) 8th }
%%%%

That is three times the natural ordering is disturbed, so fixing the argument order definitely adds clarity.

Mind you, a user is always free to use \relative in a more localized scope:

%%%%
{
  \relative { 1st 2nd }
  \ossia \relative { 1st 2nd }
         \relative { 1st 2nd }
  \relative { 1st 2nd }
}
%%%%

But surely the music argument *nearest* the \ossia command should be the notes in the ossia itself, regardless of ones preference on using \relative. The alternative seems madness:

%%%%
{
  music preceding
  \ossia { careful, these are not the notes for the ossia }
         { here, written *below* those notes in the source,
           are the notes that will appear *above* them. }
  music following
}
%%%%


-- Aaron Hill



reply via email to

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