Hi Urs,
last year I was facing this issue and also used this override. Just as a
hint is this example, using the edition-engraver. The method to enter
succeeding mods which only differ by one value is the one I used. Some
of the declared functions are taken from my own toolchain ...
To the point: There are functions to enter edition-mods with some kind
of template function. This is very useful to adjust note-column-spacing
along the timeline or for example lyric-align.
Jan-Peter
Am 03.01.2017 um 14:19 schrieb Urs Liska:
Am 03.01.2017 um 14:16 schrieb Thomas Morley:
2017-01-03 14:12 GMT+01:00 Urs Liska <[email protected]>:
Am 03.01.2017 um 13:56 schrieb Pierre Perol-Schneider:
How about the new spacing section?
http://lilypond.org/doc/v2.19/Documentation/notation/new-spacing-section
Well, this at least does affect the horizontal spacing and allows to force
some space in. But it's very hard to control because you don't affect the
individual note/grob but rather the whole spacing process as such.
Attached is the best result I could achieve. The space before the grace
notes is fine (I used a higher value than necessary to make it visible), but
I have the side-effect of the misaligned clef (and too much space in the
middle of the first beamed group. This is regardless of where I place the
first \newSpacingSection.
Thanks anyway
Urs
I often use
\once \override Score.NoteColumn.X-offset = #10
Thank you, that was it.
Controllable and basically clear: I force LilyPond to ignore its own
decision and tell it what to do instead.
Urs
PS: Andrew, I have the impression that could also be good for you
Cheers,
Harm
\version "2.19.54"
\include "oll-core/package.ily"
\include "snippets/ly/_internal/utilities/alist-access.ily"
\include "edition-engraver/edition-engraver.ily"
modMap =
#(define-void-function (edition-target edition-id proc lst)(symbol? list? procedure? list?)
(for-each (lambda (p)
(if (pair? p)
(let ((mod (proc (cdr p))))
(editionMod edition-target (caar p) (cdar p) edition-id mod)
)))
lst))
#(define-public optionsInit clratree)
#(define-public optionsGet getatree)
#(define-public optionsSet setatree)
#(define-public optionsAdd addatree)
#(define-public optionsRemove rematree)
#(define (frac-or-mom? v) (or (fraction? v)(ly:moment? v)))
addModM =
#(define-void-function (name takt pos mod)
(symbol? integer? frac-or-mom? scheme?)
(optionsAdd name (list (cons takt pos)) mod)
)
shiftNoteColumn = \once \override NoteColumn.X-offset = \etc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% um diesen Teil gehts mir hier
\optionsInit opts
\addModM opts 1 1/4 #10
\addModM opts 1 2/4 #-2 % Die Note wird nur so nah wie möglich an die vorhergehende gerückt
\addModM opts 1 3/4 #28
\modMap target sing.with.bach.Score #shiftNoteColumn #opts
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\consistToContexts #edition-engraver Score.Staff.Voice
\setEditions target
\layout {
\context {
\Score
\editionID ##f sing.with.bach
}
}
{ bes'4 a' c'' b' }
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user