bug-lilypond
[Top][All Lists]
Advanced

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

Re: Change chord name separator and inversion separator, separately


From: Dmytro O. Redchuk
Subject: Re: Change chord name separator and inversion separator, separately
Date: Mon, 21 Mar 2011 11:39:24 +0200
User-agent: Mutt/1.5.20 (2009-06-14)

On Mon 14 Mar 2011, 23:19 Arnout Engelen wrote:
> > I'm not top posting.
Thank you, added as 1572:
http://code.google.com/p/lilypond/issues/detail?id=1572

> 
> Hi. This is more of a feature request: I noticed I can change the 'chord name 
> separator', but this also changes the symbol used to separate the chord from 
> its 
> root in case of for example "c:/g".
> 
> A naive way of allowing some more control might be:
> 
> diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly
> index 0720893..f9702bb 100644
> --- a/ly/engraver-init.ly
> +++ b/ly/engraver-init.ly
> @@ -646,6 +646,7 @@ automatically when an output definition (a @code{\score} 
> or
>    majorSevenSymbol = #whiteTriangleMarkup
>    chordNameLowercaseMinor = ##f
>    chordNameSeparator = #(make-simple-markup  "/")
> +  chordInversionSeparator = #(make-simple-markup "/")
>    chordNameExceptions = #ignatzekExceptions
>    chordNoteNamer = #'()
>    chordRootNamer = #note-name->markup
> diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm
> index 696d02f..38ef219 100644
> --- a/scm/chord-ignatzek-names.scm
> +++ b/scm/chord-ignatzek-names.scm
> @@ -168,6 +168,7 @@ work than classifying the pitches."
>         (make-line-markup total)))
>  
>      (let* ((sep (ly:context-property context 'chordNameSeparator))
> +           (invSep (ly:context-property context 'chordInversionSeparator))
>            (root-markup (name-root root lowercase-root?))
>            (add-markups (map (lambda (x) (glue-word-to-step "add" x))
>                              addition-pitches))
> @@ -183,7 +184,7 @@ work than classifying the pitches."
>                                  suffixes
>                                  add-markups) sep))
>            (base-stuff (if (ly:pitch? bass-pitch)
> -                          (list sep (name-note bass-pitch #f))
> +                          (list invSep (name-note bass-pitch #f))
>                            '())))
>  
>        (set! base-stuff
> diff --git a/scm/define-context-properties.scm b/scm/define-context-
> properties.scm
> index 439f68a..e3accb7 100644
> --- a/scm/define-context-properties.scm
> +++ b/scm/define-context-properties.scm
> @@ -148,6 +148,8 @@ of pitches to chord names.")
>       (chordNameLowercaseMinor ,boolean? "Downcase roots of minor chords?")
>       (chordNameSeparator ,markup? "The markup object used to
>  separate parts of a chord name.")
> +     (chordInversionSeparator ,markup? "The markup object used to
> +separate a chord name from its root note in case of inversions.")
>       (chordNoteNamer ,procedure? "A function that converts from a pitch
>  object to a text markup.  Used for single pitches.")
>       (chordPrefixSpacer ,number? "The space added between the root
> 
> 
> Example lilypond code:
> 
> 
> \new ChordNames { 
>         \chordmode {
>                 % default behavior:
>                 c c:7.11 c:/a c:7.11/a \break
>                 % change the seperator for 'c:7/add11' and for 'c:/a' 
> independently
>                 \set chordNameSeparator = \markup { "|" }
>                 \set chordInversionSeparator = \markup { ":" }
>                 c c:7.11 c:/a c:7.11/a \break
>         }
> }
> 
> 
> 
> _______________________________________________
> bug-lilypond mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/bug-lilypond

-- 
  Dmytro O. Redchuk
  Bug Squad



reply via email to

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