Originally created by: anonymous
Originally created by: v.villenave
Originally owned by:* v.villenave
As Mats noticed a few years ago, default (Nederlands) note names are hardcoded in the Note_names_engraver: in the following example, the notes are entered in Spanish but printed in Dutch.
http://lists.gnu.org/archive/html/lilypond-user/2007-03/msg00021.html
\version "2.13.37"
\include "espanol.ly"
notes = \relative do' \{ do re mi do \}
\new Staff <<
\notes
\context NoteNames \{ \notes \}
<<
It would be more elegant to use the pitchnames variable (just like \displayLilyMusic does) so we could print note names in any language.
--
Valentin Villenave - 2019-02-02
OK, here’s a (I hope) much better patch that not only deals with the Note_name_engraver, but also aims to make all of the note-/pitch-naming functions more consistent and flexible (including in chord names). Included is a regtest showing off the new capabilities offered by this engraver, including quite a few user-settable properties and Scheme functions. (Documentation is not included yet though, as I’d like to first settle on an agreed feature set, property names and general mechanism.)
This issue is Blocked, so changing to Patch:waiting, and reverting to Status:Accepted as the author is not registered at SF.
Valentin, you still listening in? Issue 1375 has been given a solution that works at least for internal purposes right now. If you want to give this another try, this might be the missing piece in the last proposal. I have to admit though that I haven't looked at the original patch yet.
I am juggling the state of this patch accordingly, feel free to correct it to reflect your actual interest/involvement.
Great! Thanks for the reminder!
I’ve been busy on other (indirectly LilyPond-related) things but I’m definitely still around. I’ll have a look at the new structure and update my patch accordingly.
Great. There is not much useful documentation so far, but just adding another call to ly:register-translator at the bottom of scm/scheme-engravers.scm should likely do the trick.
I take it that the engraver you wrote does not strictly need to be a Scheme engraver but should have equally well worked as an extension of the existing C++-written engraver? And your reason to do it in Scheme was not technical necessity but personal reasons (which would include not wanting to mess with C++)? Because I don't think a Scheme engraver has more possibilities than a C++ engraver at least regarding this application.
OK, here’s a (I hope) much better patch that not only deals with the Note_name_engraver, but also aims to make all of the note-/pitch-naming functions more consistent and flexible (including in chord names). Included is a regtest showing off the new capabilities offered by this engraver, including quite a few user-settable properties and Scheme functions. (Documentation is not included yet though, as I’d like to first settle on an agreed feature set, property names and general mechanism.)
Please let me know if you think I’m on the right track here:
https://codereview.appspot.com/221710044/#ps60001
Rewrite Note_name_engraver, using more flexible functions and properties
http://codereview.appspot.com/221710044
Patch on countdown for Feb 10th
Patch counted down - please push.
Use existing rassoc function (for now).
http://codereview.appspot.com/221710044
Seems to fail make check
../regression/note-names-context.ly'
../accidental-single-double.ly
../page-spacing-nonstaff-lines-between-systems.ly
Work with markups rather than simple strings.
http://codereview.appspot.com/221710044
Use make_concat_markup (duh.)
http://codereview.appspot.com/221710044
Psses make, make check and a full make doc.
reg test diffs here:
https://nc-cluster02.yourownnet.cloud/index.php/s/zCN9mofqBeNYNRK
Patch on countdown for Feb 19th
Patch counted down - please push
Patch counted down - please push
Documented and pushed as https://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=965a6070969789ec4cf79c7c8f0f27770fea9d70
Please verify!