Originally created by: *anonymous
Originally created by: PhilEHol...@googlemail.com
Joram Berger said:
considering the statement by Gould below and my personal findings, I would like to see the following change to the ottavation bracket be added to LilyPond like proposed in this thread:
http://lists.gnu.org/archive/html/lilypond-user/2014-02/msg00321.html
An example of how this could look is below, and an image is attached.
\version "2.18.0" ottavaaI = { % this is an alternative proposal to all the rest \ottava 1 \set Staff.ottavation = \markup \concat { \bold "8" \fontsize #-2 \translate-scaled #'(0 . 0.85) "va" } } ottavaa = { \ottava 1 \set Staff.ottavation = \markup \concat { \bold "8" \fontsize #-2 \translate-scaled #'(0 . 0.85) "va" } } ottavab = { \ottava -1 \set Staff.ottavation = \markup \bold \concat{ "8" \fontsize #-2 "vb" } } ottavac = { \ottava 2 \set Staff.ottavation = \markup \bold \concat{ "15" \fontsize #-2 \translate-scaled #'(0 . 0.85) "ma" } } ottavad = { \ottava -2 \set Staff.ottavation = \markup \bold \concat{ "15" \fontsize #-2 "mb" } } ottavae = { \ottava 3 \set Staff.ottavation = \markup \bold \concat { "22" \tiny \translate-scaled #'(0 . 0.85) "ma" } } ottavaf = { \ottava -3 \set Staff.ottavation = \markup \bold \concat { "22"\fontsize #-2 "mb" } } << \new Staff \relative c''' { \ottava #1 a a \ottava #-1 a,, a \ottava #2 a''' a \ottava #-2 a,,,, a \ottava #3 a''''' a \ottava #-3 a,,,,,, a \ottava #0 } \new Staff \relative c''' { \ottavaa a a \ottavab a,, a \ottavac a''' a \ottavad a,,,, a \ottavae a''''' a \ottavaf a,,,,,, a \ottavaaI a'''' a } >>
In this thread, Gilberto Agostinho and I made a sample implementation of this. The current state is:
Hopefully, this will be of some help in implementing this in core LilyPond.
This also addresses issue 3866.
Related
Issues:
#3866Joram kindly pointed out that the endings should read ‘22ma’ and ‘29ma’. I wrongly inferred this from Latin :-)
So, lines 14–18 of my code should be changed to read
~~~~
:::Scheme
(text (case interval
((8) "va")
((15 22 29) "ma")))
~~~~
A few more comments:
(text (if (= interval 8) "va" "ma"))
thus allowing arbitrary octaves.\ottava -1
(for lines 14-18 again):(text (if upward? (if (= interval 8) "va" "ma") (if (= interval 8) "vb" "mb")))
Well, I see that Gould uses '8va' for ottava bassa, so I am undecided here.
#(make-music 'OttavaMusic 'ottava-number number)
is used instead of\ottava $number
, this function could be called\ottava
and be used as a replacement inly/music-functions-init.ly
.I see that the ‘va’ in ‘ottava’ is definitely the only exception here, so that’s perfectly fine.
Now you say it: I used to prefer vb/mb. On the other hand, ‘8va’ doesn’t mean ‘ottava alta’ either, but simply ottava – the direction is made clear enough through the placement above/below staff and the alignment of the line. So ‘8vb’ is unnecessary and actually inconsistent.
I’m not quite sure what a good interface would look like. Certainly we should allow omitting the suffix (e.g. through a boolean grob property like
display-suffix
?), but too much configurability could obfuscate matters, and it’s pretty pointless also – or does it make a relevant difference, if vb or va is used?Good point, though I think there’s some way to go before having it in the codebase…
Too bad we don’t have semibold at hand – bold is definitely too much in my eyes…
I attach an updated version of the code.
Concering the interface, how about providing different markup commands like your
format-ottava
and a grob propertytext-style
(or similar) which accepts such functions? That would offer a lot of flexibility while still providing the correct numbers and the line settings.Of course, but this
#(make-music ...
can be used right away, no matter whether the function is called\octavation
or\ottava
.One more note: The
0.6
in line 24 depends on the font, Linux Libertine would need something more like 0.5.That’s where the coding definitely needs to be improved.