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