Re: beam breaking with tuplets
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
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
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
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
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
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
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
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