lilypond-user
[Top][All Lists]
Advanced

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

Re: What is the problem with "\relative"? (Was: Do we really offer the f


From: Simon Albrecht
Subject: Re: What is the problem with "\relative"? (Was: Do we really offer the future?)
Date: Thu, 23 Apr 2015 19:51:57 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0

Two small thoughts also from me:

– I think the preference one will take also depends on musical style: a piece of renaissance vocal music uses so few leaps greater than a fourth that the advantage of relative in typing is huge and it’s ‘error-pronity’ small. On the other extreme, a piano piece by George Crumb would probably a showcase for where absolute mode is at its best, if you get my point.

Am 23.04.2015 um 03:41 schrieb Kieren MacMillan:
Hi Gilles,

deprecate \relative, which I now avoid like the plague.
Why?
1. It doesn’t play well with reuse: both trivial reuse (i.e., cut-and-paste) 
and more advanced (i.e., referenced in variables) require extra care at the 
very least, and outright extra work (e.g., octave checks, transposition, etc.) 
in most cases. This means that sharing bits of music either within a file/piece 
or between files/pieces (or even between users) requires extra work and is 
error-prone.


2. It makes what should be simple adjustments unnecessarily complicated, with 
unnecessarily large impacts. Consider, as just one example, my paired functions
How about modifying these as
split =
#(define-music-function (parser location music1 music2)
    (ly:music? ly:music?)
    #{ <<
          \relative c' { \voiceOne $music1 }
          \context Voice = "2" \relative c' { \voiceTwo $music2 }
       >> \oneVoice
    #})

splitLU =
#(define-music-function (parser location music1 music2)
    (ly:music? ly:music?)
    #{ <<
          \relative c' { \voiceTwo $music1 }
          \context Voice = "2" \relative c' { \voiceOne $music2 }
       >> \oneVoice
    #})
This should reduce confusion here.
So, no reason for a crusade :-)

Yours, Simon



reply via email to

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