1 Features you cannot find in the doco as working, should be mentioned her.
3 This is an assorted collection of stuff that will be done, might be
4 done, or is an idea that I want to think about
6 Most of the items are marked in the code as well, with full explanation.
7 grep for TODO and ugh/ugr
12 * faq about mi2mu midi t1.
16 * use Hungarian throughout code
18 * decent TeX page layout
20 * per-pstaff item-widths [JCN]
24 * a Hands on tutorial [HKN]
28 * Output class, handles : (smallish)
29 - help text /(c) notice?
31 - warning /errors/progress
32 - abort on error/warning; exit status
33 - quiet/ignore-version options
36 * elaborate Staff_side baseclass:
41 * Output an output format independent (ofi) typeset file; and
42 make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters. (difficult)
43 - poor man's ascii output possible?
44 - MusixTeX output possible? (would have to be done before break calc.)
46 - PostScript output (esp. Beams, Slurs, etc)
48 * TeX spanners , use texbeam.cc as an example (smallish)
53 * Rewrite Beam and Rhythmic_grouping (hairy)
56 - doc on Rhythmic_grouping
59 - abbreviations [c2 c2]1/2
60 - separate visual from rhythmic info
62 * Redo MIDI output to use Registers: (Difficult)
63 - remember more horizontal info than melodics:
70 - rename mf fonts to avoid conflicts with musixtex
72 - use own fonts/update musixtex fonts/find older (c)-less fonts
73 - hack up mf sources for decent spacing info (and then
74 read AFM/TFM directly, for text too)
77 * Duration -> Musical_duration, typedef Rational Duration?
79 **********************
82 \bar || ook dunne streepjes? Sluit de balk niet af! (soms met de
83 ruimte van een hele maat erachter (bij unmatching staffs)
85 noten staan vaak te dicht aan de rechterkant van de maatstreep.
87 optie om nummers/markers boven maatstrepen te zetten
89 tekst staat erg ver van notenbalken af
91 waarom geen ; achter dingen in \paper? (\textwidth 180\mm)
92 (sowieso: wanneer wel en geen ; ?)
94 Onduidelijk wanneer wel en geen \ voor een woord. Maak liever
97 implementeren versieringen door duration *0 ofzo? (geeft nu assertion,
100 Triolen enzo: het zou handig zijn als je het cijfer "3" ook _tussen_
101 twee noten kon plaatsen. Dat is bijvoorbeeld nodig in
105 \bar "||" \meter 6/8; op het eind van de regel staat door elkaar
111 * mi2mu nonexist.midi
113 * staccato dot positions.
119 * help-lines for rests
121 * lilypond - -> crash
123 * chlapik balk ruimte
125 * standchen triool beam up/down
133 FURTHER FOR ORCHESTRAL SCORE:
137 * barnumbers, markers
139 * abbreviations c4=16
141 * doublebar "||", finishbar "|||" (or "||." ?)
145 * relative mode for pitch entering
149 * configure pitch_byte
155 * rest name configurable
159 * subtime with Subtle_reqs
163 * Help_line, Help_line_reg
165 * --fast/--draft: leave out constraints
167 * write Dynamic_line (to group dynamics horizontally)
169 * write Rest_collision
171 * use Real for y positions.
173 * shared lib on Solaris too.
175 * bugreport to doc++ devel: struct not in class hier; public
178 * cleanup lily-proto.hh and proto.hh
180 * half-sharps, half-flats
182 * adaptive accidental spacing.
184 * score_elem invible_b_ flag
188 * unix style paths for LILYINCLUDE env
190 * indentable stream as baseclass for TeX stream, lily stream, Dstream.
192 * handle EOF graciously in error messages.
194 * caching Item/spanner dimensions.
198 * centered whole rest
200 * caching breakpoints / saving them.
202 * use dstream feature in mi2mu
204 * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
205 * use tors feature in lily
207 * declare notenametab?
209 * do conventional keys (C G A, F B E, a e fis, d as des, etc ),
210 besides lists of flats/sharps
212 * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
216 * read from mmap directly: bugreport to flex developers->
217 yy_scan_buffer in C++..
219 * binsearch/hash for identifiers
221 * stafftypes: voice names/ instrument names.
223 * Decent TeX titledefs (\tempo, \metron, etc. )
227 * textspanner: center position
233 * caching of Register_group_register hierarchies.
235 * use (char *) iso. String for communication between lexer and
238 * configure idealspacing: arithmetic spacing
240 * LilyPond .deb. Other packaging methods?
248 * config of TeX macros
256 * auxilliary file for caching info.
258 * Reg_configure_request
260 * bring Collision::do_pre_processing to haircutter
262 * slur parts as a script
266 * put scripts on bars
270 * Junk Staff_column, and find the requests while walking the Voices.?
272 * better beamslope calculation: QLP for beams?
274 * implement better breaking algorithm
278 * clean solution for staffsize in items.
280 * merge key{item} & localkey{item}?
292 * scoping in Lexer: do general id- assignments in mudela.
296 * create libmudela, or liblily_frontend
298 * move MIDI stuff (including Quantization) to a ANSI C libmidi library.
300 * use an embedded language: Python
306 * y -dims in internote?
308 * merge Atom and Symbol?
310 * merge common code of Item, Atom/Molecule
311 * Spacing_request for manually adjusting spacing
313 * Staff_group, Score_request_register.
315 * Meters/bars should be aligned, which is difficult if
316 we get different keychanges in different staffs.
318 * caching breakpoints
324 * used fixedpoint arithmetic for min. energy.
326 * default convert mudela-file.ly -> mudela-file.tex
327 - rename {standchen,scsii-menuetto,...}.tex
329 * (related with above) --simple-mudela option for lily,
330 to lily input files with one-voice simple mudela
333 * stack scripts in chords:
334 % fingering: footing:
335 < a-4 c-2 g-1 > < c-\ltoe e-\lheel >
337 * parameterised scripts for fingering and footing:
339 % toe to bheel four to five
345 (where "to" is a tiny bow)
347 * move towards incremental algorithms.