This is a breakaway thread from the one with the subject "Proposed new available and recommended behavior of \relative"
I am *OPPOSED* to the proposal to change \relative syntax, as the proposal now stands. I think it is confusing to new users to have the first pitch in a \relative block be absolute and the rest be relative. But I have another idea. I'm not sure if people will like it right away because it means changing/adding MORE syntax, but I think it will be MORE useful and more *intuitive*! Here's the idea. 1. Define absolute octave syntax with the @-sign (let it be a mnemonic for _A_bsolute) to be the syntax for temporarily specifying an ABSOLUTE PITCH within a \relative block, such that the next pitch, if it doesn't use the @-sign also, is relative to the absolute pitch. 2. Keep \relative X { ... } working the same way as it is (DON'T make convert-ly change it around). 3. Make \relative { X ... } work such the first pitch after the brace is expected to be an absolute pitch syntax with the single equal sign. If it is not, a warning is printed and the pitch is interpreted as relative to c' (the current behavior, except for the warning, right?). Why a new syntax? I frequently find that if I jump to the end of a big, long \relative { ... }, then frequently I don't remember which octave I'm in. Octave check is not a solution, because if I guess the part that comes before the = sign wrong, I'll keep getting warnings until I fix it. What is wanted is a way to temporarily jump into absolute note entry mode. An @-sign comes immediately after the note name, and is followed by any apostrophes or commas as necessary to specify the absolute octave. Examples: 1. { c4 c' c@'' c@, } These are interpreted as absolute pitches, so the @-signs are redundant here. They could be silently ignored, or the at signs could be an error outside of \relative blocks. 2. \relative c' { c4 g, g@' g } This is the same as { c'4 g, g' g' } in absolute mode, if I read it right. The last g is relative to the absolute g. 3. \relative { c@'4 c g' c } This is the same as { c'4 c' g' c'' } in absolute mode. This would be the form that new users of LilyPond would be encouraged to use in the documentation. 4. \relative { c4 c g' c } This is the same as \relative c' { c4 c g' c } EXCEPT that a warning will be printed about encountering \relative { X ... } where X is not specified absolutely (with at-sign). What do people think? --Christopher _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user