Re: Control beaming with tuplets

2024-05-24 Thread Kenneth Flak
Perfect, thanks a lot!

Best,
Kenneth

Xavier Scheuer, May 24, 2024 at 12:41:
> On Fri, 24 May 2024 at 10:57, Kenneth Flak
> <[1]kennethf...@protonmail.com>
> wrote:
> >
> > Thanks! That almost did the trick. The only thing that's not working is that
> connecting beam between the two quintuplets. See attached screenshot...
>
> Hello,
>
> \set subdivideBeams = ##t
>
> And then either, for 2.24:
> \set baseMoment = #(ly:make-moment 1/8)
> \set beatStructure = 2,2,2,2
>
> or for 2.25:
> \set minimumBeamSubdivisionInterval = \musicLength 8
> \set maximumBeamSubdivisionInterval = \musicLength 16
>
> See NR 1.2.4.
> [2]https://lilypond.org/doc/v2.24/Documentation/notation/beams#
> setting-automatic-beam-behavior
> [3]https://lilypond.org/doc/v2.25/Documentation/notation/
> setting-automatic-beam-behavior
>
> Kind regards,
> Xavier
>
>
> References:
>
> [1] mailto:kennethf...@protonmail.com
> [2]
> https://lilypond.org/doc/v2.24/Documentation/notation/beams#setting-automatic-beam-behavior
> [3]
> https://lilypond.org/doc/v2.25/Documentation/notation/setting-automatic-beam-behavior






Re: Control beaming with tuplets

2024-05-24 Thread Xavier Scheuer
On Fri, 24 May 2024 at 10:57, Kenneth Flak 
wrote:
>
> Thanks! That almost did the trick. The only thing that's not working is
that connecting beam between the two quintuplets. See attached screenshot...

Hello,

\set subdivideBeams = ##t

And then either, for 2.24:
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2

or for 2.25:
  \set minimumBeamSubdivisionInterval = \musicLength 8
  \set maximumBeamSubdivisionInterval = \musicLength 16

See NR 1.2.4.
https://lilypond.org/doc/v2.24/Documentation/notation/beams#setting-automatic-beam-behavior
https://lilypond.org/doc/v2.25/Documentation/notation/setting-automatic-beam-behavior

Kind regards,
Xavier


Re: Control beaming with tuplets

2024-05-24 Thread Kenneth Flak
Thanks! That almost did the trick. The only thing that's not working is that 
connecting beam between the two quintuplets. See attached screenshot...

K


Damian leGassick, May 24, 2024 at 11:51:
> \tuplet 5/4 ?
>
> D
>
> > On 24 May 2024, at 09:44, Kenneth Flak  wrote:
> >
> > Hi,
> >
> > I'm trying to replicate the notation in originalHarp.png for harp with 
> > 5-tuplets, but the beaming I am getting is completely off... My attempt is 
> > in the file myAttempt.png, using this code:
> >
> > right = {
> >  \relative c'{
> >s4 \tuplet 5/2 {c32 e g bf df}
> >\tuplet 5/2 {c32 e g bf df}
> >c16 e fs g s4.
> >
> >  }
> > }
> >
> > left = {
> >  \textLengthOn
> >  \relative c {
> >\clef bass
> >  c8 e32 g bf df
> >  s4 s4  c,,
> >  }
> > }
> >
> > \score {
> >  \new PianoStaff
> >  <<
> >\new Staff = "right" \right
> >\new Staff = "left" \left
> >>>
> > }
> >
> > Any help much appreciated!
> >
> > Best,
> > Kenneth
> >
> > --
> > Roosna & Flak - Contemporary Dance & Music
> > Web: roosnaflak.com
> > Code: {github,gitlab}.com/kflak
> > Mastodon: @k...@sonomu.club
> > 
> > 




Re: Control beaming with tuplets

2024-05-24 Thread Damian leGassick
\tuplet 5/4 ?

D

> On 24 May 2024, at 09:44, Kenneth Flak  wrote:
> 
> Hi,
> 
> I'm trying to replicate the notation in originalHarp.png for harp with 
> 5-tuplets, but the beaming I am getting is completely off... My attempt is in 
> the file myAttempt.png, using this code:
> 
> right = {
>  \relative c'{
>s4 \tuplet 5/2 {c32 e g bf df}
>\tuplet 5/2 {c32 e g bf df}
>c16 e fs g s4.
> 
>  }
> }
> 
> left = {
>  \textLengthOn
>  \relative c {
>\clef bass
>  c8 e32 g bf df
>  s4 s4  c,,
>  }
> }
> 
> \score {
>  \new PianoStaff
>  <<
>\new Staff = "right" \right
>\new Staff = "left" \left
>>> 
> }
> 
> Any help much appreciated!
> 
> Best,
> Kenneth
> 
> -- 
> Roosna & Flak - Contemporary Dance & Music
> Web: roosnaflak.com
> Code: {github,gitlab}.com/kflak
> Mastodon: @k...@sonomu.club
> 
> 



Control beaming with tuplets

2024-05-24 Thread Kenneth Flak
Hi,

I'm trying to replicate the notation in originalHarp.png for harp with 
5-tuplets, but the beaming I am getting is completely off... My attempt is in 
the file myAttempt.png, using this code:

right = {
  \relative c'{
s4 \tuplet 5/2 {c32 e g bf df}
\tuplet 5/2 {c32 e g bf df}
c16 e fs g s4.

  }
}

left = {
  \textLengthOn
  \relative c {
\clef bass
  c8 e32 g bf df
  s4 s4  c,,
  }
}

\score {
  \new PianoStaff
  <<
\new Staff = "right" \right
\new Staff = "left" \left
  >>
}

Any help much appreciated!

Best,
Kenneth

-- 
Roosna & Flak - Contemporary Dance & Music
Web: roosnaflak.com
Code: {github,gitlab}.com/kflak
Mastodon: @k...@sonomu.club


Re: Vertical Spacing with Tuplets and Lyrics

2023-06-21 Thread Lib Lists
On Wed, 21 Jun 2023 at 00:33, Jean Abou Samra  wrote:
>
> Le mardi 20 juin 2023 à 23:44 +0300, Lib Lists a écrit :
>
> I think the problem is caused by Lilypond putting too many systems on the 
> page (have no idea why).
>
> The precise positioning of grobs such as tuplet brackets depends on the 
> horizontal spacing, which is not known yet during page breaking, so LilyPond 
> uses estimates at this stage. For tuplet brackets specifically, no such 
> estimates are currently implemented, so their height is not taken into 
> account, which is the reason why LilyPond ends up placing more systems on the 
> page than is reasonable in this code. This usually isn't a problem since 
> scores are usually not made of continuous tuplets (if there are tuplets 
> across all the score, you would customarily omit them after writing out the 
> first few).

Wow, interesting, and thank you (this is very useful to know)! I was
just reading yesterday about pure-unpure containers in Lilypond,
trying to figure out some possible use cases.

I think I've encountered a similar issue during the years, but I had
no idea what was the reason. I (think I) never asked for help here
thinking it's a bug and ended up instructing Lilypond to put less
systems per page or modifying the layout, staff size, etc. I
personally use a lot of brackets and in general there are many cases
in which the bracket shouldn't be omitted. Is there any technical
advantage in not having estimates for the brackets?

Cheers,
Lib



Re: Vertical Spacing with Tuplets and Lyrics

2023-06-20 Thread Jean Abou Samra
Le mardi 20 juin 2023 à 23:44 +0300, Lib Lists a écrit :

> I think the problem is caused by Lilypond putting too many systems on the 
> page (have no idea why).




The precise positioning of grobs such as tuplet brackets depends on the 
horizontal spacing, which is not known yet during page breaking, so LilyPond 
uses estimates at this stage. For tuplet brackets specifically, no such 
estimates are currently implemented, so their height is not taken into account, 
which is the reason why LilyPond ends up placing more systems on the page than 
is reasonable in this code. This usually isn't a problem since scores are 
usually not made of continuous tuplets (if there are tuplets across all the 
score, you would customarily omit them after writing out the first few).



Like most things, you can always customize those estimates:

```
\version "2.24.1"

CyBars = \drummode {
  \override TupletBracket.Y-extent =
#(ly:make-unpure-pure-container
  ly:grob::stencil-height
  '(0  . 7)) % adjust
  \repeat unfold 15 { \repeat unfold 4 { \tuplet 3/2 { hh4 hh8 } } \break }
}
DrBars = \drummode {
  \override TupletBracket.Y-extent =
#(ly:make-unpure-pure-container
  ly:grob::stencil-height
  '(-7 . 0))
 \repeat unfold 15 { bd4 \tuplet 3/2 { sn4 bd8 } bd4 sn \break }
}
PrOne = \lyricmode {
 \override LyricText.self-alignment-X = #LEFT
 \skip 4 "Lyrics for introduction"2.
}

\score {
  <<
  \new DrumStaff
  <<
\new DrumVoice { \voiceOne \CyBars }
\new DrumVoice { \voiceTwo \DrBars }

\new Lyrics { \PrOne }
  >>
  >>
}

```


signature.asc
Description: This is a digitally signed message part


Re: Vertical Spacing with Tuplets and Lyrics

2023-06-20 Thread Stu McKenzie



On Tue, 20 Jun 2023 at 22:18, Mogens Lemvig Hansen  
wrote:

It struck we as weird to put the lyrics inside the DrumStaff, so I tried 
something closer to what I would have done for a choir:

\score {

   <<

 \new DrumStaff <<

   \new DrumVoice { \voiceOne \CyBars }

   \new DrumVoice { \voiceTwo \DrBars }

 >>

 \new Lyrics { \PrOne }

   >>

}



Looks better to my eye.



Regards,

Mogens

Yet if the lyrics are something as:

PrOne = \lyricmode {
   \override LyricText.self-alignment-X = #LEFT
   \skip 1 "Lyrics for introduction"1
   \skip 2 "Lyrics for introduction"2
   \skip 1. "Lyrics for introduction"2
   \skip 1. "Lyrics for introduction"2
   \skip 1. "Lyrics for introduction"2
}

They still clash with the tuplet bracket.

I think the problem is caused by Lilypond putting too many systems on
the page (have no idea why). The verbose output says
'warning: compressing over-full page by 15.2 staff-spaces
warning: page 1 has been compressed'.

I added \paper { max-systems-per-page = 12 } and it seems to work as it should.

Cheers,
Lib


On 2023-06-20 13:59, Lib Lists wrote:

Maybe even better than writing explicitly the number of systems per page,
\paper { page-breaking-system-system-spacing.padding = 2 }
(https://lilypond.org/doc/v2.25/Documentation/notation/paper-variables-for-page-breaking)
seems to work.

On Tue, 20 Jun 2023 at 23:44, Lib Lists  wrote:


Mogens and Libs, thanks for your input.

Mogens, that's a very good suggestion to separate the lyrics, but still, 
the lyrics are very close to the staves.


Libs, both of the paper statements apply to all staves, so there is 
still too much space when there are no lyrics.


I think paper seems to be too global, I thought there would be something 
that could control individual staves.







Re: Vertical Spacing with Tuplets and Lyrics

2023-06-20 Thread Lib Lists
Maybe even better than writing explicitly the number of systems per page,
\paper { page-breaking-system-system-spacing.padding = 2 }
(https://lilypond.org/doc/v2.25/Documentation/notation/paper-variables-for-page-breaking)
seems to work.

On Tue, 20 Jun 2023 at 23:44, Lib Lists  wrote:
>
> On Tue, 20 Jun 2023 at 22:18, Mogens Lemvig Hansen  wrote:
> >
> > It struck we as weird to put the lyrics inside the DrumStaff, so I tried 
> > something closer to what I would have done for a choir:
> >
> > \score {
> >
> >   <<
> >
> > \new DrumStaff <<
> >
> >   \new DrumVoice { \voiceOne \CyBars }
> >
> >   \new DrumVoice { \voiceTwo \DrBars }
> >
> > >>
> >
> > \new Lyrics { \PrOne }
> >
> >   >>
> >
> > }
> >
> >
> >
> > Looks better to my eye.
> >
> >
> >
> > Regards,
> >
> > Mogens
>
> Yet if the lyrics are something as:
>
> PrOne = \lyricmode {
>   \override LyricText.self-alignment-X = #LEFT
>   \skip 1 "Lyrics for introduction"1
>   \skip 2 "Lyrics for introduction"2
>   \skip 1. "Lyrics for introduction"2
>   \skip 1. "Lyrics for introduction"2
>   \skip 1. "Lyrics for introduction"2
> }
>
> They still clash with the tuplet bracket.
>
> I think the problem is caused by Lilypond putting too many systems on
> the page (have no idea why). The verbose output says
> 'warning: compressing over-full page by 15.2 staff-spaces
> warning: page 1 has been compressed'.
>
> I added \paper { max-systems-per-page = 12 } and it seems to work as it 
> should.
>
> Cheers,
> Lib



Re: Vertical Spacing with Tuplets and Lyrics

2023-06-20 Thread Lib Lists
On Tue, 20 Jun 2023 at 22:18, Mogens Lemvig Hansen  wrote:
>
> It struck we as weird to put the lyrics inside the DrumStaff, so I tried 
> something closer to what I would have done for a choir:
>
> \score {
>
>   <<
>
> \new DrumStaff <<
>
>   \new DrumVoice { \voiceOne \CyBars }
>
>   \new DrumVoice { \voiceTwo \DrBars }
>
> >>
>
> \new Lyrics { \PrOne }
>
>   >>
>
> }
>
>
>
> Looks better to my eye.
>
>
>
> Regards,
>
> Mogens

Yet if the lyrics are something as:

PrOne = \lyricmode {
  \override LyricText.self-alignment-X = #LEFT
  \skip 1 "Lyrics for introduction"1
  \skip 2 "Lyrics for introduction"2
  \skip 1. "Lyrics for introduction"2
  \skip 1. "Lyrics for introduction"2
  \skip 1. "Lyrics for introduction"2
}

They still clash with the tuplet bracket.

I think the problem is caused by Lilypond putting too many systems on
the page (have no idea why). The verbose output says
'warning: compressing over-full page by 15.2 staff-spaces
warning: page 1 has been compressed'.

I added \paper { max-systems-per-page = 12 } and it seems to work as it should.

Cheers,
Lib



RE: Vertical Spacing with Tuplets and Lyrics

2023-06-20 Thread Mogens Lemvig Hansen
It struck we as weird to put the lyrics inside the DrumStaff, so I tried 
something closer to what I would have done for a choir:
\score {
  <<
\new DrumStaff <<
  \new DrumVoice { \voiceOne \CyBars }
  \new DrumVoice { \voiceTwo \DrBars }
>>
\new Lyrics { \PrOne }
  >>
}

Looks better to my eye.

Regards,
Mogens 


Sent from Mail for Windows

From: Stu McKenzie
Sent: June 20, 2023 9:46 AM
To: LilyPond User List
Subject: Vertical Spacing with Tuplets and Lyrics


I have a drums score that includes tuplets in both voiceOne (cymbals) and 
voiceTwo (drums), and lyrics for some bars.

I'm trying to adjust the vertical spacing so that the lyrics don't clash with 
the tuplet brackets.

The tiny example below contains an example of the combinations of the two 
voices and lyrics.

I've included the "paper" block (commented out) to show that, when allowed, all 
staves have the same spacing.  Enable the paper block to generate the result 
with "system-system-spacing" enabled.

The example has been expanded to deliberately repeat multiple times, to 
exaggerate the clashes when the paper block is commented out.

I would like to toggle the vertical spacing when there are, and are not, lyrics.

I've investigated, without success, changing properties of the 
VerticalAxisGroup grob.

"system-system-spacing" does not provide an elegant solution, because the 
staves without lyrics are too far apart.  What would be a better way to achieve 
the result that I desire?

Tiny (maybe not so tiny) example:

\version "2.24.0"

% \paper { system-system-spacing.basic-distance = #20 }

CyBars = \drummode {
 \repeat unfold 15 { \repeat unfold 4 { \tuplet 3/2 { hh4 hh8 } } \break }
}
DrBars = \drummode {
 \repeat unfold 15 { bd4 \tuplet 3/2 { sn4 bd8 } bd4 sn \break }
}
PrOne = \lyricmode {
 \override LyricText.self-alignment-X = #LEFT
 \skip 4 "Lyrics for introduction"2.
}

\score {
  \new DrumStaff
  <<
    \new DrumVoice { \voiceOne \CyBars }
    \new DrumVoice { \voiceTwo \DrBars }
    \new Lyrics { \PrOne }
  >>
}



Vertical Spacing with Tuplets and Lyrics

2023-06-20 Thread Stu McKenzie


I have a drums score that includes tuplets in both voiceOne (cymbals) 
and voiceTwo (drums), and lyrics for some bars.


I'm trying to adjust the vertical spacing so that the lyrics don't clash 
with the tuplet brackets.


The tiny example below contains an example of the combinations of the 
two voices and lyrics.


I've included the "paper" block (commented out) to show that, when 
allowed, all staves have the same spacing.  Enable the paper block to 
generate the result with "system-system-spacing" enabled.


The example has been expanded to deliberately repeat multiple times, to 
exaggerate the clashes when the paper block is commented out.


I would like to toggle the vertical spacing when there are, and are not, 
lyrics.


I've investigated, without success, changing properties of the 
VerticalAxisGroup grob.


"system-system-spacing" does not provide an elegant solution, because 
the staves without lyrics are too far apart.  What would be a better way 
to achieve the result that I desire?


_*Tiny (maybe not so tiny) example:*_

\version "2.24.0"

% \paper { system-system-spacing.basic-distance = #20 }

CyBars = \drummode {
 \repeat unfold 15 { \repeat unfold 4 { \tuplet 3/2 { hh4 hh8 } } \break }
}
DrBars = \drummode {
 \repeat unfold 15 { bd4 \tuplet 3/2 { sn4 bd8 } bd4 sn \break }
}
PrOne = \lyricmode {
 \override LyricText.self-alignment-X = #LEFT
 \skip 4 "Lyrics for introduction"2.
}

\score {
  \new DrumStaff
  <<
    \new DrumVoice { \voiceOne \CyBars }
    \new DrumVoice { \voiceTwo \DrBars }
    \new Lyrics { \PrOne }
  >>
}


Re: incomplete tuplets

2021-07-31 Thread David Zelinsky
Aaron Hill  writes:

> On 2021-07-31 2:44 pm, David Zelinsky wrote:
>> The suggested notation for this was to use a quintuplet bracket that
>> was
>> open on the right, and extended slightly beyond the second notehead, or
>> beyond the beam.  See attached.
>>
>> Is there a sensible way to do that in Lilypond?  I've searched
>> around in
>> the documentation but haven't found anything.
>
> Not a perfect replica, but hopefully a start:
>
> 
> \version "2.22.0"
>
> \fixed c'' {
>   \time 2/20
>   #(ly:expect-warning "strange time signature")
>   \once \override TupletBracket.bracket-visibility = ##t
>   \once \override TupletBracket.edge-height = #'(0.7 . 0)
>   \once \override TupletBracket.shorten-pair = #'(0 . -1)
>   \once \override TupletBracket.padding = 3
>   \tuplet 5/4 { a16[ bes16] }
>   \time 4/8
>   r8
> }
> 
>
> -- Aaron Hill


Thanks!  I knew there had to be some magic like that!

-David



Re: incomplete tuplets

2021-07-31 Thread Aaron Hill

On 2021-07-31 2:44 pm, David Zelinsky wrote:
The suggested notation for this was to use a quintuplet bracket that 
was

open on the right, and extended slightly beyond the second notehead, or
beyond the beam.  See attached.

Is there a sensible way to do that in Lilypond?  I've searched around 
in

the documentation but haven't found anything.


Not a perfect replica, but hopefully a start:


\version "2.22.0"

\fixed c'' {
  \time 2/20
  #(ly:expect-warning "strange time signature")
  \once \override TupletBracket.bracket-visibility = ##t
  \once \override TupletBracket.edge-height = #'(0.7 . 0)
  \once \override TupletBracket.shorten-pair = #'(0 . -1)
  \once \override TupletBracket.padding = 3
  \tuplet 5/4 { a16[ bes16] }
  \time 4/8
  r8
}


-- Aaron Hill

incomplete tuplets

2021-07-31 Thread David Zelinsky
Recently there was a discussion on the Music Engraving Tips facebook
group involving a non-dyadic time signature, that required notating a
*pair* of quintuplet 16th notes, without the rest of the quintuplet.
It's not that there were rests for the other three.  The measure just
ended after the first two.

The suggested notation for this was to use a quintuplet bracket that was
open on the right, and extended slightly beyond the second notehead, or
beyond the beam.  See attached.

Is there a sensible way to do that in Lilypond?  I've searched around in
the documentation but haven't found anything.

I don't want to debate the merits of this notation--I have my own doubts
about it.  I'm just curious how to do such a thing in Lilypond.

-David




RE: Beaming in nested tuplets

2021-05-30 Thread Mark Stephen Mrotek
Mark,

Is this acceptable?

\version "2.22"
tune = \relative c'' {
  \clef treble
  b2^"A"  \tuplet 3/2 {
\tuplet 5/4 { b16 cis cis b \set stemRightBeamCount = #1 d }
\tuplet 5/4 { \set stemLeftBeamCount = #1
  f16 a, a bes \set stemRightBeamCount = #1 c }
\tuplet 6/4 { \set stemLeftBeamCount = #1
  e16 a bes f c  g }}}

\score { \new Staff \tune }

Mark

-Original Message-
From: lilypond-user
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
Mark Probert
Sent: Sunday, May 30, 2021 5:45 PM
To: 'Lilypond-User Mailing List' 
Subject: Beaming in nested tuplets


Hi, all.

Can someone tell me how to break the beaming on tuplet nesting? Here is a
snippet from "The Black Page" and I'd like to break the default beam
connecting the three nested tuplets.

Thanks .. mark.

---
\version "2.22"

tune = \relative c'' {
  \clef treble
  b2^"A"  \tuplet 3/2 {
\tuplet 5/4 { b16 cis cis b d }
\tuplet 5/4 { f16 a, a bes c }
\tuplet 6/4 { e16 a bes f c g }}}

\score { \new Staff \tune }




Beaming in nested tuplets

2021-05-30 Thread Mark Probert


Hi, all.

Can someone tell me how to break the beaming on tuplet nesting? Here is 
a snippet from "The Black Page" and I'd like to break the default beam 
connecting the three nested tuplets.

Thanks .. mark.

---
\version "2.22"

tune = \relative c'' {
  \clef treble
  b2^"A"  \tuplet 3/2 {
\tuplet 5/4 { b16 cis cis b d }
\tuplet 5/4 { f16 a, a bes c }
\tuplet 6/4 { e16 a bes f c g }}}

\score { \new Staff \tune }



Re: Tuplets and line break confusion

2021-04-24 Thread Lukas-Fabian Moser

Hi,

Am 24.04.21 um 13:01 schrieb Николай Аничков:
Hello! I am faced with the problem of displaying some rhythms. For 
example, the third and seventh measures look different, although they 
are simply copied. The line break is not displayed at all and 
furthermore it destroys the league between the fourth and fifth bars.


The usual reason for this kind of problem is incorrectly entered rhythm.

In your case, even your first "bar" is not a regular 3/4 measure. You wrote

\tuplet 3/2 4 {\ra 7 d 8 (\triplet {g16) d g}} \fla d8 \ra0 d4 (d) 
%first bar


where you probably meant

\tuplet 3/2 4 {\ra 7 d 8 (\triplet {g16) d g} \fla d8}  \ra0 d4 (d) 
%first bar


Lukas





Tuplets and line break confusion

2021-04-24 Thread Николай Аничков
Hello! I am faced with the problem of displaying some rhythms. For example,
the third and seventh measures look different, although they are simply
copied. The line break is not displayed at all and furthermore it destroys
the league between the fourth and fifth bars.

-- 
С уважением, Николай Аничков.
\version "2.20.0"
%{
  LilyPond file definitions for Highland snare drum scores.
  Version 2.0
  Originally contributed by Simon Froger, with help from
  Pierre Perol-Schneider and Gilles Thibault.
  
  Please save the following definitions as scottish-drums.ily
  and add this line to your score:
  \include "[path]/scottish-drums.ily"
  
  Music should then be written inside
  \new DrumStaff {
\drummode {
 [music]
}
  }
  or by using the \drums { [music] } shortcut.

QUICK GUIDE:

d: (`droit’) right hand stroke
g: (`gauche’) left hand stroke

->: accent
\v: strong accent
  
FLA and DRAG are to be inserted *before* the note.

RA takes the following note as an argument,
optionally preceded by a number to be
printed as the tremolo count.

%}

% note names definition:
% d for the right hand, g for the left one.
drumPitchNames =
#(append
  '((d . main-droite)
(g . main-gauche))
  drumPitchNames)

% right hand should be printed above the staff line,
% left hand below.
#(define mysnaredrums
   '((main-droite  default  #f  1)
 (main-gauche  default  #f  -1)))

% marges internes :
\paper {
  markup-system-spacing.basic-distance = #15
  system-system-spacing.basic-distance = #15
}

\layout {
  indent = 0
  % Stems need to make some room for RA count numbers.
  % If actual ordinary markups are required, these will
  % need to be preceded with \textLengthOff
  \textLengthOn
  \dynamicUp
  \set DrumStaff.drumStyleTable = #(alist->hash-table mysnaredrums)
  \context {
\DrumStaff
% one-line staff
\override StaffSymbol.line-positions = #'(0)
% bar lines
\override BarLine.bar-extent = #'(-2 . 2)
% stems
\override Stem.direction = #-1
\override Stem.length = #11
\override Stem.stemlet-length = #1.5
% horizontal beams
\override Beam.positions = #'(-5.5 . -5.5)
% RA count numbers below the curves
\override TextScript.outside-staff-priority = ##f
\override TextScript.side-axis = #0
\override TextScript.staff-padding = #3
\override TextScript.X-offset = #2
\override TextScript.extra-offset = #'(-0.3 . 0)
% tremolos (RA)
\override StemTremolo.slope = #0.5
\override StemTremolo.beam-width = #1.5
\override StemTremolo.beam-thickness = #0.3
\override StemTremolo.extra-offset = #'(0 . 0.6)
%\override StemTremolo.Y-offset = #-3.3
% Repeat brackets:
\consists "Horizontal_bracket_engraver"
\override HorizontalBracket.staff-padding = #8
\override HorizontalBracket.direction = #DOWN
\override HorizontalBracket.bracket-flare = #'(0 . 0)
  }
  \context {
\Score
\override RehearsalMark.break-align-symbols = #'(clef)
\override RehearsalMark.padding = #3
\override VoltaBracket.edge-height = #'(1.5 . 1.5)
  }
}

% grace notes :
startGraceMusic = {
  \stemUp
  \tiny
  \override Flag.stroke-style = #"grace"% slashed stems
  \once \override Beam.positions = #'(3 . 3)  % beam position for drag notes
  \once \override DrumStaff.Stem.length = #7  % end beam position
}
stopGraceMusic =  {
  %\override Beam.positions = #'(-6 . -6)
  \revert Flag.stroke-style
  %\revert DrumStaff.Stem.length
  \normalsize
  \stemNeutral
}

%%%
%%  SPECIAL FUNCTIONS:  %%%
%%%

% TRIPLETS & QUINTUPLETS:

triplet =
#(define-music-function (parser location myMusic) (ly:music?)
   #{ \drummode { \tuplet 3/2 { #myMusic } } #})

quintuplet =
#(define-music-function (parser location myMusic) (ly:music?)
   #{ \drummode { \tuplet 5/4 { #myMusic } } #})


% DYNAMICS:
v =
#(define-event-function (parser location) ()
   #{ \upbow #})

% DYNAMICS WITH EXTENDERS:
dynLine =
#(define-music-function (parser location text) (markup?)
   #{
 \once \override TextSpanner.style = #'line
 \once \override TextSpanner.bound-details.left.text = \markup {
   \combine
   \draw-line #'(0 . -1)
   \draw-line #'(1 . 0)
   \dynamic #text
 }
 \once \override TextSpanner.bound-details.right.text = \markup {
   \draw-line #'(0 . -1)
 }
   #})


% REPEAT BRACKETS:
% Beginning:
dr =
#(define-event-function (parser location) ()
   #{ \startGroup #})
% Ending :
fr =
#(define-event-function (parser location) ()
   #{ \stopGroup #})

% On one single note :
rn = \markup \lower #4 \halign #1 {
  \path #0.1 #'((moveto 0 0)
(lineto 0 -1)
(lineto 2 -1)
(lineto 2 0))
}



% FLAS and DRAGS:
fla =
#(define-music-function (parser location myNote) (ly:music?)
   (define test
 (filter
  (lambda (m)
(= (ly:music-property m 'span-direction 0) -1))
  (extract-named-music myNote 

Re: Suggestion: Use non powers of 2 for tuplets

2021-03-27 Thread Christian Masser
Thanks for that lengthy answer, David!

Of course it's easy for me to find pros and cons without having the
responsibility over such a big project. At the end of the day it's you devs
that watch over the sanity and compatibility of Lilypond - and that's good
this way. After all I just wanted to point out some potential positive side
aspects where I saw the negative ones well covered, because I (still) think
the idea has at least potential. :)

@Martín:

> Except when it wouldn’t be easy to notate that way. In a 4/5 time what can 
> easily be notated as \tuplet 5/4 { c2 d4 e4 } (an incomplete tuplet, which is 
> what I would expect to see in print) would have to be notated as "c2,5 d5 e5" 
> using this other notation. Other irrational time signatures would need such 
> decimal numbers for some note values as well. It doesn’t seem to be more 
> practical to deal with decimals than just writing what you intend Lilypond to 
> print, in your case "c2 \tuplet 3/2 {d4 e }".
>
> When having multiple ways to do things it's always easy to find examples
where one way is superior to the other. This in itself does not necessarily
lead to one way being worse than the other. (And yes, "c2.5" doesn't make
sense at all, even though it would be a mathematically well defined length.)

Anyway, that's more than I ever wanted to say on this topic. Hope you all
have a nice weekend!

All the best
Christian

Am Sa., 27. März 2021 um 00:16 Uhr schrieb David Kastrup :

> Christian Masser  writes:
>
> > Hi David!
> >
> > Fully understanding that you would probably be the one that would
> > (have or not have to) implement this mess,
>
> No, that isn't it.  I am not really all that conservative: there have
> been loads of stuff I squeezed into the existing syntax, usually trying
> to make sure that it fits logically there.
>
> But LilyPond's concept of durations is solidly married to notational
> conventions that are rooted in powers of two.  It is somewhat
> normatively rooted in classical conventions (which means that the
> representation for things like chant is overly rhythmically rigid and it
> doesn't reflect the ambiguities of mensural notation) but in the end the
> graphical symbols it picks for representing note lengths are tightly
> related to the input, and the internal representation of music, again,
> is both representative of the input and the graphical output.
>
> > instead of trying to answer every single question you asked, I'd like
> > to make a technical proposal of how those notes could be
> > rendered. (And just for context: I very well understand, that Lilypond
> > has to display music for other people to play, and I'm one of those
> > guys that will try 10-20 different versions of a bar if I get the
> > feeling that my idea isn't clearly put to paper - so I do understand
> > that there's a difference between "c4. c4." and "\tuplet 2/3 { c4 c4
> > }" ).
> >
> > The major problem behind the concept of single tuplet-parts like "c6" -
> or
> > in the syntax we have right now: "\times 2/3 { c4 }" - is, that our
> western
> > music has no common consensus of how to write unfinished tuplets. The way
> > I've seen these written was with a "unfinished" bracket above it. (So the
> > small line at the right end of the bracket was missing.) If you're
> > interested in it, I should have a picture of the corresponding bars
> > somewhere.
> >
> > My proposal would be:
> > a) Display a note with length x using the largest base-2-note smaller
> than
> > it. For example: c3 would be displayed using c2, c5/6/7 using c4,
> > c9/10/11/etc. using c8 and so on.
> > b) Display them with an open bracket above the note, showing the
> > corresponding number above it, no groupings unless
> > c) Use '[' and ']' to manually group those notes. Maybe(!) automise
> > grouping whenever note values add up to a base-2-value. (Or for example,
> if
> > the time signature is quarter based, auto-group only when a multiple of a
> > quarter is reached. Semi-quaver based? Auto-group only when a multiple
> of a
> > semi-quaver is reached.)
>
> Again: it is not LilyPond's job to invent notation.  If you have a
> notation system and want to give LilyPond the capability of reflecting
> parts of it in the input, one can see what would be required for making
> music functions et al flexible enough to deal with a reasonable input
> representation.
>
> But I would consider it a mistake to nail this into a hardwired syntax
> with a meaning not rooted in existing conventions.  What are we going to
> do when conventions come into being that clash with what LilyPond has
> ch

Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Carl Sorensen


On 3/26/21, 5:41 PM, "lilypond-user on behalf of Valentin Petzel" 
 wrote: 

Your points about beaming and grouping are reasonable, but the idea is not 
replacing tuplet with such a notation, but making such notation easier. And 
there are many cases where the default grouping by beat structure is pretty 
much what you want. In the worst case one can simply group the notes 
manually, 
which is still much faster than doing lots of different tuplets and hiding 
the 
Brackets (if you do a piece that frequently changes between division 2 and 
division 3 this takes a stupid amount of time!)

You could easily write your own music function to write in division 3.

\inThree {c8 c c}

Or \"in3"{c8 c c}

Or \in³{c8 c c}

Your function could do whatever you would like to do about hiding brackets or 
anything else you wanted to do.

And it wouldn't require rewriting LilyPond's parser.  Or hardwire 
non-conventional notation into LilyPond's core.

Carl




Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread David Kastrup
Valentin Petzel  writes:

> I’m not really sure why you’d call it invasive. It would change
> nothing about the way Lilypond works, but just add power to the input
> language.

The input language is a comparatively direct representation of the music
expressions, so you are not adding power to the input language but are
declaring a part of the input language that is to bypass LilyPond's
concept of music.

> Your points about beaming and grouping are reasonable, but the idea is
> not replacing tuplet with such a notation, but making such notation
> easier. And there are many cases where the default grouping by beat
> structure is pretty much what you want. In the worst case one can
> simply group the notes manually, which is still much faster than doing
> lots of different tuplets and hiding the Brackets (if you do a piece
> that frequently changes between division 2 and division 3 this takes a
> stupid amount of time!)

LilyPond gives you music functions and other tools for programmatically
creating music from input, and that is essentially what you want to do
here.

-- 
David Kastrup



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Valentin Petzel
I’m not really sure why you’d call it invasive. It would change nothing about 
the way Lilypond works, but just add power to the input language.

Your points about beaming and grouping are reasonable, but the idea is not 
replacing tuplet with such a notation, but making such notation easier. And 
there are many cases where the default grouping by beat structure is pretty 
much what you want. In the worst case one can simply group the notes manually, 
which is still much faster than doing lots of different tuplets and hiding the 
Brackets (if you do a piece that frequently changes between division 2 and 
division 3 this takes a stupid amount of time!)

Cheers,
Valentin

signature.asc
Description: This is a digitally signed message part.


Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread David Kastrup
Christian Masser  writes:

> Hi David!
>
> Fully understanding that you would probably be the one that would
> (have or not have to) implement this mess,

No, that isn't it.  I am not really all that conservative: there have
been loads of stuff I squeezed into the existing syntax, usually trying
to make sure that it fits logically there.

But LilyPond's concept of durations is solidly married to notational
conventions that are rooted in powers of two.  It is somewhat
normatively rooted in classical conventions (which means that the
representation for things like chant is overly rhythmically rigid and it
doesn't reflect the ambiguities of mensural notation) but in the end the
graphical symbols it picks for representing note lengths are tightly
related to the input, and the internal representation of music, again,
is both representative of the input and the graphical output.

> instead of trying to answer every single question you asked, I'd like
> to make a technical proposal of how those notes could be
> rendered. (And just for context: I very well understand, that Lilypond
> has to display music for other people to play, and I'm one of those
> guys that will try 10-20 different versions of a bar if I get the
> feeling that my idea isn't clearly put to paper - so I do understand
> that there's a difference between "c4. c4." and "\tuplet 2/3 { c4 c4
> }" ).
>
> The major problem behind the concept of single tuplet-parts like "c6" - or
> in the syntax we have right now: "\times 2/3 { c4 }" - is, that our western
> music has no common consensus of how to write unfinished tuplets. The way
> I've seen these written was with a "unfinished" bracket above it. (So the
> small line at the right end of the bracket was missing.) If you're
> interested in it, I should have a picture of the corresponding bars
> somewhere.
>
> My proposal would be:
> a) Display a note with length x using the largest base-2-note smaller than
> it. For example: c3 would be displayed using c2, c5/6/7 using c4,
> c9/10/11/etc. using c8 and so on.
> b) Display them with an open bracket above the note, showing the
> corresponding number above it, no groupings unless
> c) Use '[' and ']' to manually group those notes. Maybe(!) automise
> grouping whenever note values add up to a base-2-value. (Or for example, if
> the time signature is quarter based, auto-group only when a multiple of a
> quarter is reached. Semi-quaver based? Auto-group only when a multiple of a
> semi-quaver is reached.)

Again: it is not LilyPond's job to invent notation.  If you have a
notation system and want to give LilyPond the capability of reflecting
parts of it in the input, one can see what would be required for making
music functions et al flexible enough to deal with a reasonable input
representation.

But I would consider it a mistake to nail this into a hardwired syntax
with a meaning not rooted in existing conventions.  What are we going to
do when conventions come into being that clash with what LilyPond has
chosen to do?

> I'm sure there are questions and corner cases I haven't thought about,
> but in general this would seem to me as a very sane default way to
> render these elements and I - personally and subjectively - would
> consider it a meaningful addition to Lilypond.

I wouldn't.  This is much more invasive than the
Completion_heads_engraver and we had tons of back-and-forth issues
picking compromise semantics for it (and its behavior is still
discontinuous and intentionally so).  And it is off by default.

> (And I also think that it would be very much in the spirit of
> Lilypond, but who am I to judge THAT?)  I understand at the same time
> that, given there is no convention right now, this might result in
> compatibility problems if in 10, 20 years there would be consensus
> about this and it would look completely different then Lilypond hat
> implemented it - but this is something I highly doubt.

It's not LilyPond's job to invent notation.

No matter who'd pick up the job, I'd consider it a bad idea.

-- 
David Kastrup



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Christian Masser
Hi David!

Fully understanding that you would probably be the one that would (have or
not have to) implement this mess, instead of trying to answer every single
question you asked, I'd like to make a technical proposal of how those
notes could be rendered. (And just for context: I very well understand,
that Lilypond has to display music for other people to play, and I'm one of
those guys that will try 10-20 different versions of a bar if I get the
feeling that my idea isn't clearly put to paper - so I do understand that
there's a difference between "c4. c4." and "\tuplet 2/3 { c4 c4 }" ).

The major problem behind the concept of single tuplet-parts like "c6" - or
in the syntax we have right now: "\times 2/3 { c4 }" - is, that our western
music has no common consensus of how to write unfinished tuplets. The way
I've seen these written was with a "unfinished" bracket above it. (So the
small line at the right end of the bracket was missing.) If you're
interested in it, I should have a picture of the corresponding bars
somewhere.

My proposal would be:
a) Display a note with length x using the largest base-2-note smaller than
it. For example: c3 would be displayed using c2, c5/6/7 using c4,
c9/10/11/etc. using c8 and so on.
b) Display them with an open bracket above the note, showing the
corresponding number above it, no groupings unless
c) Use '[' and ']' to manually group those notes. Maybe(!) automise
grouping whenever note values add up to a base-2-value. (Or for example, if
the time signature is quarter based, auto-group only when a multiple of a
quarter is reached. Semi-quaver based? Auto-group only when a multiple of a
semi-quaver is reached.)

