lilypond-0.0.46.jcn1
[lilypond.git] / TODO
blob95fbfc684534d660bed863e3fd60476513e00ec5
1 before 0.1
2         
3         * remove spurious/outdated comments in .ly, debug .ly
5         * pushgroup, popgroup.
7         * basic dynamics
9         * decent TeX page layout
11         * per-pstaff item-widths
12         
13         * remove unnecessary or confusing constructs from .ly
15 This is an assorted collection of stuff that will be done, might be
16 done, or is an idea that I want to think about
18 PARSER
19         * Duration-> Musical_duration, typedef Rational Duration?
21 MAKE-STUFF
23         * flower config: separate optiflags.
25         * sort out headers, see m2m
27         * do platform stuff: configure, header(s), targets, build (out?)
28         
29 BUGS
31         * key at clef change.
33         * key undo
35         * key at broken :||:
37         * [c8. c32 c32]
39         * cis ( | ) cis
41         * parser error handling (can you say Segfault?)
43 SEVERELY LACKING:
45         * hairpins
47         * grace notes
49 FURTHER FOR ORCHESTRAL SCORE:
51         * multibar rests
53         * barnumbers, markers
55         * abbreviations c4=16
57 INPUTLANGUAGE
59         * read ENV for include /init path 
61         * configure pitch_byte
63         * special key.
65         * figured bass?
67         * transposition
69         * rest name configurable
71         * uniformate: \clef\violin, \clef"violin", \geometric 1.4, 
72           \meter{ 2/4 }, etc.
74 SMALLISH PROJECTS
76         * key transposition
77         
78         * caching breakpoints / saving them. 
80         * key { C } 
81         
82         * use dstream feature in mi2mu
84         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
86         * use tors feature in lily
88         * do conventional keys (C G A, F B E, a e fis, d as des, etc ), 
89           besides lists of flats/sharps
91         * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
93         * fix Staff_elem::width() derivs to use offset_
95         * parshape
97         * read from mmap directly: bugreport to flex developers->
98         yy_scan_buffer in C++..
100         * binsearch/hash for identifiers
102         * stafftypes: voice names/ instrument names.
104         * Lookup::tex_glissando, Lookup::tex_bracket,  (use texbeam.cc as an
105         example.)
107         * Decent TeX titledefs (\tempo, \metron, etc. )
109         * command priority into enum
110         
111         * C meter iso 4/4
113         * textspanner: center position
115         * script-spacing
117         * Brackets
119         * caching of Register_group_register hierarchies.
122         * use (char *) iso. String for communication between lexer and
123         parser.
125         * configure idealspacing: arithmetic
127         * collision Request_register.
129         * add (good guess of) width to lyric items
131         * midi output: eat-up dynamic, key/meter/tempo changes, and write them neatly
133         * LilyPond .deb
137         * beam generation.
139         * all errors
141         * a decent webpage
143         * a test suite
145 FUTURE
147         * slur parts as a script
148         
149         * multiple scripst.
151         * mixed  fontsizes
153         * put scripts on bars
155         * glissando
157         * guitar chord
159         * better beamslope calculation: QLP for beams?
161         * implement better breaking algorithm
163         * Text_crescendo
165         * clean solution for staffsize in items.
167         * merge key{item} & localkey{item}?
169         * revise calcideal
171         * eentje/tweetje
173         * piano staff
175 IDEAS
177         * integrate Register/Midi stuff
179         * create libmudela, or liblily_frontend
181         * Horizontal_align_item, Vertical_align_item.
183         * move MIDI io to a ANSI C libmidi library.
185         * itemcolumns: Use dummy items.
187         * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
189         * y -dims in internote?
191         * hack up mf sources for decent spacing info (and then maybe
192         read TFM directly)
194         * merge Atom and Symbol?
196         * merge common code of Item, Atom/Molecule
198         * Spacing_request for manually adjusting spacing
200         * Staff_group, Score_request_register.
202         * SHIT: meters/bars should be aligned, which is difficult if
203         we get different keychanges in different staffs.
205         * Integrating (objectiveC) MusicKit with LilyPond
206         
207         * MusixTeX output possible?
209         * PostScript output (esp. Beams, Slurs, etc)
211         * caching breakpoints
213         * use exceptions iso assert?