lilypond-0.0.40
[lilypond.git] / TODO
blob87d3ef806cf8f4ebb9a3d4b23849d3a98421d3c6
1 before 0.1
3         * remove spurious/outdated comments in .ly
4         
5         * pushgroup, popgroup.
7         * basic dynamics
9         * basic syntax & parser/lexer cleanup.
11         * decent TeX page layout
13         * clean split for m2m of sources.
15         * caching of Register_group_register hierarchies.
17 This is an assorted collection of stuff that will be done, might be
18 done, or is an idea that I want to think about
20 STUFF
21         * generate all (.hh) files into out dirs
23         * sort out headers, see m2m
25         * do platform stuff: configure, header(s), targets, build (out?)
27 BUGS
29         * plet bugs: scales.ly
31         * key at clef change.
33         * key undo
35         * key at broken :||:
37         * [c8. c32 c32]
39         * $cis ( | ) cis$
41         * Group_feature at start of music. 
43 SEVERELY LACKING:
45         * grace notes
47         * dynamics (hairpins) 
49 INPUTLANGUAGE
51         * lose the $ and @ ?
53         * figured bass?
55         * transposition
57         * rest name configurable
59         * < .. > vs. { .. } syntax? ! 
61         * '*' vs. '/'
63 SMALLISH PROJECTS
65         * fix Staff_elem::width() derivs to use offset_
67         * parshape
69         * a pure parser.
71         * bar numbers/repetition marks
73         * read from mmap directly: study yy_scan_buffer
75         * binsearch/hash for notenames, id. for identifiers
77         * stafftypes: voice names/ instrument names.
79         * Lookup::tex_glissando, Lookup::tex_bracket,  (use texbeam.cc as an
80         example.)
82         * Decent TeX titledefs (\tempo, \metron, etc. )
84         * command priority into enum
85         
86         * C meter iso 4/4
88         * textspanner: center position
90         * script-spacing
92         * Brackets
94         * space rest.
96         * use (char *) iso. String for communication between lexer and
97         parser.
99         * configure idealspacing: arithmetic spacing
101         * fix linking: `Warning: size of symbol'
103         * collision Request_register.
105         * LilyPond .rpm and .deb
109         * beam generation.
111         * all errors
113         * a decent webpage
115         * a test suite
117 FUTURE
119         * Register_container baseclass
121         * put scripts on bars
123         * glissando
125         * guitar chord
127         * better beamslope calculation
129         * implement better breaking algorithm
131         * Implement all requests
133         * merge key{item} & localkey{item}?
135         * QLP for beams?
137         * revise calcideal
139         * eentje/tweetje
141         * piano staff
142         
143         * abbreviations a4*8
145 IDEAS
147         * create libmudela,  or liblily_frontend
149         * Horizontal_align_item, Vertical_align_item.
151         * move MIDI io to a ANSI C libmidi library.
153         * fold indentifiers and notenames?
155         * enter Requests directly
157         * itemcolumns: Use dummy items.
159         * use an embedded language: scheme, lisp, S-lang, Perl, ?
161         * y -dims in internote?
163         * hack up mf sources for decent spacing info (and then maybe
164         read TFM directly)
166         * merge Atom and Symbol?
168         * merge common code of Item, Atom/Molecule
170         * Spacing_request for manually adjusting spacing
172         * Staff_group, Score_request_register.
174         * SHIT: meters/bars should be aligned, which is difficult if
175         we get different keychanges in different staffs.
177         * Integrating (objectiveC) MusicKit with LilyPond
178         
179         * MusixTeX output possible?
181         * PostScript output (esp. Beams, Slurs, etc)
183         * caching breakpoints
185         * use exceptions iso assert?