Hi again,

here is some documentation for the arrowed accidentals. Since I found
it the most natural way of typesetting, it uses Trevor's notation for
up and down arrows (but also mentions the alternative ways discussed
before). Please let me know if for some reason Trevor's default names
are not desired so that I can rewrite the docs accordingly. Note that
the attached patches supersede the one in my last email.

Cheers and merry christmas to everyone!
Max
From a54922b8d12e3c30b2f0053068f68b14e5efa940 Mon Sep 17 00:00:00 2001
From: Maximilian Albert <maximilian.alb...@gmail.com>
Date: Sat, 20 Dec 2008 19:34:11 +0100
Subject: [PATCH] New alterations for microtones and default names for notes with arrowed accidentals in english.ly

---
 ly/english.ly        |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++
 scm/lily-library.scm |    5 ++++
 scm/output-lib.scm   |    5 ++++
 3 files changed, 69 insertions(+), 0 deletions(-)

diff --git a/ly/english.ly b/ly/english.ly
index 4f7983c..bb185fb 100644
--- a/ly/english.ly
+++ b/ly/english.ly
@@ -125,6 +125,65 @@ pitchnamesEnglish = #`(
 	(btqs . ,(ly:make-pitch -1 6 THREE-Q-SHARP))
 	(bss . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
 	(bx . ,(ly:make-pitch -1 6 DOUBLE-SHARP))
+
+	;; arrowed accidentals
+	(cflatdown . ,(ly:make-pitch -1 0 FLAT-MICRO-DOWN))
+	(cflatup . ,(ly:make-pitch -1 0 FLAT-MICRO-UP))
+	(csharpdown . ,(ly:make-pitch -1 0 SHARP-MICRO-DOWN))
+	(csharpup . ,(ly:make-pitch -1 0 SHARP-MICRO-UP))
+	(dflatdown . ,(ly:make-pitch -1 1 FLAT-MICRO-DOWN))
+	(dflatup . ,(ly:make-pitch -1 1 FLAT-MICRO-UP))
+	(dsharpdown . ,(ly:make-pitch -1 1 SHARP-MICRO-DOWN))
+	(dsharpup . ,(ly:make-pitch -1 1 SHARP-MICRO-UP))
+	(eflatdown . ,(ly:make-pitch -1 2 FLAT-MICRO-DOWN))
+	(eflatup . ,(ly:make-pitch -1 2 FLAT-MICRO-UP))
+	(esharpdown . ,(ly:make-pitch -1 2 SHARP-MICRO-DOWN))
+	(esharpup . ,(ly:make-pitch -1 2 SHARP-MICRO-UP))
+	(fflatdown . ,(ly:make-pitch -1 3 FLAT-MICRO-DOWN))
+	(fflatup . ,(ly:make-pitch -1 3 FLAT-MICRO-UP))
+	(fsharpdown . ,(ly:make-pitch -1 3 SHARP-MICRO-DOWN))
+	(fsharpup . ,(ly:make-pitch -1 3 SHARP-MICRO-UP))
+	(gflatdown . ,(ly:make-pitch -1 4 FLAT-MICRO-DOWN))
+	(gflatup . ,(ly:make-pitch -1 4 FLAT-MICRO-UP))
+	(gsharpdown . ,(ly:make-pitch -1 4 SHARP-MICRO-DOWN))
+	(gsharpup . ,(ly:make-pitch -1 4 SHARP-MICRO-UP))
+	(aflatdown . ,(ly:make-pitch -1 5 FLAT-MICRO-DOWN))
+	(aflatup . ,(ly:make-pitch -1 5 FLAT-MICRO-UP))
+	(asharpdown . ,(ly:make-pitch -1 5 SHARP-MICRO-DOWN))
+	(asharpup . ,(ly:make-pitch -1 5 SHARP-MICRO-UP))
+	(bflatdown . ,(ly:make-pitch -1 6 FLAT-MICRO-DOWN))
+	(bflatup . ,(ly:make-pitch -1 6 FLAT-MICRO-UP))
+	(bsharpdown . ,(ly:make-pitch -1 6 SHARP-MICRO-DOWN))
+	(bsharpup . ,(ly:make-pitch -1 6 SHARP-MICRO-UP))
+
+	(csu . ,(ly:make-pitch -1 0 SHARP-MICRO-UP))
+	(csd . ,(ly:make-pitch -1 0 SHARP-MICRO-DOWN))
+	(cfu . ,(ly:make-pitch -1 0 FLAT-MICRO-UP))
+	(cfd . ,(ly:make-pitch -1 0 FLAT-MICRO-DOWN))
+	(dsu . ,(ly:make-pitch -1 1 SHARP-MICRO-UP))
+	(dsd . ,(ly:make-pitch -1 1 SHARP-MICRO-DOWN))
+	(dfu . ,(ly:make-pitch -1 1 FLAT-MICRO-UP))
+	(dfd . ,(ly:make-pitch -1 1 FLAT-MICRO-DOWN))
+	(esu . ,(ly:make-pitch -1 2 SHARP-MICRO-UP))
+	(esd . ,(ly:make-pitch -1 2 SHARP-MICRO-DOWN))
+	(efu . ,(ly:make-pitch -1 2 FLAT-MICRO-UP))
+	(efd . ,(ly:make-pitch -1 2 FLAT-MICRO-DOWN))
+	(fsu . ,(ly:make-pitch -1 3 SHARP-MICRO-UP))
+	(fsd . ,(ly:make-pitch -1 3 SHARP-MICRO-DOWN))
+	(ffu . ,(ly:make-pitch -1 3 FLAT-MICRO-UP))
+	(ffd . ,(ly:make-pitch -1 3 FLAT-MICRO-DOWN))
+	(gsu . ,(ly:make-pitch -1 4 SHARP-MICRO-UP))
+	(gsd . ,(ly:make-pitch -1 4 SHARP-MICRO-DOWN))
+	(gfu . ,(ly:make-pitch -1 4 FLAT-MICRO-UP))
+	(gfd . ,(ly:make-pitch -1 4 FLAT-MICRO-DOWN))
+	(asu . ,(ly:make-pitch -1 5 SHARP-MICRO-UP))
+	(asd . ,(ly:make-pitch -1 5 SHARP-MICRO-DOWN))
+	(afu . ,(ly:make-pitch -1 5 FLAT-MICRO-UP))
+	(afd . ,(ly:make-pitch -1 5 FLAT-MICRO-DOWN))
+	(bsu . ,(ly:make-pitch -1 6 SHARP-MICRO-UP))
+	(bsd . ,(ly:make-pitch -1 6 SHARP-MICRO-DOWN))
+	(bfu . ,(ly:make-pitch -1 6 FLAT-MICRO-UP))
+	(bfd . ,(ly:make-pitch -1 6 FLAT-MICRO-DOWN))
 )
 
 pitchnames = \pitchnamesEnglish
diff --git a/scm/lily-library.scm b/scm/lily-library.scm
index 8176db1..7ebf478 100644
--- a/scm/lily-library.scm
+++ b/scm/lily-library.scm
@@ -41,6 +41,11 @@
 (define-safe-public DOUBLE-SHARP 1)
 (define-safe-public SEMI-TONE 1/2)
 
+(define-safe-public SHARP-MICRO-DOWN 499/1000)
+(define-safe-public SHARP-MICRO-UP 501/1000)
+(define-safe-public FLAT-MICRO-UP -499/1000)
+(define-safe-public FLAT-MICRO-DOWN -501/1000)
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; moments
 
diff --git a/scm/output-lib.scm b/scm/output-lib.scm
index 6a54777..a91453a 100644
--- a/scm/output-lib.scm
+++ b/scm/output-lib.scm
@@ -391,6 +391,11 @@ centered, X==1 is at the right, X == -1 is at the left."
        (1/4 . "accidentals.sharp.slashslash.stem")
        (-1/4 . "accidentals.mirroredflat")
        (-3/4 . "accidentals.mirroredflat.flat")
+
+       (499/1000 . "accidentals.sharp.arrowdown")
+       (501/1000 . "accidentals.sharp.arrowup")
+       (-499/1000 . "accidentals.flat.arrowup")
+       (-501/1000 . "accidentals.flat.arrowdown")
        ))
 
 ;; FIXME: standard vs default, alteration-FOO vs FOO-alteration
