This is an assorted collection of stuff that will be done, might be done, or is an idea that I want to think about Most of the items are marked in the code as well, with full explanation. grep for TODO and ugh/ugr IMPORTANT * update 20 pt table * use Hungarian throughout code * rename mf fonts to avoid conflicts with musixtex * decent TeX page layout * per-pstaff item-widths [JCN] * script priority * use own fonts/update musixtex fonts * check return status in make_website * a Hands on tutorial [HKN] PROJECT: * Output class, handles - help text /(c) notice? - warning /errors/progress - abort on error/warning; exit status - quiet/ignore-version options - logfile output PARSER * Duration-> Musical_duration, typedef Rational Duration? HKN buglist: \bar || ook dunne streepjes? Sluit de balk niet af! (soms met de ruimte van een hele maat erachter (bij unmatching staffs) Hele rusten ook in andere maatsoort dan 4/4 (en centreren in de maat) ------------------------\ barcheck failed in lyric mode -> assert (zie barcheck.ly) (0.0.57) ------------------------/ optie om te stoppen na eerste barcheck fail? (en wellicht in eerder stadium van preprocessing) noten staan vaak te dicht aan de rechterkant van de maatstreep. optie om nummers/markers boven maatstrepen te zetten tekst staat erg ver van notenbalken af barcheck her-synchroniseren? (evt met optie) script ^"3" onder ondanks boven? symbolen voor triller? (dus "tr---") waarom geen ; achter dingen in \paper? (\textwidth 180\mm) (sowieso: wanneer wel en geen ; ?) Onduidelijk wanneer wel en geen \ voor een woord. Maak liever verplichte regels implementeren versieringen door duration *0 ofzo? (geeft nu assertion, zie duration0.ly) midi: instrumenten definieren? midi: tempo halverwege het stuk wijzigen? midi: gebonden noten niet herhalen? --------/\ De beam van de triool klopt niet. <[d8. b8.> \duration 32; \duration 16; | (zie ook ergens in lacidarem-pianoI.ly) --------/ scales.ly compileert niet meer (vanwege transpose?) Lengte van de stokken klopt vaak niet, zie bijv. de eerste maat van langestok.ly. Triolen enzo: het zou handig zijn als je het cijfer "3" ook _tussen_ twee noten kon plaatsen. Dat is bijvoorbeeld nodig in c4*2/3 c8*2/3 ---------------\ \bar "||" \meter 6/8; op het eind van de regel staat door elkaar gedrukt. BUGS * detect -pipe * redo timing stuff <-> pulk to allow \meter 2/4; e2. to work out correctly * key transposition. * hairpin width * help-lines for rests * [c8. c32 c32] * \duration 8; e*2/3 * cis ( | ) cis * lilypond - -> crash * chlapik balk ruimte * standchen triool beam up/down SEVERELY LACKING: * SPEED! * grace notes FURTHER FOR ORCHESTRAL SCORE: * multibar rests * barnumbers, markers * abbreviations c4=16 * doublebar "||", finishbar "|||" (or "||." ?) INPUTLANGUAGE * relative mode for pitch entering * configure pitch_byte * special key. * figured bass? * rest name configurable * Raw request syntax * subtime with Subtle_reqs SMALLISH PROJECTS * write Rest_collision * use Real for y positions. * shared lib on Solaris too. * bugreport to doc++ devel: struct not in class hier; public virtual baseclasses * cleanup lily-proto.hh and proto.hh * half-sharps, half-flats * key undo * unix style paths for LILYINCLUDE EN * indentable stream as baseclass for TeX stream, lily stream, Dstream. * caching Item/spanner dimensions. * key transposition * caching breakpoints / saving them. * use dstream feature in mi2mu * qtor, btor, mtor-> tor( QUIET_ver ), tor( DEBUG_ver ), etc. - declare notenametab? * use tors feature in lily * do conventional keys (C G A, F B E, a e fis, d as des, etc ), besides lists of flats/sharps * update for T70 fonts or newer * midi esp.: use I32 iso int where 32 bits are needed (or assumed...) * parshape * read from mmap directly: bugreport to flex developers-> yy_scan_buffer in C++.. * binsearch/hash for identifiers * stafftypes: voice names/ instrument names. * Lookup::tex_glissando, Lookup::tex_bracket, (use texbeam.cc as an example.) * Decent TeX titledefs (\tempo, \metron, etc. ) * C meter iso 4/4 * textspanner: center position * script-spacing * Brackets * caching of Register_group_register hierarchies. * use (char *) iso. String for communication between lexer and parser. * configure idealspacing: arithmetic spacing * midi output: eat-up dynamic, key/meter/tempo changes, and write them neatly * LilyPond .deb DOC * beam generation. * all errors * a test suite FUTURE * Reg_configure_request * bring Collision::do_pre_processing to haircutter * slurs per voicegroup. * slur parts as a script * mixed fontsizes * put scripts on bars * glissando * guitar chord * Junk Staff_column, and find the requests while walking the Voices.? * MIDI repeat: make lily understand repeats * better beamslope calculation: QLP for beams? * implement better breaking algorithm * Text_crescendo * clean solution for staffsize in items. * merge key{item} & localkey{item}? * revise calcideal * volta * piano staff * vertical spanner IDEAS * output an intermediate format, move backend/output routines into interpreter * scoping in Lexer: do general id- assignments in mudela. ID '=' EXPR; * integrate Register/Midi stuff * create libmudela, or liblily_frontend * move MIDI stuff (including Quantization) to a ANSI C libmidi library. * use an embedded language: scheme, lisp, S-lang, Perl, GUILE, ? for : - Items/Spanners - Registers * y -dims in internote? * hack up mf sources for decent spacing info (and then read TFM directly, for text too) * merge Atom and Symbol? * merge common code of Item, Atom/Molecule * Spacing_request for manually adjusting spacing * Staff_group, Score_request_register. * SHIT: meters/bars should be aligned, which is difficult if we get different keychanges in different staffs. * MusixTeX output possible? * PostScript output (esp. Beams, Slurs, etc) * poor man's ascii output possible? * Output an output format independent (ofi) typeset file; and make ofi2 TeX, MusixTex, PostScript, Ascii... interpreters. * caching breakpoints * #c <-> cis * breath marks * used fixedpoint arithmetic for min. energy. * default convert mudela-file.ly -> mudela-file.tex - move test.tex: '\include lilyponddefs' -> mudela-file.ly: '\texinclude "lilyponddefs";' (junking test.tex and latex.test) - rename {standchen,scsii-menuetto,...}.tex * (related with above) --simple-mudela option for lily, to lily input files with one-voice simple mudela (no red tape) * stack scripts in chords: % fingering: footing: < a-4 c-2 g-1 > < c-\ltoe e-\lheel > * parameterised scripts for fingering and footing: % toe to bheel four to five % ^_u 4_5 % - % --|x-- --|x-- % --|--- --|--- % --|--- --|--- (where "to" is a tiny bow)