]> git.donarmstrong.com Git - lilypond.git/blob - TODO
release: 0.0.57
[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 BUGS
32
33         * detect -pipe
34         
35         * redo timing stuff <-> pulk to allow \meter 2/4; e2. to work
36         out correctly
37
38         * key transposition.
39
40         * hairpin width
41
42         * help-lines for rests
43
44         * [c8. c32 c32]
45
46         * cis ( | ) cis
47
48         * lilypond - -> crash
49
50         * chlapik balk ruimte 
51
52         * standchen triool beam up/down
53
54
55 SEVERELY LACKING:
56
57         * SPEED!
58
59         * grace notes
60
61 FURTHER FOR ORCHESTRAL SCORE:
62
63         * multibar rests
64
65         * barnumbers, markers
66
67         * abbreviations c4=16
68
69         * doublebar "||", finishbar "|||" (or "||." ?)
70
71 INPUTLANGUAGE
72
73         * relative mode for pitch entering
74
75         * configure pitch_byte
76
77         * special key.
78
79         * figured bass?
80
81         * rest name configurable
82
83         * Raw request syntax
84
85         * subtime with Subtle_reqs
86
87 SMALLISH PROJECTS
88
89         * write Rest_collision
90
91         * use Real for y positions.
92
93         * shared lib on Solaris too.
94
95         * bugreport to doc++ devel: struct not in class hier; public
96         virtual baseclasses
97
98         * cleanup lily-proto.hh and proto.hh
99
100         * half-sharps, half-flats
101         
102         * key undo
103
104         * unix style paths for LILYINCLUDE EN
105
106         * indentable stream as baseclass for TeX stream, lily stream, Dstream.
107
108         * caching Item/spanner dimensions.
109
110         * key transposition
111         
112         * caching breakpoints / saving them. 
113
114         * hack ElectricFence to use with LD_PRELOAD
115
116         * use dstream feature in mi2mu
117
118         * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
119
120         - declare notenametab?
121
122         * use tors feature in lily
123
124         * do conventional keys (C G A, F B E, a e fis, d as des, etc ), 
125           besides lists of flats/sharps
126
127         * update for T70 fonts or newer
128
129         * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
130
131         * parshape
132
133         * read from mmap directly: bugreport to flex developers->
134         yy_scan_buffer in C++..
135
136         * binsearch/hash for identifiers
137
138         * stafftypes: voice names/ instrument names.
139
140         * Lookup::tex_glissando, Lookup::tex_bracket,  (use texbeam.cc as an
141         example.)
142
143         * Decent TeX titledefs (\tempo, \metron, etc. )
144
145         * C meter iso 4/4
146
147         * textspanner: center position
148
149         * script-spacing
150
151         * Brackets
152
153         * caching of Register_group_register hierarchies.
154
155         * use (char *) iso. String for communication between lexer and
156         parser.
157
158         * configure idealspacing: arithmetic spacing
159
160         * midi output: eat-up dynamic, key/meter/tempo changes, and
161 write them neatly
162
163         * LilyPond .deb
164
165 DOC
166
167         * beam generation.
168
169         * all errors
170
171         * a test suite
172
173 FUTURE
174
175         * tie a ~ b, move slur reg into voice-group.
176
177         * Reg_configure_request
178
179         * bring Collision::do_pre_processing to haircutter
180
181         * slurs per voicegroup.
182
183         * slur parts as a script
184         
185         * mixed fontsizes
186
187         * put scripts on bars
188
189         * glissando
190
191         * guitar chord
192
193         * Junk Staff_column, and find the requests while walking the Voices.?
194
195         * MIDI repeat: make lily understand repeats
196
197         * better beamslope calculation: QLP for beams?
198
199         * implement better breaking algorithm
200
201         * Text_crescendo
202
203         * clean solution for staffsize in items.
204
205         * merge key{item} & localkey{item}?
206
207         * revise calcideal
208
209         * volta
210
211         * piano staff
212
213         * vertical spanner
214
215 IDEAS
216
217         * scoping in Lexer: do general id- assignments in mudela.
218
219         ID '=' EXPR;
220
221         * integrate Register/Midi stuff
222
223         * create libmudela, or liblily_frontend
224
225         * move MIDI stuff (including Quantization) to a ANSI C libmidi library.
226
227         * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
228         for : 
229                 - Items/Spanners
230                 - Registers
231
232         * y -dims in internote?
233
234         * hack up mf sources for decent spacing info (and then 
235         read TFM directly, for text too)
236
237         * merge Atom and Symbol?
238
239         * merge common code of Item, Atom/Molecule
240
241         * Spacing_request for manually adjusting spacing
242
243         * Staff_group, Score_request_register.
244
245         * SHIT: meters/bars should be aligned, which is difficult if
246         we get different keychanges in different staffs.
247
248         * Integrating (objectiveC) MusicKit with LilyPond?
249                 
250         * MusixTeX output possible?
251
252         * PostScript output (esp. Beams, Slurs, etc)
253
254         * caching breakpoints
255
256         * use exceptions iso assert?
257
258         * #c <-> cis
259
260         * breath marks 
261
262         * used fixedpoint arithmetic for min. energy.
263
264         * default convert mudela-file.ly -> mudela-file.tex
265           - move test.tex: '\include lilyponddefs' -> 
266             mudela-file.ly: '\texinclude "lilyponddefs";'
267             (junking test.tex and latex.test)
268           - rename {standchen,scsii-menuetto,...}.tex
269