[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: alternative notehead style breaks cross-staff stem
From: |
Urs Liska |
Subject: |
Re: alternative notehead style breaks cross-staff stem |
Date: |
Tue, 15 Nov 2016 01:10:34 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
Am 14.11.2016 um 14:43 schrieb Urs Liska:
>
> Am 13.11.2016 um 21:44 schrieb Thomas Morley:
>> 2016-11-13 15:45 GMT+01:00 Urs Liska <address@hidden>:
>>> Hi all,
>>>
>>> I'm trying to build something like similar to an automated harmonic
>>> display on two staves, and it seems that alternative note head styles
>>> break the cross staff stems:
>>>
>>> ...
>> Hi Urs,
>>
>> cross-staff Stems are only printed if certain conditions are fullfilled.
>> One of them is the Stem's left edge are within a range 0.001
>> -> `close-enough?' in music-functions.scm
>>
>> In a recent thread I developed `pushNC' to force the Stems doing so.
>> http://lists.gnu.org/archive/html/lilypond-user/2016-11/msg00230.html
>>
>> Works here as well:
>>
>> ...
>>
>> HTH,
>> Harm
> Thank you, this indeed works well for my purpose, I'll soon share the
> results.
>
> The next step would be to have two notes connect their stems when *not*
> in different staves, e.g.
>
> \new Staff {
> <<
> {
> \voiceOne
> g''4 -\harmonic
> }
> \new Voice {
> \voiceOne
> c'4
> }
> >>
> }
>
> It seem crossStaff doesn't support this. But OTOH it may be simple to
> calculate the lower stem's length in this case (as opposed to real cross
> staff where you don't know the staff distance).
>
> Urs
For reference and for the curious the current state of the result can be
seen here:
https://github.com/openlilylib/ji/blob/ee00de2701a5921d63237b5b40702247c7dc5183/display.ily
The package this is in is not actually usable yet as it's still a
construction site. But there will be proper example files available and
the paper for which I'm actually doing this right now.
As a first impression the attached output is generated from the
following input (using the package) (note that the constant change of
display options is not what one would do in real-world scores but
intends to show how the output con easily be configured and reconfigured):
\score {
<<
\new PianoStaff <<
\new Staff = "one" {
s1*2
}
\new Staff = "two" {
\clef bass
\setOption ji.show.notehead-style #'harmonic
\setOption ji.show.ratio ##t
\setOption ji.show.cent ##t
\jiNote c, 2 7/1
\setOption ji.show.ratio ##f
\jiNote 4 6/1
\setOption ji.show.ratio ##t
\setOption ji.show.cent ##f
\setOption ji.conf.use-cross-staff ##f
\jiNote 5/1
\change Staff = "one"
\jiNote c' 2 7/4
\setOption ji.show.cent ##t
\setOption ji.show.ratio ##f
\jiNote d' 3/2
}
>>
>>
}
fund-result-notation-2.png
Description: PNG image