lilypond-user
[Top][All Lists]
Advanced

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

Re: Octavation


From: Kirill
Subject: Re: Octavation
Date: Tue, 27 Jun 2006 08:12:37 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Forgot to mention why I need this at all.

I'm writing a plug-in for Sibelius to export scores in LilyPond format.
It runs a two-pass procedure (I'm giving a simplified picture):

Pass 1: Read through all notes/rests in the score or a selected pasage and
generate the corresponding .ly text for the notes/rests/chords (articulations,
dynamic marks etc. are also processed at this pass -- everything you can put on
a note). Also, all "lines" (in Sibelius terminology; this includes hairpins,
slurs etc.) are scanned and remembered for pass 2. The appropriate text for
"start of the line" is appended to a .ly note/rest/chord at this point.

Pass 2: Is needed to correctly terminate a "line". In Sibelius, lines are not
attached to notes. They are merely objects in a bar which have a start position
and a duration. If the start position of a line equals a start position of a
note/rest/chord -- it means the line starts on that note/rest/chord (and I
handle this in Pass 1). The end of the line in Sibelius is not necessarily
attached to a note, that is why in Pass 2 I scan through all the lines and find
a note on which this line should terminate (because in LilyPond it should start
and end on a note, right?).

So I handle many spanning objects this way (quite uniformly and extensibly). Now
suddenly I realised that the ottava line should be handled differently. If I
merely use (#set-octavation ...) for the start and end of the line, I will also
need to transpose the notes (as Sibelius reports the pitches of the notes as
they are written, i.e. not taking ottava into account) -- but in Pass 1 I have
already converted the notes into text!!! I don't want another pass just for the
octavation. So I would have to redesign my plug-in slightly to handle octavation
properly! At present, I thought, an emulation of ottava-line might work. Hence
my question.





reply via email to

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