Hi Adam, 2011/9/10 Adam Spiers <lilypond-de...@adamspiers.org>: > Sorry Janek, I did receive the email but I've been away travelling for > 3 months and only just got back.
No problem! I was afraid that your disappearance meant that you lost interest in these patches. > I would be glad to work with you on > getting these patches finalised and submitted, although please bear > with me over the next few days as I have some other pressing issues to > attend to first. Of course, there's no rush. > I think the best way would be if I help you with github because it's > an absolutely beautiful service and IMHO much nicer than emailing > patches once you get used to it. If you haven't already done so, > please try adding my github repository to your own as a remote: > > git remote add aspiers git://github.com/aspiers/lilypond.git > > and then simply fetch or pull the commits from my remote branch: > > git fetch aspiers master > > or: > > git pull aspiers master > > (pull is equivalent to fetch followed by a merge into your current > branch). > > Let me know how you get on (but please be patient if I don't reply > quickly!) Done - it was amaznigly painless! Uploaded to Rietveld: http://codereview.appspot.com/4981052/ One thing: please follow these guidelines concerning commit messages: http://lilypond.org/doc/v2.15/Documentation/contributor-big-page#commit-messages I've changed the messages in my repository; i don't know if this change can cause incompatibilities between our repositories, but if it does (and we need to be compatible because the patches will probably have some revisions which i will also have to upload) i attach patch files created from my repository. thanks, Janek
From a65e982b3429f5a4e4786cdc068786622552ee28 Mon Sep 17 00:00:00 2001 From: Adam Spiers <lilypond-fr...@adamspiers.org> Date: Thu, 28 Jul 2011 00:51:12 -0700 Subject: [PATCH 1/5] enlarge half-diminished slashed circle symbol --- ly/chord-modifiers-init.ly | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/ly/chord-modifiers-init.ly b/ly/chord-modifiers-init.ly index 75b804b..eb86644 100644 --- a/ly/chord-modifiers-init.ly +++ b/ly/chord-modifiers-init.ly @@ -27,7 +27,7 @@ ignatzekExceptionMusic = { <c es ges>-\markup { \super "o" } % should be $\circ$ ? <c es ges bes>-\markup { %% f8 is o with slash. - \super #(ly:export (ly:wide-char->utf-8 #x00f8)) + \normal-size-super #(ly:export (ly:wide-char->utf-8 #x00f8)) } <c es ges beses>-\markup { \super "o7" } } -- 1.7.0.4
From 634e5e8cee5176c423dc7106bff437d04c6a3923 Mon Sep 17 00:00:00 2001 From: Adam Spiers <lilypond-fr...@adamspiers.org> Date: Thu, 28 Jul 2011 00:51:57 -0700 Subject: [PATCH 2/5] Issue 1503 - Recognise Lydian chords --- ly/chord-modifiers-init.ly | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/ly/chord-modifiers-init.ly b/ly/chord-modifiers-init.ly index eb86644..91cb1e1 100644 --- a/ly/chord-modifiers-init.ly +++ b/ly/chord-modifiers-init.ly @@ -30,6 +30,7 @@ ignatzekExceptionMusic = { \normal-size-super #(ly:export (ly:wide-char->utf-8 #x00f8)) } <c es ges beses>-\markup { \super "o7" } + <c e g b fis'>-\markup { \super "lyd" } % Lydian } partialJazzMusic = { -- 1.7.0.4
From b43dcc12920ad8b26b33f0e1fc52de03e8cdb842 Mon Sep 17 00:00:00 2001 From: Adam Spiers <lilypond-fr...@adamspiers.org> Date: Thu, 28 Jul 2011 01:03:31 -0700 Subject: [PATCH 3/5] add chordInversionSeparator Issue 1572 and issue 1503 - Allow choice of chord modifier separator independently of chord inversion separator, since conventionally the latter is always a slash (hence the term "slash chords"), whereas the former seldom involves slashes. --- ly/engraver-init.ly | 3 ++- scm/chord-ignatzek-names.scm | 3 ++- scm/define-context-properties.scm | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index a2ba655..013f41a 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -643,7 +643,8 @@ automatically when an output definition (a @code{\score} or chordNameFunction = #ignatzek-chord-names majorSevenSymbol = #whiteTriangleMarkup chordNameLowercaseMinor = ##f - chordNameSeparator = #(make-simple-markup "/") + chordNameSeparator = #(make-hspace-markup 0.5) + 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..08eb118 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 e9acd96..9df745d 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 -- 1.7.0.4
From f9ecf98833f416412f377123745d912b3b43339a Mon Sep 17 00:00:00 2001 From: Adam Spiers <lilypond-fr...@adamspiers.org> Date: Thu, 28 Jul 2011 01:05:12 -0700 Subject: [PATCH 4/5] Issue 1503 - Allow choice of minor chord modifier. For example, often it is preferred to use a hyphen instead of "m". This can now be achieved via: \set minorChordModifier = \markup { "-" } --- ly/engraver-init.ly | 1 + scm/chord-ignatzek-names.scm | 3 ++- scm/define-context-properties.scm | 2 ++ 3 files changed, 5 insertions(+), 1 deletions(-) diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 013f41a..96d2813 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -641,6 +641,7 @@ automatically when an output definition (a @code{\score} or %% chord names: chordNameFunction = #ignatzek-chord-names + minorChordModifier = "m" majorSevenSymbol = #whiteTriangleMarkup chordNameLowercaseMinor = ##f chordNameSeparator = #(make-hspace-markup 0.5) diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm index 08eb118..bf3dac1 100644 --- a/scm/chord-ignatzek-names.scm +++ b/scm/chord-ignatzek-names.scm @@ -130,7 +130,8 @@ work than classifying the pitches." (define (prefix-modifier->markup mod) (if (and (= 3 (pitch-step mod)) (= FLAT (ly:pitch-alteration mod))) - (make-simple-markup (if lowercase-root? "" "m")) + (if lowercase-root? (empty-markup) + (ly:context-property context 'minorChordModifier)) (make-simple-markup "huh"))) (define (filter-alterations alters) diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index 9df745d..2f7e763 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -375,6 +375,8 @@ page turn to be allowed.") (minimumRepeatLengthForPageTurn ,ly:moment? "Minimum length of a repeated section for a page turn to be allowed within that section.") + (minorChordModifier ,markup? "How should minor chords be formatted +in a chord name?") (noChordSymbol ,markup? "Markup to be displayed for rests in a ChordNames context.") -- 1.7.0.4
From f2453ac250fece60689d121673afa6058950e6b7 Mon Sep 17 00:00:00 2001 From: Adam Spiers <lilypond-fr...@adamspiers.org> Date: Thu, 28 Jul 2011 01:06:40 -0700 Subject: [PATCH 5/5] 1503 - Allow choice of prefix for chord modifiers. This was previously "add", e.g. "Cmaj7 add6add9", but this results in too much clutter and is rarely used. --- ly/engraver-init.ly | 1 + scm/chord-ignatzek-names.scm | 3 ++- scm/define-context-properties.scm | 2 ++ 3 files changed, 5 insertions(+), 1 deletions(-) diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 96d2813..37cd695 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -642,6 +642,7 @@ automatically when an output definition (a @code{\score} or %% chord names: chordNameFunction = #ignatzek-chord-names minorChordModifier = "m" + additionalPitchPrefix = "" % was "add" majorSevenSymbol = #whiteTriangleMarkup chordNameLowercaseMinor = ##f chordNameSeparator = #(make-hspace-markup 0.5) diff --git a/scm/chord-ignatzek-names.scm b/scm/chord-ignatzek-names.scm index bf3dac1..0302f35 100644 --- a/scm/chord-ignatzek-names.scm +++ b/scm/chord-ignatzek-names.scm @@ -171,7 +171,8 @@ work than classifying the pitches." (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)) + (add-pitch-prefix (ly:context-property context 'additionalPitchPrefix)) + (add-markups (map (lambda (x) (glue-word-to-step add-pitch-prefix x)) addition-pitches)) (filtered-alterations (filter-alterations alteration-pitches)) (alterations (map name-step filtered-alterations)) diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index 2f7e763..e03cd10 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -45,6 +45,8 @@ ;; TODO FIXME (aDueText ,markup? "Text to print at a unisono passage.") + (additionalPitchPrefix ,string? "Text with which to prefix +additional pitches within a chord name.") (alignAboveContext ,string? "Where to insert newly created context in vertical alignment.") (alignBassFigureAccidentals ,boolean? "If true, then the accidentals -- 1.7.0.4
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel