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

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

Re: Lily and Plainsong


From: Mark Hindley
Subject: Re: Lily and Plainsong
Date: Tue, 31 Jul 2001 19:15:31 +0100 (BST)

Juergen Reuter writes:
 > 
 > What sort of ligatures are you thinking about?  Neo-mensural style

I am trying to get vaticana style.

 > 
 > 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.
 > 

We must try to make sure we don't duplicate.

> 
 > 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:
 > 

 > 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.


I was aiming for a syntax that made (re)use of existing lilypond
syntax rather than adding a new layer. 

So with my implementation of all the single note types and a special
4-line staff context you write


\context Plainsong  { \clef "vaticana_do2"
        a\punctum b\virga c\quilisma \bar "|/2" b\opunctum a\inclinatum \bar "|"
        }

You can also fake a porrectus with <g\puntum b>, although the ligating
line is missing.

The note types are implemented as (nominal) durations with name<->duration 
lookups in an
alist and a new Note_head::brew_neume_molecule callback.

The \bar "|/2" is a new half-height bar-line type that you often get halfway
through a plainsong verse.

It all seems to work neatly so far. Lyrics and melismas are typeset correctly.

So working in the same vein, I had though of still using the existing
beam [] syntax to define notes within a ligature. The advantage seemed
to be that you **don't** have to know the name of the ligature to
typeset it. IMHO this seems to be a big draw back of your
suggested implementation.(In my copy of the LU here, there are at least 22
different ligature types, some with 2 names, and then there are the
compound ones ...!)

What I thought I needed was a Ligature_engraver that will take all the
notes (of the 5 basic types) in a [] ligature/beam group and place them next to 
each other
and draw relevant lines.

I have to admit, this is the point at which my familiarity with lily
becomes somewhat thin. This is my first serious expedition into her
inner areas. May be this route is not at all feasible. Do shoot me
down in flames gently :)

All thoughts gratefully received. Of course Han-Wen is right that we
ought to try to learn from other mistakes in the past.

If people like the idea of what I have done so far I am quite happy to
send it in.

Mark



reply via email to

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