[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: stacking whole notes of different size
From: |
Thomas Morley |
Subject: |
Re: stacking whole notes of different size |
Date: |
Wed, 2 Sep 2015 00:16:49 +0200 |
2015-09-01 7:21 GMT+02:00 Marc Hohl <address@hidden>:
> Am 31.08.2015 um 19:09 schrieb Stephen MacNeil:
>>
>> \override NoteColumn.force-hshift = #.65 works but you would have to
>> create a new voice i believe.
>
>
> Yup, creating a new Voice and applying force-hshift works, but the last
> tie looks quite different than the other ones:
>
> a2. fis4 | a1 |
> <<
> { \voiceTwo g1 | fis | e | d~ | 1~ | 1~ | 2 }
> \new Voice \with { fontSize = #-3 } {
> \override NoteColumn.force-hshift = #0.15
> \voiceOne b'1 | h! | cis | d~ | 1~ | 1~ | 2
> }
> >>
>
> see attached picture.
>
> Marc
>>
>>
>>
>> Stephen
>>
>
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>
Hi Marc,
I wrote some test
m =
\relative c' {
c1~ 1~ 2 s2
\bar "||"
c1~ 1~ 1
\bar "||"
c2~ 2~ 2~ 2~ 2~ 2
\bar "||"
}
\transpose c c \m
\transpose c d \m
\transpose c e \m
\transpose c f \m
\transpose c g \m
\transpose c a \m
\transpose c b \m
\transpose c c' \m
\transpose c d' \m
\transpose c e' \m
\transpose c f' \m
\transpose c g' \m
looks like the Ties are different only, if a whole note and one of a
different value are involved _and_ if they are on a staff-line.
With \voiceOne/Two Ties at the bottom and top-lines are affected as well.
The test-code above does not contain this, you may want to play around
with voiceXxx, though.
png attached.
I've found the `intra-space-threshold' form `Tie.details' can be
tweaked to improve the situation:
\version "2.19.25"
#(define (tie-tweak intra-space-threshold-value)
"
Set @code{intra-space-threshold} of @code{tie}'s @code{details}-property to
@var{intra-space-threshold-value}.
Apply it only if the tied note is on a line.
Limitation: works for default five-line-staff only.
"
(lambda (grob)
(let* ((right-bound (ly:spanner-bound grob RIGHT))
(staff-pos (ly:grob-property right-bound 'staff-position)))
;; apply it only if the right-bound is on a line!!
(if (member staff-pos '(-4 -2 0 2 4)) ;; works only for default-staff-symbol
(begin
;; for testing, set color:
;(ly:grob-set-property! right-bound 'color red)
(ly:grob-set-nested-property! grob
'(details intra-space-threshold)
intra-space-threshold-value))) ;; default 1.25
)))
%%%%%%%%%%%%%%%%
%% TEST-EXAMPLES
%%%%%%%%%%%%%%%%
m =
\relative c' {
c1~ 1~ 2 s2
\bar "||"
c1~ 1~ 1
\bar "||"
c2~ 2~ 2~ 2~ 2~ 2
\bar "||"
}
\layout { \override Tie.after-line-breaking = #(tie-tweak 0.25) }
\transpose c c \m
\transpose c d \m
\transpose c e \m
\transpose c f \m
\transpose c g \m
\transpose c a \m
\transpose c b \m
\transpose c c' \m
\transpose c d' \m
\transpose c e' \m
\transpose c f' \m
\transpose c g' \m
%%%%%%%%%%%%%%%%
%% Your EXAMPLE
%%%%%%%%%%%%%%%%
\relative c'' {
a2. fis4 | a1 |
<<
{ \voiceTwo g1 | fis | e | d~ | 1~ | 1~ | 2 }
\new Voice
\with {
fontSize = #-3
\override Tie.after-line-breaking = #(tie-tweak 10.25)
}
{
\override NoteColumn.force-hshift = #0.15
\voiceOne bes'1 | b! | cis | d~ | 1~ | 1~ | 2
}
>>
}
I hope it helps a bit, although I've found no convincing general value.
png with your example is attached as well.
Cheers,
Harm
different-ties-test.png
Description: PNG image
different-ties-example-marc.png
Description: PNG image