On Thu, Mar 07, 2013 at 11:27:27PM +0100, Janek Warcho?? wrote: > On Thu, Mar 7, 2013 at 8:06 PM, David Kastrup <d...@gnu.org> wrote: > > The idea is that \relative { ... } (namely \relative used without an > > explicit reference pitch) uses the first note inside as the reference > > pitch. That is, if the first note happens to be written as fis'' it > > will sound as fis'' (absolute pitch). > > I was initially opposed to the idea of promoting this syntax as the > default, but now i quite like it. > > However, what will happen if the first entry is a chord? Would > \relative { <c' e' g'> <c e g> } mean { <c' e' g'> <c' e' g'> } or { > <c' e'' g'''> <c' e' g'> } ?
I experimented earlier today with this case a tiny bit and couldn't find any obvious breakdowns. It also refreshed my memory that \relative pertains to the *first* (not necessarily the highest or lowest) pitch in the chord, and single notes following a chord in a relative expression also follow the *first* note of the chord. See test example attached. To address your exact question, I would understand David's proposal to mean that the first *pitch* inside the music expression would be taken as the reference pitch. Subsequent *pitches* are relative to the reference pitch. \relative { <c' e' g'> <c e g> } would mean the same as: \relative c' { <c e' g'> <c e g> } Both triads start on middle C, but the first is spread more than two octaves, while the second is all in one octave. > Also, what would happen if someone used q as the first thing after > initial chord? No change. q works by repeating the pitches, not by "replaying" the input syntax. Otherwise even the current behaviour of: \relative c { <c' e g> q q q } would engrave each q an octave higher than the one before. Jim
\version "2.16.0" \score { \new Staff { \relative f { <f c' g' d' g c >2 d } \break % \relative { <f c' g' d' g c >2 d } \break \relative c' { <c f, g' d' g c >2 d } \break % \relative { <c' f, g' d' g c >2 d } \break \relative d'' { <d g g, c' c,, f, >2 d } \break % \relative { <d'' g g, c' c,, f, >2 d } \break \relative c''' { <c g d g, c, f, >2 d } \break % \relative { <c''' g d g, c, f, >2 d } \break \relative c' { <c e' g'>2 <c e g> } \break \relative c' { <c' e g>2 q q q } \break \relative { <c' e g>2 q q q } \break } }
test.pdf
Description: Adobe PDF document
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user