-- 
1.5.4.3

From 8e14c581034d30ed6b383aa473967e9d38148a94 Mon Sep 17 00:00:00 2001
From: Maximilian Albert <maximilian.alb...@gmail.com>
Date: Sat, 20 Dec 2008 19:34:30 +0100
Subject: [PATCH] Add default names for accidentals with arrows in both directions

---
 ly/english.ly        |   28 ++++++++++++++++++++++++++++
 scm/lily-library.scm |    2 ++
 scm/output-lib.scm   |    2 ++
 3 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/ly/english.ly b/ly/english.ly
index bb185fb..6393838 100644
--- a/ly/english.ly
+++ b/ly/english.ly
@@ -128,61 +128,89 @@ pitchnamesEnglish = #`(
 
 	;; arrowed accidentals
 	(cflatdown . ,(ly:make-pitch -1 0 FLAT-MICRO-DOWN))
+	(cflatboth . ,(ly:make-pitch -1 0 FLAT-MICRO-BOTH))
 	(cflatup . ,(ly:make-pitch -1 0 FLAT-MICRO-UP))
 	(csharpdown . ,(ly:make-pitch -1 0 SHARP-MICRO-DOWN))
+	(csharpboth . ,(ly:make-pitch -1 0 SHARP-MICRO-BOTH))
 	(csharpup . ,(ly:make-pitch -1 0 SHARP-MICRO-UP))
 	(dflatdown . ,(ly:make-pitch -1 1 FLAT-MICRO-DOWN))
+	(dflatboth . ,(ly:make-pitch -1 1 FLAT-MICRO-BOTH))
 	(dflatup . ,(ly:make-pitch -1 1 FLAT-MICRO-UP))
 	(dsharpdown . ,(ly:make-pitch -1 1 SHARP-MICRO-DOWN))
+	(dsharpboth . ,(ly:make-pitch -1 1 SHARP-MICRO-BOTH))
 	(dsharpup . ,(ly:make-pitch -1 1 SHARP-MICRO-UP))
 	(eflatdown . ,(ly:make-pitch -1 2 FLAT-MICRO-DOWN))
+	(eflatboth . ,(ly:make-pitch -1 2 FLAT-MICRO-BOTH))
 	(eflatup . ,(ly:make-pitch -1 2 FLAT-MICRO-UP))
 	(esharpdown . ,(ly:make-pitch -1 2 SHARP-MICRO-DOWN))
+	(esharpboth . ,(ly:make-pitch -1 2 SHARP-MICRO-BOTH))
 	(esharpup . ,(ly:make-pitch -1 2 SHARP-MICRO-UP))
 	(fflatdown . ,(ly:make-pitch -1 3 FLAT-MICRO-DOWN))
+	(fflatboth . ,(ly:make-pitch -1 3 FLAT-MICRO-BOTH))
 	(fflatup . ,(ly:make-pitch -1 3 FLAT-MICRO-UP))
 	(fsharpdown . ,(ly:make-pitch -1 3 SHARP-MICRO-DOWN))
+	(fsharpboth . ,(ly:make-pitch -1 3 SHARP-MICRO-BOTH))
 	(fsharpup . ,(ly:make-pitch -1 3 SHARP-MICRO-UP))
 	(gflatdown . ,(ly:make-pitch -1 4 FLAT-MICRO-DOWN))
