]> git.donarmstrong.com Git - lilypond.git/commitdiff
*** empty log message ***
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 17 Jan 2005 23:12:33 +0000 (23:12 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 17 Jan 2005 23:12:33 +0000 (23:12 +0000)
ChangeLog
scm/define-markup-commands.scm
scm/translation-functions.scm

index 7746c4767eb8ab306f9eacbbbaaf7f53164d2013..7ce42f4878aea1ce32e8222430abf4498a20db51 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-01-17  Erlend Aasland  <erlenda@gmail.com>
+
+       * scm/define-markup-commands.scm: Change number->markletter-string
+       to take two arguments (vector number). Add number->mark-alphabet-vector
+       and markalphabet markup command.
+
+       * scm/translation-functions.scm: Add format-mark-box-alphabet,
+       format-mark-alphabet, format-mark-box-barnumbers and
+       format-mark-barnumbers. Fix bug in format-mark-box-numbers.
+
 2005-01-17  Graham Percival  <gperlist@shaw.ca>
 
        * Documentation/user/examples.itely: add SATB automatic piano
index ff2e9da7457b7b1993d490086fb15144122d2b81..8d19cf8efbe019664ea14a4a9ad07d49fd58ae00 100644 (file)
@@ -670,22 +670,30 @@ around the markup."
   (vector-set! number->mark-letter-vector j
                (integer->char (+ i (char->integer #\A)))))
 
-(define (number->markletter-string n)
+(define number->mark-alphabet-vector (list->vector
+  (map (lambda (i) (integer->char (+ i (char->integer #\A)))) (iota 26))))
+
+(define (number->markletter-string vec n)
   "Double letters for big marks."
-  (let* ((lst (vector-length number->mark-letter-vector)))
+  (let* ((lst (vector-length vec)))
     
     (if (>= n lst)
-       (string-append (number->markletter-string (1- (quotient n lst)))
-                      (number->markletter-string (remainder n lst)))
-       (make-string 1 (vector-ref number->mark-letter-vector n)))))
-
+       (string-append (number->markletter-string vec (1- (quotient n lst)))
+                      (number->markletter-string vec (remainder n lst)))
+       (make-string 1 (vector-ref vec n)))))
 
 (def-markup-command (markletter layout props num) (integer?)
   "Make a markup letter for @var{num}.  The letters start with A to Z
  (skipping I), and continues with double letters."
   
-  (Text_interface::interpret_markup layout props (number->markletter-string num)))
-
+  (Text_interface::interpret_markup layout props
+    (number->markletter-string number->mark-letter-vector num)))
+
+(def-markup-command (markalphabet layout props num) (integer?)
+   "Make a markup letter for @var{num}.  The letters start with A to Z
+ and continues with double letters."
+   (Text_interface::interpret_markup layout props
+     (number->markletter-string number->mark-alphabet-vector num)))
 
 (def-markup-command (bracketed-y-column layout props indices args)
   (list? markup-list?)
index 8d8a5fcbf2689518365ca3261c82c3557f9da439..b2e2de387681c91a1b2dd11fd718fcf9807bb0f2 100644 (file)
       (make-simple-markup  "=")
       (make-simple-markup (number->string count))))))
 
+(define-public (format-mark-alphabet mark context)
+  (make-bold-markup (make-markalphabet-markup (1- mark))))
+
+(define-public (format-mark-box-alphabet mark context)
+  (make-bold-markup (make-box-markup (make-markalphabet-markup (1- mark)))))
+
 (define-public (format-mark-letters mark context)
   (make-bold-markup (make-markletter-markup (1- mark))))
 
 (define-public (format-mark-numbers mark context)
   (make-bold-markup (number->string mark)))
 
+(define-public (format-mark-barnumbers mark context)
+  (make-bold-markup (number->string (ly:context-property context 'currentBarNumber))))
+
 (define-public (format-mark-box-letters mark context)
   (make-bold-markup (make-box-markup (make-markletter-markup (1- mark)))))
 
 (define-public (format-mark-box-numbers mark context)
-  (make-bold-markup (make-box-markup (make-markletter-markup (1- mark)))))
+  (make-bold-markup (make-box-markup (number->string mark))))
+
+(define-public (format-mark-box-barnumbers mark context)
+  (make-bold-markup (make-box-markup
+    (number->string (ly:context-property context 'currentBarNumber)))))