There's one intricate feature of LilyPond that occasionally causes trouble (I've seen questions related to it once or twice a month) and that I find difficult to explain.
For example, why does the first setting of style work but not the second one in the following example:
\score{\notes\relative c'{
\property Staff.NoteHead \override #'style = #'slash
c d e f
%\once \property Voice.NoteHead \override #'transparent = ##t
c d e f
\property Staff.NoteHead \override #'style = #'cross
c d e f
}}I can understand why since I understand how it's implemented (all properties of an object form an association list and a context only gets a copy of its own if some property of the object is set within that context, otherwise the value is inherited from contexts higher in the hierarchy). I can even see some good reasons why it's implemented this way.
However, it's much harder to explain it to a non-programmer. Also, this is an example of a hidden (and un-documented) side-effect that's considered no-no in most methods for structured programming. Finally, it's even more impossible to circumvent for a user that uses predefined identifiers such as \hideNotes.
I consider this "feature" a bug.
It's great to have the possibility to specify the granularity of a property setting, letting it apply to the full score or just a single thread, but then this should work in the full piece, not just at the beginning of the piece.
/Mats
-- ============================================= 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: [EMAIL PROTECTED] WWW: http://www.s3.kth.se/~mabe =============================================
_______________________________________________ Bug-lilypond mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-lilypond
