[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re: \stemBoth
From:       Mats Bengtsson <mats.bengtsson () s3 ! kth ! se>
Date:       2004-09-29 15:06:38
Message-ID: 415ACF7E.6050303 () s3 ! kth ! se
[Download RAW message or body]

If you have read computer science and know about stacks, then
it's easy to understand. I'll try to describe it without going
into that terminology.

When you do a
\override blabla #'someproperty = #'somevalue
as is done in \stemUp, you tell LilyPond to store the previous
property value in some memory and then add the new property value to
use. If you later say
\revert blabla #'someproperty
(as is done in stemBoth), you tell LilyPond to throw away the current
value and find the previous one from the memory where you saved it.
However, if you keep \override:ing several times, all previous values
are stored (think of a pile of papers, where you can add new papers
on top of the pile and when you remove the top one, then the earlier
appears on the top again, this is what's called a "stack" in computer
science).

The final piece of information you need is that \voiceOne does a \stemUp
(among others).

In your example, you do \stemUp twice but you only revert the value
once, which cancels out your \stemUp but you still have another implicit
\stemUp from the \voiceOne command.

Why did you add the extra \stemUp anyway?

    /Mats

Jean-marc LEGRAND wrote:
> 
> 
> 
> Hi list !
> 
> Some weird behaviour under Lily 2.2 and XP.
> 
> I've just moved from Lily2.0 to 2.2, and \stemBoth doesn't seem to work the same way.
> 
> Here's my script :
> 
> tr = \markup {\musicglyph #"scripts-rcomma"}
> 
> basseI =    \notes
>             \context Staff <<
>             \new Voice {\voiceOne
>             \time 4/4
>             \key d \minor
>                 \clef alto
>                 \relative c' {
> 
> \stemUp f1
> d2 c
> bes a
> b c
> f f
> e d
> a a
> \clef F
> g f
> e d
> c bes
> a f'
> f4.^\tr e8 f2
> \bar " "
> \time 3/4}
> \stemBoth f4 a8 bes c4
> bes4.^\tr (a8) g4
> a f2
> g4.^\tr (f8) e4
> f a c
> \clef alto
> d8 [e d c] bes [a]
> (...)
> 
> \stemBoth doesn't work at all : all the stems are still up. On the other hand,when I specify
> \stemDown, it does work fine.
> 
> Anyone knows why ?
> 
> Regards
> 
> 
> 
> _______________________________________________
> lilypond-user mailing list
> lilypond-user@gnu.org
> http://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
=============================================
	Mats Bengtsson
	Signal Processing
	Signals, Sensors and Systems
	Royal Institute of Technology
	SE-100 44  STOCKHOLM
	Sweden
	Phone: (+46) 8 790 8463				
         Fax:   (+46) 8 790 7260
	Email: mats.bengtsson@s3.kth.se
	WWW: http://www.s3.kth.se/~mabe
=============================================



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic