lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Workaround for issue on tuplet of skips


From: Jean Abou Samra
Subject: Re: Workaround for issue on tuplet of skips
Date: Sun, 19 Feb 2023 02:18:16 +0100
User-agent: Evolution 3.46.3 (3.46.3-1.fc37)

Le dimanche 19 février 2023 à 02:09 +0100, Paolo Prete a écrit :

Hello LilyPonders,

Currently, I checked that Spontini-Editor has an incompatibility with LP 2.25.x (it works well with 2.24.x branch) due to this bug:

https://gitlab.com/lilypond/lilypond/-/issues/6482

More specifically, the incompatibility happens when hidden tuplets of skips, which don't compile in the 2.25.x series, are dynamically created by the cross-staff libraries of the editor, e.g:  \tuplet 3/2 {s8 s s}
Of course I'll wait that the LP issue gets fixed, but given that it can take some time, I'm considering to work around it, meanwhile, with a Scheme filter that does the following transformation:

{ c' d' \tuplet 3/2 { s8 s s } f'  \tuplet 5/4 { s4 s s s s } }    

becomes

{  c ' d' s8 s f'  s4 s s s } }

(NOTE: skips inside the tuplets have no articulations, nor dynamics etc.)

Therefore I gently ask: is it trivial to write such a Scheme function? If simple, how can I implement it?

NOTE 2: if the resulting Scheme code is long, I'd probably (?) wait until the issue gets fixed.

Thanks very much!

So IIUC, you want to remove tuplets that contain only skips?

Try something like this:

\version "2.25.2"

noSkipTuplets =
\musicMap
#(lambda (m)
   (if (and (music-is-of-type? m 'time-scaled-music)
            (every (lambda (e)
                     (music-is-of-type? e 'skip-event))
                   (extract-typed-music m 'rhythmic-event)))
       (ly:music-property m 'element)
       m))
\etc
toplevel-music-functions = #(cons noSkipTuplets toplevel-music-functions)

{
  \tuplet 3/2 { c'8 d' e' }
  c' d'
  \tuplet 3/2 { s8 s s }
  f'4
  \tuplet 5/4 { s4 s s s s }
}

When it encounters a tuplet with no notes inside, it removes the tuplet music wrapper, leaving only the inner (time-scaled) music.

Best,

Jean

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]