lilypond-user
[Top][All Lists]
Advanced

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

Re: Custom gradual spanners


From: Rip mus
Subject: Re: Custom gradual spanners
Date: Tue, 27 Dec 2022 19:18:29 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1

Thank you very much!


Rip

Il 27/12/2022 18:12, Gregory Evans ha scritto:
Hello,
Here are the functions for the vibrato waves. I found them in an archive of the mailing list somewhere: https://github.com/GregoryREvans/evans/blob/5601cc08a8948bd7b81a915495bb05323d5ea1d0/lilypond/evans-functions.ily#L672

And here is where the repeating-symbol spanner replacement can be found. I have been using spanner elements from the ekmelos font: https://github.com/GregoryREvans/evans/blob/5601cc08a8948bd7b81a915495bb05323d5ea1d0/lilypond/evans-spanners.ily#L1159

I actually have been using quite a lot of symbols from this font so I might as well link to it directly: http://www.ekmelic-music.org/en/extra/ekmelos.htm

regards,
GR

p.s. Both of these solutions are overrides of a trill spanner.

On Tue, Dec 27, 2022 at 9:58 AM Rip _Mus <ripetizioni.musica@gmail.com> wrote:
Hi Gregory,
while we wait for help, do you have a repository where I can have a look at the codes of the functions you're talking about?

Thank you!

Rip_mus

Il lun 26 dic 2022, 18:34 Gregory Evans <gregoryrowlandevans@gmail.com> ha scritto:
Hello,
I would also like to see some help on this, because while I have made some progress in working on custom spanners for some time now, I still have trouble. I managed to find some older code on this list which points to a way forward. There will always be a need to write some fairly intense scheme code for this purpose. Just to show some of the solutions I have found:
1.) If you have a font with a spanner element (like scripts.trill_element in emmentaler), it's possible to override the stencil of a trill with a new stencil constructed from repetitions of the shape. For example I have written a function which will repeat elements given a number of repeats and the shape will be stretched to fill the length of the trill grob. I don't have a solution for a ramping shape in the above example. I also have some mistakes in the code which disallow adding text in the bound-details.
Screen Shot 2022-12-26 at 12.11.45 PM.png
Screen Shot 2022-12-26 at 12.12.04 PM.png
Screen Shot 2022-12-26 at 12.12.55 PM.png
2.) I've also been experimenting with making multi-trills. I have done this by creating text spanners with custom spanner-ids and overriding the line-style to be a trill. I have then parenthesized a series of after-graces for the trill pitches.
Screen Shot 2022-12-26 at 12.17.40 PM.png
Screen Shot 2022-12-26 at 12.17.46 PM.png
3.) Now, to point to where the real solution is likely to be found, I found older code which uses postscript to draw a new stencil (in some cases of a glissando and in some cases of a trill) through more complicated sine-wave calculation. I have a copy of this code and it works well, but it only has the ability to control wavelength for the entirety of the spanner without variation.
Screen Shot 2022-12-26 at 12.16.33 PM.png
Screen Shot 2022-12-26 at 12.17.09 PM.png
So to summarize, there absolutely exists a solution to write a callback function to be deployed during the after-line-breaking time of a spanner, but it will require some ingenuity to write a function to automate it. I'd love to know if someone has already achieved this.

regards,
gregory r evans

On Mon, Dec 26, 2022 at 11:40 AM Rip _Mus <ripetizioni.musica@gmail.com> wrote:
Hello,
is there a way to modify a spanner to get a slow-fast trill (like the one in the picture)?
image.png
Obviously with user-provided glyphs.
I'm trying to figure out how spanners were written to be able to at least modify an existing one, TextSpanner or TrillSpanner, (or write one on purpose, if it's not too complicated, but I guess it is!), but I can't find the definitions.

Thank you!

Rip_mus


--


--
gregory rowland evans

reply via email to

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