lilypond-user
[Top][All Lists]
Advanced

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

Re: Octavation


From: Mats Bengtsson
Subject: Re: Octavation
Date: Tue, 27 Jun 2006 11:31:51 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.13) Gecko/20060417

Actually, the function that does the actual typesetting differed between
ottava brackets and text spanners, but you can easily override that too
by setting the stencil property.
As far as I can see, the following should give exactly the same layout
as an octava bracket:

\override TextSpanner #'stencil = #ly:ottava-bracket::print
\override TextSpanner #'shorten-pair  = #'(0.0 . -0.6)
\override TextSpanner #'staff-padding = #1.0
\override TextSpanner #'padding   = #0.5
\override TextSpanner #'minimum-length  = #1.0
\override TextSpanner #'dash-fraction  = #0.3
\override TextSpanner #'text = #"8va"
\override TextSpanner #'edge-height = #'(0 . 1.2)
\override TextSpanner #'dash-period = #1.0

Do you specify the note pitches using absolute octaves or using the
\relative feature? In the former case, isn't it easier to solve your
problem by just adding an
\transpose c c'{ ... } around the  octaviated section?

  /Mats

Kirill wrote:

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.



_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user

--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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