-*-outline-layout:(2 (-1 -1 0 :) 0);outline-stylish-prefixes:nil -*-
* GNU LilyPond TODO
-Features you cannot find in the doco as working, should be
+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 I want to think about
+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 for TODO and ugh/ugr/urg.
+Grep -i for TODO, FIXME and ugh/ugr/urg.
.* TODO before 1.2
-. * rename 'staff_line_leading' (who is being lead where?) to
-staff_space, interline; (or other meaningful name) and use throughout lily
-. * rename files to class-name:
-. * heads-engraver
-. * request-iterator
-. * p-score
-. * engraver-group
-. * standardise(d) switches: -v, --version; -d, --debug,
-. * Peter 1. Key signatures are no longer transposed with the rest
- of
- the music.
-
- \notes\transpose bes {\key D; d1 }
- should produce no key signature (key C)
-
- 2. Crescendos and other dynamic markings that start inside a
- \grace { } section are ignored.
-
- \notes \relative c' { fis4 r4 \grace { [g16 ( \< a16] }
- ) b4 \! a8. g16}
-
- 3. Slurs that end within a grace section but start outside
- are treated strangely.
- a2 d,4 ( \grace { [e16 ) d16]} cis8 d
-
-
- 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.
-
-
-. * Auto_beam debugging output (waarom/wanneer heb jij die weggehaald?)
-. * Rename illegal to invalid
-. * Mats:
-
-- The Postscript output is still very experimental
-
-- The reference manual contain a number of exampels that don't
- pass lilypond, among other the chord syntax.
-
-- Accidentals for grace notes are drawn at the wrong place. See
- comment in grace.ly
-
-- It is impossible to typeset two textual scripts that are stacked
- on top of eachother 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.
-
-- If an \alternative is directly followed by a new \repeat,
- Lily gives an assertion failure. See the comment in volta.fly
-
-- 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.
-
-- The paper11/13/26 files have to be updated.
-. * Grace_slur_engraver.
-. * input/star-spangled-banner.ly: fold for lyrics?
. * Break_req handling is silly (break_forbid () + \break fucks up.)
-. * hangOnClef with non-breakable clefs.
-. * do scaled fonts generally
-. * fix partial measures in meaningful way.
-. * Michael
-
-- The two spacing bugs in the choral-1.ly I sent you earlier, small
-GIFs attached for easy reference: #1: time meter and first note on the
-line are too close; #2: last note on the line and next bar are too
-close.
-
-- And I haven't got any feedback on this one, posted last week:
-
-Check out:
-
-\score {
- \notes \relative c' {
- \context Staff <
- \context Voice = one { \stemdown c1 c4 }
- \context Voice = two { \stemup d1 d4 }
- >
- }
-}
-
-Notes are shifted as expected. Now check out:
-
-\score {
- \notes \relative c' {
- \context Staff <
- \context Voice = one { \stemdown c1 <a4 c4> }
- \context Voice = two { \stemup d1 d4 }
- >
- }
-}
-
-i.e. do
-
-- \context Voice = one { \stemdown c1 c4 }
-+ \context Voice = one { \stemdown c1 <a4 c4> }
-
-Now the chord collides with the note of the other voice!
-
-. * relative mode for midi2ly
-. *
-Crescendi/diminuendi that cross a line break lose their vertical
-position and all end up above the top staff line, see the
-following example.
-
-----------------
-\score{
- \context StaffGroup <
- \context Staff=s1 \notes\relative c'{
- c d e f |
- g f e d | \break %% If this break is removed, it works fine
- c d e f |}
- \context Staff=s2 \notes\relative c'{
- c \< d e f |
- g f e d |
- c d e \! f |}
- >
-}
-. * uniformise recent feta contributions.
-. * bigger and fatter 4/4 C
-. * sort out directory stuff.
-. * --prefix option?
-. * -I option per filetype?
-. * kpathsea?
-. * ly2dvi/lilypond logfile.
-. * fractional chord durs.
-. * hang Item on Spanner
-. * do --safe for PS output?
-. * convert-mudela --output
-. * Staff_margin (with a partial measure.)
-. * fix convert-mudela manpage
-. * decimal point in \paper {}
-. * msgfmt -o check?
-. * add new glyphs to font.ly
-. * formatting of input stuff.
-. * deps for ly2dvi
-. * decide wether to junk _ in lyrics.
-. * sane strategy for extensions (assume .ly):
-02:22:24 appel ~/usr/src/lilypond$ lilypond foo
-GNU LilyPond 1.1.54.
-[/home/fred/usr/src/lilypond/scm/lily.scm]
-warning: can't find file: `init'
-. * indent = 0.0 with linewidth=-1.0
-. * collisions & accidentals.
-. * auto-beaming in input/test/spacing.ly.
-huh, snap niks van: gewone beam gaat wel goed. hoe kan abe nu
-invloed hebben op beam-creatie, stopt toch gewoon stokken in?
-. * music ending in grace notes.
-. * PostScript
-. * half notes in pfa
-. * didot / big point.
-. * \shape 1st dim skipped?
-. * turn slope-damping on/off
-. * We need feta-din*.mf files for more sizes than 10.
-. * fix dynamics decently, ie. use kerning & ligatures.
-. * behavior of "that the obvious solution
-\lyrics { foo1*4 __ _ }" is unintuitive.
-. * Lyrics and scripts collide.
-. * grace_align_item -> stackingdir = left, weird placement.
-. * filenames : junk lily.x
+. * chord names. -- what about?
+. * Melismas(*) --> Melismata (at least in doco)
+. * ? -Q, --find-old-relative show all changes in relative syntax
+What's old about absolute to relative conversion? Could maybe use for
+abc2ly, midi2ly?
.* Cleanups needed
. * \$ and $ identifier syntax in examples.
+. * Junk ghost positioning objects eg, Script leans on Staffside
+ leans on Staff.
. * bracket ps code.
+. * mudela-book.
. * Key_engraver, Local_key_item
. * Think of comprehensive solution for "if (grace_b == self_grace_b_)"
-. * Y dimension units: staffspace vs. Point
+. * String[String.length] doesn't trap.
+. * y dimension units: staffspace vs. Point
. * Beam
. * Stem
. * Rhythmic_column and interaction stem/rhythmic_column/note_head/dots.
. * Duration
. * clef engraver
. * parser
+. * Lookup::text -> needs to be TeX independent.
+. * junk Music_iterator::first_b_
+. * Bezier
.* BUGS
. * [c8. c16 c16 c16] in 6/8 timesig.
+. * staffside spanner (crescendo!) along with staffswitch.
+. *
+> \context Staff <
+> {\voiceone''4. r8}
+> \voicetwo c,4 r4}
+> >
.* STUFF
+. * We need feta-din*.mf files for more sizes than 10.
+. * align left edge of broken (de)cresc/slur/tie/tuplet/volta
+. * fix dynamics decently, ie. use kerning & ligatures.
+. * key restorations & repeats
+. * paperXX.ly \quartwidth, font setting not up to date. (Should read from AFM?)
+. * * auto melismaBusy for beams.
+. *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.
+. * 5. Sometimes lyrics extend past the right end of the staff. I guess that
+this is a similar problem (if not another symptom of the same problem) as
+one of the spacing bugs mentioned in the TODO.
+. * 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.
+. * decimal point in \paper {}
+. * tie-direction
+. * repeats and partial measures.
+. * rhythmic staff & accidentals.
+. * use melismaBusy in Lyric context to typeset melismata correctly.
+. * ly2dvi/lilypond logfile.
+. * def stem dir.
+. * hang Item on Spanner
+. * do --safe for PS output?
+. * msgfmt -o check?
+. * collision of lyrics with span_bars. See star-spangled.
+. * Auto_beam debugging output (waarom/wanneer heb jij die weggehaald?)
+. * It is impossible to typeset two textual scripts that are stacked
+ on top of eachother 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.
+
. * break priority setting from SCM.
. * Matanya's tips:
. * don't shorten stems/staffs closer to each other.
possible with lily?
. * scm-ify \property values.
. * make dependencies () a virtual function.
+. * deprecate hangOnClef.
. * Abstraction for engravers:
-. * make "in-between" engraver (Tie, Extender)
+. * make "in-between" engraver (Tie)
. * make wide_spanner_engraver (line_group_spanner, staff_symbol)
. * store req -> element, element -> element causes for warnings
. * compulsory hshift
-. * dots & rest collisions?
-. *
-My wish list for lyrics. I dream of a time when I will have enough time to
+. * 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
. * 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
. * TODO: merge atom & molecule; make tree from molecule.
. * Align_element::padding ?
. * typo checks on property names?
. * seriously buffer TeX output (do profile of writing .5 mb TeX file.)
. * strip EXEs before installing
. * zip target for binary windows dist (JBR)
+. * fix partial measures in meaningful way.
+. * 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?
. * fix vertical alignment and stafflines
. * declaring Performers
. * *.yo: fix pod manpage layout legacy
. * 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 full cello suites to web site (kom op, Maarten!)
+. * rename 'staff_line_leading' (who is being lead where?) to
+staff_space, interline; (or other meaningful name) and use throughout
+lily
+
+[-> leading are the lead strips between the sticks (lines) of
+typeface. ie. leading is vertical space --hwn]
. * add mudela-book-doc source to webstie.
. * Rethink Time_description
\cadenza , \meter, should all be \properties
. * fix singleStaffBracket
. * rename
-. * measure -> bar
-. * abbreviation-beam -> (measured/unmeasured) tremolo
. * partial -> anacrouse
-. * robustify Beam (in case of no stems, 32nd notes)
. * move paper vars into engraver properties
+. * add new glyphs to font.ly
. * check for groff / troff/ nroff et
. * more intelligent file searching
. * disable spaces in TeX stuff
. * handle ^C for tmp/file creation.
. * make LilyPond RPM fully relocatable
-. * dots & rest collisions.
-. * the warning about the negative slur/tie length appears twice
-which is irritating.
. * better hshift (dots, distance, head dependent)
+. * didot / big point.
. * clefs (AG): The "8" should appear closer to the actual clef,
touching it.
. * put errorlevel in Input class
Address 0xefffeca8 is 728 bytes below frame pointer in function
. * GNU diff 2.7: diff -rN does not see a new directory with empty file
. * patch: don't touch timestamp if all patches fail.
-. * mf-to-table -> add space before ; in AFM output. (-> check AFM
- spec. Is this a bug in afm2tfm?)
+. * MetaPost: should not generate setgray for unfill
+. * mfplain.ini not in tetex 0.9
+. * mf-to-table -> add space 'before ; in AFM output. (-> check AFM
+spec. Is this a bug in afm2tfm?)
. * check out GCC signatures?
. * glibc 2.0:
f = fopen ("/dev/null", "r")
assert (feof (f))
-
. * tetex: mfplain.mem
-. * timesig: sometimes bottom digit too high: Xdvi doesn't handle
- newly created fonts correctly.
.* PROJECTS
. * Scripts:
. * add to MIDI output:
. * sharp / flat on trills (in MIDI ??)
-. * tempo change
. * ornaments (and trills?)
. * slurs
. * accents
(require 'allout)
(outline-init 't)
-+ pl 56.jcn3
-+ - slur de-hairification
-+ * slurs always attached to noteheads, by default
-+ * corrections for steep and high slurs
-+ * snap to stem end when close
-+ - bow/tie/slur dy/dx fix
-+
-+
+