lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Opinions requested on deprecating "annotation" commands


From: Urs Liska
Subject: Opinions requested on deprecating "annotation" commands
Date: Sat, 30 Jun 2018 14:14:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0

Hi,

as you know I'm working on a number of features around the scholarLY package, and now I'm facing the need to deal with the existing interface.

The openLilyLIb module scholarly.annotate provides commands like \criticalRemark, \musicalIssue and a few more that attach an annotation to a score element.

Now, while implementing the commands \tagSpan and \editorialMarkup that "tag" some music as a finding or editorial decision I gave them the capability to also create and attach annotations. And since the function interface to \criticalRemark and friends is somewhat clumsy and limited in its capability to addressing the annotated music I would like to make the \tagSpan approach the new standard.

I see two options, both with disadvantages:

  • Encourage people to use the new system and "deprecate" the old syntax (but leave it alone and working). The downside is that the *names* of the old commands are very much what one would want, so I wouldn't want to discard them completely.
  • Make the old names wrappers around the new technology, so one can still say \criticalRemark.

The second solution would definitely be what I want the package to behave like. Basically the following two statements would then be equivalent:

  • \editorialMarkup annotation \with { ann-type = critical-remark message = "My comment" } { c' d' e' }
  • \criticalRemark \with { message = "My comment" } { c' d' e'}

The problem with this is that it would of course break existing documents. Of course package development is still in a version 0.X state, so breaking changes are definitely not "illegal", but I would actually prefer to get some feedback before going into that direction.

I think for most of the cases it would be possible to create a scripted solution to update instances (like convert-ly), but I'm reluctant to make any promises about that:

\criticalRemark \with {
  message = "Hey"
} NoteHead c'

=>

\critical
Remark \with {
  message = "Hey"
} c'

\musicalIssue \with {
  message = "Hey"
} Accidental cis'

=> 
\musicalIssue \with {
  message = "Hey"
  item = Accidental
} cis'

but I'm not sure about the other valid syntax options, and not about all the things that could go wrong when comments in the \with block might confuse the parser.

Any opinions?

Best
Urs


reply via email to

[Prev in Thread] Current Thread [Next in Thread]