gnu-music-discuss
[Top][All Lists]
Advanced

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

Re: Lily and Plainsong


From: Juergen Reuter
Subject: Re: Lily and Plainsong
Date: Tue, 31 Jul 2001 10:58:30 +0200 (MEST)

On Tue, 31 Jul 2001, Mark Hindley wrote:

> I can produce usable output of simple lines. I still have to sort out
> ligatures etc.

What sort of ligatures are you thinking about?  Neo-mensural style
(i.e. usually with square brackets above the notes), mensural style
(i.e. (e.g.) two or more mensural noteheads horizontally attached at each
other, optionally with a vertical line drawn between them), editio
vaticana style (similar to mensural, but with different noteheads), or
...?

I am going to start work on vaticana style ligatures as soon as the
ancient font is (more or less) complete.  Maybe my approach can be
generalized to cover other styles as well, but I do not know yet.

> I have got stuck with trying to group the notes of a single melisma so
> that they are adjacent. I have stared at spacing-engraver.cc for a
> long time. It is now late. Am I looking in the wrong place? Any suggestions?
> 

The approach that I thought of for vaticana style ligatures is to write a
ligature context.  The grace context might be a good starting point.  The
rationale results from the following requirements for vaticana style
ligatures:

* A ligature consists of a number of noteheads, possibly with additional
  graphical objects (mostly lines; in neo-mensural style: brackets) that
  are drawn to connect individual noteheads.

* A ligature has a fixed horizontal size that only depends on the number
  of noteheads and the type of the ligature.  In particular, lily's
  spacing engine (gourlay breaking or whatever) may add space between
  ligatures, but never within a ligature.  This means that a ligature must 
  be somehow encapsulated into a single object that can be shifted, but
  that can not (horizontally) span.

* However, it is not a good idea to implement a ligature as a single
  horizontally fixed-size grob with multiple noteheads, because it should
  still be possible to address single noteheads in the usual way,
  e.g. when putting staccato dots onto single noteheads.

* Similar to spacing, line breaks never may occur within ligatures, but
  only between ligatures.  Similar to a \bar request, lily may encounter 
  the end of a ligature as a good point for breaking a line.  A user's 
  \bar request or \breathe mark or something else inside a ligature that
  breaks the unity of the ligature is to be seen as a programmer's
  fault; in such a case, a proper warning should be issued, and the
  user's request should be ignored.

* Vaticana style ligatures do (as far as I know) not allow alteration
  within the same ligatures.  Consequently, accidentals are put before the
  ligature as a whole rather than before the individual notehead(s) they
  apply to.  Alternating accidentals within a single ligature should be
  viewed as a programmer's fault.

In terms of input syntax, a vaticana style ligature may look like

  \ligature { d \pes e d \flexa f g \porrectus a bes g \cephalicus f d },

where requests like \pes, \flexa, \porrectus, \cephalicus etc. define the
particular style of ligature and/or the notehead style to use.

>From these requirements, I guess a reasonable implementation should be
based on a context implementation.  Any comments are appreciated!

Greetings,
           Juergen




reply via email to

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