Werner LEMBERG <wl <at> gnu.org> writes: > > > >> Well, accepting a bool is not a bad idea. For example, > >> > >> \override NoteHead.hollow = ##f > >> > >> could undo > >> > >> \override NoteHead.hollow = #2 > > > > #f is accepted for all properties anyway. #t isn't by default, however. > > Ah, ok. On the other hand, having the possibility to say > > \override NoteHead.hollow = ##t > > to always enforce hollow noteheads makes probably sense, too.
I'm still not quite sure what you would expect the semantics to be. If we keep it as a numeric property, but call it "hollow" rather than something involving "black", we'll first of all have to redefine it: not "duration beyond which notes are black", but "duration up to which notes are white". "hollow=1" would then be the default for modern notation. If you want support for boolean values too, "hollow=#t" might naturally mean "hollow for all values throughout". But what would "hollow=#f" be? No hollow notes at all, i.e. fully black notation? Or just the default, i.e. the same as "hollow=1"? Another technical question: I found that apparently if I'm going to declare these new grob properties in scm/define-grob-properties.scm, I'll also have to declare them as part of some interface somewhere else, otherwise I get "cannot find interface for property" errors. Where should a new notehead grob property like this be declared? As part of note-head-interface (i.e. in lily/note-head.cc), or as part of some new interface (e.g. "mensural-note-interface"), to be declared in scm/define-grob-interfaces.scm? Lukas _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel