0.5)
\override LyricHyphen.minimum-distance = #0
\override LyricSpace.minimum-distance = #1
}
}
\version "2.23.7"
%% CHANGELOG
%%
%% 2022-04-21 Werner Lemberg
%%
%% * Update `add-grob-definition` to make it work with current development
%% version (2.23.7).
%%
%% 2019-05-28 Thomas Mo
>> but how about just
>> changing
>>
>> (let* ((hyphen-sten (ly:lyric-hyphen::print hyphen))
>>
>> to
>>
>> (let* ((hyphen-sten (ly:grob-property hyphen 'stencil))
>>
>>
>> ? Then you can do \override LyricHyphen.stencil = #what-you-want to
>> get the result.
>
> D'oh, so simple, thanks aga
> Here is an example where it fails to position lyrics correctly (see
> last system in the image).
And while we are at it: Here is another bug, already reported in
https://lists.gnu.org/archive/html/lilypond-user/2020-03/msg00289.html
I've slightly sharpened the test to exclude the possibilit
> The second bug is super hard to fix: when you tell LilyPond about
> spacing constraints between lyrics, before line breaking, you need
> to assume a lyric syllable won't be moved to the left by
> 'magnetism', because if you do, the spacer might think it can space
> its right neighbor more to th
>> Did I miss something?
>
> Whoops, big problem at line breaks ...
This is ingenious :-) Thanks *a lot* for this solution. In my tests
it seems to work fine.
Two comments.
* I *strongly* vote for polishing and documenting this so that it can
be added to LilyPond. It's an invaluable feature
>> This is ingenious :-) Thanks *a lot* for this solution. In my
>> tests it seems to work fine
>
> You're welcome.
I spoke too soon :-) There is a problem with ligatures at the syllable
boundaries (and kerning). While this can be considered an ugliness in
languages based on the latin script,
Dear LilyPonders,
I can get the extents of a grob with `ly:grob-extent`. What is the
corresponding Scheme function to set the extents?
Or to ask in a different way: At the time when properties are
processed and you have to manipulate stencils, changing the stencil of
a grob doesn't change the
>> Or to ask in a different way: At the time when properties are
>> processed and you have to manipulate stencils, changing the stencil
>> of a grob doesn't change the extents of this grob, AFAICS.
>
> You are not supposed to change stencils at all. They are not
> entities with identity.
>
> C
> There is a problem with ligatures at the syllable boundaries (and
> kerning). [...] it is not sufficient to shift the right syllable
> in a syllable pair to the left. Instead, the following should be
> done. [...]
Meanwhile I could implement this :-)
I will submit a MR soon.
Werner
> How did you do that? Sorry to rain on your parade, but I would not
> want you to put a lot of work in it if it will not be of mergeable
> quality.
Attached. In the end the necessary modifications were surprisingly
minor. Please comment, there is certainly room for improvements.
Werner
>> Attached. In the end the necessary modifications were surprisingly
>> minor. Please comment, there is certainly room for improvements.
>
> Thanks. This is a bit what I feared: in this state, there is
> potential for things going wrong with other after-line-breaking
> callbacks. Those are th
ainly room for improvements.
Attached is another version for testing without the need to patch
LilyPond.
Werner
% magnetic-lyrics.ily
%
% written by
% Jean Abou Samra
% Werner Lemberg
%
% Version 2022-Apr-15
\version "2.23.7"
#(define (Left_hyphen_pointer_engraver context)
> I am trying to write the dynamic "sfffz". But when I write
> \markup\dynamic"sfffz" the first sf is made a ligature, then the
> last two are made another ligature - the difference in spacing of
> the f's is ugly, as in the attached image - is there anything I can
> do about it?
A quick would b
> I’ve created some code for creating well behaved annotation brackets
> for some SE question, which I want to share with you all in case
> someone of you can use it.
Very nice! This smells like a good snippet for the LSR :-)
Werner
What is the Scheme equivalent to a top-level markup like
```
\markup \italic "foo"
```
? I can't find it in the documentation.
Werner
>> What is the Scheme equivalent to a top-level markup like
>>
>> ```
>> \markup \italic "foo"
>> ```
>>
>> ? I can't find it in the documentation.
>
> I am not a fan of the markup macro, but of course
>
> (make-italic-markup "foo")
>
> will also work.
Thanks.
> It is not clear what you mean
>> On the other hand, a LilyPond input file containing only
>>
>> ```
>> #(make-italic-markup "foo")
>> ```
>>
>> prints nothing. I now wonder how I can modify the latter to make
>> it actually work – what is the 'appropriate hook'?
>
> s/#/$
This did the trick, thanks! Reading the documenta
> Some time ago I wrote saying that I could not get the marking
> "sfffz" to kern properly. Someone replied that it did for them, and
> I let it sit there, waiting until I needed a solution, which point I
> have now reached. I have been slow and dense in recognising where
> the issue lies - I am
Within a markup, I want to `\translate` an object by the x-extent of
another markup. How can I do that?
While we have `\with-dimensions` and friends to adjust the size of an
object, it seems to me that we don't have something similar for
offsets... Would it be necessary to define
`\translate-w
>> Within a markup, I want to `\translate` an object by the x-extent
>> of another markup. How can I do that?
>>
>> While we have `\with-dimensions` and friends to adjust the size of
>> an object, it seems to me that we don't have something similar for
>> offsets... Would it be necessary to de
>> The problem at hand is stacking fixed-width single-digit and
>> two-digit numbers. Single-digit numbers should be left-aligned for
>> various reasons:
>>
>> ```
>> 9
>> 8
>> 7
>> ```
>>
>> If there is a two-digit number, it should be right-aligned at the
>> right edge of the left-aligned
> How about
>
> \markup \typewriter \column { 9 \general-align #X #CENTER 10 }
Nope, this doesn't align properly – see my answer to David's e-mail
for a longer explanation.
Werner
The problem at hand is stacking fixed-width single-digit and
two-digit numbers. Single-digit numbers should be left-aligned
for various reasons:
```
9
8
7
```
If there is a two-digit number, it should be right-aligned at the
right
> Again, I have no idea what you are trying to achieve here and how
> kerning has anything to do with it.
OK. Next try.
Here are the assumptions.
* Numbers 0, 1, 2, ..., 9 all have a width of 100 units.
* Number 10, however, has a kerning of -50 units between digits 0
and 1, making a total
>> * Single-digit numbers are left-aligned.
>
> Why? They have equal width. Do you rather mean that the reference
> point is supposed to be on the left edge?
Yes. Sorry for the sloppy wording.
> What is the alignment supposed to be if there are _only_ two-digit
> numbers?
This situation do
> Sth like
>
> \markup \box \number \column \with-dimensions-from \right-align "0"
> \right-align { 11 10 6 5 4 3 2 1 }
While this is an ingenious solution – thanks! – it doesn't fit my
needs, alas, since two-digit numbers stick out to the left of the box.
This is exacerbated by the fact that in
>> AFAICS, we are back to square one, needing the possibility to
>> `\translate` something by the width of another markup. I will cook
>> something up and see how well it works.
>
>
> Probably
>
> ```
> \version "2.22.2"
>
> #(define-markup-command (translate-by-extent-of layout props axis directi
Let's assume that I have 40 bars of flute 1 and 2 in a single staff of
a full score. At the very beginning of these bars I write "a 2", and
I want this remark repeated at the beginning of every staff where this
is still true. [Obviously I'm not using `\partCombine` :-)]
Has anyone already set
>> Currently homebrew provides Lilypond 2.22.2 for Apple Silicon,
>> that is what I am using.
>
> Did you try running the x86_64 binaries via Apple's Rosetta tool? That
> might be a bit slower than native executables, but given that Homebrew
> builds 2.22.2 without Guile bytecode, it might actu
>> Note that the MacPorts port of LilyPond 2.22.2 already uses Guile
>> 2.2 bytecode and provides a binary for Apple Silicon, too.
>>
>> https://ports.macports.org/port/lilypond/details/
>
> No, the 2.22.2 version uses Guile 1.8 as can be easily seen from the
> dependencies. Even if it used G
> while it is probably not the best way to do it, here is a
> pragmatical solution to the problem.
Thanks a lot! Will try it soon.
Werner
>> while it is probably not the best way to do it, here is a
>> pragmatical solution to the problem.
>
> Thanks a lot! Will try it soon.
Basically, it works great, but there are two problems (tested with
2.23.9).
* It doesn't print 'a 2' at the very beginning.
* Contrary to `\mark`, the 'a 2'
> The optimal solution (IMO) would be to improve the whole instrument
> definition, switching, and [staff-]labelling framework such that
> \addInstrumentDefinition and \instrumentSwitch would change the
> appropriate texts so that the engraver(s) could present the
> information automagically acco
> Basically, it works great, but there are two problems (tested with
> 2.23.9).
>
> * It doesn't print 'a 2' at the very beginning.
>
> * Contrary to `\mark`, the 'a 2' should always be horizontally
> aligned to a note column and not to prefatory matter like time or
> key signatures.
And I'
> Meanwhile, how about using a spanner rather than an item? See
> attached.
Very nice, thanks! Besides the (hopefully) harmless warning
```
programming error: Spanner `TextSpanner' is not fully contained
in parent spanner. Ignoring orphaned part
continuing, cross fingers
``
> I’ve changed it up so that the a2 is always aligned to the note when
> it is set. This also solves the first one not being printed.
Thanks!
Werner
>> Meanwhile, how about using a spanner rather than an item? See
>> attached.
Aaand some nits :-)
* Contrary to Valentin's solution, the first 'a 2' text is not
left-aligned to the left edge of the note head. This is especially
visible with whole notes (see attached image). It is not clea
>>> Meanwhile, how about using a spanner rather than an item? See
>>> attached.
>
> Aaand some nits :-)
I forget another one.
* If you look at the attached image (from 'Carmina burana') it
probably makes sense to have the staff annotation engraver actually
live in the Voice context. We sh
[LilyPond version 2.23.9]
The following example
```
<<
\new Staff { f'1 }
\new Staff { f'1 \tweak X-offset #-5 \pp }
>>
\new StaffGroup <<
\new Staff { f'1 }
\new Staff { f'1 \tweak X-offset #-5 \pp }
>>
```
shows that I can't move the 'pp' to sit under the time signature if I
use `Sta
>> The following example
>>
>> ```
>> <<
>>\new Staff { f'1 }
>>\new Staff { f'1 \tweak X-offset #-5 \pp }
>> \new StaffGroup <<
>>\new Staff { f'1 }
>>\new Staff { f'1 \tweak X-offset #-5 \pp }
>> ```
>>
>> shows that I can't move the 'pp' to sit under the time signature if
>> I us
> dynamicLengthOff = {
> \override DynamicText.extra-spacing-width = #'(+inf.0 . -inf.0)
> \override DynamicText.extra-spacing-height = #'(0 . 0)
> }
Nice idea, thanks!
Werner
>> * Contrary to Valentin's solution, the first 'a 2' text is not
>> left-aligned to the left edge of the note head. This is
>> especially visible with whole notes (see attached image). [...]
>
> See the attached file, fixing that problem and making it per-voice.
Thanks, will test soon in m
[git f326290b65351]
Please have a look at the attached image. What must I do to make the
breathe sign 'ignore' the change clef so that the breathe sign is
positioned as if the change clef wasn't there?
Werner
> [git f326290b65351]
>
> Please have a look at the attached image. What must I do to make
> the breathe sign 'ignore' the change clef so that the breathe sign
> is positioned as if the change clef wasn't there?
Well, having some code certainly helps :-)
```
{ 1 \breathe | }
{ 1 \breathe \cl
>>> Please have a look at the attached image. What must I do to make
>>> the breathe sign 'ignore' the change clef so that the breathe sign
>>> is positioned as if the change clef wasn't there? [...]
>
> There's always this sort of trick: [...]
Excellent, thank you!
> Is this canonical present
> Well, just look at a Mahler score. He was one of the great
> conductors, and the strings are full of bowing marks. How many of
> them are followed by conductors these days I don't know.
Well, just look at a Richard Strauss score :-) His scores are full of
legatos in the strings which are de
For piano music it is common to indicate the use of the right hand in
the lower staff with a 'half-bracket' (and vice versa for the upper
staff), see image.
Two questions.
* What's the right term for this 'half-bracket'?
* Has someone coded this already? I couldn't find code in the LSR.
Thank
> * What's the right term for this 'half-bracket'?
BTW, in SMuFL this symbol is called 'keyboardPlayWithRH' :-)
https://w3c.github.io/smufl/latest/tables/keyboard-techniques.html
Werner
>> For piano music it is common to indicate the use of the right hand in
>> the lower staff with a 'half-bracket' [...]
>
> In the NR I find
>
> Indicating cross-staff chords with arpeggio bracket [...]
>
> It's not a half-bracket but it's the closest in the manual I can
> find at a glance.
Tha
>> * Has someone coded this already? I couldn't find code in the LSR.
>
> I don't know if this is still the most ideal way, but it works.
> [...]
Thanks a lot for all the replies! I'll analyze them and cook
something up for my needs.
Werner
Dear LilyPonders,
the snippet below demonstrates that top-staff lyrics are incorrectly
positioned above rehearsal marks if the engraver for the latter is
moved to another context (I need that in a full score with rehearsal
marks printed simultaneously at three different vertical positions).
Wha
> I think you likely want to move the Mark_engraver to a kind of
> MarkLine context instead.
Well, the problem is that such a context needs the
`Axis_group_engraver`, which tries to align stuff horizontally on a
line. I don't want that. Rehearsal and tempo marks should be aligned
on the selecte
>> the snippet below demonstrates that top-staff lyrics are
>> incorrectly positioned above rehearsal marks if the engraver for
>> the latter is moved to another context (I need that in a full score
>> with rehearsal marks printed simultaneously at three different
>> vertical positions).
>
> Tha
> Rehearsal and tempo marks should be aligned
> on the selected staff as if they were part of it, see attached
> example.
I forgot to also move `Metronome_mark_engraver` in my example, but it
doesn't make a visual difference here.
Werner
David,
thanks for your code – I consider it quite an elegant solution.
> squashed =
> \once \propertyTweak stencil
> #(grob-transformer 'stencil
> (lambda (grob old)
> (ly:stencil-aligned-to old X RIGHT)))
> \etc
>
> { 1 \breathe | }
>
> { 1 \breathe \squashed Sta
> I'm not sure why this takes into account the right endpoint of the
> extent on the left but not the left endpoint of the extent on the
> right. I think it might just be assuming that all break-aligned
> grobs have an extent starting at 0.
Or maybe it's simply a thinko...
Werner
>> This code might serve as an example for `\propertyTweak`, which the
>> NR is currently missing.
>>
>> Would you care to submit an MR, expanding the documentation
>> accordingly?
>
> I'm not sure if the NR is the best place for explaining
> \propertyTweak. Its usefulness is basically to be a h
> I find that even using shorten-pair (with a negative first value)
> fails to do this as I expected. So now I don't know any way to
> print the bracket with the preferred layout...
This looks like a bug. Please file an issue at
https://gitlab.com/lilypond/lilypond/-/issues
Werner
>> I find that even using shorten-pair (with a negative first value)
>> fails to do this as I expected. So now I don't know any way to
>> print the bracket with the preferred layout...
>
> This looks like a bug. Please file an issue at
>
> https://gitlab.com/lilypond/lilypond/-/issues
Neve
Consider the following example:
```
\figures {
}
```
As can be seen in the attached image, the elements are separated by
padding only; they are not vertically spaced using `baseline-skip` or
something similar.
How can I change that?
Werner
>> Consider the following example:
>>
>> ```
>> \figures {
>>
>> }
>> ```
>>
>> As can be seen in the attached image, the elements are separated by
>> padding only; they are not vertically spaced using `baseline-skip`
>> or something similar.
>>
>> How can I change that?
>
> Like this?
>
> \v
> Then I don't understand the problem. What characteristic of
> baseline-skip do you wish? Is it that it counts from the origin of
> each markup and somehow this distance is more convenient for you to
> provide? Is it that it ignores the extents of the markups?
I want equal vertical spacing of li
> This sounds like it might be related to my [long-standing] concerns
> about leading, etc., in markups: there either isn’t a convenient
> mechanism to deal with texts/markups *from their baseline [and not
> their reference point]*, or the convenient mechanism exists and
> isn’t sufficiently well
I've just stumbled upon this page
https://tobiw.de/tbdm/funktionssymbole ,
presenting a macro that helps with entering (German-style) music
function symbols. The blogpost is in German, but a LaTeX user will
certainly understand the code easily. It is also explained in English
at
https://
> Functions like transpose act destructively on their argument, so you
> need a copy or the original will get changed. [...]
How can Joe User find out whether a function is acting destructively?
Werner
___
lilypond-user mailing list
lilypond-use
Folks,
any idea how to realize inter-letter spacing? Has someone already
written a macro like
\markup { \letter-spacing #0.1 "foobar" }
which should be equivalent to
\markup { \concat { "f" \hspace #0.1
"o" \hspace #0.1
...
> any idea how to realize inter-letter spacing? Has someone already
> written a macro like
>
> \markup { \letter-spacing #0.1 "foobar" }
>
> which should be equivalent to
>
> \markup { \concat { "f" \hspace #0.1
> "o" \hspace #0.1
> ...
>
>> PS: Right now, I would be thankful for a pointer to this simplistic
>> solution :-)
>
> \markup \override #'(word-space . 0.4)
> \line { #(map! string (string->list "foobar")) }
Thanks a lot! This works for my use-case.
Werner
___
Folks,
I have to typeset a bunch of snippets that contain ties and slurs
either from a (not typeset) bar at the left or to a bar to the right
(see attached example). What is the recommended way to do that
gracefully?
Werner
___
lilypond-user mai
> You mean you just want the slurs to extend before and after the
> notes?
Yes, but ...
> Any reason you can't use \shapeII from openlilylib?
... I don't want to have a manual solution – but thanks for the
suggestion.
What I imagine is a possibility to specify `front matter' and
`back matter'
>> What I imagine is a possibility to specify `front matter' and
>> `back matter' that gets processed but not displayed, for example
>>
>>\relative c' {
>> \frontmatter { f4( }
>> g a b c
>> \backmatter { d) }
>>}
>>
>> which should be handled as
>>
>>\relative c' {
>>
>> I have to typeset a bunch of snippets that contain ties and slurs
>> either from a (not typeset) bar at the left or to a bar to the
>> right (see attached example). What is the recommended way to do
>> that gracefully?
>
> I'm still not sure what you're after and/or the wished workflow.
See
Hi David K.,
in the last few days you should have received some private messages
from me and others sent to . Did you get them?
In case you didn't get them, or if you got them and you answered: I
didn't receive a reply; maybe there is a mailing issue. I would
gladly resend the messages to an
Using
http://lsr.di.unimi.it/LSR/Item?id=1000
I wonder how to get the effect for a single note. Ideally, I would
like to write
\genericSpan <...parameters ...>
e\startGroup\endGroup
but since `\genericSpan' uses a `HorizontalBracket' grob, this fails;
it needs at least two notes.
I was
> I'm not sure if that helps you with your case (probably not), but
> you should at least know that this snippet has by now evolved into
> this openLilyLib package: https://github.com/openlilylib/analysis/,
> https://github.com/openlilylib/analysis/wiki/Frames
Thanks for the info!
Werner
_
> Using
>
> http://lsr.di.unimi.it/LSR/Item?id=1000
>
> I wonder how to get the effect for a single note. Ideally, I would
> like to write
>
> \genericSpan <...parameters ...>
> e\startGroup\stopGroup
With the attached patch (for git master) I get exactly that :-)
Not sure whether the
>> Not sure whether the coding fits lilypond's C++ style, however.
>
> Seriously? C++ has loops, you don't need goto for that.
What construction do you suggest as a replacement?
>> + // One single-moment bracket is allowed. Abbreviating a horizontal
>> + // bracket's `START' span-direction
>>> Seriously? C++ has loops, you don't need goto for that.
>>
>> What construction do you suggest as a replacement?
>
> A loop?
Well, yes. However, everything seems quite inelegant and bloated to
me in comparison to this simple `goto' [and I don't think that such a
local `goto' is something t
> Slightly off-topic: Currently it’s not possible to end one bracket
> and start the next at the same moment, that’s
> https://sourceforge.net/p/testlilyissues/issues/5240/ where I
> mentioned overlapping brackets. IIRC the brackets are started and
> ended when the bracket count is increased or d
> So how do you distinguish a nested bracket starting and ending at
> the same musical moment to ending one bracket and starting the next
> at the same musical moment?
Here's the algorithm.
For a given moment,
(1) count the number of \startGroup and \stopGroup events for a given
moment and
Oops, some typos. Here a corrected algorithm version.
Here's the algorithm.
For a given moment,
(1) count the number of \startGroup and \stopGroup events and push the
events onto a stack so that they can be referenced later on
(function `listen_note_grouping'),
(2) create a Horizontal
>> Ideally, I would like to write
>>
>> \genericSpan <...parameters ...>
>> e\startGroup\endGroup
>>
>> but since `\genericSpan' uses a `HorizontalBracket' grob, this
>> fails; it needs at least two notes.
>>
>> I wasn't able to find a suitable solution in the web; IMHO, it
>> would be a quite
> You could experiment with setting
> page-breaking-system-system-spacing, which can let you specify
> custom spacing variables that apply just for the determination of
> page breaking.
Aaah, I was totally unaware of this paper variable. Thanks a lot!
Adjusting it makes my example work.
We
I wonder whether it is possible to use \unset in the paper block. The
use-case is lyluatex, which sets `left-margin'; I want to unset this
value so that lilypond only takes the line width into account to
automatically center it.
In other words, I would like to have
% from lyluatex
\paper
> I wonder whether it is possible to use \unset in the paper block.
> The use-case is lyluatex, which sets `left-margin'; I want to unset
> this value so that lilypond only takes the line width into account
> to automatically center it.
>
> In other words, I would like to have
>
>% from lylu
> IIRC these assignments in \paper and \layout and \header blocks are
> functionally equivalent to defining a variable in Scheme like
>
> #(define left-margin 100)
Yes.
> The kind of \unset you’re asking for requires the previous value to
> have been saved onto some stack, which I doubt exists/
>> To ask differently: In file `paper.scm' I can see
>>
>> (module-remove! m 'line-width)
>>
>> to remove `line-width'; I now wonder what value for `m' I have to
>> use...
>
> \paper {
> #(module-remove! (current-module) 'line-width)
> }
>
> should work for doing this via Scheme.
This wor
> I would really appreciate someone explaining how to generate these
> tables using FontForge. thanks!
(0) Please read `mf/README'. For better readability of log files
created by METAFONT I suggest that you (temporarily) set
max_print_line=1000
in your environment.
(1) A run of
> it strikes me as odd and unnecessary that one has to manually add a
> label with the instrument name to each cue. Wouldn’t it make more
> sense to supply that instrument name as a string (or markup) as an
> additional argument to \addQuote and have \cueDuring (and
> \cueDuringWithClef) automati
>> I would really appreciate someone explaining how to generate these
>> tables using FontForge. thanks!
I've just updated `mf/README' in the git repository with an even more
detailed description of the conversion process.
Werner
___
lilypond-use
[Frescobaldi 3 on Windows]
If I press the F9 button to open the lilypond documentation, I get the
pages for version 2.18. However, my installed lilypond version is
2.19.83. What must I do to make Frescobaldi display the 2.19
documentation?
Werner
>> If I press the F9 button to open the lilypond documentation, I get
>> the pages for version 2.18. However, my installed lilypond version
>> is 2.19.83. What must I do to make Frescobaldi display the 2.19
>> documentation?
>
> on Linux in the Edit>Preferences dialogue there is a tab for
> ‘Lil
> beams on cue notes are thinner and closer to each other than on
> regular notes. The same is, however, not the case for tremolo beams.
> [...]
This is issue #5506; see commit
9c0e1363accceec8a686c868a6a5e5340317c331
Werner
___
lilypond-user
Dear LilyPonders!
Lukas-Fabian Moser, Urs Liska, and I proudly announce the conference
Music Engraving in the 21st Century
Developments and Perspectives
January 17th – 19th, 2020
Mozarteum Salzburg, Austria
All details – and a Call for Papers – can be found here:
https://www.uni-mo
>>Probable background of Urs’ question:
>>https://www.uni-mozarteum.at/en/kunst/music-engraving-conference.php
>
> Yes, but I didn't want to disclose that before Werner makes an
> official announcement ;-)
Well, I was just taking a shower before sitting in front of my
Computer :-)
Werner
Dear LilyPonders,
please consider this snippet.
moveDyn =
#(define-music-function (X Y) (number? number?)
#{ \once \override DynamicLineSpanner.outside-staff-priority = ##f
\once \override DynamicText.X-offset = #X
\once \offset Y-offset #Y DynamicLineSpanner #})
> moveDynTweak = -\single \moveDyn \etc
Thanks!
>> I naïvely tried
>>
>> moveDynTweak =
>> #(define-music-function (X Y) (number? number?)
>> #{ \once \override DynamicLineSpanner.outside-staff-priority = ##f
>> \once \override DynamicText.X-offset = #X
>> \once \of
>> moveDynTweak =
>> #(define-music-function (X Y) (number? number?)
>> #{ \tweak DynamicLineSpanner.outside-staff-priority ##f
>> \tweak DynamicText.X-offset #X
>> \offset DynamicLineSpanner.Y-offset #Y
>> \etc #})
>
> Should have worked when using -\moveDy
>> Thanks! Please check whether
>>
>> moveDyn =
>> #(define-event-function (X Y etc) (number? number? ly:music?)
>> #{ \tweak DynamicLineSpanner.outside-staff-priority ##f
>> \tweak DynamicText.X-offset #X
>> \offset DynamicLineSpanner.Y-offset #Y
>> etc #})
> Oops, and of course #etc (or whatever it is called now).
I now have
% A tweak-like function to move dynamics.
moveDyn =
#(define-event-function (x y event) (number? number? ly:event?)
#{ \tweak DynamicLineSpanner.outside-staff-priority ##f
\offset DynamicText.X-offset #x
101 - 200 of 1698 matches
Mail list logo