+	(gflatboth . ,(ly:make-pitch -1 4 FLAT-MICRO-BOTH))
 	(gflatup . ,(ly:make-pitch -1 4 FLAT-MICRO-UP))
 	(gsharpdown . ,(ly:make-pitch -1 4 SHARP-MICRO-DOWN))
+	(gsharpboth . ,(ly:make-pitch -1 4 SHARP-MICRO-BOTH))
 	(gsharpup . ,(ly:make-pitch -1 4 SHARP-MICRO-UP))
 	(aflatdown . ,(ly:make-pitch -1 5 FLAT-MICRO-DOWN))
+	(aflatboth . ,(ly:make-pitch -1 5 FLAT-MICRO-BOTH))
 	(aflatup . ,(ly:make-pitch -1 5 FLAT-MICRO-UP))
 	(asharpdown . ,(ly:make-pitch -1 5 SHARP-MICRO-DOWN))
+	(asharpboth . ,(ly:make-pitch -1 5 SHARP-MICRO-BOTH))
 	(asharpup . ,(ly:make-pitch -1 5 SHARP-MICRO-UP))
 	(bflatdown . ,(ly:make-pitch -1 6 FLAT-MICRO-DOWN))
+	(bflatboth . ,(ly:make-pitch -1 6 FLAT-MICRO-BOTH))
 	(bflatup . ,(ly:make-pitch -1 6 FLAT-MICRO-UP))
 	(bsharpdown . ,(ly:make-pitch -1 6 SHARP-MICRO-DOWN))
+	(bsharpboth . ,(ly:make-pitch -1 6 SHARP-MICRO-BOTH))
 	(bsharpup . ,(ly:make-pitch -1 6 SHARP-MICRO-UP))
 
 	(csu . ,(ly:make-pitch -1 0 SHARP-MICRO-UP))
+	(csb . ,(ly:make-pitch -1 0 SHARP-MICRO-BOTH))
 	(csd . ,(ly:make-pitch -1 0 SHARP-MICRO-DOWN))
 	(cfu . ,(ly:make-pitch -1 0 FLAT-MICRO-UP))
+	(cfb . ,(ly:make-pitch -1 0 FLAT-MICRO-BOTH))
 	(cfd . ,(ly:make-pitch -1 0 FLAT-MICRO-DOWN))
 	(dsu . ,(ly:make-pitch -1 1 SHARP-MICRO-UP))
+	(dsb . ,(ly:make-pitch -1 1 SHARP-MICRO-BOTH))
 	(dsd . ,(ly:make-pitch -1 1 SHARP-MICRO-DOWN))
 	(dfu . ,(ly:make-pitch -1 1 FLAT-MICRO-UP))
+	(dfb . ,(ly:make-pitch -1 1 FLAT-MICRO-BOTH))
 	(dfd . ,(ly:make-pitch -1 1 FLAT-MICRO-DOWN))
 	(esu . ,(ly:make-pitch -1 2 SHARP-MICRO-UP))
+	(esb . ,(ly:make-pitch -1 2 SHARP-MICRO-BOTH))
 	(esd . ,(ly:make-pitch -1 2 SHARP-MICRO-DOWN))
 	(efu . ,(ly:make-pitch -1 2 FLAT-MICRO-UP))
+	(efb . ,(ly:make-pitch -1 2 FLAT-MICRO-BOTH))
 	(efd . ,(ly:make-pitch -1 2 FLAT-MICRO-DOWN))
 	(fsu . ,(ly:make-pitch -1 3 SHARP-MICRO-UP))
+	(fsb . ,(ly:make-pitch -1 3 SHARP-MICRO-BOTH))
 	(fsd . ,(ly:make-pitch -1 3 SHARP-MICRO-DOWN))
 	(ffu . ,(ly:make-pitch -1 3 FLAT-MICRO-UP))
