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