]> git.donarmstrong.com Git - lilypond.git/blob - TODO
95fbfc684534d660bed863e3fd60476513e00ec5
[lilypond.git] / TODO
1 before 0.1
2         
3         * remove spurious/outdated comments in .ly, debug .ly
4
5         * pushgroup, popgroup.
6
7         * basic dynamics
8
9         * decent TeX page layout
10
11         * per-pstaff item-widths
12         
13         * remove unnecessary or confusing constructs from .ly
14
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
17
18 PARSER
19         * Duration-> Musical_duration, typedef Rational Duration?
20
21 MAKE-STUFF
22
23         * flower config: separate optiflags.
24
25         * sort out headers, see m2m
26
27         * do platform stuff: configure, header(s), targets, build (out?)
28         
29 BUGS
30
31         * key at clef change.
32
33         * key undo
34
35         * key at broken :||:
36
37         * [c8. c32 c32]
38
39         * cis ( | ) cis
40
41         * parser error handling (can you say Segfault?)
42
43 SEVERELY LACKING:
44
45         * hairpins
46
47         * grace notes
48
49 FURTHER FOR ORCHESTRAL SCORE:
50
51         * multibar rests
52
53         * barnumbers, markers
54
55         * abbreviations c4=16
56
57 INPUTLANGUAGE
58
59         * read ENV for include /init path 
60
61         * configure pitch_byte
62
63         * special key.
64
65         * figured bass?
66
67         * transposition
68
69         * rest name configurable
70
71         * uniformate: \clef\violin, \clef"violin", \geometric 1.4, 
72           \meter{ 2/4 }, etc.
73
74 SMALLISH PROJECTS
75
76         * key transposition
77         
78         * caching breakpoints / saving them. 
79
80         * key { C } 
81         
82         * use dstream feature in mi2mu
83
84         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
85
86         * use tors feature in lily
87
88         * do conventional keys (C G A, F B E, a e fis, d as des, etc ), 
89           besides lists of flats/sharps
90
91         * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
92
93         * fix Staff_elem::width() derivs to use offset_
94
95         * parshape
96
97         * read from mmap directly: bugreport to flex developers->
98         yy_scan_buffer in C++..
99
100         * binsearch/hash for identifiers
101
102         * stafftypes: voice names/ instrument names.
103
104         * Lookup::tex_glissando, Lookup::tex_bracket,  (use texbeam.cc as an
105         example.)
106
107         * Decent TeX titledefs (\tempo, \metron, etc. )
108
109         * command priority into enum
110         
111         * C meter iso 4/4
112
113         * textspanner: center position
114
115         * script-spacing
116
117         * Brackets
118
119         * caching of Register_group_register hierarchies.
120
121
122         * use (char *) iso. String for communication between lexer and
123         parser.
124
125         * configure idealspacing: arithmetic
126
127         * collision Request_register.
128
129         * add (good guess of) width to lyric items
130
131         * midi output: eat-up dynamic, key/meter/tempo changes, and write them neatly
132
133         * LilyPond .deb
134
135 DOC
136
137         * beam generation.
138
139         * all errors
140
141         * a decent webpage
142
143         * a test suite
144
145 FUTURE
146
147         * slur parts as a script
148         
149         * multiple scripst.
150
151         * mixed  fontsizes
152
153         * put scripts on bars
154
155         * glissando
156
157         * guitar chord
158
159         * better beamslope calculation: QLP for beams?
160
161         * implement better breaking algorithm
162
163         * Text_crescendo
164
165         * clean solution for staffsize in items.
166
167         * merge key{item} & localkey{item}?
168
169         * revise calcideal
170
171         * eentje/tweetje
172
173         * piano staff
174
175 IDEAS
176
177         * integrate Register/Midi stuff
178
179         * create libmudela, or liblily_frontend
180
181         * Horizontal_align_item, Vertical_align_item.
182
183         * move MIDI io to a ANSI C libmidi library.
184
185         * itemcolumns: Use dummy items.
186
187         * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
188
189         * y -dims in internote?
190
191         * hack up mf sources for decent spacing info (and then maybe
192         read TFM directly)
193
194         * merge Atom and Symbol?
195
196         * merge common code of Item, Atom/Molecule
197
198         * Spacing_request for manually adjusting spacing
199
200         * Staff_group, Score_request_register.
201
202         * SHIT: meters/bars should be aligned, which is difficult if
203         we get different keychanges in different staffs.
204
205         * Integrating (objectiveC) MusicKit with LilyPond
206         
207         * MusixTeX output possible?
208
209         * PostScript output (esp. Beams, Slurs, etc)
210
211         * caching breakpoints
212
213         * use exceptions iso assert?