+	(ffb . ,(ly:make-pitch -1 3 FLAT-MICRO-BOTH))
 	(ffd . ,(ly:make-pitch -1 3 FLAT-MICRO-DOWN))
 	(gsu . ,(ly:make-pitch -1 4 SHARP-MICRO-UP))
+	(gsb . ,(ly:make-pitch -1 4 SHARP-MICRO-BOTH))
 	(gsd . ,(ly:make-pitch -1 4 SHARP-MICRO-DOWN))
 	(gfu . ,(ly:make-pitch -1 4 FLAT-MICRO-UP))
+	(gfb . ,(ly:make-pitch -1 4 FLAT-MICRO-BOTH))
 	(gfd . ,(ly:make-pitch -1 4 FLAT-MICRO-DOWN))
 	(asu . ,(ly:make-pitch -1 5 SHARP-MICRO-UP))
+	(asb . ,(ly:make-pitch -1 5 SHARP-MICRO-BOTH))
 	(asd . ,(ly:make-pitch -1 5 SHARP-MICRO-DOWN))
 	(afu . ,(ly:make-pitch -1 5 FLAT-MICRO-UP))
+	(afb . ,(ly:make-pitch -1 5 FLAT-MICRO-BOTH))
 	(afd . ,(ly:make-pitch -1 5 FLAT-MICRO-DOWN))
 	(bsu . ,(ly:make-pitch -1 6 SHARP-MICRO-UP))
+	(bsb . ,(ly:make-pitch -1 6 SHARP-MICRO-BOTH))
 	(bsd . ,(ly:make-pitch -1 6 SHARP-MICRO-DOWN))
 	(bfu . ,(ly:make-pitch -1 6 FLAT-MICRO-UP))
+	(bfb . ,(ly:make-pitch -1 6 FLAT-MICRO-BOTH))
 	(bfd . ,(ly:make-pitch -1 6 FLAT-MICRO-DOWN))
 )
 
diff --git a/scm/lily-library.scm b/scm/lily-library.scm
index 7ebf478..1ba4c98 100644
--- a/scm/lily-library.scm
+++ b/scm/lily-library.scm
@@ -43,8 +43,10 @@
 
 (define-safe-public SHARP-MICRO-DOWN 499/1000)
 (define-safe-public SHARP-MICRO-UP 501/1000)
+(define-safe-public SHARP-MICRO-BOTH 502/1000)
 (define-safe-public FLAT-MICRO-UP -499/1000)
 (define-safe-public FLAT-MICRO-DOWN -501/1000)
+(define-safe-public FLAT-MICRO-BOTH -502/1000)
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; moments
diff --git a/scm/output-lib.scm b/scm/output-lib.scm
index a91453a..9da832f 100644
--- a/scm/output-lib.scm
+++ b/scm/output-lib.scm
@@ -394,8 +394,10 @@ centered, X==1 is at the right, X == -1 is at the left."
 
        (499/1000 . "accidentals.sharp.arrowdown")
        (501/1000 . "accidentals.sharp.arrowup")
+       (502/1000 . "accidentals.sharp.arrowboth")
        (-499/1000 . "accidentals.flat.arrowup")
        (-501/1000 . "accidentals.flat.arrowdown")
+       (-502/1000 . "accidentals.flat.arrowboth")
        ))
 
 ;; FIXME: standard vs default, alteration-FOO vs FOO-alteration
-- 
1.5.4.3

From fefa9f66a47ad0b39cbc6fe4edcf975e8c9afc26 Mon Sep 17 00:00:00 2001
From: Maximilian Albert <maximilian.alb...@gmail.com>
Date: Sat, 20 Dec 2008 19:34:59 +0100
Subject: [PATCH] Documentation for arrowed accidentals

---
 Documentation/user/pitches.itely |   50 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/Documentation/user/pitches.itely b/Documentation/user/pitches.itely
