[Top][All Lists]

[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: Thu, 2 Aug 2001 07:24:33 +0100 (BST)

 > > 
 > > \context Plainsong  { \clef "vaticana_do2"
 > >    a\punctum b\virga c\quilisma \bar "|/2" b\opunctum a\inclinatum \bar "|"
 > >    }
 > You can do all these things already now with existing lilypond syntax with
 > the patch that I sent on July, 5th.
 > With this patch, instead of "\puncum b" you have to say
 > "\property Voice.NoteHead \override #'style =  #'vaticana_punctum b",
 > but, of course, you are free to define a "\punctum" abbreviation command
 > for convenience.  There is no need for a special 4-line staff context;
 > just say "\property Staff.StaffSymbol \override #'line-count = #4".
 > Rather than saying '\bar "|/2"', you can manipulate the bar size property.

I think it is syntax, not implementation that we have approached
differently. IMHO, I think we should try to make the neume syntax match the
existing as closely as possible. Viz the description of the note is
**appended** to the pitch. So in my example it is `a\punctum' in the same
manner as a4 or a\breve rather than `\punctum b'. I feel that having 2
different systems will prove clumsy to use. Although you can define a
\punctum abbreviation command, in your scheme it will have to go **before** the 
note concerned.

Following on the same vein. I felt that to do something as common in
this type of music as a half-height bar needed more native support than
having to set and reset the bar-size property every time. 

My Plainsong context is just a renamed Staff context (like
RhythmicStaff) with the various properties (like line-count) and
engravers set.

 > My recent patches concentrate on the 'original' vaticana edition from
 > 1905.  MusixTeX introduces noteheads and ligatures that, as far as I know,
 > are not part of the vaticana edition (unless I am told otherwise),
 > e.g. oriscus.  I did not include feta symbols for these for the simple
 > reason that I do not have any trustworthy references.

I have never tried MusicTeX. I have a 1934 Liber Usualis here. Oriscus
*is* described in the Vatican preface. It is just and extra punctum on
a Clivis or Torculus.

 > I think you mean a pes or podatus rather than a porrectus.  And
 > this is

Clumsy fingers!

 > > The note types are implemented as (nominal) durations with name<->duration 
 > > lookups in an
 > > alist and a new Note_head::brew_neume_molecule callback.
 > I added the noteheads with a (dummy) duration of "0" (whole notehead) in
 > the font.  Why do you need a special Note_head::brew_neume_molecule
 > function?  

Because I have put the neumes in their own section in the font and
look them up by name with no duration. 

The 'nominal' durations are used for user input and internal
coding. So \punctum is defined as a duration and can be appended to a
pitch. brew_neume_molecule takes the duration and does the reverse
lookup of the duration to get the name used in the font. This way, as
the same alist is used, even if you change the alist you still get the
right symbols printed.

 > Sorry, seems I was quite unclear on this point.  I do not like the
 > approach of MusixTeX that tries to introduce a font symbol for each
 > possible ligature, since you always will find yet another ligature that
 > is not supported.  My approach is to reduce all complex ligatures
 > (theoretically, their number is infinite) to a small set of only six
 > (!) ligatures: pes, flexa, porrectus, cephalicus, epiphonus and an
 > implicit invisible type.  All other ligatures can then (hopefully) be
 > composed from these.

That certainly seems better but you will still have 5 single neumes plus 6
ligatures. A lot to remember and get right by name! Just think of
somebody new to this with a piece of plainsong they want to
typeset. The will have to take the original, find a table of neume
names and then work out how to describe each neume or group. When lily
sets modern music we don't require that the user can describe the chord
by name, we just say put the dots here.

Can I make my (final!) plea that the syntax operates in terms of
single notes with no predefined ligatures. For example you could group
each syllable (neumes and ligatures that are placed adjacent but not
physically linked) with () and ligatures with []. (Or choose any other
delimiters you like.)

So you would write [g\punctum b] for a podatus. [g\punctum b\plica]
for an Epiphonus and ([foo][bar]) for compound etc. To me this is much
more intuitive.

I don't see that this sets any specific bounds on the implementation.

Am I in a minority of one on this?

 > > 
 > > 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.
 > > 
 > Beams are spanning objects, ligatures are not.

I was talking in terms of user syntax, not implementation. See above.

 > My quilisma does not yet look very authentic.  Maybe you have a better
 > one?

I have not kept up with the later .1.5 series. I will have a look and

Best wishes,


reply via email to

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