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