Hi Carl, before going into details, let us decide how to proceed.
The current patch was intended to be not more than maintaining the stuff different. First step seemed to me putting the needed data into an alist. 2015-04-13 4:22 GMT+02:00 <carl.d.soren...@gmail.com>: > It seems to me that this patch is mostly maintaining the mix of parsing > and display; it's just putting the stuff into a list first. So you are absolutely right. I think you would prefer to dig in deeper, though. I tend to prefer letting it as is and push a polished version as a _first_ step. And then tackle next step. Doing all in one go might result in a too big patch, not feasable for thorough revision anymore. What do you think? > > https://codereview.appspot.com/223420043/diff/20001/scm/chord-ignatzek-names.scm#newcode395 > scm/chord-ignatzek-names.scm:395: ;;;; Step 2: Define formatter for the > chord-elements using this list > I'm not sure how this separation between step 1 and step 2 really > accomplishes the stated goal of the patch. Can you give an example of > how this makes it easier to define a new display style for a chord? This patch doesn't pretend to provide a user-interface for it. Already possible is the following, though. #(define-public (my-chord-formatter pitches bass inversion context) (let* ((chrd (chord-info pitches bass inversion context)) (exception-markup (assoc-get 'exception-markup chrd))) #{ \markup { \override #'(baseline-skip . 1) \column { #(format-root chrd) #(let ((bass (format-bass chrd))) (if (not (equal? bass "")) #{ \markup \column { %% TODO adjust line automagically %% I've a markup-command doing this %% (but it's not really relevant for the example) \draw-line #'(3.5 . 0) \vspace #0.1 \small #(format-bass chrd) } #} "")) } #(if exception-markup exception-markup #{ \markup { \raise #2 \teeny \override #'(baseline-skip . 2) \column { \smaller \line { #(format-alteration chrd) #(format-suffixes chrd) #(format-additions chrd) } \override #'(baseline-skip . 3) #(format-main-name chrd) } } #}) } #})) \layout { \context { \Score chordNameFunction = #my-chord-formatter %additionalPitchPrefix = #"add" %majorSevenSymbol = #whiteTriangleMarkup %chordNameSeparator = "" %minorChordModifier = "m" slashChordSeparator = "" %chordPrefixSpacer = #5 %#(make-hspace-markup 0.5) chordNameLowercaseMinor = ##t %chordNoteNamer = #note-name->german-list %chordRootNamer = #(chord-name->german-list #f) } } \new ChordNames \chordmode { fis1:m5-.7+.9-.11+.13-/ces f:m5-.7+.9-.11+.13-/ces fis:m5-.9+.11+.13-/+ces \once \set Score.additionalPitchPrefix = #"add" c1:9^7 % Cadd9 root-3-5-9 <bes, d fis> <c d> } Any formatting procedure could be replaced by a custom procedure ofcourse > https://codereview.appspot.com/223420043/ Thanks, Harm _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel