X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=TODO;h=ee47eb587a64ee5ed28cba3d0f41b07140a08c77;hb=f798a4c8737f0d279fcf54ba4f0951074565fa76;hp=94b4f38ce557d357b2bd3f23103e1470a8606f73;hpb=4990a43304a74ffe431951798e9d674101f09278;p=lilypond.git diff --git a/TODO b/TODO index 94b4f38ce5..ee47eb587a 100644 --- a/TODO +++ b/TODO @@ -1,580 +1,2 @@ --*-outline-layout:(2 (-1 -1 0 :) 0);outline-stylish-prefixes:nil -*- - -* GNU LilyPond TODO -Features you cannot find in the documentation as working, should be -mentioned here. This is an assorted collection of stuff that will be -done, might be done, or is an idea that we want to think about. -Most of the items are marked in the code as well -Grep -i for TODO, FIXME and ugh/ugr/urg. - -.* TODO -. * use hash tabs iso. alist_ for elt property? -. * unhardcode stuff in bezier-bow: all sizes other than 20pt are - broken -. * use ports iso. iostream. -. * hard constraints for broken slurs to. -. * Staff_margin_engraver placement is broken for Staff.instr(ument) -. * Bracket/brace placement and stacking is broken -. * Lattermann: - - 2. There dynamic markings of the cello part are set in roman (maybe - because of pizz. and arco in roman?) - - 4. Bar 41/42, violins: the ties should be the same direction, pref. - down in bar 42. - -- dir of broken ties - - 7. This is a bug: there's a colon in the middle of the two harmonium - staves - - 12. bars 82 to 84 and 88: the ties of upper harmonium should all bend down. - -- stemdown ~ stemup and at linebreak - - 15. bar 89, harmonium, the ties coming from the previous line look strangely - asymmetric. - - -. * Mondrup: - -- In some cases I don't get the large textsize within note examples I request. -Consider for example the entry 'c clef', where \property Lyrics.textStyle = "large" -used to give that result. It doesn't now. The large text sizes DO work in other cases, -for example in the entry 'chord' (\property Voice.textStyle = "large"). To me it looks -like the property Voice.textStyle is working while Lyrics.textStyle isn't. Consider -for example the entry 'functional harmony' which has the same problem as 'chord' - -- I don't get full size clef changes upon issuing \property Voice.clefStyle = -"fullSizeChanges", see for example the entry 'c clef'. - -- In the entry 'brace' the second note example using \context StaffGroup gets the -staff bracket offset to the left page margin !! while the first note example behaves -normally. - --

in mudela-book -. * mats - -If textStyle is set (in the \paper section), this setting -applies also to dynamics. - -Also, the marginScriptPadding should be set by default to give -a nice layout, but that's already been reported on the list. - -- What happened to the StaffGroup brackets? - Try input/test/orchestscore.ly which worked fine in pl 27. - -- Why do I get bar numbers on every bar (both for the score - and the parts)? - -- Bar numbers and marks are not printed on top of the staffs, - but at one of the middle parts of the score. This may be - related to the problem with the brackets, since the - corresponding StaffGroup is the only one to get a bracket, - even though it is misplaced horisontally. - -- The score extends too high on the page, it often overwrites the - page number. LaTeX warns about overfull boxes. I'll take a look - at the page layout. - -. * control paper-size/-file from commandline ? - lilypond --paper=paper16 foo.ly - lilypond --paper=paper20 foo.ly - lilypond --paper=paper-as9 foo.ly -. * detangle ly/* paper-params papersize stuff -. * fix tremolos. -. * change ) c4 to c4-) -. * automated marks. -. * There should be no pagebreak below the title of the movement!! -. * tempo: - -> - Tempo Indications: -> * \tempo 4 = 60 should be printed -> * There should be commands like \alloegro that also do something -> sensible in midi. -> -. * - It should be possible to have Bar numbers on every bar. - -. * dynamics: -> * Notes should be spaced out for crescendos (had to use c^" ") -> * something like c-.->\ff looks ugly. The dynamc indication should -> appear left of the marks -> -. * -There's insufficient leading between lines of lyrics, so risers like -`l' and 'b' collide with the bottom of the line above. - -Also the lines are unevenly spaced. - -. * write comments in the source code -. * internationalize GUILE msgs. -. * roy rankin: -1> The volta brackets are on top of the lyrics. This problem existed in - 1.2.x which I corrected by giving the brackets a vertical size. I - have not had the time to check what is going on in 1.3. - -2> Part names are being written on top of the staff and not in the - left margin. - -3> The tag at the end is spaced out clear across the page. (new problem - in 1.3.27) - -I also get the following error messages from ly2dvi. -. * unbroken marks. -. * chubb: --- Take a piece of early music, and typeset it as closely as possible to -the original edition. This means: moveable clefs, sometimes funny or no -time signatures, few or no bar lines, few or no ties, slurs or -phrasemarks, ornaments implied by the structure of the music, or -indicated by, e.g., one or more thick lines through the stem of a note -(Purcell and Farnaby both use this extensively, but with rather -different meanings). For Dowland's music it may also mean being able -to rotate one or more staves (but I can do this in LaTeX). - --- Add to this music a set of critical marks that: - * regularises clef, time and key signature. - * add slurs, phrase marks, articulation, etc. - * Halve or quarter the durations, so that minims become crotchets, say. - * add ornaments (mordents, trills, turns etc) - * add regular barlines (which sometimes will mean splitting a note - and adding a tie, e.g., in some of Byrd's music) - * Add footnotes to particular symbols, groups of notes, etc. - * When translating from chant notation, add a square bracket over a - group of notes to indicate a ligature in the original -etc. - * Discretionary sharp or flat signs, for Musica Ficta - --- print out both editions from the same source. -. * write smobifying howto. -. * put property test files in refman. -. * alignment within @itemize -. * interstaff stems -. * junk dstream output. -. * Change website to be index to documentation. -. * \grace { c d } c1 in midi -. * \prop slurdir in grace notes -. * Make fingering and playing instructions Music_wrappers? -. * script columns -. * Must stop before this music ends: -verse=\lyrics { -. * input/test/grace.sly: wierd big spacing on grace notes -. * TODO^2: -. * make a TODO.texi, like http://www.gnu.org/software/guile/ideas.html -. * make this file understandable for 3rd parties. -. * \accepts -> \acceptedby -. * context in embedded SCM errors. -. * acc at tied note after linebreak. -. * fontSize for time sigs and beams. -. * fix font-naming and selecting -. * add context information to warnings -Paper: -waarschuwing: Kan niet beide uiteinden van bindingsboog vinden -MIDI: -pa.ly:33:23: waarschuwing: Schroot verzoek: `Span_req': - g' a4 bes8 \grace f8( - )es16 d es8 r c | -. * chord tonic: placement of accidental C#, Cb (from scm and C++) -. * note head on stem err msg in dutch. -. * why need to run -C mf twice? -. * here's no difference at all in output. When either is jacked up to 7.0, -everything works and matches up; when either is set just a bit above the -default 5.0 (5.4 is what I was hoping to use), stems miss note heads. So -it's some sort of a numerical (truncation/roundoff) problem. -John -. * fix #'margin-shape; setting indent to 0 with \shape fails -. * Fixed size staff/system heights; -. * ly2dvi : don't repeat opus if same. -. * hara kiri _8 clef. -. * junk -M ? -. * mudela-book doco -. * bracket pdf hack -. * Added StaffContents and RhythmicStaffContents context, they are -between Staff (which groups the elements), and generates the Staff -level elements (key, clef, meter, etc). This construction makes -\consistsend redundant - -. * Mondrup: -- if I change the property minVerticalAlign in a multi staff score with -lyrics the change affects the lyrics too. I would like the change to -_only_ affect staves. -- after the leading measure in the above mentioned score I want a double -bar line fully drawn across the staves and after that keep to the -ChoirStaff bar line types in the rest of the scores -. * Write script that uses --find-old-relative to do auto relativization. - - -.* Cleanups needed -. * \$ and $ identifier syntax in examples. -. * Key_engraver, Local_key_item -. * Think of comprehensive solution for "if (grace_b == self_grace_b_)" -. * String[String.length] doesn't trap. -. * Rhythmic_column and interaction stem/rhythmic_column/note_head/dots. -. * clef engraver -. * parser -. * Lookup::text -> needs to be TeX independent. -. * junk Music_iterator::first_b_ - -.* ACCIDENTALS -. * half-sharps, half-flats -. * adaptive accidental spacing. -. * accidentals closer to note head - - -.* BEAMS -. * [c8. c16 c16 c16] in 6/8 timesig. -. * Rewrite Stem, Beam (hairy) -. * beams over barlines -. * autoBeamMelisma: if I explicitly beam notes in a staff with auto -beaming disabled I would like to have these beams also to be -melismatic. -. * The stemLength property should affect also beamed stems. -. * staffside spanner (crescendo!) along with staffswitch. -. * * auto melismaBusy for beams. - -. * \context Staff < -> {\voiceone''4. r8} -> \voicetwo c,4 r4} -> > -. * \time forces keysig? - -.* STUFF -. * We need feta-din*.mf files for more sizes than 10. -. * align left edge of broken tuplet-spanner (have a test case?) -. * fix dynamics decently, ie. use kerning & ligatures. -. * key restorations & repeats -. * paperXX.ly \quartwidth, font setting not up to date. (Should read from AFM?) -. *In Caro Mio Ben, bar 8, there's a syllable that starts on a note, and -ends on a pair of grace notes. Standard practice is to mark this with -a slur starting on the main note and ending on the grace note, so a -singer knows where to break the words. - -In bar 27, there's a crescendo that's supposed to start at the start -of the grace notes and extend to the note after the grace notes. -. * 4. Lyrics and grace sections don't go too well together. - The words are aligned with the main note, not the start of the - grace note. This is usually wrong, but is sometimes right. -. * rhythmic staff & accidentals. -. * use melismaBusy in Lyric context to typeset melismata correctly. -. * ly2dvi/lilypond logfile. -. * hang Item on Spanner -. * do --safe for PS output? -. * msgfmt -o check? -. * collision of lyrics with span_bars. See star-spangled. -. * It is impossible to typeset two textual scripts that are stacked - on top of each other and avoids note collisions and at the same - time are typeset with different textStyle. I tried to move around - the text_engraver and other engravers between Voice and Thread - but the granularity is not fine enough, the scripts have to - share the same engraver in order to be get correct vertical - position but than they cannot have different style. - In my opinion, all scripts that share the same staff, should - be stacked vertically, avoiding collisions with the notes - in all voices. - -. * Matanya's tips: -. * don't shorten stems/staffs closer to each other. -. * to space the staffs/staffgroups contained in the score. -. * heavier beams? -. * Abstraction for engravers: -. * make "in-between" engraver (Tie) -. * make wide_spanner_engraver (line_group_spanner, staff_symbol) -. * store req -> element, element -> element causes for warnings -. * My wish list for lyrics. I dream of a time when I will have enough time to -become familiar enough with the source code to be able to implement some of -these myself, but I don't know when that will be, so I thought I'd "publish" -my suggestions in case someone else is in a position to give them some -priority. Otherwise, perhaps they could go on the todo list? - -If any of these are already implemented, please let me what the syntax is to -use them! - -1. Stanza numbering. Numbering at the beginning of a song with the number -set to the left of the first note. It would also be nice (but not as -important) to be able to have some form of automatic numbering at the -beginning of each new line. This would make it easier to follow songs with a -large number of stanzas. - -3. Notes centred above/below lyrics rather than left-aligned. - -4. It would be very nice to be able to build some kind of phrasing into the -lyrics of hymns, etc, so that the first words of a phrase are left aligned -with each other, the last words are right aligned, and the words in between -are centred. - -5. In a song, with (say) four stanzas and a chorus, it would be nice to be -able to vertically align the chorus midway between the staves. - -6. It would be nice to be able to put vertical brackets either side of a -repeated section with different words for each repeat. -. * Give # lines in linebreaking. -. * arrows on slurs. -. * rewrite context defs using Scheme -. * junk TeX specifics from internal code. -. * \selectmusic to cut pieces from music. -. * formatting of input stuff. -. * deps for ly2dvi -. * Align_element::padding ? -. * use streambufs and iostream -to provide IO handling for TeX stream, mudela stream, data-file. -. * seriously buffer TeX output (do profile of writing .5 mb TeX file.) -. * uniformise recent feta contributions. -. * bigger and fatter 4/4 C -. * relative mode for midi2ly -. * junking \skip req in lyrics -. * midi2ly empty staffs. -. * use Fourier transformation for rhythmic quantisation. -. * horizontal centering of dynamics -. * $DEPENDENCIES_OUTPUT support -. * turn slope-damping on/off -. * sort out directory stuff. -. * --prefix option? -. * -I option per filetype? -. * kpathsea? -. * declaring Performers -. * text-items clash with stems/beams -. * --include, -I option for ly2dvi (pass on to lily) -. * fix placement of beam-less abbrev -. * Musical_pitch (analogous to Duration and Rhythmic_req) - think about, analogous to pitch: - * { a4 a16 } c <-- duration of c? - * < a4 b8 > c <-- duration of c? -. * \tempo 4. = 90; -. * do rest-collisions for Multi_measure_rests as well. -. * split error/warning in error/warning/non_fatal_error -. * discourage breaking of slurs -. * fix variable define/lookup parser global<->paper -. * fix title/instrument placements; see input/test/title.ly -. * <\voiceone c4. \voicetwo c4> -. * I'd like to change the \repetitions command to Jan's suggested - syntax: \repeat "repeatsymbol" 2 {...}, but I'm not sure that - I understand the implementation of repeats well enough. -. * add mudela-book-doc source to webstie. -. * fix singleStaffBracket -. * move paper vars into engraver properties -. * add new glyphs to font.ly -. * more intelligent file searching -. * disable spaces in TeX stuff -. * handle ^C for tmp/file creation. -. * make LilyPond RPM fully relocatable -. * didot / big point. -. * clefs (AG): The "8" should appear closer to the actual clef, -touching it. -. * put errorlevel in Input class -. * junk nesting slurs - - -.* FONT -. * the bracket is ugly (wings are too parabolic, should be more circular) -. * fix accordion turning paths. -. * versioning for Feta -. * rewrite dynamic signs. They're kind of spaghetti now. -. * The `3' in the meter key is a one or two pixels too thin (at 600dpi) - in the middle: -. * design macro for penstroke with rounded endings -. * timesig C: fat yet less curved. Check out relations. -. * design decent macro for bulbed endings -. * printer dependencies. -. * versioning -. * lo-res fixes. -. * work out sizes of character fonts. -. * more symbols -. * piano pedals: Ped/* -. * coda signs: Segno, O+ -. * glissando, arpeggio -. * lengthened trill -. * include important spacing dims in fetalog -. * scalability: use blot_diameter everywhere, make font chubbier for - small sizes. - -.* 3RD PARTY BUGS -. * UMR: Uninitialized memory read - This is occurring while in: - qst [qsort.c] - qsort [libc.so.1] - Keyword_table::Keyword_table(Keyword_ent*) [keyword.cc:28] - My_lily_lexer::My_lily_lexer() [my-lily-lexer.cc:78] - My_lily_parser::parse_file(String,String) [my-lily-parser.cc:54] - do_one_file(String,String) [scores.cc:124] - Reading 4 bytes from 0xefffeca8 on the stack. - Address 0xefffeca8 is 728 bytes below frame pointer in function -. * patch: don't touch timestamp if all patches fail. -. * MetaPost: should not generate setgray for unfill -. * glibc 2.0: - f = fopen ("/dev/null", "r") - assert (feof (f)) -. * Texinfo, add [ A | B | C ] style tocs to .html output, and don't rely - on @node names for html tocs. - -.* PROJECTS -. * Scripts: -. * stack scripts in chords: - % fingering: footing: - < a-4 c-2 g-1 > < c-\ltoe e-\lheel > -. * script-spacing -. * slur parts as a script -. * stack parameterised scripts for fingering and footing: - -. * convert-mudela: -. * better parsing -. * make smarter -. * convert-mudela -e empty.ly - -. * emacs mudela-mode -. * should handle block comments too. -. * handle lexer modes (\header, \melodic, \lyric) etc. -. * indentation -. * notenames? -. * fontlock: \melodic \melodic - -. * use properties for: -. * default tempo. - -. * page handling: -. * PS output -. * optimal pagebreaking. - -. * internationalisation for input. -. * Unicode support? -> man 7 unicode -. * (The explanation below is mostly intended for Han-Wen and Jan) -> Before, the font was changed with macros declared separately for -> pure TeX and LaTeX, but now all the fonts are declared directly in -> the generated code using the low-level TeX commands. This circumvents -> the fontencoding mechanism of LaTeX and is a potential source of -> problems also for us users of the Latin-1 character set. -> I think it still works since the inputencoding latin1 is -> declared by ly2dvi, but it still means that e.g. an o with -> umlaut is typeset as a combination of the two symbols 'o' and -> 'umlaut' instead of as a single character, as would be the case -> if fontencoding OT1 had been used. This shouldn't give any -> difference in layout, though. One of the main argument for using -> fontencoding OT1 is for the hyphenation mechanism to work, an -> argument that's clearly irrelevant in our application. Yet we -> see the problem for August. - -. * \header -. * output header info to MIDI too. -. * dump \header into easily parsable format. - -. * chords -. * guitar chords (fret diagrams) -. * other chord name styles (american(?) style) -. * basso continuo -. * MIDI output? - -. * Debug logs: -. * derive lily_stream, Dstream, texstream from ostream? -. * indentable stream as baseclass for TeX stream, lily stream, Dstream. -. * use dstream feature in midi2ly -. * integrate IO checking into stream class - -. * input converters -. * NIFF? -. * musedata - -. * add to MIDI output: -. * sharp / flat on trills (in MIDI ??) -. * ornaments (and trills?) -. * slurs -. * accents -. * dynamics -. * account for rhythmic position in measure -. * etc. - - -. * logfile output? - -. * PS -. * speed up PS code. -. * PS lines to .eps files -. * write custom prolog -. * fix ps font switching - -. * more spanners (smallish) -. * Glissando -. * trill - -. * Keys: -. * merge key{item} & localkey{item}? -. * spacing - -. * Support for TAB -. * redo Notehead to allow digits as heads -. * add a \tablature {} lexer mode for easy entering - -. * should adjust stemlength for flag number. - -. * breaking: -. * specify number of lines - -.* INPUTLANGUAGE -. * convention for slurs vs. phrasing marks. -. * Language: -. * \translator -> ? -. * fix \partial -. * \bla {} vs \bla ; -. * \once\property KEY = VAL -. * input property -. * Figure out semicolons. -. * 4 ? -. * configure pitch_byte -. * rest name configurable - - -.* SMALLISH PROJECTS - -. * lyric in staff (sharpsharp in staff, text below) - -. * write Dynamic_line (to group dynamics horizontally) - -. * handle EOF graciously in error messages. - -. * midi esp.: use I32 iso int where 32 bits are needed (or assumed...) - -. * lily \tempo - -. * % toe to bheel four to five - % ^_u 4_5 - % - - % --|x-- --|x-- - % --|--- --|--- - % --|--- --|--- - (where "to" is a tiny bow) - -. * Text_crescendo - -.* IDEAS -. * Output data structures of Mudela in XML/SGML. -. * create libmudela, or liblily_frontend -. * move MIDI stuff (including Quantization) to a ANSI C libmidi library. - -* OUTLINE SETUP -.* .EMACS -;;; from outline.el -(defvar outline-font-lock-keywords - '(;; Highlight headings according to the level. - ;; must change this to allout node layout - ;;("^\\(\\*+\\)[ \t]*\\(.+\\)?[ \t]*$" - ("^\\([.]*[ ]*[*]\\)[ \t]*\\(.*\\)$" - (1 font-lock-string-face) - (2 (let ((len (- (match-end 1) (match-beginning 1)))) - (or (cdr (assq len '((1 . font-lock-function-name-face) - (2 . font-lock-keyword-face) - (3 . font-lock-comment-face)))) - font-lock-variable-name-face)) - nil t)) - ;; Highlight citations of the form [1] and [Mar94]. - ("\\[\\([A-Z][A-Za-z]+\\)*[0-9]+\\]" . font-lock-type-face)) - "Additional expressions to highlight in Outline mode.") - -(add-hook 'outline-mode-hook - '(lambda () - (setq font-lock-maximum-decoration t) - (setq font-lock-maximum-decoration t) - (make-local-variable 'font-lock-defaults) - (setq font-lock-defaults '(outline-font-lock-keywords t)) - (font-lock-mode global-font-lock-mode) - )) - -(require 'allout) -(outline-init 't) - - +[see http://www.cs.uu.nl/people/hanwen/lily-devel/index.html]