index e4b4532..a091d96 100644
--- a/Documentation/user/pitches.itely
+++ b/Documentation/user/pitches.itely
@@ -311,6 +311,56 @@ increasing pitches:
 ceseh1 ces ceh c cih cis cisih
 @end lilypond
 
+...@cindex microtones
+...@cindex arrowed accidental
+...@cindex accidental, arrowed
+
+LilyPond supports arrowed accidentals which can be used to indicate
+microtonal alterations. For English note names, simply add
+...@code{-u}/@code{-up}, @code{-d}/@code{-down} or @code{-b}/@code{-both}
+to the regular note name (accidentals with bidirectional arrows exist
+for completeness, even though they do not correspond to any microtonal
+alteration).
+
+...@lilypond[verbatim,quote]
+\include "english.ly"
+
+\relative c'' {
+  \set Staff.extraNatural = ##f
+  \time 3/4
+
+  csu csd csb cfu cfd cfb
+  csharpup csharpdown csharpboth cflatup cflatdown cflatboth
+}
+...@end lilypond
+
+For other languages, no special note names have been defined yet, but
+it is possible to redefine the @code{glyph-name-alist} property of
+...@code{accidental} so that quartertones are automatically typeset using
+arrowed accidentals (alternatively, you can define your own note names
+within the @code{.ly} file itself; see @code{makam.ly} for boilerplate
+code).
+
+...@lilypond[verbatim,quote]
+microAccs = #'((0 . "accidentals.natural")
+               (-1/2 . "accidentals.flat")
+               (1/2 . "accidentals.sharp")
+
+               (1 . "accidentals.doublesharp")
+               (-1 . "accidentals.flatflat")
+
+               (3/4 . "accidentals.sharp.arrowup")
+               (1/4 . "accidentals.sharp.arrowdown")
+               (-1/4 . "accidentals.flat.arrowup")
+               (-3/4 . "accidentals.flat.arrowdown"))
+
+\relative c'' {
+  #(set-accidental-style 'modern)
+  \override Accidental #'glyph-name-alist = #microAccs
+  cisih cih ceh ceseh
+}
+...@end lilypond
+
 
 
 @cindex accidental, reminder
-- 
1.5.4.3

From bd72eb0afcf354b4f2bf810910f988e987063950 Mon Sep 17 00:00:00 2001
From: Maximilian Albert <maximilian.alb...@gmail.com>
Date: Sat, 20 Dec 2008 19:35:23 +0100
Subject: [PATCH] Add suffixes for arrowed accidentals to section 'Note names in other languages'

---
 Documentation/user/pitches.itely |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/Documentation/user/pitches.itely b/Documentation/user/pitches.itely
index a091d96..50cb315 100644
--- a/Documentation/user/pitches.itely
+++ b/Documentation/user/pitches.itely
@@ -573,6 +573,20 @@ languages, no special names have been defined yet.
 @end multitable
 @end quotation
 
+Microtones can be typeset by using accidentals with up or down arrows.
+The suffixes for note names with these accidentals are listed below.
+At present special names are only defined in @code{english.ly}.
+
+...@quotation
+...@multitable {...@file{nederlands.ly}} {...@b{sharp, up arrow}} {...@b{sharp, down arrow}} {...@b{sharp, both arrows}} {...@b{flat, up arrow}} {...@b{flat, down arrow}} {...@b{flat, both arrows}}
+...@headitem Language File
+  @tab sharp, up arrow @tab sharp, down arrow @tab sharp, both arrows @tab flat, up arrow @tab flat, down arrow @tab flat, both arrows
+
+...@item @file{english.ly}
+  @tab -su @tab -sd @tab -sb @tab -fu @tab -fd @tab -fb
+...@end multitable
+...@end quotation
+
 
 @seealso
 Music Glossary:
-- 
1.5.4.3

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

Reply via email to