I'm sure there are questions and corner cases I haven't thought about, but
in general this would seem to me as a very sane default way to render these
elements and I - personally and subjectively - would consider it a
meaningful addition to Lilypond. (And I also think that it would be very
much in the spirit of Lilypond, but who am I to judge THAT?)
I understand at the same time that, given there is no convention right now,
this might result in compatibility problems if in 10, 20 years there would
be consensus about this and it would look completely different then
Lilypond hat implemented it - but this is something I highly doubt.

And after all: If the user doesn't like the way the notes are rendered,
there's always the possibility to use the conventional methods of \times
and \tuplet.

Hope this helps to convey my 2 cents a little bit clearer. :)

All the best
Christian



Am Fr., 26. März 2021 um 22:21 Uhr schrieb David Kastrup :

> Christian Masser  writes:
>
> > Just adding my two cents to this debate. In my humble opinion it's pretty
> > clear what "12" in this context means as Lilypond's syntax is always
> about
> > the divisor. c4 is always a quarter of a whole note. Therefore c12 would
> > always be a twelth of a whole note, thus a third of a quarter note.
>
> You mean, an eighth triole?  Or an eighth sextuplet?

> And c7 would always be a seventh of a whole note.
>
> How would this print?  LilyPond does not only produce MIDI, you know.

> With this in mind, why should input like "c3" yield an error if it's
> > otherwise very consistend with the syntax and definitely unambiguous?
>
> It is unambiguous?  Is it a half note triplet?  Or a sextuplet in 2/1
> time?  To be printed with a bracket or not?

