Re: beam breaking with tuplets

2016-02-10 Thread Urs Liska
Hi Andrew,

I can't compile your example on the mobile,  but you are most certainly 
experiencing an issue where LilyPond doesn't behave according to its declared 
intention. (Assuming that with "broken" you mean subdivided).

The proper handling of subdivisions under tuplets is on my agenda in rewriting 
the beaming pattern code, and this should be fixed in one of the next devel 
releases.

Urs


Am 10. Februar 2016 12:35:53 MEZ, schrieb "N. Andrew Walsh" 
:
>Hi List,
>
>I have the following expression:
>
>\version "2.19.36"
>
>\relative c'' {
>  \set subdivideBeams = ##t
>  \set baseMoment = #(ly:make-moment 1/8)
>  \set beatStructure = #'(2 2 2 2)
>  \time 4/8
>\tuplet 3/2 { es,16\( f g } \tuplet 3/2 { a b cis\) } \tuplet 3/2 {
>dis\(
>eis g } a32 b16.->\) |
>}
>
>
>If I read the NR correctly, that should have broken every beam below
>the
>8th-note level, but the second group retains the 16th-note beam between
>the
>g in the last triplet and the a32 of the next group. It is correct in
>the
>first beat, breaking the 16th-note beams between the two triplets.
>
>Am I formatting this incorrectly? (spoiler: the answer is most
>certainly
>"yes," so I guess my question is thus more properly formulated "how am
>I
>formatting this incorrectly, and what is the correct syntax?")
>
>Cheers,
>
>A
>
>
>
>
>___
>lilypond-user mailing list
>lilypond-user@gnu.org
>https://lists.gnu.org/mailman/listinfo/lilypond-user

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


beam breaking with tuplets

2016-02-10 Thread N. Andrew Walsh
Hi List,

I have the following expression:

\version "2.19.36"

\relative c'' {
  \set subdivideBeams = ##t
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = #'(2 2 2 2)
  \time 4/8
  \tuplet 3/2 { es,16\( f g } \tuplet 3/2 { a b cis\) } \tuplet 3/2 { dis\(
eis g } a32 b16.->\) |
}


If I read the NR correctly, that should have broken every beam below the
8th-note level, but the second group retains the 16th-note beam between the
g in the last triplet and the a32 of the next group. It is correct in the
first beat, breaking the 16th-note beams between the two triplets.

Am I formatting this incorrectly? (spoiler: the answer is most certainly
"yes," so I guess my question is thus more properly formulated "how am I
formatting this incorrectly, and what is the correct syntax?")

Cheers,

A
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: beam breaking in tuplets

2006-11-06 Thread Mats Bengtsson



Victor Eijkhout wrote:
 Beam breaking is a visual operation, not a mathematical one. I want a 
sixteenth beam broken at any beat boundary, no matter whether this is 
in 4/4 time or in a 27 over 26 fragment.


I don't agree completely. Beam breaking is used to clarify the rhythmic 
structure,

so you have to tell LilyPond where the beats are.


Btw, that raises another question I''ve been meaning to ask: do 
assignments have scope? Can I limit this beam setting overriding to 
one fragment, without explicitly restoring the old rules? (Lilypond 
looks so much like TeX that I would really expect such a mechanism to 
exist.)


If you do a \set ... or \override ..., the setting will be active within 
the current
context (unless you explicitly specify \set Score. ... or whatever other 
level in
the context hierarchy) from the current moment until the context dies 
(or you
change the setting). Even though the #(override-auto-beam-setting) is a 
function
that is slightly more advanced than an ordinary \set or \override, the 
scoping

principle is the same.

So, if you want a limited scope, you can explicitly create a short-lived 
context.

Here's an example that uses smaller note heads for one measure:

\relative c'{ c d e f \new Voice {\tiny g f e d } c d e d c1 }

  /Mats



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: beam breaking in tuplets

2006-11-06 Thread Erik Sandberg
On Monday 06 November 2006 09:25, Mats Bengtsson wrote:
 Victor Eijkhout wrote:
 So, if you want a limited scope, you can explicitly create a short-lived
 context.
 Here's an example that uses smaller note heads for one measure:

 \relative c'{ c d e f \new Voice {\tiny g f e d } c d e d c1 }

/Mats

Mats, do you think it would be useful with an operator \newClone to clone the 
current context? E.g.
\new Staff \with {\consists Foo_engraver bar=#'baz}
 { c d \tiny  e f \newClone Staff { g f e d} c d e }
would be equivalent to:
\new Staff \with {\consists Foo_engraver bar=#'baz}
 { c d \tiny e f \new Staff \with {\consists Foo_engraver bar=#'baz} { \tiny g 
f e d} c d e }

(I think such operator can come out as a side-effect of some work I'm doing)

-- 
Erik


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: beam breaking in tuplets

2006-11-06 Thread Mats Bengtsson



Erik Sandberg wrote:

On Monday 06 November 2006 09:25, Mats Bengtsson wrote:
  

Victor Eijkhout wrote:
So, if you want a limited scope, you can explicitly create a short-lived
context.
Here's an example that uses smaller note heads for one measure:

\relative c'{ c d e f \new Voice {\tiny g f e d } c d e d c1 }

   /Mats



Mats, do you think it would be useful with an operator \newClone to clone the 
current context? E.g.

\new Staff \with {\consists Foo_engraver bar=#'baz}
 { c d \tiny  e f \newClone Staff { g f e d} c d e }
would be equivalent to:
\new Staff \with {\consists Foo_engraver bar=#'baz}
 { c d \tiny e f \new Staff \with {\consists Foo_engraver bar=#'baz} { \tiny g 
f e d} c d e }


(I think such operator can come out as a side-effect of some work I'm doing)
  

Would it even make sense to make this the default behaviour of \new?
At least, it would probably cause less surprise to a newbie than the
current implementation, in examples like:
\relative c'{ \tiny c d {e d} \\ {c b} }
On the other hand, it would probably make it less obvious for the advanced
user to predict exactly what LilyPond does, for example in situations like

\relative c' \new Voice{
 c d e f
 
   c1
   \new Lyrics \lyricmode {
 Some4 text
  \new Voice \notemode { c d e2 }
{some more text }
 
   }
 
}
where it's not obvious if the inner Voice context would inherit anything
from the outer one (maybe this is already crystal clear to you).

  /Mats


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: beam breaking in tuplets

2006-11-06 Thread Erik Sandberg
On Monday 06 November 2006 12:59, Mats Bengtsson wrote:
 Erik Sandberg wrote:
  On Monday 06 November 2006 09:25, Mats Bengtsson wrote:
 
  Mats, do you think it would be useful with an operator \newClone to clone
  the current context? E.g.
  \new Staff \with {\consists Foo_engraver bar=#'baz}
   { c d \tiny  e f \newClone Staff { g f e d} c d e }
  would be equivalent to:
  \new Staff \with {\consists Foo_engraver bar=#'baz}
   { c d \tiny e f \new Staff \with {\consists Foo_engraver bar=#'baz} {
  \tiny g f e d} c d e }
 
  (I think such operator can come out as a side-effect of some work I'm
  doing)

 Would it even make sense to make this the default behaviour of \new?
 At least, it would probably cause less surprise to a newbie than the
 current implementation, in examples like:
  \relative c'{ \tiny c d {e d} \\ {c b} }

You have a point here. Perhaps we could have a context property 
cloneNewContexts, defaulted to #t for voices, which makes sure that contexts 
creations in the current context clone the current context, if the context 
types match. (so below, the context hierarchy would be Global-Score-Lyrics 
where the inner Voice is created, hence no settings would be inherited; this 
also means that the inner \new Voice should create a new staff implicitly).

I think the difficult thing is that the syntactical hierarchy of our input 
language doesn't match the hierarchy of contexts.

 On the other hand, it would probably make it less obvious for the advanced
 user to predict exactly what LilyPond does, for example in situations like

 \relative c' \new Voice{
   c d e f
   
 c1
 \new Lyrics \lyricmode {
   Some4 text
\new Voice \notemode { c d e2 }
  {some more text }

 }

 }
 where it's not obvious if the inner Voice context would inherit anything
 from the outer one (maybe this is already crystal clear to you).

-- 
Erik


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


beam breaking in tuplets

2006-11-05 Thread Victor Eijkhout

Is this a bug or a feature? (2.9.27, PPC)

\relative c'' {
\time 3/4
\times 3/4 { r4 g8 a16 bes a8 bes16 c d8 c16 bes } |
#(override-auto-beam-setting '(end 1 16 * *) 2 4)
r4 g8 a16 bes a8 bes16 c  |
}

I was expecting the beam in the tuplet to be broken the same way as  
in the measure after.


If I was expecting wrong, I'd appreciate a hint as to how to force  
this behaviour.


Victor.



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: beam breaking in tuplets

2006-11-05 Thread Victor Eijkhout

I don't think you want that. Just try this:

\relative c'' {
\time 3/4
#(override-auto-beam-setting '(end * * * *) 3 16)
#(override-auto-beam-setting '(end * * * *) 6 16)
#(override-auto-beam-setting '(end * * * *) 9 16)
\times 3/4 { r4 g8 a16 bes a8 bes16 c d8 c16 bes } |
r4 g8 a16 bes a16 bes c8  |
}
\version 2.9.27

Bad side effects.

But I think this approach points to a design error. Beam breaking is  
a visual operation, not a mathematical one. I want a sixteenth beam  
broken at any beat boundary, no matter whether this is in 4/4 time or  
in a 27 over 26 fragment.


Imho, of course.

Btw, that raises another question I''ve been meaning to ask: do  
assignments have scope? Can I limit this beam setting overriding to  
one fragment, without explicitly restoring the old rules? (Lilypond  
looks so much like TeX that I would really expect such a mechanism to  
exist.)


Victor.
On Nov 5, 2006, at 3:22 PM, Mats Bengtsson wrote:

If you divide a 3/4 measure into 4 equal beats, then each beat will  
be 3/16 long. So, you can obtain what you want with #(override-auto- 
beam-setting '(end * * * *) 3 16)

#(override-auto-beam-setting '(end * * * *) 6 16)
#(override-auto-beam-setting '(end * * * *) 9 16)

Since this is a fairly uncommon rhythm, LilyPond does not
specify any such default behaviour.

  /Mats


Quoting Victor Eijkhout [EMAIL PROTECTED]:


Is this a bug or a feature? (2.9.27, PPC)

\relative c'' {
\time 3/4
\times 3/4 { r4 g8 a16 bes a8 bes16 c d8 c16 bes } |
#(override-auto-beam-setting '(end 1 16 * *) 2 4)
r4 g8 a16 bes a8 bes16 c  |
}

I was expecting the beam in the tuplet to be broken the same way  
as  in the measure after.


If I was expecting wrong, I'd appreciate a hint as to how to  
force  this behaviour.


Victor.



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user











___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user