Hi all,

I just rediscovered this old thread during some recent work and
realized that there are still some pending updates for the docs
concerning microtonal notation. This has got buried for more than half
a year (presumably because it was Christmas time when I sent my last
email), but I'd appreciate if someone could take a look at it and let
me know if it's OK to apply or what should be changed. For details
about the discussion at the time, see

   http://www.mail-archive.com/lilypond-devel@gnu.org/msg19087.html

and the replies in that thread. Attached are the patches again
(updated to reflect the rearranged docs structure).

Thanks,
Max

2008/12/21 Maximilian Albert <maximilian.alb...@googlemail.com>:
> 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 0e521721ec3244bfc994f73d68440b1e4f066458 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 fec9b11..1b92d55 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 d1cce2a..22d1123 100644
--- a/scm/lily-library.scm
+++ b/scm/lily-library.scm
@@ -44,6 +44,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 f9b920f..9bb2627 100644
--- a/scm/output-lib.scm
+++ b/scm/output-lib.scm
@@ -440,6 +440,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.6.0.4

From b27034ad5185b64d4bf317a18cceed8ed5d9a54f 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 1b92d55..8c6691f 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 22d1123..370510c 100644
--- a/scm/lily-library.scm
+++ b/scm/lily-library.scm
@@ -46,8 +46,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 9bb2627..cbfa983 100644
--- a/scm/output-lib.scm
+++ b/scm/output-lib.scm
@@ -443,8 +443,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.6.0.4

From eb22037fdec0b2004e51c01ff2d498b851d580e8 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/notation/pitches.itely |   50 ++++++++++++++++++++++++++++++++++
 1 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/Documentation/notation/pitches.itely b/Documentation/notation/pitches.itely
index fce608a..7a3b83e 100644
--- a/Documentation/notation/pitches.itely
+++ b/Documentation/notation/pitches.itely
@@ -345,6 +345,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.6.0.4

From ac288a01c91cd11d77bddf83067fdc8a0931cefd 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/notation/pitches.itely |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/Documentation/notation/pitches.itely b/Documentation/notation/pitches.itely
index 7a3b83e..d1e5713 100644
--- a/Documentation/notation/pitches.itely
+++ b/Documentation/notation/pitches.itely
@@ -614,6 +614,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.6.0.4

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

Reply via email to