[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: \tag doesn't skip music properly
From: |
Erik Sandberg |
Subject: |
Re: \tag doesn't skip music properly |
Date: |
Tue, 28 Sep 2004 11:39:31 +0200 |
User-agent: |
KMail/1.6.2 |
On Tuesday 28 September 2004 10.50, Werner LEMBERG wrote:
> > sorry, I don't understand. What is the problem?
>
> foo = \relative c' {
> \tag #'xxx { c2 ges' | }
> \tag #'yyy { c2 fis | }
> a1 |
> }
>
> In the image you should get (in absolute pitches)
>
> upper staff: c' ges' a'
> lower staff: c' fis' a'
>
> but because of the bug lilypond sees (in relative pitches)
>
> c ges' c fis a
>
> which is in absolute pitches:
>
> c' ges' c'' fis'' a''
>
> causing the wrong result as seen in the image.
I think the current behaviour is in line with the way relative mode usually
works. The rule is simply that if you have a music expression M affected by
\relative, then the pitch of one note in that expression, is taken relative
the closest note to the left within M. ("To the left" here means "earlier in
the input file"). This is a very simple rule; no thinking is needed. So in
this expression
\tag #'xxx { c2 ges' | }
\tag #'yyy { cis2 fis | }
a1 |
the cis gets its pitch from the ges, and the a gets its pitch from the fis. I
think it would be confusing if it would work in any other way.
It could also create problems: If the pitch would be taken relative the
closest previously played note, then consider the example:
\relative c'{
\tag #'xxx {c c'}
\tag #'yyy {c c,}
d
}
The d would be taken in different octaves depending on which tags are kept
with; this would be a serious problem.
Erik