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.
:::TeX
\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\ottavaand 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-ottavaand 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\octavationor\ottava.One more note: The
0.6in 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.