lilypond-0.0.50
[lilypond.git] / TODO
blob2d56c054f3cbe8ce097a7026b46c2c1925793cfd
1 before 0.1
3         * update 20 pt table
5         * decent TeX page layout
7         * per-pstaff item-widths
8         
9         * remove unnecessary or confusing constructs from .ly
11         * key undo
13 This is an assorted collection of stuff that will be done, might be
14 done, or is an idea that I want to think about
16 PARSER
17         * Duration-> Musical_duration, typedef Rational Duration?
19 MAKE-STUFF
21         * do platform stuff: configure, header(s), targets, build (out?)
22         
23 BUGS
25         * help-lines
27         * [c8. c32 c32]
29         * cis ( | ) cis
31         * lilypond - -> 
33 SEVERELY LACKING:
35         * grace notes
37 FURTHER FOR ORCHESTRAL SCORE:
39         * multibar rests
41         * barnumbers, markers
43         * abbreviations c4=16
45 INPUTLANGUAGE
47         * configure pitch_byte
49         * special key.
51         * figured bass?
53         * transposition
55         * rest name configurable
57         * Raw request syntax
59         * subtime with Subtle_reqs
61 SMALLISH PROJECTS
63         * bugreport to doc++ devel: struct not in class hier; public
64         virtual baseclasses
66         * half-sharps, half-flats
67         
68         * unix style paths for LILYINCLUDE EN
70         * rpm package buildroot
72         * indentable stream for TeX stream, lily stream, Dstream.
74         * key transposition
75         
76         * caching breakpoints / saving them. 
78         * use dstream feature in mi2mu
80         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
82         - declare notenametab?
84         * use tors feature in lily
86         * do conventional keys (C G A, F B E, a e fis, d as des, etc ), 
87           besides lists of flats/sharps
89         * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
91         * fix Staff_elem::width() derivs to use offset_
93         * parshape
95         * read from mmap directly: bugreport to flex developers->
96         yy_scan_buffer in C++..
98         * binsearch/hash for identifiers
100         * stafftypes: voice names/ instrument names.
102         * Lookup::tex_glissando, Lookup::tex_bracket,  (use texbeam.cc as an
103         example.)
105         * Decent TeX titledefs (\tempo, \metron, etc. )
107         * command priority into enum
108         
109         * C meter iso 4/4
111         * textspanner: center position
113         * script-spacing
115         * Brackets
117         * caching of Register_group_register hierarchies.
119         * use (char *) iso. String for communication between lexer and
120         parser.
122         * configure idealspacing: arithmetic
124         * collision Request_register.
126         * add (good guess of) width to lyric items
128         * midi output: eat-up dynamic, key/meter/tempo changes, and write them neatly
130         * LilyPond .deb
134         * beam generation.
136         * all errors
138         * a test suite
140 FUTURE
142         * slur parts as a script
143         
144         * multiple scripst.
146         * mixed fontsizes
148         * put scripts on bars
150         * glissando
152         * guitar chord
154         * Junk Staff_column, and find the requests while walking the Voices.?
156         * better beamslope calculation: QLP for beams?
158         * implement better breaking algorithm
160         * Text_crescendo
162         * clean solution for staffsize in items.
164         * merge key{item} & localkey{item}?
166         * revise calcideal
168         * volta
170         * piano staff
172 IDEAS
174         * integrate Register/Midi stuff
176         * create libmudela, or liblily_frontend
178         * Horizontal_align_item, Vertical_align_item.
180         * move MIDI io to a ANSI C libmidi library.
182         * itemcolumns: Use dummy items.
184         * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
186         * y -dims in internote?
188         * hack up mf sources for decent spacing info (and then maybe
189         read TFM directly)
191         * merge Atom and Symbol?
193         * merge common code of Item, Atom/Molecule
195         * Spacing_request for manually adjusting spacing
197         * Staff_group, Score_request_register.
199         * SHIT: meters/bars should be aligned, which is difficult if
200         we get different keychanges in different staffs.
202         * Integrating (objectiveC) MusicKit with LilyPond
203         
204         * MusixTeX output possible?
206         * PostScript output (esp. Beams, Slurs, etc)
208         * caching breakpoints
210         * use exceptions iso assert?