> (And the dots also don't pose problems in a mathematical sense, as
> > it's clearly defined, that one dot prolonges the note by a half of
> > it's value, two dots by a half and a quarter and so on.)
>
> You are confusing the sonics with the visuals.  LilyPond would not be
> free to replace c4. c4. with \tuplet 2/3 { c4 c4 } and vice versa even
> though the MIDI would sound the same.

> Things like these should be easy in Lilypond, considering it's sheer
> > flexibility and hackability. And if I were a composer writing in 5/6,
> > i would probably be happy if I could just write "c2 d6 e6 |".
>
> Problem is that LilyPond is not the one playing the music, but it
> produces a print that somebody has to play.  And when there is no
> notation corresponding to the input, LilyPond will have a hard time
> suggesting how to play things.
>
-- 
> David Kastrup
>


Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Martinrinconbotero
  
  

  
  >  Things like these should be easy in Lilypond, considering it's sheer  >  
flexibility and hackability. And if I were a composer writing in 5/6,  >  i 
would probably be happy if I could just write "c2 d6 e6 |".  
  
  

  
  
  
 Except when it wouldn’t be easy to notate that way. In a 4/5 time what can 
easily be notated as \tuplet 5/4 { c2 d4 e4 } (an incomplete tuplet, which is 
what I would expect to see in print) would have to be notated as "c2,5 d5 e5" 
using this other notation. Other irrational time signatures would need such 
decimal numbers for some note values as well. It doesn’t seem to be more 
practical to deal with decimals than just writing what you intend Lilypond to 
print, in your case "c2 \tuplet 3/2 {d4 e }".
  
  
  
 —Martín.
  
  
  www.martinrinconbotero.com (http://www.martinrinconbotero.com) 
  

  
  
>   
> On Mar 26, 2021 at 10:23 PM,  mailto:d...@gnu.org)>  wrote:
>   
>   
>   
>  Christian Masser   (mailto:christian.mas...@gmail.com)>  writes:  >  Just adding my two cents to 
> this debate. In my humble opinion it's pretty  >  clear what "12" in this 
> context means as Lilypond's syntax is always about  >  the divisor. c4 is 
> always a quarter of a whole note. Therefore c12 would  >  always be a twelth 
> of a whole note, thus a third of a quarter note. You mean, an eighth triole? 
> Or an eighth sextuplet?  >  And c7 would always be a seventh of a whole note. 
> How would this print? LilyPond does not only produce MIDI, you know.  >  With 
> this in mind, why should input like "c3" yield an error if it's  >  otherwise 
> very consistend with the syntax and definitely unambiguous? It is 
> unambiguous? Is it a half note triplet? Or a sextuplet in 2/1 time? To be 
> printed with a bracket or not?  >  (And the dots also don't pose problems in 
> a mathematical sense, as  >  it's clearly defined, that one dot prolonges the 
> note by a half of  >  it's value, two dots by a half and a quarter and so 
> on.) You are confusing the sonics with the visuals. LilyPond would not be 
> free to replace c4. c4. with \tuplet 2/3 { c4 c4 } and vice versa even though 
> the MIDI would sound the same.  >  Things like these should be easy in 
> Lilypond, considering it's sheer  >  flexibility and hackability. And if I 
> were a composer writing in 5/6,  >  i would probably be happy if I could just 
> write "c2 d6 e6 |". Problem is that LilyPond is not the one playing the 
> music, but it produces a print that somebody has to play. And when there is 
> no notation corresponding to the input, LilyPond will have a hard time 
> suggesting how to play things. -- David Kastrup  
>
>   
  
  
 

Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread David Kastrup
Christian Masser  writes:

> Just adding my two cents to this debate. In my humble opinion it's pretty
> clear what "12" in this context means as Lilypond's syntax is always about
> the divisor. c4 is always a quarter of a whole note. Therefore c12 would
> always be a twelth of a whole note, thus a third of a quarter note.

You mean, an eighth triole?  Or an eighth sextuplet?

> And c7 would always be a seventh of a whole note.

How would this print?  LilyPond does not only produce MIDI, you know.

> With this in mind, why should input like "c3" yield an error if it's
> otherwise very consistend with the syntax and definitely unambiguous?

It is unambiguous?  Is it a half note triplet?  Or a sextuplet in 2/1
time?  To be printed with a bracket or not?

> (And the dots also don't pose problems in a mathematical sense, as
> it's clearly defined, that one dot prolonges the note by a half of
> it's value, two dots by a half and a quarter and so on.)

You are confusing the sonics with the visuals.  LilyPond would not be
free to replace c4. c4. with \tuplet 2/3 { c4 c4 } and vice versa even
though the MIDI would sound the same.

> Things like these should be easy in Lilypond, considering it's sheer
> flexibility and hackability. And if I were a composer writing in 5/6,
> i would probably be happy if I could just write "c2 d6 e6 |".

Problem is that LilyPond is not the one playing the music, but it
produces a print that somebody has to play.  And when there is no
notation corresponding to the input, LilyPond will have a hard time
suggesting how to play things.

-- 
David Kastrup



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Christian Masser
Just adding my two cents to this debate. In my humble opinion it's pretty
clear what "12" in this context means as Lilypond's syntax is always about
the divisor. c4 is always a quarter of a whole note. Therefore c12 would
always be a twelth of a whole note, thus a third of a quarter note. And c7
would always be a seventh of a whole note. With this in mind, why should
input like "c3" yield an error if it's otherwise very consistend with the
syntax and definitely unambiguous? (And the dots also don't pose problems
in a mathematical sense, as it's clearly defined, that one dot prolonges
the note by a half of it's value, two dots by a half and a quarter and so
on.)
On the contrary side, it may lead to all the issues outlined by many of you
already, like Lilypond having to define a standard grouping - which
probably doesn't align with the grouping of 8th beams - or guess the
grouping, and define functions to change it, and so on. Also it almost
certainly would introduce new problems users might run into.

A practical point of view that also might be considered is the one of
contemporary music. Just one example, because I happend to perform the
piece, is the opera "Powder her face" by Thomas Adès, that uses e.g. 5/6
time signature (mostly for singular bars, with a lot of time signature
changes!) - which looks very odd at beginning. But: once you're through the
thought process it's far easier to read than writing "5/4" and adding the
relation that "the new quarter note equals a quarter triplet of the bar
before" and vice versa after a single bar of music. Things like these
should be easy in Lilypond, considering it's sheer flexibility and
hackability. And if I were a composer writing in 5/6, i would probably be
happy if I could just write "c2 d6 e6 |".

Christian

Am Fr., 26. März 2021 um 18:22 Uhr schrieb David Kastrup :

> Kevin Barry  writes:
>
> > I think the convenience of this feature does not justify the added
> > complexity.
>
> It's mostly the conceptual vagueness that is the problem here.  There
> are no actual note values corresponding graphically to the input in an
> unambiguous manner, so LilyPond would need to do the equivalent of a
> MIDI-to-notation converter in picking a visual representation (and there
> are even things like composers disagreeing about whether septuplets are
> 7 in the space of 4 or 7 in the space of 8).
>
> Does 12 mean sextuplets or triplets?  What is the meaning of 12.. ?
> It's just far too muddy domain to make a major part of the syntax.
>
> --
> David Kastrup
>
>


Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread David Kastrup
Kevin Barry  writes:

> I think the convenience of this feature does not justify the added
> complexity.

It's mostly the conceptual vagueness that is the problem here.  There
are no actual note values corresponding graphically to the input in an
unambiguous manner, so LilyPond would need to do the equivalent of a
MIDI-to-notation converter in picking a visual representation (and there
are even things like composers disagreeing about whether septuplets are
7 in the space of 4 or 7 in the space of 8).

Does 12 mean sextuplets or triplets?  What is the meaning of 12.. ?
It's just far too muddy domain to make a major part of the syntax.

-- 
David Kastrup



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Kevin Barry
I think the convenience of this feature does not justify the added
complexity.

Kevin



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Jean Abou Samra



Le 26/03/2021 à 14:26, Jean Abou Samra a écrit :

Le 26/03/2021 à 12:43, Werner LEMBERG a écrit :


For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7
for 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2
and so on.

LilyPond is a notation program first, and your proposal does not map
to notation since tuplets also involve choices of beaming and
division.

There's a lot of music that contains tuplets (mainly triplets) without
tuplet numbers.  Such a notation would simplify things.

I actually fail to see this as a compelling use case.


This was an accidentally sent part of a draft of the previous message.

Sorry for the noise.





Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Jean Abou Samra

Le 26/03/2021 à 12:43, Werner LEMBERG a écrit :


For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7
for 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2
and so on.

LilyPond is a notation program first, and your proposal does not map
to notation since tuplets also involve choices of beaming and
division.

There's a lot of music that contains tuplets (mainly triplets) without
tuplet numbers.  Such a notation would simplify things.

I actually fail to see this as a compelling use case.



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Jean Abou Samra

Hello!

Currently Lilypond only supports powers of 2 for specifying duration. Could we
use the other numbers for common divisions?

For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7 for 8*7/8,
9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2 and so on.

This would be quite useful, especially for the divisions of three (*3/2),
because stuff like this
e8*2/3 dis cis cis8. dis16 e8*2/3 dis cis cis8. dis16
Is not really nice to enter, while
e12 dis cis cis8. dis16 e12 dis cis cis8. dis16
would be much less effort.

Cheers, Valentin


Thank you for proposing your ideas! That said,
I admit some skepticism to this particular
proposal, see below.


These things are done during parsing, and I don’t know if there is any way to
pass flags or tokens to the parser. If it is possible, one could try to pass a
rounding flag, or one might even be able to modify this such that the user can
pass a scheme function for parsing. But I do not know enough about the parser
to know if such stuff is possible (the problem here is that the file that is
being parsed would have to tell the parser how to parse it, which can be quite
a hen and egg problem).


The parser does already have such capabilities.
For example, you can define your own note
names -- so why not your own durations after all.


Le 26/03/2021 à 12:43, Werner LEMBERG a écrit :


For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7
for 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2
and so on.

LilyPond is a notation program first, and your proposal does not map
to notation since tuplets also involve choices of beaming and
division.

There's a lot of music that contains tuplets (mainly triplets) without
tuplet numbers.  Such a notation would simplify things.


In my experience, the triplets in question most often
come in a chain. The three-argument form of \tuplet
(as in \tuplet 3/2 8 { c16 c c c c c }) helps with
those cases.

Having special durations equivalent to multipliers
defeats separation of content and layout through
non-semantic markup since you can't get the tuplet
brackets and numbers back.

I'll also have to admit that my first thought when
reading the original post was: FRACTRAN++!

The point is: smart does not mean user-friendly;
often to the contrary in fact.

Best regards,
Jean


PS: https://esolangs.org/wiki/Fractran++




Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread David Kastrup
Werner LEMBERG  writes:

>>> For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7
>>> for 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2
>>> and so on.
>> 
>> LilyPond is a notation program first, and your proposal does not map
>> to notation since tuplets also involve choices of beaming and
>> division.
>
> There's a lot of music that contains tuplets (mainly triplets) without
> tuplet numbers.  Such a notation would simplify things.

There are differences in weight and beaming for triplets and sextuplets
that formally come in the same duration.  Just like there is a
difference in

\tuplet 2/3 { c4 c4 }

and

{ c4. c4. }

Musical notation (and thus LilyPond) writes down more than what appears
in the MIDI.

-- 
David Kastrup



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Werner LEMBERG


>> For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7
>> for 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2
>> and so on.
> 
> LilyPond is a notation program first, and your proposal does not map
> to notation since tuplets also involve choices of beaming and
> division.

There's a lot of music that contains tuplets (mainly triplets) without
tuplet numbers.  Such a notation would simplify things.


Werner



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread David Kastrup
Valentin Petzel  writes:

> Hello!
>
> Currently Lilypond only supports powers of 2 for specifying
> duration. Could we use the other numbers for common divisions?
>
> For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7 for
> 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2 and so
> on.

LilyPond is a notation program first, and your proposal does not map to
notation since tuplets also involve choices of beaming and division.

> This would be quite useful, especially for the divisions of three (*3/2), 
> because stuff like this
> e8*2/3 dis cis cis8. dis16 e8*2/3 dis cis cis8. dis16
> Is not really nice to enter,

It also is distracting to read (even if Baroque autographs tend to omit
tuplet numbers like that).  Use \tuplet instead.

> while e12 dis cis cis8. dis16 e12 dis cis cis8. dis16 would be much
> less effort.

It does not indicate what note values to use visually.  If we only
wanted to produce Midi, we'd not need to distinguish cis and des either.

-- 
David Kastrup



Re: Suggestion: Use non powers of 2 for tuplets, Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Valentin Petzel
Hello Werner,

I just suggested these value as this seems to be what is commonly found with 
music (and it is rhythmically viable nontheless). Basically we’re rounding a 
division to the nearest power of 2 (it does not make a lot of sense to use 7 
4th notes or something like 15 8th notes for such subdivisions, since 7 8th 
notes or 15 16th notes would be much closer).
A pseudo code for this:

(number) → (duration):
Lower = 2**ilog(number, 2)
Upper = Lower*2
If (number - Lower <= Upper - number) return Lower*number/Lower
Else return Upper*number/Upper

These things are done during parsing, and I don’t know if there is any way to 
pass flags or tokens to the parser. If it is possible, one could try to pass a 
rounding flag, or one might even be able to modify this such that the user can 
pass a scheme function for parsing. But I do not know enough about the parser 
to know if such stuff is possible (the problem here is that the file that is 
being parsed would have to tell the parser how to parse it, which can be quite 
a hen and egg problem).

Cheers,
Valentin

signature.asc
Description: This is a digitally signed message part.


Re: Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread ebenezer

Hello,

Does \scaleDurations not already fit the bill?

See the section "Scaling durations" at 
http://lilypond.org/doc/v2.22/Documentation/notation-big-page



On 2021-03-26 02:19, Valentin Petzel wrote:

Hello!

Currently Lilypond only supports powers of 2 for specifying duration. Could we
use the other numbers for common divisions?

For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7 for 8*7/8,
9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2 and so on.

This would be quite useful, especially for the divisions of three (*3/2),
because stuff like this
e8*2/3 dis cis cis8. dis16 e8*2/3 dis cis cis8. dis16
Is not really nice to enter, while
e12 dis cis cis8. dis16 e12 dis cis cis8. dis16
would be much less effort.

Cheers, Valentin





Re: Suggestion: Use non powers of 2 for tuplets,Suggestion: Use non powers of 2 for tuplets

2021-03-26 Thread Werner LEMBERG


> Currently Lilypond only supports powers of 2 for specifying
> duration.  Could we use the other numbers for common divisions?
> 
> For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7
> for 8*7/8, 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2
> and so on.
> 
> This would be quite useful, especially for the divisions of three
> (*3/2), because stuff like this
>
>   e8*2/3 dis cis cis8. dis16 e8*2/3 dis cis cis8. dis16
>
> Is not really nice to enter, while
>
>   e12 dis cis cis8. dis16 e12 dis cis cis8. dis16
>
> would be much less effort.

Sounds like a nice idea.  However, I think that your values have a
flaw.  I think it should rather be

2
3   2*3/2

4
5   4*5/4
6   4*6/4 = 4*3/2
7   4*7/4   <===

8
9   8*9/8
   10   8*10/8 = 8*5/4
   11   8*11/8
   12   8*12/8 = 8*3/2
   ...

to be algorithmically derivable.  Maybe the user should be able to set
up exceptions, but this might need a lot of changes.


Werner



Re: Suggestion: Use non powers of 2 for tuplets

2021-03-25 Thread Shane Brandes
You are on your own on that one. I think it just leads to the unpleasant
chaos of having to look up what those mean in a table somewhere after you
have forgotten why you put that into your score.

-Shane

On Thu, Mar 25, 2021 at 10:20 PM Valentin Petzel  wrote:

> Hello!
>
> Currently Lilypond only supports powers of 2 for specifying duration.
> Could we
> use the other numbers for common divisions?
>
> For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7 for
> 8*7/8,
> 9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2 and so on.
>
> This would be quite useful, especially for the divisions of three (*3/2),
> because stuff like this
> e8*2/3 dis cis cis8. dis16 e8*2/3 dis cis cis8. dis16
> Is not really nice to enter, while
> e12 dis cis cis8. dis16 e12 dis cis cis8. dis16
> would be much less effort.
>
> Cheers, Valentin


Suggestion: Use non powers of 2 for tuplets

2021-03-25 Thread Valentin Petzel
Hello!

Currently Lilypond only supports powers of 2 for specifying duration. Could we 
use the other numbers for common divisions?

For example: We could use 3 for 2*3/2, 5 for 4*5/4, 6 for 4*3/2, 7 for 8*7/8, 
9 for 8*9/8, 10 for 8*5/4, 11 for 8*11/8, 12 for 8*3/2 and so on.

This would be quite useful, especially for the divisions of three (*3/2), 
because stuff like this
e8*2/3 dis cis cis8. dis16 e8*2/3 dis cis cis8. dis16
Is not really nice to enter, while
e12 dis cis cis8. dis16 e12 dis cis cis8. dis16
would be much less effort.

Cheers, Valentin

signature.asc
Description: This is a digitally signed message part.


Re: incomplete tuplets in non-standard time signatures

2020-12-02 Thread Michael Käppler

Am 02.12.2020 um 11:24 schrieb Michael Käppler:

Am 02.12.2020 um 09:26 schrieb Michael Käppler:

Am 30.11.2020 um 09:20 schrieb Michael Käppler:

Am 30.11.2020 um 08:29 schrieb Lukas-Fabian Moser:

Hi Michael,


I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html






2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

That does not make sense to me. 2.20.0 was released on March 1, 2020
and
Harm reported that 2.20.0 is fine. I think bisecting must start with
2.20.0., then.


It's well possible that I got this all wrong, but I was under the
impression that, as not all changes added during the 2.19.xx cycle
were cherry-picked into 2.20, it's quite possible for a commit that
was added to master before the release of 2.20.0 to only end up in
2.21.xx.

You are right, I got this wrong. Sorry for the noise.

Michael


Added to the tracker:
https://gitlab.com/lilypond/lilypond/-/issues/6067

I think I have a fix ready for this

See https://gitlab.com/lilypond/lilypond/-/merge_requests/534



Re: incomplete tuplets in non-standard time signatures

2020-12-02 Thread Michael Käppler

Am 02.12.2020 um 09:26 schrieb Michael Käppler:

Am 30.11.2020 um 09:20 schrieb Michael Käppler:

Am 30.11.2020 um 08:29 schrieb Lukas-Fabian Moser:

Hi Michael,


I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html





2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

That does not make sense to me. 2.20.0 was released on March 1, 2020
and
Harm reported that 2.20.0 is fine. I think bisecting must start with
2.20.0., then.


It's well possible that I got this all wrong, but I was under the
impression that, as not all changes added during the 2.19.xx cycle
were cherry-picked into 2.20, it's quite possible for a commit that
was added to master before the release of 2.20.0 to only end up in
2.21.xx.

You are right, I got this wrong. Sorry for the noise.

Michael


Added to the tracker:
https://gitlab.com/lilypond/lilypond/-/issues/6067

I think I have a fix ready for this.




Re: incomplete tuplets in non-standard time signatures

2020-12-02 Thread Michael Käppler

Am 30.11.2020 um 09:20 schrieb Michael Käppler:

Am 30.11.2020 um 08:29 schrieb Lukas-Fabian Moser:

Hi Michael,


I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html




2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

That does not make sense to me. 2.20.0 was released on March 1, 2020
and
Harm reported that 2.20.0 is fine. I think bisecting must start with
2.20.0., then.


It's well possible that I got this all wrong, but I was under the
impression that, as not all changes added during the 2.19.xx cycle
were cherry-picked into 2.20, it's quite possible for a commit that
was added to master before the release of 2.20.0 to only end up in
2.21.xx.

You are right, I got this wrong. Sorry for the noise.

Michael


Added to the tracker:
https://gitlab.com/lilypond/lilypond/-/issues/6067

Cheers,
Michael




Re: incomplete tuplets in non-standard time signatures

2020-11-30 Thread Michael Käppler

Am 30.11.2020 um 08:29 schrieb Lukas-Fabian Moser:

Hi Michael,


I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html



2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

That does not make sense to me. 2.20.0 was released on March 1, 2020 and
Harm reported that 2.20.0 is fine. I think bisecting must start with
2.20.0., then.


It's well possible that I got this all wrong, but I was under the
impression that, as not all changes added during the 2.19.xx cycle
were cherry-picked into 2.20, it's quite possible for a commit that
was added to master before the release of 2.20.0 to only end up in
2.21.xx.

You are right, I got this wrong. Sorry for the noise.

Michael



Re: incomplete tuplets in non-standard time signatures

2020-11-29 Thread Lukas-Fabian Moser

Hi Michael,


I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html 




2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

That does not make sense to me. 2.20.0 was released on March 1, 2020 and
Harm reported that 2.20.0 is fine. I think bisecting must start with 
2.20.0., then.


It's well possible that I got this all wrong, but I was under the 
impression that, as not all changes added during the 2.19.xx cycle were 
cherry-picked into 2.20, it's quite possible for a commit that was added 
to master before the release of 2.20.0 to only end up in 2.21.xx.


Also, Malte's commit contains the following change in lily/bracket.cc:

index bc7ad67680..63ab1fcafa 100644
@@ -77,8 +77,9 @@ Bracket::make_bracket (Grob *me, // for line properties.
 m.add_stencil (Line_interface::line (me, straight_corners[LEFT],
straight_corners[RIGHT]));

-  if (scm_is_number (me->get_property ("dash-fraction")))
-    me->set_property ("dash-fraction", scm_from_double (1.0));
+  if (scm_is_eq (me->get_property ("style"), ly_symbol2scm ("dashed-line"))
+  && !to_boolean (me->get_property ("dashed-edge")))
+    me->set_property ("style", ly_symbol2scm ("line"));
   for (LEFT_and_RIGHT (d))
 m.add_stencil (Line_interface::line (me, straight_corners[d],
flare_corners[d]));

I haven't even tried to understand the scope and logic of Malte's 
changes, but to me it seems very plausible that this change could lead 
to a behaviour as discovered by Harm.


(And actually, my bisect started as follows:

git bisect start
# good: [b39b2e652fc4bcf282bb8b826e81070a77bc93db] Release: bump Welcome 
versions.

git bisect good b39b2e652fc4bcf282bb8b826e81070a77bc93db
# bad: [65932b8fde202a95b7fbf9f400c01c75fa53519f] Add version to 
Japanese snippet

git bisect bad 65932b8fde202a95b7fbf9f400c01c75fa53519f

b39b2e is release/2.20.0-1, 65932b8 is release/2.21.0-1.)

Lukas




Re: incomplete tuplets in non-standard time signatures

2020-11-29 Thread Jonas Hahnfeld via LilyPond user discussion
Am Sonntag, dem 29.11.2020 um 22:24 +0100 schrieb Michael Käppler:
> Am 29.11.2020 um 21:09 schrieb Lukas-Fabian Moser:
> > Hi Harm,
> Hi Harm and Lukas,
> > 
> > > I just filed a bug report
> > > http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html
> > > 
> > 2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
> > commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
> > Author: Malte Meyn 
> > Date:   Sun Sep 29 10:10:35 2019 +0200
> > 
> >     Issue 5563: make edges of brackets dashable
> > 
> >     The new boolean grob property dashed-edge controls whether the
> > edges of
> >     a dashed bracket are solid or dashed.
> > 
> > 
> That does not make sense to me. 2.20.0 was released on March 1, 2020 and
> Harm reported
> that 2.20.0 is fine. I think bisecting must start with 2.20.0., then.

It does very much make sense: 2.20.0 was not released from master;
instead stable/2.20 was branched in August 2017. All commits since then
until April 2020 first appeared in 2.21.0 (unless backported for 2.20).

Jonas


signature.asc
Description: This is a digitally signed message part


Re: incomplete tuplets in non-standard time signatures

2020-11-29 Thread Michael Käppler

Am 29.11.2020 um 21:09 schrieb Lukas-Fabian Moser:

Hi Harm,

Hi Harm and Lukas,



I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html


2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

    Issue 5563: make edges of brackets dashable

    The new boolean grob property dashed-edge controls whether the
edges of
    a dashed bracket are solid or dashed.



That does not make sense to me. 2.20.0 was released on March 1, 2020 and
Harm reported
that 2.20.0 is fine. I think bisecting must start with 2.20.0., then.

Cheers,
Michael




Re: incomplete tuplets in non-standard time signatures

2020-11-29 Thread Lukas-Fabian Moser

Hi Harm,


I just filed a bug report
http://lilypond.1069038.n5.nabble.com/Wrongly-read-property-with-MetronomeMark-td237659.html

2c2908c905ba822ef656b06b1cc4f0ca33960c9c is the first bad commit
commit 2c2908c905ba822ef656b06b1cc4f0ca33960c9c
Author: Malte Meyn 
Date:   Sun Sep 29 10:10:35 2019 +0200

    Issue 5563: make edges of brackets dashable

    The new boolean grob property dashed-edge controls whether the edges of
    a dashed bracket are solid or dashed.

Lukas



Re: incomplete tuplets in non-standard time signatures

2020-11-29 Thread Thomas Morley
Am Fr., 27. Nov. 2020 um 17:21 Uhr schrieb 98123981293 1293812397123
:
>
> Dear list,
>
> On list thread Apr 6 2020, Harm provided a Scheme workaround for half-dashed 
> tuplet brackets in non-standard time signatures in version 2.20. However, in 
> using his solution in 2.21.6, if a /tempo marking is included in any staff, I 
> observe that, for the first staff in the score, the custom stencil will 
> always engrave as a fully dashed instead of half-dashed tuplet (and no matter 
> where the /tempo statement occurs, all tuplets in that first staff are 
> affected). Half-dashed tuplet stencils engrave as expected in all other 
> staves regardless of any /tempo statements. Can anyone give any insight as to 
> why? Compare output of the following three examples below.
>
> (Or is there an easier way to do this now altogether in ver 2.21.6? Harm 
> hinted at such features possibly becoming available in future releases.)
>
> Thank you,
> Kyle
>
> \version "2.21.6"
>
> %%%SCHEME FUNCTIONS:%%%
>
> #(define (translated-dashed-line->draw-line bool lst)
> ;; lst is supposed to be a list retrieved from a stencil-expression, p.e.
> ;; (translate-stencil
> ;;   (17.1123059321317 . 0.0)
> ;;   (dashed-line
> ;; 0.16 <- thick
> ;; 0.409629549559636 <- on
> ;; 0.61324339455 <- off
> ;; -7.5781485327 <- x-destination
> ;; 0.0 <- y-destination
> ;; 0.0 <- phase
> ;; ))
> ;; This procedure will transform it into:
> ;; (drawline
> ;;   thick
> ;;   x-start
> ;;   y-start
> ;;   x-end
> ;;   y-end)
>
>   (if (and bool
>(>= (length lst) 3)
>(not (eq? (car lst) 'draw-line)))
>   (let* ((translate (list-ref lst 1))
>  (dashed-line (last lst))
>  (thick (list-ref dashed-line 1))
>  (x-dest (list-ref dashed-line 4))
>  (y-dest (list-ref dashed-line 5)))
> (list
>   'draw-line
>   thick
>   (car translate)
>   (cdr translate)
>   (+ x-dest (car translate))
>   (+ y-dest (cdr translate
>   lst))
>
> #(define (half-solid-tuplet-bracket bool-pair)
> (lambda (grob)
>   (if (and ;; continue if the TupletBracket is dashed
>(eq? (ly:grob-property grob 'style) 'dashed-line)
>;; continue if left or right part should become solid
>(or (car bool-pair) (cdr bool-pair))
>;; don't continue, if TupletBracket is omitted
>(not (ly:stencil-empty? (ly:grob-property grob 'stencil)))
>;; don't continue, if the whole TupletBracket should be dashed
>(not (and (car bool-pair) (cdr bool-pair
>   ;; make left or right part solid
>   (let* ((stil (ly:grob-property grob 'stencil))
>  (x-ext (ly:stencil-extent stil X))
>  (y-ext (ly:stencil-extent stil Y))
>  (stil-expr (ly:stencil-expr stil))
>  (translate (list-ref stil-expr 1))
>  (combined-stil (last stil-expr))
>  (new-stencil-expr
>(list
>  'translate-stencil
>  translate
>  (cons 'combine-stencil
> (map
>   (lambda (i)
> (translated-dashed-line->draw-line
>   (if (odd? i)
>   (cdr bool-pair)
>   (car bool-pair))
>   (list-ref combined-stil i)))
>   (iota 4 1 1))
>   (ly:grob-set-property! grob 'stencil
> (ly:make-stencil
>   new-stencil-expr
>   x-ext
>   y-ext))
>
> halfSolidTupletBracket =
> #(define-music-function (pair)(pair?)
> #{
>   \override TupletBracket.after-line-breaking =
> #(half-solid-tuplet-bracket pair)
> #})
>
> %%%FAILS:%%%
>
> \score {
> <<
> \new Staff
> {
>  \override TupletBracket.bracket-visibility = ##t
>  \once \halfSolidTupletBracket #'(#t . #f)
>   \once \override TupletBracket.style = #'dashed-line
>   \once \override TupletBracket.edge-height = #'(0.7 . 0)
>   \tempo 4 = 60
> \time 2/5
> \times 4/5 { c'16 c'8. c'16 c'16 c'8 } |
> }
>
> \new Staff
> {
>  \override TupletBracket.bracket-visibility = ##t
>  \once \halfSolidTupletBracket #'(#t . #f)
>   \once \override TupletBracket.style = #'dashed-line
>   \once \override TupletBracket.edge-height = #'(0.7 . 0)
>

Re: incomplete tuplets in non-standard time signatures

2020-11-27 Thread 98123981293 1293812397123
Dear list,

On list thread Apr 6 2020, Harm provided a Scheme workaround for
half-dashed tuplet brackets in non-standard time signatures in version
2.20. However, in using his solution in 2.21.6, if a /tempo marking is
included in *any* staff, I observe that, for the *first* staff in the
score, the custom stencil will *always* engrave as a fully dashed instead
of half-dashed tuplet (and no matter where the /tempo statement occurs, all
tuplets in that first staff are affected). Half-dashed tuplet stencils
engrave as expected in all other staves regardless of any /tempo
statements. Can anyone give any insight as to why? Compare output of the
following three examples below.

(Or is there an easier way to do this now altogether in ver 2.21.6? Harm
hinted at such features possibly becoming available in future releases.)

Thank you,
Kyle

\version "2.21.6"

%%%SCHEME FUNCTIONS:%%%

#(define (translated-dashed-line->draw-line bool lst)
;; lst is supposed to be a list retrieved from a stencil-expression, p.e.
;; (translate-stencil
;;   (17.1123059321317 . 0.0)
;;   (dashed-line
;; 0.16 <- thick
;; 0.409629549559636 <- on
;; 0.61324339455 <- off
;; -7.5781485327 <- x-destination
;; 0.0 <- y-destination
;; 0.0 <- phase
;; ))
;; This procedure will transform it into:
;; (drawline
;;   thick
;;   x-start
;;   y-start
;;   x-end
;;   y-end)

  (if (and bool
   (>= (length lst) 3)
   (not (eq? (car lst) 'draw-line)))
  (let* ((translate (list-ref lst 1))
 (dashed-line (last lst))
 (thick (list-ref dashed-line 1))
 (x-dest (list-ref dashed-line 4))
 (y-dest (list-ref dashed-line 5)))
(list
  'draw-line
  thick
  (car translate)
  (cdr translate)
  (+ x-dest (car translate))
  (+ y-dest (cdr translate
  lst))

#(define (half-solid-tuplet-bracket bool-pair)
(lambda (grob)
  (if (and ;; continue if the TupletBracket is dashed
   (eq? (ly:grob-property grob 'style) 'dashed-line)
   ;; continue if left or right part should become solid
   (or (car bool-pair) (cdr bool-pair))
   ;; don't continue, if TupletBracket is omitted
   (not (ly:stencil-empty? (ly:grob-property grob 'stencil)))
   ;; don't continue, if the whole TupletBracket should be dashed
   (not (and (car bool-pair) (cdr bool-pair
  ;; make left or right part solid
  (let* ((stil (ly:grob-property grob 'stencil))
 (x-ext (ly:stencil-extent stil X))
 (y-ext (ly:stencil-extent stil Y))
 (stil-expr (ly:stencil-expr stil))
 (translate (list-ref stil-expr 1))
 (combined-stil (last stil-expr))
 (new-stencil-expr
   (list
 'translate-stencil
 translate
 (cons 'combine-stencil
(map
  (lambda (i)
(translated-dashed-line->draw-line
  (if (odd? i)
  (cdr bool-pair)
  (car bool-pair))
  (list-ref combined-stil i)))
  (iota 4 1 1))
  (ly:grob-set-property! grob 'stencil
(ly:make-stencil
  new-stencil-expr
  x-ext
  y-ext))

halfSolidTupletBracket =
#(define-music-function (pair)(pair?)
#{
  \override TupletBracket.after-line-breaking =
#(half-solid-tuplet-bracket pair)
#})

%%%FAILS:%%%

\score {
<<
\new Staff
{
 \override TupletBracket.bracket-visibility = ##t
 \once \halfSolidTupletBracket #'(#t . #f)
  \once \override TupletBracket.style = #'dashed-line
  \once \override TupletBracket.edge-height = #'(0.7 . 0)
  \tempo 4 = 60
\time 2/5
\times 4/5 { c'16 c'8. c'16 c'16 c'8 } |
}

\new Staff
{
 \override TupletBracket.bracket-visibility = ##t
 \once \halfSolidTupletBracket #'(#t . #f)
  \once \override TupletBracket.style = #'dashed-line
  \once \override TupletBracket.edge-height = #'(0.7 . 0)
  \tempo 4 = 60
\time 2/5
\times 4/5 { c'16 c'8. c'16 c'16 c'8 } |
}
>>
}

%%% ALSO FAILS:%%%

\score {
<<
\new Staff
{
 \override TupletBracket.bracket-visibility = ##t
 \once \halfSolidTupletBracket #'(#t . #f)
  \once \override TupletBracket.style = #'dashed-line
  \once \override TupletBracket.edge-height = #'(0.7 . 0)
\time 2/5
\times 4/5 { c'16 c'8. c'16 c'16 c'8 } |
}

\new Staff
{
 \override TupletBracket.bracket-visibility = ##t
 \once \halfSolidTupletBracket #'(#t . #f)
  \once \override TupletBracket.style = #'dashed-line
  \once \override TupletBracket.edge-height = #'(0.7 . 

Re: incomplete tuplets in non-standard time signatures

2020-04-06 Thread Thomas Morley
Am So., 5. Apr. 2020 um 19:59 Uhr schrieb 98123981293 1293812397123
:
>
> Dear list,
>
> In the following example, I would like to:
> 1) In the first voice: make the tuplet line to the right of the number into a 
> dashed straight line.
> 2) In the second voice: fix the appearance of the last tuplet in the measure 
> so that the number does not clash with the bracket, and the bracket is not 
> horizontally flipped. Once this is accomplished, I would like to apply the 
> same appearance with dotted right lines from step one. I've attached a .png 
> drawing of roughly how I want it to look.
>
> This thread 
> (https://www.mail-archive.com/lilypond-user@gnu.org/msg89110.html) addresses 
> these types of alterations, but affects the whole bracket; is there any way 
> to adjust the left and right sides of the bracket independently?  If this has 
> already been addressed elsewhere please let me know so that I may consult the 
> relevant documentation/snippet/archive.
>
> Thank you for your time,
> -Kyle

Hi,

ad 2) A TupletBracket needs bounds to the left and the right, which
must be _not_ the same.
You need a workaround, see example-code below.

ad 1) For your request one needs to recreate the stencil.
Below my own take on it. It relies heavily on how the stencil is
created currently, this may vary in future version. Then the code will
break.
Furthermore, in 2.20.0 the bracket edges are always solid, In the
hopefully upcoming soon 2.21.0 there will be the dashed-edge-property
for customizing them.

Below relies on a dashed TupletBracket, making parts of it solid.
'edge-height may be set separately.

Cheers,
  Harm

\version "2.20.0"

#(define (translated-dashed-line->draw-line bool lst)
;; lst is supposed to be a list retrieved from a stencil-expression, p.e.
;; (translate-stencil
;;   (17.1123059321317 . 0.0)
;;   (dashed-line
;; 0.16 <- thick
;; 0.409629549559636 <- on
;; 0.61324339455 <- off
;; -7.5781485327 <- x-destination
;; 0.0 <- y-destination
;; 0.0 <- phase
;; ))
;; This procedure will transform it into:
;; (drawline
;;   thick
;;   x-start
;;   y-start
;;   x-end
;;   y-end)

  (if (and bool
   (>= (length lst) 3)
   (not (eq? (car lst) 'draw-line)))
  (let* ((translate (list-ref lst 1))
 (dashed-line (last lst))
 (thick (list-ref dashed-line 1))
 (x-dest (list-ref dashed-line 4))
 (y-dest (list-ref dashed-line 5)))
(list
  'draw-line
  thick
  (car translate)
  (cdr translate)
  (+ x-dest (car translate))
  (+ y-dest (cdr translate
  lst))

#(define (half-solid-tuplet-bracket bool-pair)
(lambda (grob)
  (if (and ;; continue if the TupletBracket is dashed
   (eq? (ly:grob-property grob 'style) 'dashed-line)
   ;; continue if left or right part should become solid
   (or (car bool-pair) (cdr bool-pair))
   ;; don't continue, if TupletBracket is omitted
   (not (ly:stencil-empty? (ly:grob-property grob 'stencil)))
   ;; don't continue, if the whole TupletBracket should be dashed
   (not (and (car bool-pair) (cdr bool-pair
  ;; make left or right part solid
  (let* ((stil (ly:grob-property grob 'stencil))
 (x-ext (ly:stencil-extent stil X))
 (y-ext (ly:stencil-extent stil Y))
 (stil-expr (ly:stencil-expr stil))
 (translate (list-ref stil-expr 1))
 (combined-stil (last stil-expr))
 (new-stencil-expr
   (list
 'translate-stencil
 translate
 (cons 'combine-stencil
(map
  (lambda (i)
(translated-dashed-line->draw-line
  (if (odd? i)
  (cdr bool-pair)
  (car bool-pair))
  (list-ref combined-stil i)))
  (iota 4 1 1))
  (ly:grob-set-property! grob 'stencil
(ly:make-stencil
  new-stencil-expr
  x-ext
  y-ext))

halfSolidTupletBracket =
#(define-music-function (pair)(pair?)
#{
  \override TupletBracket.after-line-breaking =
#(half-solid-tuplet-bracket pair)
#})

%%
%% Examples
%%
\paper { ragged-right = ##f }
{
  \once \halfSolidTupletBracket #'(#t . #f)
  \once \override TupletBracket.style = #'dashed-line
  %% set edges
  \once \override TupletBracket.edge-height = #'(0.7 . 0)
  \times 2/3 { b4 4 4 }

  %% default
  \times 2/3 { b4 4 4 }

  \once \override TupletBracket.dash-period = #0.5
  \once \override TupletBracket.dash-fraction = #1/6
  \once \override TupletBracket.style = #'dashed-line
  \halfSolidTupletBracket #'(#t . #f)
  %% available with hopefully upcoming soon 2.21.0:
  %% with 2.20.0 edges 

incomplete tuplets in non-standard time signatures

2020-04-05 Thread 98123981293 1293812397123
Dear list,

In the following example, I would like to:
1) In the first voice: make the tuplet line to the right of the number into
a dashed straight line.
2) In the second voice: fix the appearance of the last tuplet in the
measure so that the number does not clash with the bracket, and the bracket
is not horizontally flipped. Once this is accomplished, I would like to
apply the same appearance with dotted right lines from step one. I've
attached a .png drawing of roughly how I want it to look.

This thread (
https://www.mail-archive.com/lilypond-user@gnu.org/msg89110.html) addresses
these types of alterations, but affects the whole bracket; is there any way
to adjust the left and right sides of the bracket independently?  If this
has already been addressed elsewhere please let me know so that I may
consult the relevant documentation/snippet/archive.

Thank you for your time,
-Kyle

\version "2.18.2"

\header {
  subsubtitle = "incomplete tuplets in non-standard time sigs"
}

\score {
<<
\new Staff {
\clef treble
\key c \major
\set subdivideBeams = ##t
\set strictBeatBeaming = ##t
\override TupletBracket.bracket-visibility = ##t

\time 8/24
\times 2/3 {
bes'16[
 \set stemLeftBeamCount =2
 \set stemRightBeamCount =2
d''16
b'16]
}
\times 2/3 {
cis''8[
f''16]
}
\times 2/3 {
d''16[
e''16]
}
}


\new Staff {
 \clef bass
\key c \major
\set subdivideBeams = ##t
\set strictBeatBeaming = ##t
\override TupletBracket.bracket-visibility = ##t

 \time 8/24
a8~
\times 2/3 {
a8[
g16~]
}
\times 2/3 {
g8
}
}
>>
}


Re: Tuplets up and down at the same musical moment

2019-10-16 Thread Kieren MacMillan
Hi Andrew,

> Any clues what greater context could be affecting this?

Could it be the same problem as in this thread 
?

Just a thought.
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Tuplets up and down at the same musical moment

2019-10-16 Thread Andrew Bernard
Any clues what greater context could be affecting this?

Andrew


On Wed, 16 Oct 2019 at 22:18, Andrew Bernard 
wrote:

> Pardon this somewhat strange question. The following MWE showing how to
> tweak tuplet brackets up and down at the same musical moment works
> perfectly fine (!). But in the context of my larger score the inner bracket
> refuses to move with the tweak. I can't provide a minimal example for the
> error because it only occurs in the full score.
>
> What would cause something like this to fail? [A bug? My stupidity? I
> don't know.]
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Tuplets up and down at the same musical moment

2019-10-16 Thread Andrew Bernard
Pardon this somewhat strange question. The following MWE showing how to
tweak tuplet brackets up and down at the same musical moment works
perfectly fine (!). But in the context of my larger score the inner bracket
refuses to move with the tweak. I can't provide a minimal example for the
error because it only occurs in the full score.

What would cause something like this to fail? [A bug? My stupidity? I don't
know.]

Using 2.19.83.

%
\version "2.19.83"

% tuplets up and down at same musical moment

treble = {
  \time 1/4
  \override TupletBracket.bracket-visibility = ##t
  \tupletUp
  \tuplet 5/4 {
c''16
\tupletDown
\tuplet 3/2 { c'' c'' c'' } c'' c''
  } |
  \tupletDown
  \tuplet 5/4 {
\tweak TupletBracket.direction #UP
\tuplet 3/2 { c''16  c'' c'' } c'' c'' c''
  } |

}

bass = {
  \clef bass
  \override TupletBracket.bracket-visibility = ##t

  \tweak TupletBracket.direction #UP
  \tuplet 5/4 {
\tweak direction #DOWN
\tuplet 5/4 { f,,32 g,, bes,, b,, c, } ees,8.^> ^~
  } |
  ees,1 |

}

\score {
  <<
\new Staff { \treble }
\new Staff { \bass }
  >>
  \layout {}
}

%

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


Re: Nested tuplet across tuplets

2019-09-22 Thread damianlegassick via lilypond-user
Hi AndrewBy making it only a *little* more fiddly and tedious I can get pretty close.I feel your pain...Damian\version "2.19.83"\header {  tagline = "" }{  \time 1/8  \clef bass  \override Score.TupletBracket.bracket-visibility = ##t  <<    {      \once \omit TupletNumber      \once \omit TupletBracket      \tuplet 5/4 {        s16.        \once \override TupletBracket.positions = #'(6 . 6)         \tuplet 5/4 {          \stemDown          \once \override Beam.positions = #'(-5 . -5)          c'32[ gis32_> ais32 cis'32 dis'32]       }      s16.    }  }  \\  {    \set TupletBracket.tupletFullLength = ##t       \override TupletBracket.positions = #'(-9 . -9)    \override TupletNumber.text =       #(tuplet-number::append-note-wrapper       tuplet-number::calc-denominator-text "8")    \tuplet 5/4 8 {      fis32[ gis,-\parenthesize_> d c'!16]      \once \override Rest.extra-offset = #'(4 . -5)      r16 b16[^> b32]    }  }  >>}On 22 September 2019 at 10:20, Andrew Bernard  wrote:Hello Damian,Thanks for your effort. But look here:\version "2.19.83"{  \override Score.TupletBracket.bracket-visibility = ##t  <<    {      \time 1/8     % \once \omit TupletNumber      \tuplet 5/4 {        s32 s s        \tuplet 5/4        {          \stemDown          g'32[ 32 32 32 32]        }        s s s      }    }    \\    {      \tuplet 5/4 8 {        g'32[ 32 32 16]        d16\rest 16[ 32]      }    }  >>}The tuplet brackets are not all all what I need - refer to the image. Sure, I could mess with the bracket extensions and so on. But this solution, although clever, is tedious and fiddly (no disrespect intended) and I have dozens of these to engrave, so it's not very fluent.At this stage I would be prepared to say this is not possible in lilypond (and I am more convinced it's far too idiosyncratic even as far as modernist music goes).Andrew___lilypond-user mailing listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user

AndrewBit.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Nested tuplet across tuplets

2019-09-22 Thread damianlegassick via lilypond-user

The rhythm itself is easy to play in isolation but it looks from this snippet 
as if it would be very difficult to judge the speed so as to coordinate with 
the other players.


Damian





On 22 September 2019 at 15:41, Michael Gerdau  wrote:




10 quintuplet 32nds are grouped 3, 5:4, 3

Aha...I see.

This triggers the next curiosity question:
Are conductors or human musicians supposed to count that out or is that purely 
for machine reproduction?

Again I’m only curious.

Kind regards,
Michael___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re:  Nested tuplet across tuplets

2019-09-22 Thread Michael Gerdau

> 10 quintuplet 32nds are grouped 3, 5:4, 3

Aha...I see.

This triggers the next curiosity question:
Are conductors or human musicians supposed to count that out or is that purely 
for machine reproduction?

Again I’m only curious.

Kind regards,
Michael
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Nested tuplet across tuplets

2019-09-22 Thread damianlegassick via lilypond-user

Hi Michael


10 quintuplet 32nds are grouped 3, 5:4, 3


Damian

On 22 September 2019 at 11:56, Michael Gerdau  wrote:


Hi Andrew,

I‘m not convinced I understand the intended meaning of the picture you posted. 
The meaning I do think is intended in turn would be a trivial tautology, just 
like when you have a stream of tuplet 3/2 8th you could group any 3 notes along 
the stream without additional information.

Could you explain the meaning of the additional tuplet bracket?

Just curious,
Michael

Mobil gesendet


Am 22.09.2019 um 01:21 schrieb Andrew Bernard :


I have come to an impasse in a score I am setting. Is it even remotely 
possible to have a tuplet nested _across_ two tuplets with lilypond? See 
attached image.


[Don't blame me for the musical aspect of this - it's not my music!]


Andrew





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

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


Re: Nested tuplet across tuplets

2019-09-22 Thread Thomas Morley
Am So., 22. Sept. 2019 um 01:22 Uhr schrieb Andrew Bernard
:
>
> I have come to an impasse in a score I am setting. Is it even remotely
> possible to have a tuplet nested _across_ two tuplets with lilypond? See
> attached image.
>
> [Don't blame me for the musical aspect of this - it's not my music!]
>
> Andrew

Hi Andrew,

how about below?
(I was not able to identify what's writing close to the "5" at the
bottom TupletBrackets, though,)

\version "2.19.83"

%% Overlapping/nested TupletBrackets
%% Method: Use two Voices
%%   One for the inner and overlapping tuplet, scale all durations with
%%   `scaleDurations´.
%%   The other with invisible Rests for the outer TupletBracket(s), just to
%%   print the Brackets.
%%   Remark: can't use spacers, TupletBracket needs proper bounds.
{
  \time 1/8
  \clef bass
  \override Staff.TupletBracket.bracket-visibility = ##t
  <<
\scaleDurations 4/5 {
  \override Beam.positions = #'(-6 . -6)
  fis32_[ gis,-\parenthesize _> \set stemRightBeamCount = 2 d
  %% Let the beam be shaped as in the example (together with above \set ...)
  \once \override Stem.beaming = #'((0 1) . (2 3 4))
  %% Move TupletBracket as wished
  \once \override TupletBracket.positions = #'(6 . 6)
  \tupletUp \tuplet 5/4 8 { c'32 gis_> ais cis' dis'] } b16->_[ b32]
}
  \\
  {
  %% oneVoice keeps Rests at middle staff-line
\oneVoice
\tupletDown
%% Let Rests take no additional space, `temporary´ because one may want to
%% revert flawlessly
\temporary \override Rest.stencil = #point-stencil
%% Move TupletBracket as wished
\override TupletBracket.positions = #'(-8 . -8)
\tuplet 5/4 8 { \repeat unfold 5 r32 }
\tuplet 5/4 8 {
  r
  %% print/move one Rest
  \once \override Rest.staff-position = -13.5
  \once \revert Rest.stencil
  r r r r
}
  }
  >>
}



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


Re: Nested tuplet across tuplets

2019-09-22 Thread Michael Gerdau
Hi Andrew,

I‘m not convinced I understand the intended meaning of the picture you posted. 
The meaning I do think is intended in turn would be a trivial tautology, just 
like when you have a stream of tuplet 3/2 8th you could group any 3 notes along 
the stream without additional information.

Could you explain the meaning of the additional tuplet bracket?

Just curious,
Michael

Mobil gesendet

> Am 22.09.2019 um 01:21 schrieb Andrew Bernard :
> 
> I have come to an impasse in a score I am setting. Is it even remotely 
> possible to have a tuplet nested _across_ two tuplets with lilypond? See 
> attached image.
> 
> [Don't blame me for the musical aspect of this - it's not my music!]
> 
> Andrew
> 
> 
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Re: Nested tuplet across tuplets

2019-09-22 Thread Andrew Bernard
Hello Damian,

Thanks for your effort. But look here:

\version "2.19.83"
{
  \override Score.TupletBracket.bracket-visibility = ##t
  <<
{
  \time 1/8
 % \once \omit TupletNumber
  \tuplet 5/4 {
s32 s s
\tuplet 5/4
{
  \stemDown
  g'32[ 32 32 32 32]
}
s s s
  }
}
\\
{
  \tuplet 5/4 8 {
g'32[ 32 32 16]
d16\rest 16[ 32]
  }
}
  >>
}


The tuplet brackets are not all all what I need - refer to the image. Sure,
I could mess with the bracket extensions and so on. But this solution,
although clever, is tedious and fiddly (no disrespect intended) and I have
dozens of these to engrave, so it's not very fluent.

At this stage I would be prepared to say this is not possible in lilypond
(and I am more convinced it's far too idiosyncratic even as far as
modernist music goes).


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


RE: Nested tuplet across tuplets

2019-09-21 Thread Mark Stephen Mrotek
Andrew,

Nested tuplets are presented at
http://lilypond.org/doc/v2.19/Documentation/notation/writing-rhythms#tuplets

Scroll down to the fourth example.

Mark

-Original Message-
From: lilypond-user [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] 
On Behalf Of Andrew Bernard
Sent: Saturday, September 21, 2019 4:21 PM
To: lilypond-user@gnu.org
Subject: Nested tuplet across tuplets

I have come to an impasse in a score I am setting. Is it even remotely possible 
to have a tuplet nested _across_ two tuplets with lilypond? See attached image.

[Don't blame me for the musical aspect of this - it's not my music!]

Andrew




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


Re: Nested tuplet across tuplets (Andrew Bernard)

2019-09-21 Thread Andrew Bernard

Hi Karim,

It's 15/8. but he uses beat markers not barlines, so each span bar is 
one quaver. I am sorry to say this is one voice. I don't even know how 
to fake it using another voice. [How people are expected to play this 
precisely is another matter!]


Andrew


On 22/9/19 10:35 am, Karim Haddad wrote:

Dear Andrew,

It seems that the composer has two voices here. the lower one :

\tuplet 5/4 {
fis32 gis, d c16} then

\tuplet 5/4 {
r16 b b32}

It is indeed graphically messed up.
If we can have a look at the time signature, (or at least the measure) we can 
figure it out.
But indeed. It is really badly scripted.

It appears that there is a 16th note shift Between voices (???)

I will not ask you who had manuscript it ..! :-)


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


Re: Nested tuplet across tuplets (Andrew Bernard)

2019-09-21 Thread Karim Haddad
Dear Andrew,

It seems that the composer has two voices here. the lower one :

\tuplet 5/4 {
fis32 gis, d c16} then

\tuplet 5/4 {
r16 b b32}

It is indeed graphically messed up.
If we can have a look at the time signature, (or at least the measure) we can 
figure it out.
But indeed. It is really badly scripted.

It appears that there is a 16th note shift Between voices (???)

I will not ask you who had manuscript it ..! :-)

Best

K

On Sat, Sep 21, 2019 at 07:21:13PM -0400, lilypond-user-requ...@gnu.org wrote:
> Today's Topics:
> 
>1. Nested tuplet across tuplets (Andrew Bernard)
> 
> 
> --
> 
> Message: 1
> Date: Sun, 22 Sep 2019 09:21:05 +1000
> From: Andrew Bernard 
> To: lilypond-user@gnu.org
> Subject: Nested tuplet across tuplets
> Message-ID: 
> Content-Type: text/plain; charset="utf-8"; Format="flowed"
> 
> I have come to an impasse in a score I am setting. Is it even remotely 
> possible to have a tuplet nested _across_ two tuplets with lilypond? See 
> attached image.
> 
> [Don't blame me for the musical aspect of this - it's not my music!]
> 
> Andrew
> 
> 

-- 
Karim Haddad

email   : 
webpage : http://karim.haddad.free.fr

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


Nested tuplet across tuplets

2019-09-21 Thread Andrew Bernard
I have come to an impasse in a score I am setting. Is it even remotely 
possible to have a tuplet nested _across_ two tuplets with lilypond? See 
attached image.


[Don't blame me for the musical aspect of this - it's not my music!]

Andrew


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


"as fast as possible" pseudo-tuplets

2018-12-30 Thread N. Andrew Walsh
Hi List,

I'm working on a realization of Stockhausen's "Plus Minus", and one of its
frequent features is the instruction to play a group of notes "as fast as
possible". In contemporary music notation there is a common practice of
notating rapid passages with a single slashed beam and irregular note
spacing, giving the duration as a note value with a tuplet bracket. I see
in the LSR the following:

http://lsr.di.unimi.it/LSR/Snippet?id=721
and
http://lsr.di.unimi.it/LSR/Item?id=797

which together seem like they'd provide the necessary function, but I don't
know how to implement them together as a single command. What I would like
is the following, if possible:

I can treat the passage as a tuplet, allowing me to calculate the entire
duration,
which I can then specify to be displayed instead of a tuplet number,
the passage will be contained under a single, slashed beam, and (optionally)
the note-spacing can be irregular (does Lily even have this capability? To
apply randomized x-offsets to specific notes without interfering with the
alignment of other voices?)

LSR 721 makes it look like even getting slashed beams involves a lot of
Scheme code; is there a more elegant way to do this?

Thanks in advance for the help.

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


Re: Tuplets in Metric Modulations

2018-12-21 Thread Saul Tobin
Notice that in my example I included spacer rests in the tuplet. This allow
room for the bracket.

On Fri, Dec 21, 2018 at 2:47 PM Ld2020  wrote:

> Thank you - this is extremely helpful.
>
> One issue I am still trying to solve: how to get tuplet brackets to
> appear as part of the metronome mark.
>
> I.E. triplet eighth = eighth (triplet under the tuplet bracket with the 3.)
>
> Right now I'm doing:
> \rhythmMark "" {\tuplet 3/2 {b'8}} {b'8}
>
> I get the tuplet number but no bracket.
>
> Any leads you can offer on this would be greatly appreciated.
>
>
>
> --
> Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tuplets in Metric Modulations

2018-12-21 Thread Ld2020
Thank you - this is extremely helpful.

One issue I am still trying to solve: how to get tuplet brackets to
appear as part of the metronome mark.

I.E. triplet eighth = eighth (triplet under the tuplet bracket with the 3.)

Right now I'm doing:
\rhythmMark "" {\tuplet 3/2 {b'8}} {b'8}

I get the tuplet number but no bracket.

Any leads you can offer on this would be greatly appreciated.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

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


Re: Tuplets in Metric Modulations

2018-12-20 Thread Saul Tobin
I've attached the snippet I use for metric modulation markings. Hopefully
others find it useful.

To use it you would write something like:

\metricMark { \tuplet 3/2 { r8*2 c8 } } { c16 r16*3 } "Più tranquillo" #108

FYI – there are some issues with spacing if the marking is at a line break.

On Thu, Dec 20, 2018 at 2:48 PM Ld2020  wrote:

> I am notating some rhythms that use metric modulations (a.k.a. tempo
> modulations).
>
> I am indicating that a triplet quarter becomes the new quarter note.
> What I want is a single quarter note with a triplet mark over it (3
> and a bracket, spaced in such a way as to make it obvious this is one
> third of a triplet)
> = quarter note. That is hard to describe in words, so here is a link
> to a page with a graphical example of what I'm talking about:
> https://forum.makemusic.com/default.aspx?f=6=332470
>
> Currently, I can't find a way to do this in Lilypond, so am doing this
> instead:
>
> \version "2.18.2"
> \relative c {
> \new RhythmicStaff {
> \time 2/2
>  \tempo "Grandioso" 2 = 48
>
> c4 c c c |
> \tuplet 3/2 {c4 c c } c2 |
>
> \tempo \markup { \concat { (
> "triplet "
> %I want an actual triplet here, not the word triplet
> \smaller \general-align #Y #DOWN \note #"4" #1
> " = "
> \smaller \general-align #Y #DOWN \note #"4" #1 " = " 144 ) }}
> c4 c4 c4 c |
> c8 c8 c4 c2 |
> } }
>
> Any tips would be vastly appreciated.
>
> Thank you so much.
>
>
>
> --
> Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>


metric_mod.ily
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Tuplets in Metric Modulations

2018-12-20 Thread Ben

On 12/20/2018 2:27 PM, Ld2020 wrote:

I am notating some rhythms that use metric modulations (a.k.a. tempo
modulations).

I am indicating that a triplet quarter becomes the new quarter note.
What I want is a single quarter note with a triplet mark over it (3
and a bracket, spaced in such a way as to make it obvious this is one
third of a triplet)
= quarter note. That is hard to describe in words, so here is a link
to a page with a graphical example of what I'm talking about:
https://forum.makemusic.com/default.aspx?f=6=332470

Currently, I can't find a way to do this in Lilypond, so am doing this
instead:

\version "2.18.2"
\relative c {
\new RhythmicStaff {
\time 2/2
  \tempo "Grandioso" 2 = 48

c4 c c c |
\tuplet 3/2 {c4 c c } c2 |

\tempo \markup { \concat { (
"triplet"
%I want an actual triplet here, not the word triplet
\smaller \general-align #Y #DOWN \note #"4" #1
" ="
\smaller \general-align #Y #DOWN \note #"4" #1 " = " 144 ) }}
c4 c4 c4 c |
c8 c8 c4 c2 |
} }

Any tips would be vastly appreciated.

Thank you so much.



Does this snippet help?


http://lsr.di.unimi.it/LSR/Item?id=204

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


Tuplets in Metric Modulations

2018-12-20 Thread Ld2020
I am notating some rhythms that use metric modulations (a.k.a. tempo
modulations).

I am indicating that a triplet quarter becomes the new quarter note.
What I want is a single quarter note with a triplet mark over it (3
and a bracket, spaced in such a way as to make it obvious this is one
third of a triplet)
= quarter note. That is hard to describe in words, so here is a link
to a page with a graphical example of what I'm talking about:
https://forum.makemusic.com/default.aspx?f=6=332470

Currently, I can't find a way to do this in Lilypond, so am doing this
instead:

\version "2.18.2"
\relative c {
\new RhythmicStaff {
\time 2/2
 \tempo "Grandioso" 2 = 48

c4 c c c |
\tuplet 3/2 {c4 c c } c2 |

\tempo \markup { \concat { (
"triplet "
%I want an actual triplet here, not the word triplet
\smaller \general-align #Y #DOWN \note #"4" #1
" = "
\smaller \general-align #Y #DOWN \note #"4" #1 " = " 144 ) }}
c4 c4 c4 c |
c8 c8 c4 c2 |
} }

Any tips would be vastly appreciated.

Thank you so much.



--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

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


Re: beaming in tuplets

2018-04-14 Thread David Kastrup
Noeck  writes:

> Am 12.04.2018 um 22:48 schrieb Urs Liska:
>> Additionally remove the tuplet bracket
>> 
>>   \omit TupletBracket
>
> Or, if you want to keep them in case there is no beam (for quavers etc.):
>
> \override TupletBracket.bracket-visibility = #'if-no-beam
>
> Joram
>
>
> PS: Why is it "bracket-visibility" and not just "visibility" (it is
> already a property of a TupletBracket)?

Properties are always global and globally documented.  While
"visibility" alone is not yet taken, special values like #'if-no-beam
make this rather specific to tuplet brackets.  That's different from
things like break-visibility or transparent which work more or less
universally across grobs.

-- 
David Kastrup

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


Re: beaming in tuplets

2018-04-14 Thread Noeck


Am 12.04.2018 um 22:48 schrieb Urs Liska:
> Additionally remove the tuplet bracket
> 
>   \omit TupletBracket

Or, if you want to keep them in case there is no beam (for quavers etc.):

\override TupletBracket.bracket-visibility = #'if-no-beam

Joram


PS: Why is it "bracket-visibility" and not just "visibility" (it is
already a property of a TupletBracket)?

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


Re: beaming in tuplets

2018-04-13 Thread David Kastrup
Urs Liska <li...@openlilylib.org> writes:

> Am 12.04.2018 um 20:45 schrieb Mark Stephen Mrotek:
>>
>> Marco,
>>
>> Got the 3’s on each group – see attached.
>>
>
> Finally you can tell LilyPond to automatically group consecutive tuplets:
>
>   \set tupletSpannerDuration = #(ly:make-moment 1 8)
>
> which removes the need to explicitly write so many \tuplet {} expressions.

In the mail you are replying to, Mark Stephen wrote a single \tuplet
expression.

-- 
David Kastrup

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


Re: beaming in tuplets

2018-04-12 Thread Marco Bagolin
Thank you all :-)



2018-04-12 22:48 GMT+02:00 Urs Liska <li...@openlilylib.org>:

>
>
> Am 12.04.2018 um 20:45 schrieb Mark Stephen Mrotek:
>
> Marco,
>
>
>
> Got the 3’s on each group – see attached.
>
>
>
>
> Rather than manually counting beamlets you can set beam subdivisions:
>
>   \set subdivideBeams = ##t
>   \set baseMoment = #(ly:make-moment 1 8)
>
> and remove the manual beams.
>
> Additionally remove the tuplet bracket
>
>   \omit TupletBracket
>
> Finally you can tell LilyPond to automatically group consecutive tuplets:
>
>   \set tupletSpannerDuration = #(ly:make-moment 1 8)
>
> which removes the need to explicitly write so many \tuplet {} expressions.
>
> The full file now reads:
>
> \version "2.18.2"
>
> \relative {
>
>   % Activate beam subdivision
>   \set subdivideBeams = ##t
>   \set baseMoment = #(ly:make-moment 1 8)
>   \omit TupletBracket
>
>   % Automatically group tuplets
>   \set tupletSpannerDuration = #(ly:make-moment 1 8)
>
>   \clef bass
>   \time 4/4
>   \key bes \major
>   r8
>
>   \tuplet 3/2 {
> f16 \upbow -\markup {
>   \line { \concat { \dynamic p } \italic { accel. e cresc. }}}
> f f ges16 ges16 ges16  aes16 aes16 aes16
> bes16 bes16 bes16  c16 c16 c16
> d16 d16 d16  ees16 ees16 ees16
>   }
>   |
>   f1
> }
>
> HTH
> Urs
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: beaming in tuplets

2018-04-12 Thread Urs Liska



Am 12.04.2018 um 20:45 schrieb Mark Stephen Mrotek:


Marco,

Got the 3’s on each group – see attached.



Rather than manually counting beamlets you can set beam subdivisions:

  \set subdivideBeams = ##t
  \set baseMoment = #(ly:make-moment 1 8)

and remove the manual beams.

Additionally remove the tuplet bracket

  \omit TupletBracket

Finally you can tell LilyPond to automatically group consecutive tuplets:

  \set tupletSpannerDuration = #(ly:make-moment 1 8)

which removes the need to explicitly write so many \tuplet {} expressions.

The full file now reads:

\version "2.18.2"

\relative {

  % Activate beam subdivision
  \set subdivideBeams = ##t
  \set baseMoment = #(ly:make-moment 1 8)
  \omit TupletBracket

  % Automatically group tuplets
  \set tupletSpannerDuration = #(ly:make-moment 1 8)

  \clef bass
  \time 4/4
  \key bes \major
  r8

  \tuplet 3/2 {
    f16 \upbow -\markup {
  \line { \concat { \dynamic p } \italic { accel. e cresc. }}}
    f f ges16 ges16 ges16  aes16 aes16 aes16
    bes16 bes16 bes16  c16 c16 c16
    d16 d16 d16  ees16 ees16 ees16
  }
  |
  f1
}

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


beaming in tuplets

2018-04-12 Thread Mark Stephen Mrotek
Marco,

 

Got the 3's on each group - see attached.

 

Mark

\version "2.19.80"

\relative c {
 
\clef bass
\time 4/4
\key bes \major

r8
\tuplet 3/2 8 {f16 \upbow -\markup { \line {\concat { \dynamic p } \italic { accel. e cresc. }}}
 f f 
  ges16 ges16 
  \set stemRightBeamCount = #1
  ges16
  \set stemLeftBeamCount = #1
  aes16 aes16 aes16]
  bes16 bes16 
  \set stemRightBeamCount = #1
  bes16
  \set stemLeftBeamCount = #1
  c16 c16 c16
  d16 d16 
  \set stemRightBeamCount = #1
  d16
  \set stemLeftBeamCount = 1
  ees16 ees16 ees16 }|
f1|
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread David Kastrup
"Christopher R. Maden"  writes:

> On 11/21/2017 09:57 AM, David Kastrup wrote:
>> "The repos" for what distribution?  2.18.0 was released in December
>> 2013.  What repos carry software that has been replaced 4 years ago?
>
> Distros released 4 years ago, like Ubuntu 14.04 LTS (Trusty, supported
> through April 2019)

Supported by _Ubuntu_.

> and its derivatives, including Linux Mint 17.x.

Ubuntu 16.04 LTS has been out for over a year.  If you don't want to
upgrade, this has consequences for the amount of support upstream will
be able to provide for your old software.

> Like Eby, I’m generally reluctant to switch away from distro-provided
> software packages.  It’s frustrating — I wonder if there’s any way we
> can put pressure on Ubuntu to upgrade within a distro.

They'll say "use 16.04".  I doubt that they will feel that backports to
14.04 are a useful investment for anything but severe security fixes.

That being said, our packagers install (und uninstall) reasonably
smoothly.  But with 14.04, you might conceitably be hitting library
problems.

-- 
David Kastrup

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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread Christopher R. Maden

On 11/21/2017 09:57 AM, David Kastrup wrote:
"The repos" for what distribution?  2.18.0 was released in December 
2013.  What repos carry software that has been replaced 4 years ago?


Distros released 4 years ago, like Ubuntu 14.04 LTS (Trusty, supported 
through April 2019) and its derivatives, including Linux Mint 17.x.


Like Eby, I’m generally reluctant to switch away from distro-provided 
software packages.  It’s frustrating — I wonder if there’s any way we 
can put pressure on Ubuntu to upgrade within a distro.


(I recently switched to Linux Mint 18, and now am using LilyPond 2.18, 
which makes me very happy.)


~crism
--
Chris Maden, text nerd
http://crism.maden.org/ >
Emperor Norton had the right idea.

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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread David Kastrup
Eby Mani  writes:

> Many thanks Urs.
>
> 2.16.2 is what is available on the repos, thus sticking to.

"The repos" for what distribution?  2.18.0 was released in December
2013.  What repos carry software that has been replaced 4 years ago?

-- 
David Kastrup

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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread Ben

On 11/21/2017 9:26 AM, Eby Mani wrote:

Many thanks Urs.

2.16.2 is what is available on the repos, thus sticking to.

Eby

On Tue, 21/11/17, Urs Liska  wrote:

  >I'm on lilypond
  2.16.2 on ubuntu
  
  This is *really* outdated. 2.18 has been the

  stable release for years now, and you should switch at least
  to that version.
  
  Urs




Eby,

Please consider the advantages to upgrading to 2.18 - it's quite easy to 
install on Linux (regardless of what's in the repo).


sh lilypond-2.18.2 etc.

You'll find as you continue to engrave music in LilyPond that perhaps a 
lot of code you wish to use won't work properly (or at all) on older 
versions.

Lots of cool stuff has been added and enhanced significantly in 2.18 +

Good luck! :)


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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread Eby Mani
Hi Ben, is there a similar snippet available for ly 2.16. ?. Thanks.

On Tue, 21/11/17, Ben <soundsfromso...@gmail.com> wrote:

 Subject: Re: automatic beaming of tuplets only - is this possible ?
 To: lilypond-user@gnu.org
 Date: Tuesday, 21 November, 2017, 11:36 AM
 
 
 On 11/21/2017 1:14 AM, Eby Mani wrote:
 
 
   Hi All, I couldn't find how achieve the
 following, i tried fiddling with \set Timing and
 \overrideTimeSignatureSettings related commands for
 beaming.
 
 1, Automatically replace tuplet bracket with a slur.
 
 
 
 
 Eby,
 
 
 
 Does this help you? This code makes the bracket in
 tuplets into a
 curved slur.
 
 
 
 http://lilypond.1069038.n5.nabble.com/Tuplets-curved-brackets-td207326.html
 
 
 
 (image)
 
 http://lilypond.1069038.n5.nabble.com/attachment/207328/0/curved.png
 
 
 
 
 
  tupletBracketToSlur
   = {
 
    % Use slur-stencil
 
    \override TupletBracket.stencil
   = #ly:slur::print
 
    %% Use 'thickness from Slur
 
    \override TupletBracket.thickness
   = #1.2
 
    %% 'control-points need to be
 set
 
    \override TupletBracket.control-points
   =
 
      #(lambda (grob)
 
    (let* ((x-pos (ly:grob-property grob
 'X-positions))
 
   (pos (ly:grob-property
 grob 'positions))
 
   (x-ln (interval-length
 x-pos))
 
   (dir (ly:grob-property
 grob 'direction))
 
   ;; read out the height
 of the TupletBracket, may
 be
 
   ;; negative!
 
   (height (- (cdr pos)
 (car pos)))
 
   ;; height-corr is
 introduced because sometimes
   the shape
 
   ;; of the slur needs to
 be adjusted.
 
   ;; It is used in the
 2nd/3rd control-point.
 
   ;; The value of 0.3 is
 found by trial and error
 
   (height-corr (* 0.3 dir
 height))
 
   (edge-height
 (ly:grob-property grob 'edge-height
 
 
   
 '(0.7 . 0.7)))
 
   (pad 1.0))
 
      (list
 
    ;; first cp
 
    (cons
 
      (+ (car x-pos)
 0.5)
 
      (- (+ (* dir pad) (+ (car
 pos) (* -1 dir
 
   (car
 edge-height
 
    (if (= dir
 -1)
 
    (if (>
 height 3)
 
      (/ dir
 2.0)
 
     
 0.0)
 
    (if (<
 height -3)
 
      (/ dir
 2.0)
 
     
 0.0
 
    ;; second cp
 
    (cons
 
      (+ (car x-pos) (* x-ln
 1/4))
 
      (+ (* dir pad) (+ (car
 pos) (* dir (+ 0.5
   height-corr)
 
    ;; third cp
 
    (cons
 
      (+ (car x-pos) (* x-ln
 3/4))
 
      (+ (* dir pad) (+ (cdr
 pos) (* dir (- 0.5
   height-corr)
 
    ;; fourth cplilypond-u...@gnu.org,
 
    (cons
 
      (- (cdr x-pos)
 0.5)
 
      (+ (* dir pad) (+ (cdr
 pos) (* -1 dir (cdr
   edge-height)
 
      )))
 
    \override TupletBracket.staff-padding
   = #'()
 
    #(define (invert-direction x) (if (eq?
 UP
 
  (ly:tuplet-bracket::calc-direction
   x)) DOWN UP))
 
  \override TupletBracket.direction
   = #invert-direction
 
  }
 
  
 
  
 
  \layout { \tupletBracketToSlur
   }
 
  
 
  { a a \tuplet
   3/2 { a8 a a }  a4 } 
 
 
 
 
 
  
 ___
 lilypond-user mailing list
 lilypond-user@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-user
 
 -Inline Attachment Follows-
 
 

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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread Eby Mani
Many thanks Urs.

2.16.2 is what is available on the repos, thus sticking to.

Eby

On Tue, 21/11/17, Urs Liska <li...@ursliska.de> wrote:

 Subject: Re: automatic beaming of tuplets only - is this possible ?
 To: "Eby Mani" <eby...@yahoo.com>, lilypond-user@gnu.org
 Date: Tuesday, 21 November, 2017, 7:55 AM
 
 
 
 Am 21. November 2017 07:14:01 MEZ schrieb Eby
 Mani <eby...@yahoo.com>:
 >Hi All, I couldn't find how achieve the
 following, i tried fiddling
 >with \set
 Timing and \overrideTimeSignatureSettings related
 commands
 >for beaming.
 >
 >1, Automatically
 replace tuplet bracket with a slur.
 >
 >2, Automatically break beaming of tuplets
 of value 16. If no tuplet,
 >then the
 beaming should default.
 >e.g. by default lilypond-user@gnu.org,
 lilypond beams tuplets {c16 d e} and f8 together. What
 >i want is the f8 should not be beamed
 together with tuplet. And if
 >there is {
 c16 d32 e f16 } in a tuplet, it should be beamed
 together.
 >
 >Is point
 number 2 possible without manual beam breaks ?.
 >
 
 Not yet.
 We have just started a discussion about how tuplets should
 affect beaming and the subdivision of secondary beams.
 Hopefully this will be fixed in the foreseeable
 future.
 Which leads to ...
  lilypond-user@gnu.org,
 >
 >I'm on lilypond
 2.16.2 on ubuntu 
 
 This is *really* outdated. 2.18 has been the
 stable release for years now, and you should switch at least
 to that version.
 
 Urs
 
 -- 
 Diese
 Nachricht wurde von meinem Android-Gerät mit K-9 Mail
 gesendet.

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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-21 Thread Ben

On 11/21/2017 1:14 AM, Eby Mani wrote:

Hi All, I couldn't find how achieve the following, i tried fiddling with \set 
Timing and \overrideTimeSignatureSettings related commands for beaming.

1, Automatically replace tuplet bracket with a slur.


https://lists.gnu.org/mailman/listinfo/lilypond-user


Eby,

Does this help you? This code makes the bracket in tuplets into a curved 
slur.


http://lilypond.1069038.n5.nabble.com/Tuplets-curved-brackets-td207326.html

(image)
http://lilypond.1069038.n5.nabble.com/attachment/207328/0/curved.png


tupletBracketToSlur = {
  % Use slur-stencil
  \override TupletBracket.stencil = #ly:slur::print
  %% Use 'thickness from Slur
  \override TupletBracket.thickness = #1.2
  %% 'control-points need to be set
  \override TupletBracket.control-points =
    #(lambda (grob)
  (let* ((x-pos (ly:grob-property grob 'X-positions))
 (pos (ly:grob-property grob 'positions))
 (x-ln (interval-length x-pos))
 (dir (ly:grob-property grob 'direction))
 ;; read out the height of the TupletBracket, may be
 ;; negative!
 (height (- (cdr pos) (car pos)))
 ;; height-corr is introduced because sometimes the shape
 ;; of the slur needs to be adjusted.
 ;; It is used in the 2nd/3rd control-point.
 ;; The value of 0.3 is found by trial and error
 (height-corr (* 0.3 dir height))
 (edge-height (ly:grob-property grob 'edge-height
   '(0.7 . 0.7)))
 (pad 1.0))
    (list
  ;; first cp
  (cons
    (+ (car x-pos) 0.5)
    (- (+ (* dir pad) (+ (car pos) (* -1 dir
 (car edge-height
  (if (= dir -1)
  (if (> height 3)
    (/ dir 2.0)
    0.0)
  (if (< height -3)
    (/ dir 2.0)
    0.0
  ;; second cp
  (cons
    (+ (car x-pos) (* x-ln 1/4))
    (+ (* dir pad) (+ (car pos) (* dir (+ 0.5 height-corr)
  ;; third cp
  (cons
    (+ (car x-pos) (* x-ln 3/4))
    (+ (* dir pad) (+ (cdr pos) (* dir (- 0.5 height-corr)
  ;; fourth cp
  (cons
    (- (cdr x-pos) 0.5)
    (+ (* dir pad) (+ (cdr pos) (* -1 dir (cdr edge-height)
    )))
  \override TupletBracket.staff-padding = #'()
  #(define (invert-direction x) (if (eq? UP
(ly:tuplet-bracket::calc-direction x)) DOWN UP))
\override TupletBracket.direction = #invert-direction
}


\layout { \tupletBracketToSlur }

{ a a \tuplet 3/2 { a8 a a }  a4 }


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


Re: automatic beaming of tuplets only - is this possible ?

2017-11-20 Thread Urs Liska


Am 21. November 2017 07:14:01 MEZ schrieb Eby Mani <eby...@yahoo.com>:
>Hi All, I couldn't find how achieve the following, i tried fiddling
>with \set Timing and \overrideTimeSignatureSettings related commands
>for beaming.
>
>1, Automatically replace tuplet bracket with a slur.
>
>2, Automatically break beaming of tuplets of value 16. If no tuplet,
>then the beaming should default.
>e.g. by default lilypond beams tuplets {c16 d e} and f8 together. What
>i want is the f8 should not be beamed together with tuplet. And if
>there is { c16 d32 e f16 } in a tuplet, it should be beamed together.
>
>Is point number 2 possible without manual beam breaks ?.
>

Not yet. We have just started a discussion about how tuplets should affect 
beaming and the subdivision of secondary beams.
Hopefully this will be fixed in the foreseeable future.
Which leads to ...

>
>I'm on lilypond 2.16.2 on ubuntu 

This is *really* outdated. 2.18 has been the stable release for years now, and 
you should switch at least to that version.

Urs

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.

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


Re: Tuplets curved brackets?

2017-11-14 Thread Jacques Menu Muzhic
Hello David,

\single it not the solution, but \temporary…\undo is.

Thanks for your help!

JM
 
> Le 14 nov. 2017 à 13:42, David Kastrup  a écrit :
> 
> Jacques Menu Muzhic  writes:
> 
>> Hello Ben,
>> 
>> How can one undo the effect of tupletBracketToSlur to use it on a
>> per-tuplet basis?
>> Prefixing it with \once is not a solution I’ve seen.
>> 
>> Below, I’d like the third triplet to use square brackets again:
>> 
>> {
>>  a a \tuplet 3/2 { a8 a a }  a4 | %!
>>  \tupletBracketToSlur   % HERE OK
>>  a a \tuplet 3/2 { a8 a a }  a4
>>  % AND THERE ???
>>  a a \tuplet 3/2 { a8 a a }  a4
>> }
>> 
> 
> Untested, but try using
> 
>   \temporary \tupletBracketToSlur
>   ...
>   \undo \tupletBracketToSlur
> 
> -- 
> David Kastrup

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


Re: Tuplets curved brackets?

2017-11-14 Thread SoundsFromSound
Andrew Bernard wrote
> Hi Ben,
> 
> Would you consider adding this to openlilylib? I am happy to help out with
> that if needed. This is too excellent to be lost in the mailing list
> archives forever.
> 
> Andrew
> 
> ___
> lilypond-user mailing list

> lilypond-user@

> https://lists.gnu.org/mailman/listinfo/lilypond-user

Hi Andrew!

I love this little snippet too, it's so handy to have.   :)

I got it from here on the mailing list earlier this year...
http://lilypond.1069038.n5.nabble.com/Triplets-td199199.html

I agree though, it should be shared with everyone! I am not familiar with
openlilylib submission process. 

But I love the resources it's such a wealth of information...have a good
day!

-Ben




-
composer | sound designer | asmr artist 
--
Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

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


Re: Tuplets curved brackets?

2017-11-14 Thread Andrew Bernard
Hi Ben,

Would you consider adding this to openlilylib? I am happy to help out with
that if needed. This is too excellent to be lost in the mailing list
archives forever.

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


Re: Tuplets curved brackets?

2017-11-14 Thread David Kastrup
Jacques Menu Muzhic  writes:

> Hello Ben,
>
> How can one undo the effect of tupletBracketToSlur to use it on a
> per-tuplet basis?
> Prefixing it with \once is not a solution I’ve seen.
>
> Below, I’d like the third triplet to use square brackets again:
>
> {
>   a a \tuplet 3/2 { a8 a a }  a4 | %!
>   \tupletBracketToSlur   % HERE OK
>   a a \tuplet 3/2 { a8 a a }  a4
>   % AND THERE ???
>   a a \tuplet 3/2 { a8 a a }  a4
> }
>

Untested, but try using

   \temporary \tupletBracketToSlur
   ...
   \undo \tupletBracketToSlur

-- 
David Kastrup

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


Re: Tuplets curved brackets?

2017-11-14 Thread Werner LEMBERG

> How can one undo the effect of tupletBracketToSlur to use it on a
> per-tuplet basis?  Prefixing it with \once is not a solution I’ve
> seen.

Try `\single'.


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


Re: Tuplets curved brackets?

2017-11-14 Thread Jacques Menu Muzhic
Hello Ben,

How can one undo the effect of tupletBracketToSlur to use it on a per-tuplet 
basis?
Prefixing it with \once is not a solution I’ve seen.

Below, I’d like the third triplet to use square brackets again:

{
  a a \tuplet 3/2 { a8 a a }  a4 | %!
  \tupletBracketToSlur   % HERE OK
  a a \tuplet 3/2 { a8 a a }  a4
  % AND THERE ???
  a a \tuplet 3/2 { a8 a a }  a4
}

Thanks!

JM

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


Re: Tuplets curved brackets?

2017-11-14 Thread Jacques Menu Muzhic
Hello Ben,

Yes, that’s the solution I was looking for, thanks so much!

JM

> Le 14 nov. 2017 à 12:25, Ben <soundsfromso...@gmail.com> a écrit :
> 
> On 11/14/2017 5:02 AM, Menu Jacques wrote:
>> Hello folks,
>> 
>> MusicXML has the notion of curved tuplets brackets:
>> 
>>   > start"/>
>> 
>> Didn’t find anything in the doc nor snippets. How can that be achieved with 
>> LilyPond?
>> 
>> Thanks for your help!
>> 
>> JM
>> 
>> 
>> 
> 
> Hi,
> 
> Is this what you mean?
> (see attached)
> 
> Also, what version are you using? 
> 
> Here is a 2.19 option:
> 
> \version "2.19.80"
> 
> 
> tupletBracketToSlur = {
>   % Use slur-stencil
>   \override TupletBracket.stencil = #ly:slur::print
>   %% Use 'thickness from Slur
>   \override TupletBracket.thickness = #1.2
>   %% 'control-points need to be set
>   \override TupletBracket.control-points =
> #(lambda (grob)
>   (let* ((x-pos (ly:grob-property grob 'X-positions))
>  (pos (ly:grob-property grob 'positions))
>  (x-ln (interval-length x-pos))
>  (dir (ly:grob-property grob 'direction))
>  ;; read out the height of the TupletBracket, may be
>  ;; negative!
>  (height (- (cdr pos) (car pos)))
>  ;; height-corr is introduced because sometimes the shape
>  ;; of the slur needs to be adjusted.
>  ;; It is used in the 2nd/3rd control-point.
>  ;; The value of 0.3 is found by trial and error
>  (height-corr (* 0.3 dir height))
>  (edge-height (ly:grob-property grob 'edge-height
>'(0.7 . 0.7)))
>  (pad 1.0))
> (list
>   ;; first cp
>   (cons
> (+ (car x-pos) 0.5)
> (- (+ (* dir pad) (+ (car pos) (* -1 dir
>  (car edge-height
>   (if (= dir -1)
>   (if (> height 3)
> (/ dir 2.0)
> 0.0)
>   (if (< height -3)
> (/ dir 2.0)
> 0.0
>   ;; second cp
>   (cons
> (+ (car x-pos) (* x-ln 1/4))
> (+ (* dir pad) (+ (car pos) (* dir (+ 0.5 height-corr)
>   ;; third cp
>   (cons
> (+ (car x-pos) (* x-ln 3/4))
> (+ (* dir pad) (+ (cdr pos) (* dir (- 0.5 height-corr)
>   ;; fourth cp
>   (cons
> (- (cdr x-pos) 0.5)
> (+ (* dir pad) (+ (cdr pos) (* -1 dir (cdr edge-height)
> )))
>   \override TupletBracket.staff-padding = #'()
>   #(define (invert-direction x) (if (eq? UP
> (ly:tuplet-bracket::calc-direction x)) DOWN UP))
> \override TupletBracket.direction = #invert-direction
> }
> 
> 
> \layout { \tupletBracketToSlur }
> 
> { a a \tuplet 3/2 { a8 a a }  a4 } 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


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


Re: Tuplets curved brackets?

2017-11-14 Thread Ben

On 11/14/2017 5:02 AM, Menu Jacques wrote:

Hello folks,

MusicXML has the notion of curved tuplets brackets:

   

Didn’t find anything in the doc nor snippets. How can that be achieved with 
LilyPond?

Thanks for your help!

JM





Hi,

Is this what you mean?
(see attached)

Also, what version are you using?

Here is a 2.19 option:

\version "2.19.80"


tupletBracketToSlur = {
  % Use slur-stencil
  \override TupletBracket.stencil = #ly:slur::print
  %% Use 'thickness from Slur
  \override TupletBracket.thickness = #1.2
  %% 'control-points need to be set
  \override TupletBracket.control-points =
    #(lambda (grob)
  (let* ((x-pos (ly:grob-property grob 'X-positions))
 (pos (ly:grob-property grob 'positions))
 (x-ln (interval-length x-pos))
 (dir (ly:grob-property grob 'direction))
 ;; read out the height of the TupletBracket, may be
 ;; negative!
 (height (- (cdr pos) (car pos)))
 ;; height-corr is introduced because sometimes the shape
 ;; of the slur needs to be adjusted.
 ;; It is used in the 2nd/3rd control-point.
 ;; The value of 0.3 is found by trial and error
 (height-corr (* 0.3 dir height))
 (edge-height (ly:grob-property grob 'edge-height
   '(0.7 . 0.7)))
 (pad 1.0))
    (list
  ;; first cp
  (cons
    (+ (car x-pos) 0.5)
    (- (+ (* dir pad) (+ (car pos) (* -1 dir
 (car edge-height
  (if (= dir -1)
  (if (> height 3)
    (/ dir 2.0)
    0.0)
  (if (< height -3)
    (/ dir 2.0)
    0.0
  ;; second cp
  (cons
    (+ (car x-pos) (* x-ln 1/4))
    (+ (* dir pad) (+ (car pos) (* dir (+ 0.5 height-corr)
  ;; third cp
  (cons
    (+ (car x-pos) (* x-ln 3/4))
    (+ (* dir pad) (+ (cdr pos) (* dir (- 0.5 height-corr)
  ;; fourth cp
  (cons
    (- (cdr x-pos) 0.5)
    (+ (* dir pad) (+ (cdr pos) (* -1 dir (cdr edge-height)
    )))
  \override TupletBracket.staff-padding = #'()
  #(define (invert-direction x) (if (eq? UP
(ly:tuplet-bracket::calc-direction x)) DOWN UP))
\override TupletBracket.direction = #invert-direction
}


\layout { \tupletBracketToSlur }

{ a a \tuplet 3/2 { a8 a a }  a4 }
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Tuplets curved brackets?

2017-11-14 Thread Menu Jacques
Hello folks,

MusicXML has the notion of curved tuplets brackets:

  

Didn’t find anything in the doc nor snippets. How can that be achieved with 
LilyPond?

Thanks for your help!

JM




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


Re: non-triplet tuplets collide with staff

2017-10-29 Thread Mason Hock
Thanks for clarifying. My score only uses triplets for unbeamed notes, 
and I mistakenly misattributed the number and bracket placement to the 
ratio rather than the presence of beams. Next time I'll test with a 
simpler example like the one you include.


Your solution works well in 2.18.2. Thanks!

Mason

On Sun, Oct 29, 2017 at 2:03 AM, Thomas Morley 
<thomasmorle...@gmail.com> wrote:

Hi Mason,

please always state the version you use and a tiny example.
Maybe you would have spotted that

2017-10-28 23:38 GMT+02:00 Mason Hock <masonh...@gmail.com>:
 Lilypond by default seems to place all tuplet numbers/brackets so 
that they
 collide with the staff, with the exception of triplets, which it 
places

 outside the staff.


isn't true.

See
{
\cadenzaOn
\tuplet 2/1 { a4 a }
\tuplet 3/2 { a a a }
\tuplet 4/3 { a a a a }
\tuplet 5/4 { a a a a a }
\tuplet 6/5 { a a a a a a }
\tuplet 7/6 { a a a a a a a }
}
and
{
\tuplet 2/1 { a8 a }
\tuplet 3/2 { a a a }
\tuplet 4/3 { a a a a }
\tuplet 5/4 { a a a a a }
\tuplet 6/5 { a a a a a a }
\tuplet 7/6 { a a a a a a a }
}
Where the TupletBracket is printed depends on whether a Beam is
present or not, presence of other maybe colliding objects etc.
Has nothing to do if being a triplet or anything else.
Btw, what you call collisions is common practice in printed editions.


 I would like all tuplets outside of the staff like
 triplets.



 If I do both

 \override Staff.TupletNumber #'outside-staff-priority = #1
 \override Staff.TupletBracket #'outside-staff-priority = #1

 I get an error: "warning: Cannot set outside-staff-priority for 
element and

 elements' Y parent."



I agree it would be better to set outside-staff-priority for both,
Number and Bracket, and let LilyPond sort it out.
Alas, it doesn't work. You may write a feature-request to the 
bug-list.


For now you could do:

\override TupletBracket.after-line-breaking =
  #(lambda (grob)
(ly:grob-set-property!
  (if (and (ly:stencil-empty? (ly:grob-property grob 
'stencil))

   (ly:grob? (ly:grob-object grob 'tuplet-number)))
  (ly:grob-object grob 'tuplet-number)
  grob)
  'outside-staff-priority
  100))

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


Re: non-triplet tuplets collide with staff

2017-10-29 Thread Thomas Morley
Hi Mason,

please always state the version you use and a tiny example.
Maybe you would have spotted that

2017-10-28 23:38 GMT+02:00 Mason Hock <masonh...@gmail.com>:
> Lilypond by default seems to place all tuplet numbers/brackets so that they
> collide with the staff, with the exception of triplets, which it places
> outside the staff.

isn't true.

See
{
\cadenzaOn
\tuplet 2/1 { a4 a }
\tuplet 3/2 { a a a }
\tuplet 4/3 { a a a a }
\tuplet 5/4 { a a a a a }
\tuplet 6/5 { a a a a a a }
\tuplet 7/6 { a a a a a a a }
}
and
{
\tuplet 2/1 { a8 a }
\tuplet 3/2 { a a a }
\tuplet 4/3 { a a a a }
\tuplet 5/4 { a a a a a }
\tuplet 6/5 { a a a a a a }
\tuplet 7/6 { a a a a a a a }
}
Where the TupletBracket is printed depends on whether a Beam is
present or not, presence of other maybe colliding objects etc.
Has nothing to do if being a triplet or anything else.
Btw, what you call collisions is common practice in printed editions.

> I would like all tuplets outside of the staff like
> triplets.

> If I do both
>
> \override Staff.TupletNumber #'outside-staff-priority = #1
> \override Staff.TupletBracket #'outside-staff-priority = #1
>
> I get an error: "warning: Cannot set outside-staff-priority for element and
> elements' Y parent."


I agree it would be better to set outside-staff-priority for both,
Number and Bracket, and let LilyPond sort it out.
Alas, it doesn't work. You may write a feature-request to the bug-list.

For now you could do:

\override TupletBracket.after-line-breaking =
  #(lambda (grob)
(ly:grob-set-property!
  (if (and (ly:stencil-empty? (ly:grob-property grob 'stencil))
   (ly:grob? (ly:grob-object grob 'tuplet-number)))
  (ly:grob-object grob 'tuplet-number)
  grob)
  'outside-staff-priority
  100))

Cheers,
  Harm

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


Re: non-triplet tuplets collide with staff

2017-10-28 Thread Ben

On 10/28/2017 5:38 PM, Mason Hock wrote:
Lilypond by default seems to place all tuplet numbers/brackets so that 
they collide with the staff, with the exception of triplets, which it 
places outside the staff. I would like all tuplets outside of the 
staff like triplets.


/\override Staff.TupletNumber #'outside-staff-priority = #1/
/\override Staff.TupletBracket #'outside-staff-priority = #1/

I get an error: "warning: Cannot set outside-staff-priority for 
element and elements' Y parent."


How can I avoid collisions with the staff for all tuplets, whether or 
not they have a bracket?


Thanks,

Mason


Mason,

Have you tried first deciding how to control bracket *visibility *in 
general?
It sounds like you have a very specific preference for this, maybe you 
could begin there and then do an outside staff priority override as 
needed for only the number?


That should avoid the error you're seeing due to the 'double' overrides.

http://lilypond.org/doc/v2.19/Documentation/snippets/rhythms#rhythms-controlling-tuplet-bracket-visibility

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


non-triplet tuplets collide with staff

2017-10-28 Thread Mason Hock
Lilypond by default seems to place all tuplet numbers/brackets so that 
they collide with the staff, with the exception of triplets, which it 
places outside the staff. I would like all tuplets outside of the staff 
like triplets.


\override Staff.TupletNumber #'outside-staff-priority = #1

fixes tuplets with no bracket, but for tuplets with a bracket only the 
number appears outside the staff; the bracket still collides with the 
staff.


\override Staff.TupletBracket #'outside-staff-priority = #1

fixes tuplets with a bracket, but for tuplets with no bracket the 
number still collides with the staff.


If I do both

\override Staff.TupletNumber #'outside-staff-priority = #1
\override Staff.TupletBracket #'outside-staff-priority = #1

I get an error: "warning: Cannot set outside-staff-priority for element 
and elements' Y parent."


How can I avoid collisions with the staff for all tuplets, whether or 
not they have a bracket?


Thanks,

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


  1   2   3   4   5   >