]> git.donarmstrong.com Git - lilypond.git/blob - scm/documentation-generate.scm
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / scm / documentation-generate.scm
1 ;;;; generate-documentation.scm -- Generate documentation
2 ;;;;
3 ;;;; source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c) 2000--2006 Han-Wen Nienhuys <hanwen@cs.uu.nl>
6 ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
7
8 ;;; File entry point for generated documentation
9 ;;; Running LilyPond on this file generates the documentation
10
11 ;;(set-debug-cell-accesses! 5000)
12
13 ;;;;;;;;;;;;;;;;
14 ;;;;;;;;;;;;;;;; TODO : make modules of these!
15 ;;;;;;;;;;;;;;;;
16
17 ;; todo: naming: grob vs. layout property
18
19 (map ly:load '("documentation-lib.scm"
20                "document-functions.scm"
21                "document-translation.scm"
22                "document-music.scm"
23                "document-backend.scm"
24                "document-markup.scm"))
25
26 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
27
28 (display
29  (slot-ref (all-scheme-functions-doc) 'text)
30  (open-output-file "scheme-functions.tely"))
31
32 (display 
33  (markup-doc-string)
34  (open-output-file "markup-commands.tely"))
35
36
37 (display
38  (backend-properties-doc-string all-user-grob-properties)
39  (open-output-file "layout-properties.tely"))
40
41 (display
42  (translation-properties-doc-string all-user-translation-properties)
43  (open-output-file "context-properties.tely"))
44
45 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46
47 (define file-name "lilypond-internals")
48 (define outname (string-append file-name ".texi"))
49
50 (define out-port (open-output-file outname))
51
52 (writing-wip outname)
53
54 (display
55  (string-append
56   (texi-file-head "LilyPond program-reference" file-name
57                   "(lilypond-internals.info)")
58   "
59
60 @c NOTE: This is documentation-generate.scm, not macros.itexi
61
62 @ifhtml
63 @macro usermanref{NAME}
64 @ref{\\NAME\\,,,lilypond}
65 @cindex \\NAME\\
66 @end macro
67 @end ifhtml
68
69 @ifinfo
70 @macro usermanref{NAME}
71 @inforef{\\NAME\\,,,lilypond}
72 @cindex \\NAME\\
73 @end macro
74 @end ifinfo
75
76 @iftex
77 @macro usermanref{NAME}
78 @ref{\\NAME\\}@c
79 @end macro
80 @end iftex
81
82 @ifhtml
83 @macro glossaryref{NAME}
84 @ref{\\NAME\\,,,music-glossary}
85 @cindex \\NAME\\
86 @end macro
87 @end ifhtml
88
89 @ifinfo
90 @macro glossaryref{NAME}
91 @inforef{\\NAME\\,,lilypond/music-glossary}
92 @cindex \\NAME\\
93 @end macro
94 @end ifinfo
95
96
97 @macro internalsref{NAME}
98 @ref{\\NAME\\}
99 @end macro
100
101 @ifhtml
102
103 @macro inputfileref{DIR,NAME}
104 @uref{source/\\DIR\\/out-www/collated-files.html#\\NAME\\,@file{\\DIR\\/\\NAME\\}}@c
105 @end macro
106
107 @end ifhtml
108
109 @ifinfo
110
111 @macro inputfileref{DIR,NAME}
112 @file{\\DIR\\/\\NAME\\}
113 @end macro
114
115 @end ifinfo
116
117 @iftex
118 @macro inputfileref{DIR,NAME}@c
119 @file{\\DIR\\/\\NAME\\}@c
120 @end macro
121 @end iftex
122
123
124 @ignore
125 @omftitle LilyPond internals
126 @omfcreator Han-Wen Nienhuys and Jan Nieuwenhuizen
127 @omfdescription Programmer's reference of the LilyPond music engraving system
128 @omftype user's guide
129 @omflanguage English
130 @omfcategory Applications|Publishing
131 @end ignore
132
133
134 ")
135  out-port)
136
137 (define top-node
138   (make <texi-node>
139     #:name "Top"
140     #:text 
141     (string-append  "This is the program reference for LilyPond version " (lilypond-version))
142
143     #:children
144     (list
145      (music-doc-node)
146      (translation-doc-node)
147      (backend-doc-node)
148      (all-scheme-functions-doc)
149      (make <texi-node>
150        #:name "Indexes"
151        #:text "
152 @unnumbered Concept index
153
154 @printindex cp
155
156 @unnumbered Variable index
157
158 @printindex vr
159
160 @unnumbered Function index
161
162 @printindex fn
163
164 \n@bye"))))
165
166 (dump-node top-node out-port 0)
167 (newline (current-error-port))
168
169
170
171