]> git.donarmstrong.com Git - lilypond.git/blob - TODO
release: 0.0.59
[lilypond.git] / TODO
1
2 This is an assorted collection of stuff that will be done, might be
3 done, or is an idea that I want to think about
4
5 Most of the items are marked in the code as well, with full explanation. 
6 grep for TODO and ugh/ugr
7
8
9 IMPORTANT
10
11         * update 20 pt table
12
13         * use Hungarian throughout code
14
15         * rename mf fonts to avoid conflicts with musixtex
16
17         * decent TeX page layout
18
19         * per-pstaff item-widths [JCN]
20
21         * script priority
22
23         * use own fonts/update musixtex fonts
24
25         * check return status in make_website
26
27         * a Hands on tutorial [HKN]
28
29
30 PROJECT:
31
32         * Output class, handles 
33         - help text /(c) notice?
34         - warning /errors/progress
35         - abort on error/warning; exit status
36         - quiet/ignore-version options
37         - logfile output
38
39 PARSER
40         * Duration-> Musical_duration, typedef Rational Duration?
41
42 HKN buglist:
43
44 \bar || ook dunne streepjes? Sluit de balk niet af! (soms met de
45 ruimte van een hele maat erachter (bij unmatching staffs)
46
47 Hele rusten ook in andere maatsoort dan 4/4 (en centreren in de maat)
48
49
50
51 ------------------------\
52 barcheck failed in lyric mode -> assert (zie barcheck.ly) (0.0.57)
53 ------------------------/
54
55 optie om te stoppen na eerste barcheck fail? (en wellicht in eerder
56 stadium van preprocessing)
57
58 noten staan vaak te dicht aan de rechterkant van de maatstreep.
59
60 optie om nummers/markers boven maatstrepen te zetten
61
62 tekst staat erg ver van notenbalken af
63
64 barcheck her-synchroniseren? (evt met optie)
65
66 script ^"3" onder ondanks boven?
67
68 symbolen voor triller? (dus "tr---")
69
70 waarom geen ; achter dingen in \paper? (\textwidth 180\mm)
71 (sowieso: wanneer wel en geen ; ?)
72
73 Onduidelijk wanneer wel en geen \ voor een woord. Maak liever
74 verplichte regels
75
76 implementeren versieringen door duration *0 ofzo? (geeft nu assertion,
77 zie duration0.ly)
78
79 midi: instrumenten definieren?
80 midi: tempo halverwege het stuk wijzigen?
81 midi: gebonden noten niet herhalen?
82
83 --------/\
84 De beam van de triool klopt niet.
85         <[d8. b8.> \duration 32; <e'32*2/3 cis'32*2/3> <d'32*2/3 b32*2/3>
86         <cis'32*2/3 a32*2/3> \duration 16; <b gis> <d' fis> <cis' e>
87 <b d]> |
88 (zie ook ergens in lacidarem-pianoI.ly)
89 --------/
90 scales.ly compileert niet meer (vanwege transpose?)
91
92 Lengte van de stokken klopt vaak niet, zie bijv. de eerste maat van
93 langestok.ly.
94
95 Triolen enzo: het zou handig zijn als je het cijfer "3" ook _tussen_
96 twee noten kon plaatsen. Dat is bijvoorbeeld nodig in
97 c4*2/3 c8*2/3
98
99 ---------------\
100 \bar "||" \meter 6/8; op het eind van de regel staat door elkaar
101 gedrukt.
102
103
104 BUGS
105
106         * detect -pipe
107         
108         * redo timing stuff <-> pulk to allow \meter 2/4; e2. to work
109         out correctly
110
111         * key transposition.
112
113         * hairpin width
114
115         * help-lines for rests
116
117         * [c8. c32 c32]
118
119         * \duration 8; e*2/3
120
121         * cis ( | ) cis
122
123         * lilypond - -> crash
124
125         * chlapik balk ruimte 
126
127         * standchen triool beam up/down
128
129
130 SEVERELY LACKING:
131
132         * SPEED!
133
134         * grace notes
135
136 FURTHER FOR ORCHESTRAL SCORE:
137
138         * multibar rests
139
140         * barnumbers, markers
141
142         * abbreviations c4=16
143
144         * doublebar "||", finishbar "|||" (or "||." ?)
145
146 INPUTLANGUAGE
147
148         * relative mode for pitch entering
149
150         * configure pitch_byte
151
152         * special key.
153
154         * figured bass?
155
156         * rest name configurable
157
158         * Raw request syntax
159
160         * subtime with Subtle_reqs
161
162 SMALLISH PROJECTS
163
164         * write Rest_collision
165
166         * use Real for y positions.
167
168         * shared lib on Solaris too.
169
170         * bugreport to doc++ devel: struct not in class hier; public
171         virtual baseclasses
172
173         * cleanup lily-proto.hh and proto.hh
174
175         * half-sharps, half-flats
176         
177         * key undo
178
179         * unix style paths for LILYINCLUDE EN
180
181         * indentable stream as baseclass for TeX stream, lily stream, Dstream.
182
183         * caching Item/spanner dimensions.
184
185         * key transposition
186         
187         * caching breakpoints / saving them. 
188
189         * use dstream feature in mi2mu
190
191         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
192
193         - declare notenametab?
194
195         * use tors feature in lily
196
197         * do conventional keys (C G A, F B E, a e fis, d as des, etc ), 
198           besides lists of flats/sharps
199
200         * update for T70 fonts or newer
201
202         * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
203
204         * parshape
205
206         * read from mmap directly: bugreport to flex developers->
207         yy_scan_buffer in C++..
208
209         * binsearch/hash for identifiers
210
211         * stafftypes: voice names/ instrument names.
212
213         * Lookup::tex_glissando, Lookup::tex_bracket,  (use texbeam.cc as an
214         example.)
215
216         * Decent TeX titledefs (\tempo, \metron, etc. )
217
218         * C meter iso 4/4
219
220         * textspanner: center position
221
222         * script-spacing
223
224         * Brackets
225
226         * caching of Register_group_register hierarchies.
227
228         * use (char *) iso. String for communication between lexer and
229         parser.
230
231         * configure idealspacing: arithmetic spacing
232
233         * midi output: eat-up dynamic, key/meter/tempo changes, and
234 write them neatly
235
236         * LilyPond .deb
237
238 DOC
239
240         * beam generation.
241
242         * all errors
243
244         * a test suite
245
246 FUTURE
247
248         * Reg_configure_request
249
250         * bring Collision::do_pre_processing to haircutter
251
252         * slurs per voicegroup.
253
254         * slur parts as a script
255         
256         * mixed fontsizes
257
258         * put scripts on bars
259
260         * glissando
261
262         * guitar chord
263
264         * Junk Staff_column, and find the requests while walking the Voices.?
265
266         * MIDI repeat: make lily understand repeats
267
268         * better beamslope calculation: QLP for beams?
269
270         * implement better breaking algorithm
271
272         * Text_crescendo
273
274         * clean solution for staffsize in items.
275
276         * merge key{item} & localkey{item}?
277
278         * revise calcideal
279
280         * volta
281
282         * piano staff
283
284         * vertical spanner
285
286 IDEAS
287
288         * output an intermediate format, move backend/output routines into 
289         interpreter
290
291         * scoping in Lexer: do general id- assignments in mudela.
292
293         ID '=' EXPR;
294
295         * integrate Register/Midi stuff
296
297         * create libmudela, or liblily_frontend
298
299         * move MIDI stuff (including Quantization) to a ANSI C libmidi library.
300
301         * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
302         for : 
303                 - Items/Spanners
304                 - Registers
305
306         * y -dims in internote?
307
308         * hack up mf sources for decent spacing info (and then 
309         read TFM directly, for text too)
310
311         * merge Atom and Symbol?
312
313         * merge common code of Item, Atom/Molecule
314
315         * Spacing_request for manually adjusting spacing
316
317         * Staff_group, Score_request_register.
318
319         * SHIT: meters/bars should be aligned, which is difficult if
320         we get different keychanges in different staffs.
321
322         * MusixTeX output possible?
323
324         * PostScript output (esp. Beams, Slurs, etc)
325
326         * poor man's ascii output possible?
327
328         * Output an output format independent (ofi) typeset file; and 
329           make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters.
330
331         * caching breakpoints
332
333         * #c <-> cis
334
335         * breath marks 
336
337         * used fixedpoint arithmetic for min. energy.
338
339         * default convert mudela-file.ly -> mudela-file.tex
340           - move test.tex: '\include lilyponddefs' -> 
341             mudela-file.ly: '\texinclude "lilyponddefs";'
342             (junking test.tex and latex.test)
343           - rename {standchen,scsii-menuetto,...}.tex
344
345         * (related with above) --simple-mudela option for lily,
346           to lily input files with one-voice simple mudela 
347           (no red tape)
348
349         * stack scripts in chords:
350           % fingering:        footing:
351             < a-4 c-2 g-1 >   < c-\ltoe e-\lheel >
352
353         * parameterised scripts for fingering and footing:
354
355             % toe to bheel   four to five
356             %   ^_u            4_5  
357             %     -                           
358             %  --|x--         --|x--
359             %  --|---         --|---
360             %  --|---         --|---
361           (where "to" is a tiny bow)
362