2 This is an assorted collection of stuff that will be done, might be
3 done, or is an idea that I want to think about
5 Most of the items are marked in the code as well, with full explanation.
6 grep for TODO and ugh/ugr
13 * use Hungarian throughout code
15 * rename mf fonts to avoid conflicts with musixtex
17 * decent TeX page layout
19 * per-pstaff item-widths [JCN]
23 * use own fonts/update musixtex fonts
25 * a Hands on tutorial [HKN]
30 * Output class, handles
31 - help text /(c) notice?
32 - warning /errors/progress
33 - abort on error/warning; exit status
34 - quiet/ignore-version options
38 * elaborate Staff_side baseclass:
43 * Output an output format independent (ofi) typeset file; and
44 make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters.
45 - poor man's ascii output possible?
46 - MusixTeX output possible?
47 - PostScript output (esp. Beams, Slurs, etc)
50 * Duration-> Musical_duration, typedef Rational Duration?
54 \bar || ook dunne streepjes? Sluit de balk niet af! (soms met de
55 ruimte van een hele maat erachter (bij unmatching staffs)
57 Hele rusten ook in andere maatsoort dan 4/4 (en centreren in de maat)
59 ------------------------\
60 barcheck failed in lyric mode -> assert (zie barcheck.ly) (0.0.57)
61 ------------------------/
63 optie om te stoppen na eerste barcheck fail? (en wellicht in eerder
64 stadium van preprocessing)
66 noten staan vaak te dicht aan de rechterkant van de maatstreep.
68 optie om nummers/markers boven maatstrepen te zetten
70 tekst staat erg ver van notenbalken af
72 barcheck her-synchroniseren? (evt met optie)
74 script ^"3" onder ondanks boven?
76 symbolen voor triller? (dus "tr---")
78 waarom geen ; achter dingen in \paper? (\textwidth 180\mm)
79 (sowieso: wanneer wel en geen ; ?)
81 Onduidelijk wanneer wel en geen \ voor een woord. Maak liever
84 implementeren versieringen door duration *0 ofzo? (geeft nu assertion,
87 midi: instrumenten definieren?
88 midi: tempo halverwege het stuk wijzigen?
89 midi: gebonden noten niet herhalen?
92 De beam van de triool klopt niet.
93 <[d8. b8.> \duration 32; <e'32*2/3 cis'32*2/3> <d'32*2/3 b32*2/3>
94 <cis'32*2/3 a32*2/3> \duration 16; <b gis> <d' fis> <cis' e>
96 (zie ook ergens in lacidarem-pianoI.ly)
98 scales.ly compileert niet meer (vanwege transpose?)
100 Lengte van de stokken klopt vaak niet, zie bijv. de eerste maat van
103 Triolen enzo: het zou handig zijn als je het cijfer "3" ook _tussen_
104 twee noten kon plaatsen. Dat is bijvoorbeeld nodig in
108 \bar "||" \meter 6/8; op het eind van de regel staat door elkaar
116 * redo timing stuff <-> pulk to allow \meter 2/4; e2. to work
123 * help-lines for rests
131 * lilypond - -> crash
133 * chlapik balk ruimte
135 * standchen triool beam up/down
144 FURTHER FOR ORCHESTRAL SCORE:
148 * barnumbers, markers
150 * abbreviations c4=16
152 * doublebar "||", finishbar "|||" (or "||." ?)
156 * relative mode for pitch entering
158 * configure pitch_byte
164 * rest name configurable
168 * subtime with Subtle_reqs
172 * write Rest_collision
174 * use Real for y positions.
176 * shared lib on Solaris too.
178 * bugreport to doc++ devel: struct not in class hier; public
181 * cleanup lily-proto.hh and proto.hh
183 * half-sharps, half-flats
187 * unix style paths for LILYINCLUDE EN
189 * indentable stream as baseclass for TeX stream, lily stream, Dstream.
191 * caching Item/spanner dimensions.
195 * caching breakpoints / saving them.
197 * use dstream feature in mi2mu
199 * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc.
201 - declare notenametab?
203 * use tors feature in lily
205 * do conventional keys (C G A, F B E, a e fis, d as des, etc ),
206 besides lists of flats/sharps
208 * update for T70 fonts or newer
210 * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
214 * read from mmap directly: bugreport to flex developers->
215 yy_scan_buffer in C++..
217 * binsearch/hash for identifiers
219 * stafftypes: voice names/ instrument names.
221 * Lookup::tex_glissando, Lookup::tex_bracket, (use texbeam.cc as an
224 * Decent TeX titledefs (\tempo, \metron, etc. )
228 * textspanner: center position
234 * caching of Register_group_register hierarchies.
236 * use (char *) iso. String for communication between lexer and
239 * configure idealspacing: arithmetic spacing
241 * midi output: eat-up dynamic, key/meter/tempo changes, and
256 * Reg_configure_request
258 * bring Collision::do_pre_processing to haircutter
260 * slur parts as a script
264 * put scripts on bars
270 * Junk Staff_column, and find the requests while walking the Voices.?
272 * MIDI repeat: make lily understand repeats
274 * better beamslope calculation: QLP for beams?
276 * implement better breaking algorithm
280 * clean solution for staffsize in items.
282 * merge key{item} & localkey{item}?
294 * scoping in Lexer: do general id- assignments in mudela.
298 * integrate Register/Midi stuff
300 * create libmudela, or liblily_frontend
302 * move MIDI stuff (including Quantization) to a ANSI C libmidi library.
304 * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ?
309 * y -dims in internote?
311 * hack up mf sources for decent spacing info (and then
312 read TFM directly, for text too)
314 * merge Atom and Symbol?
316 * merge common code of Item, Atom/Molecule
317 * Spacing_request for manually adjusting spacing
319 * Staff_group, Score_request_register.
321 * SHIT: meters/bars should be aligned, which is difficult if
322 we get different keychanges in different staffs.
324 * caching breakpoints
330 * used fixedpoint arithmetic for min. energy.
332 * default convert mudela-file.ly -> mudela-file.tex
333 - rename {standchen,scsii-menuetto,...}.tex
335 * (related with above) --simple-mudela option for lily,
336 to lily input files with one-voice simple mudela
339 * stack scripts in chords:
340 % fingering: footing:
341 < a-4 c-2 g-1 > < c-\ltoe e-\lheel >
343 * parameterised scripts for fingering and footing:
345 % toe to bheel four to five
351 (where "to" is a tiny bow)