When chord symbols are displayed on small hand-held devices (e.g.
smartphones) they will be difficult to read unless the elements are
arranged more compactly than the standard LilyPond chord symbols.
There are commercial programs out there that offer this facility.
I have been experimenting with designing these more compact chord
symbols using the chordExceptions mechanism, but to do the job properly
requires modifying LilyPond itself(*).
I have a working prototype and would like to develop this as proper code
that could be included in LilyPond. 
To do this I think I need to have an additional property to be used via
something like this

(if (ly:context-property-where-defined context 'compact)
...

to decide whether to format the chord symbol in a compact fashion or to
use the default formatting.
If this sounds right, could someone advise what the LilyPond syntax
would be needed to trigger this conditional?
I was guessing it might be

\layout {
        \context  {
        \ChordNames
        compact = ##t
        }

but whatever I try I just get an empty list for that property.

Richard

(*) as an example, bass inversions are hard-coded to use the same markup
as the root note, but for a compact symbol they need to have the
accidental differently placed.




_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to