]> git.donarmstrong.com Git - lilypond.git/commitdiff
(urg, fukking emacs)
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 18 Jul 2002 23:59:11 +0000 (23:59 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 18 Jul 2002 23:59:11 +0000 (23:59 +0000)
12 files changed:
ChangeLog
Documentation/user/refman.itely
lily/translator-def.cc
lilypond-mode.el
ly/generate-documentation.ly
scm/ascii-script.scm
scm/backend-documentation-lib.scm
scm/documentation-lib.scm
scm/engraver-documentation-lib.scm
scm/generate-documentation.scm
scm/grob-description.scm
scm/grob-property-description.scm

index a6f85760a0026481a42b37359f412ccd44174580..a179ab4132dc6fdc859a3b640cfa7a743d9976e6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-07-19  Han-Wen  <hanwen@cs.uu.nl>
+
+       * scm/engraver-documentation-lib.scm
+       (document-property-operation): add properties to context
+       documentation.
+
+       * scm/documentation-lib.scm (pad-string-to): align info menus.
+
 2002-07-18  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * debian/GNUmakefile: Remove lilypond.links.
@@ -55,7 +63,6 @@
        
        * stepmake/stepmake/c-vars.make (ALL_CFLAGS): Include CFLAGS.
 
-
 2002-07-17  Han-Wen  <hanwen@cs.uu.nl>
 
        * GNUmakefile.in: distribute lexer-gcc-3.1.sh  as well
index 68d6a808f8eac2b4370e07283fb046564acd8e69..91d0b0e3ea5090a7a90fc6959060a860ca8ad3c6 100644 (file)
@@ -1655,6 +1655,34 @@ put them up:
 Other symbols can be added using the syntax
 @var{note}@code{-\}@var{name}. Again, they can be forced up or down
 using @code{^} and @code{_}.
+
+@cindex accent      
+@cindex marcato      
+@cindex staccatissimo
+@cindex fermata 
+@cindex stopped     
+@cindex staccato     
+@cindex tenuto        
+@cindex upbow
+@cindex downbow
+@cindex foot marks
+@cindex organ pedal marks
+@cindex turn         
+@cindex open          
+@cindex flageolet
+@cindex reverseturn 
+@cindex trill        
+@cindex prall         
+@cindex mordent
+@cindex prallprall  
+@cindex prallmordent 
+@cindex prall, up
+@cindex prall, down
+@cindex mordent
+@cindex thumb marking
+@cindex segno         
+@cindex coda
+
 @lilypond[]
   \score {
     <
@@ -1798,13 +1826,14 @@ staffs, using this grace timing.
 @end lilypond
 
 
-The syntax is as follows.
-@example
-  \grace @var{musicexpr}
-@end example
-
 Unbeamed eighth notes and shorter by default have a slash through the
-stem.
+stem. This can be controlled with grob property @code{flag-style} of
+@internalsref{Stem}. The change in formatting is accomplished by
+inserting @code{\startGraceMusic} before handling the grace notes, and
+@code{\stopGraceMusic} after finishing the grace notes. You can add to
+these definitions to globally change grace note formatting. The
+standard definitions are in @file{ly/grace-init.ly}.
+
 
 @lilypond[fragment,verbatim]
 \relative c'' \context Voice {
index 79c4087bdbacbb8cd6b5587281e6983531d256aa..e4b8a239cdeca29fcc66fa738effd5ad657ace92 100644 (file)
@@ -304,7 +304,7 @@ Translator_def::default_child_context_name ()
 }
 
 SCM
-Translator_def::to_alist ()const
+Translator_def::to_alist () const
 {
   SCM l = SCM_EOL;
   
index 5f194c594658bc183da09ab7984719d039205964..fdcc28df9f162670465e9132de24b1311e66190d 100644 (file)
@@ -16,7 +16,7 @@
 ;;; Add this to your ~/.emacs or ~/.emacs.el
 ;;;     (load-library "lilypond-mode.el")
 ;;;     (setq auto-mode-alist
-;;;      (append '(("\\.ly$" . LilyPond-mode) auto-mode-alist)))
+;;;      (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist))
 ;;; 
 
 (load-library "lilypond-font-lock")
index 0b1c94f53451ed2b679fd258f109949e1fdb0e0b..504183d87a49d096bcd826675d52eeffd108cc76 100644 (file)
@@ -3,4 +3,4 @@
 %
 % Running LilyPond on this file generates the documentation
 %
-#(eval-string (ly-gulp-file "generate-documentation.scm"))
+#(load-from-path "generate-documentation.scm")
index 760b6096bea20ce6f6b589d78405ca0b93363833..53c3aeedd1aee45eba244da38ad2d932a4606a46 100644 (file)
@@ -9,6 +9,7 @@
 
 
 (debug-enable 'backtrace)
+
 (define (tex-encoded-fontswitch name-mag)
   (let* ((iname-mag (car name-mag))
         (ename-mag (cdr name-mag)))
index 3ed112e9d6ff9d653162ccb07fb55a7b22b533a4..1fa2f47d5621b77612e80d5f0bf0d8cc04ed505b 100644 (file)
 (if (not (defined? 'standalone))
     (begin
 
-;      (debug-enable 'backtrace)
-
       (load "standalone.scm")
 
       (define (number-pair?  x)
index 3a27cbbc7772fb0e4db131f246ee5955817786e7..0ea2a979463dd7b73ef18d25581aa06522440e73 100644 (file)
@@ -82,10 +82,25 @@ Add a ref if REF is set
    "\n@end table\n"))
 
 (define (texi-menu items-alist)
+  (let
+      (
+       (maxwid (apply max (map (lambda (x) (string-length (car x)))
+                              items-alist)))
+       )
+    
+
+    
   (string-append
   "\n@menu"
   (apply string-append
-        (map (lambda (x) (string-append "\n* " (car x) ":: " (cdr x)))
+        (map (lambda (x)
+               (string-append
+               (pad-string-to 
+                (string-append "\n* " (car x) ":: ")
+                (+ maxwid 8)
+                )
+               (cdr x))
+               )
              items-alist))
   "\n@end menu\n"
   ;; Menus don't appear in html, so we make a list ourselves
@@ -94,7 +109,7 @@ Add a ref if REF is set
   (description-list->texi (map (lambda (x) (cons (ref-ify (car x)) (cdr x)))
                         items-alist))
   "\n@end ifhtml\n"
-  "\n@end ignore\n"))
+  "\n@end ignore\n")))
 
   
 (define (texi-node-menu name items-alist)
@@ -103,7 +118,14 @@ Add a ref if REF is set
    (texi-section 1 name #f)
    (texi-menu items-alist)))
 
+
+(define (pad-string-to str wid)
+  (string-append str (make-string (max (- wid (string-length str)) 0) #\ ))
+  )
+
 (define (texi-file-head name file-name top items-alist)
+
+  
   (string-append
    "\\input texinfo @c -*-texinfo-*-"
    "\n@setfilename " file-name ".info"
index 8e554f4efb502593266c551c37bb8858dbf3b70c..9484bf11d773740c7a063557a072c09ae7b61705 100644 (file)
        )
     ))
 
+(define (document-property-operation op)
+  (let
+      ((tag (car op))
+       (body (cdr op))
+       (sym (cadr op))
+       )
+
+  (cond
+   ((equal?  tag 'push)
+    (string-append
+     "@item "
+     (if (null? (cddr body))
+        "Revert "
+        "Set "
+        )
+     "grob-property "
+     (symbol->string (cadr body))
+     " in " (symbol->string sym)
+     (if (not (null? (cddr body)))
+        (string-append " to " (scm->texi (cadr (cdr body))))
+        )
+    "\n"
+     )
+
+    )
+   ((equal? (object-property sym 'is-grob?) #t) "")
+   ((equal? (car op) 'assign)
+    (string-append
+     "@item Set translator property "
+     (symbol->string (car body))
+     " to "
+     (scm->texi (cadr body))
+     "\n"
+     )
+     )
+   )
+  ))
+
+
+
 (define (context-doc-string context-desc)
   (let*
       (
                  (cdr (assoc 'consists context-desc))
                  (cdr (assoc 'end-consists  context-desc))
                  ))
+       (props (cdr (assoc 'property-ops context-desc)))
        (grobs  (context-grobs context-desc))
        (grob-refs (map (lambda (x) (ref-ify x)) grobs))
        )
      "\n\nThis context creates the following grobs: \n\n"
      (human-listify (uniq-list (sort grob-refs string<? )))
      "."
+     (if (pair? props)
+        (string-append
+         "\n\nThis context sets the following properties:\n"
+         "@itemize @bullet\n"
+         (apply string-append (map document-property-operation props))
+         "@end itemize\n"
+        )
+        ""
+        )
      
      (if (null? accepts)
-        "This context is a `bottom' context; it can not contain other contexts."
+        "\n\nThis context is a `bottom' context; it can not contain other contexts."
         (string-append
          "\n\nContext "
          name " can contain \n"
index 5e092b2dc39f1962203d0b6a9d9f17cd25c808ac..158e5280c3f33c6cbc4d2f554a97a8c0dde3d9e3 100644 (file)
@@ -10,6 +10,8 @@
 ;;; Running LilyPond on this file generates the documentation
 
 
+(debug-enable 'backtrace)
+
 
 
 ;;;;;;;;;;;;;;;;
 ;; are described...
 (define no-copies #f)
 
-
-
 (let* ((doc (string-append
-            (document-music "music properties") 
-            (document-paper "interpretation contexts")
-            (document-all-engravers "engravers")
-            (document-all-engraver-properties "context properties")
-            (document-all-grobs "grob overview")
-            (document-all-interfaces "interfaces")
+            (document-music "Music properties") 
+            (document-paper "Contexts")
+            (document-all-engravers "Engravers")
+            (document-all-engraver-properties "Context properties")
+            (document-all-grobs "Grob overview")
+            (document-all-interfaces "Interfaces")
 
-            (node "backend properties")
-            (texi-section 1 "backend properties" #f)
+            (node "Backend properties")
+            (texi-section 1 "Backend properties" #f)
 
-            (document-all-backend-properties "backend properties")
+            (document-all-backend-properties "Backend properties")
 
-            (node "function documentation")
-            (texi-section 1 "function documentation" #f)
+            (node "Function documentation")
+            (texi-section 1 "Function documentation" #f)
 
             (document-all-scheme-functions)
             
      ;; we can't use (dir) and top if we're included by lilypond.tely
      "LilyPond internals" name "(lilypond.info)"
      '(
-       ("music properties" . "properties for Music representation")
-       ("interpretation contexts" . "Hierarchy and grouping of Engravers")
-       ("engravers" . "Engravers create Grobs")
-       ("context properties" . "context properties")       
-       ("grob overview" . "Detailed description of all Grobs")
-       ("interfaces" . "Grob Interfaces")
-       ("backend properties" . "Grob properties")
-       ("function documentation" . "All embedded functions")
+       ("Music properties" . "properties for Music representation")
+       ("Contexts" . "Hierarchy and grouping of Engravers")
+       ("Engravers" . "Engravers create Grobs")
+       ("Context properties" . "context properties")       
+       ("Grob overview" . "Detailed description of all Grobs")
+       ("Interfaces" . "Grob Interfaces")
+       ("Backend properties" . "Grob properties")
+       ("Function documentation" . "All embedded functions")
        ("Index" . "index")
        ))
 
index 4e7b18589bc1858800ad30c1ab11e3301a2f15ef..3296cea3b0e779a3e11bf38a7630c009f90cdf6d 100644 (file)
 (map (lambda (x)
                                        ; (display (car x)) (newline)
 
-       (set-object-property! (car x) 'translation-type? list?))
+       (set-object-property! (car x) 'translation-type? list?)
+       (set-object-property! (car x) 'is-grob? #t))
      all-grob-descriptions)
 
 
index 34ff2ff0dbb0c6de3371812e7c9019ca787cded1..61934849a616b77ffe7a4b5a0fcf0a8aac0d74b5 100644 (file)
@@ -188,7 +188,7 @@ typesetting engine is completely oblivious to it.
 slur dir) -> attachment to determine the attachment (see above).  If
 procedure returns #t, attachment is used.  Otherwise, the next
 procedure is tried.")
-(grob-property-description 'flag-style string? "turn stroke through stem on/off.")
+(grob-property-description 'flag-style string? "set to \"grace\" to turn stroke through stem on.")
 (grob-property-description 'flag-width-function procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).")
 (grob-property-description 'flexa-width number? "width of a flexa shape in a ligature grob.")
 (grob-property-description 'font-family symbol? "partial font