lilypond-user
[Top][All Lists]
Advanced

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

Re: Kievan_ligature_engraver for normal staff


From: Thomas Morley
Subject: Re: Kievan_ligature_engraver for normal staff
Date: Thu, 16 Jun 2016 00:23:57 +0200

2016-06-15 14:17 GMT+02:00 Светлана Лобанова <address@hidden>:
> Dear lilypond experts!
>
> I make kievan notes and their transcription with common noteheads from one 
> source. I'd like to make spacing in normal staff, like in kievan, and found 
> in docs about  \consists "Kievan_ligature_engraver"
> (http://lilypond.org/doc/v2.18/Documentation/notation/typesetting-kievan-square-notation#kievan-melismata),
>  but when I replace ligature engraver, all stems are shifted. Below is a 
> minimal example both with normal and kievan staff. If we remove 
> Kievan_ligature_engraver from normal staff, notes in the last line are placed 
> too wide. I tried using wide inbisible break signs beetween note groups and 
> also skips, but the result is not good enough and has too many extra markup 
> which sould be different for each line for better results. Kievan spacing 
> makes the best result, excepting stems. Is there any way to fix them?

I think "Kievan_ligature_engraver" was not coded to be used outside
KievanVoice. There are comments that Kievan never use Stems (I have to
believe that, don't know anything about Kievan notation myself). So
Stems are not really taken into account in any way, except for beams,
following the comments for stem::kievan-offset-callback.
Well, I don't understand this comment ...

Best would be someone really familiar with Kievan notation would code
some additions ...

For now I've only a nasty workaround, see below.

>
> Also - is there any way to get rid of extra spacing beetven the last note and 
> the barline in this example?

Again caused by "Kievan_ligature_engraver" as far as I can tell. I've
no good idea to improve, though ...

>
>
> \version "2.18.2"
>
> melodyI = \relative c'
> {
>   \cadenzaOn
>   \[ e4 (d4) \]  \[ e4 (f4) \]  \[ g2 \]  \[ f2 \]  \[ e2 \]  \[ e2 \]  \[ e2 
> \]
>   \[ e4 (d4) \]  \[ f2 (e2) \]  \[ d4 (c4) \]  \[ d4 (e4 f2) \]  \[ e1 \] 
> \bar"|"
>   \[  e2 \]  \[ e2 \]  \[ e4 (g4) \]  \[ e2 \]  \[ e2 \]  \[ f4 (e4) \]  \[ 
> d2 (e2) \]  \[ d1 (d2 c2) \] \bar"|"
> }
>
> textI = \lyricmode
> {
>   от О -- тца ро -- жде -- нно -- му не -- тле -- нно Сы -- ну
>   и в_по -- сле -- дня -- я от Де -- вы
> }
>
>
> \score{ <<
>     \new Staff = slavonic << \new Voice = "one" {\melodyI}  >>
>     \new Lyrics \lyricsto "one" { \textI }
>   >>
>   \layout {
>     \context {
>       \Voice
>       \remove "Ligature_bracket_engraver"
>       \consists "Kievan_ligature_engraver"
      \override NoteHead.stem-attachment = ##f
      \override NoteHead.after-line-breaking =
       #(lambda (grob)
         (if (> (ly:grob-property (ly:grob-object grob 'stem) 'direction) 0)
             (ly:grob-set-property! (ly:grob-object grob 'stem) 'extra-offset
               (cons
                 (interval-length (ly:grob-extent grob grob X))
                 (cdr (ly:note-head::calc-stem-attachment grob))))))
>     }
>   }
> }
>
> \score{  <<
>     \new KievanStaff = slavonic << \new KievanVoice = "one" { \melodyI} >>
>     \new Lyrics \lyricsto "one" \keepWithTag #'csl \textI
>   >>
> }
>
> --
> Best wishes,
> Svetlana

HTH a bit,
  Harm



reply via email to

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