-Features you cannot find in the doco 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
-
-Most of the items are marked in the code as well, with full explanation.
-grep for TODO and ugh/ugr/urg
-
-
- * decimal point in \paper {}
-
- > I have changed Mark_engraver to use the G_... classes.
- > My implementation has the following shortcomings at the
- > moment.
- >
- > - markScriptPadding is not supported, since G_staff_side_item does not
- > support padding.
- >
- > - markBreakPriority is not supported.
- >
- > - Mostly, you want the marks aligned with the bar lines. I don't
- > really understand how to implement that feature.
- >
- > - You get lots of warnings about missing 'number' and 'Large'
-
-
- *{ \voiceone <a'4.*2/3 d''4.*2/3 fis''4.*2/3> [g''8 fis'' e''] d''4 |}
- and=20
- { \voicetwo d'4 d'2.*2/3 } spacing
-
- * tied notes for MIDI
-
- * sharp /flat on trills (in MIDI ??)
-
- * scm-ify \property values.
-- The direction of textual scripts ('^' or '_') is ignored.
- * move class Lookup {} into scm
-
- * read tfms too.
-
- * update mi2mu for lilypond 1.1
-
-BUGS:
- * collisions/voices \voiceone \voicetwo are broken; see
- input/praeludium-fuga-E.ly
- mutopia/J.S.Bach/wtk1-fugue2.ly
-
- * fix: standchen.
-
- * fix: cello suites
-
- * fix: text on rests: rediculous dims
-
- * fix extender
-
- * fix fingering 'a-5': font direction broken *again*
-
- * fix braces
-
- * multibar rests: SkipBars=0
-
- * ly2dvi barfs on linewidth = -1.
-
- * fix midi output.
-
- * turn slope-damping on/off
-
- * c4 \! \> c4
-
- * tremolo stuff
-
- * gallina barlines.
-
- * fix height of / collisions with lyrics (chords),
- see input/test/vertical-text.ly; input/test/repeat.ly
-
- * repeat/volta:
- - one volta spanner per score
- - repeat bars span staffs
- - placement alternative number
-
- * latex bla.tex broken (titles / \lilyfooter stuff?)
-
- * check/set minimum slur/tie length
-
- * msgfmt -o check?
-
- * \breathmark TeX macro
-
- * catch GUILE errors?
-
- * add new glyphs to font.ly
-
- * formatting of input stuff.
-
- * \notes{ a \< b \cr } vs \notes{ a \< b \! }
-
- * if possible, it might be nice for a warning to appear if someone does
- \translator with no name and without assigning it to an
- identifier.
-
- * space after bars?
-
- * 'hinterfleisch' before bar (e.g. wtk1-fugue2)?
-
- * \type Voice \times 2/3 { [c8 c16 c16 c16 c16] }
-
- * fix singleStaffBracket
-
- * repeat bars: need distance after ":|" and before "|:"
-
- Summary of minor spelling irregularities:
- - capitalization/use of underscores in property names
-
- * fix SkipBars -> skipBars
-
- * \shape 1st dim skipped?
-
- * fix marks/barnumbers/marginal notes
-
- * broken scripts:
- lbheel = \script { "bheel" 0 0 -1 0 0 }
- rbheel = \script { "bheel" 0 0 1 0 0 }
- lbtoe = \script { "btoe" 0 0 -1 0 0 }
- rbtoe = \script { "btoe" 0 0 1 0 0 }
- lfheel = \script { "fheel" 0 0 -1 0 0 }
- rfheel = \script { "fheel" 0 0 1 0 0 }
- lftoe = \script { "ftoe" 0 0 -1 0 0 }
- rftoe = \script { "ftoe" 0 0 1 0 0 }
-
- and also
-
- portato= \script { "portato" 0 -1 0 1 0 }
-
-STUFF
- * uniformise recent feta contributions.
-
- * check out legal/(c) matters for scores.
-
- * check out GCC signatures?
-
- * Align_element::padding ?
-
- * uniformise property names.
-
- * ydirection <-> yDirection
-
- * typo checks on property names?
-
- * 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.)
-
- * strip EXEs before installing
-
- * zip target for binary windows dist (JBR)
-
- * junking \skip req in lyrics
-
- * Language:
- - \type -> \context ?
- - \translator -> ?
- - fix \partial
- - \bla {} vs \bla ;
- - mix engraver hacking with music ?
- - \once\property KEY = VAL
- - \addtranslator, \removetranslator
- - junk ^ and _ for scripts
- - junk _ for lyrics.
- - abstract grammar.
-
- * percussion note heads
-
- * mi2mu empty staffs.
-
- * midi_instrument -> midiInstrument
-
- * horizontal centering of dynamics
-
- * \font\fontA=feta20.afm (.afm?)
-
- * gzip RH manpage
-
- * stable make/config stuff
-
- * $DEPENDENCIES_OUTPUT support
-
- * fix weird behaviour when .AFMs/.SCMs not found.
-
- * Xdvi zooming ?! Try to understand GS garbage collection.
- gs: Error: /undefined in draw_beam
- gs: Operand stack:
-
- * fix vertical alignment and stafflines
-
- * GrandStaff needs more work -- I want a single word
- `harpsichord' to the left of the grandstaff, not one on each
- stave. (Organ staff -- with separate pedal -- but common
- properties may be something to think about. Of course for
- organ you want to be able to give stop indications on the way
- through, so the \property Voice.Instrument would be a stop,
- and \property GrandStaff.instrument would be PipeOrgan...)
-
- * revise the Score_priority_align_engraver concept. It sucks.
-
- * make new VoiceOne, VoiceTwo, VoiceThree contexts with
-ydirection and hshift preset
-
- * *.yo: fix pod manpage layout legacy
-
- * text-items clash with stems/beams
-
- * --include, -I option for ly2dvi (pass on to lily)
-
- * fix placement of beam-less abbrev
-
- * \meter 3/4;
+-*-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.
+m
+Most of the items are marked in the code as well
+Grep -i for TODO, FIXME and ugh/ugr/urg.
+
+.* TODO
+. * agressive type-checking for SCM stuff.
+. * 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.
+. * eradicate all VIRTUAL_COPY_CONS () macros ; use indexed creation,
+ eg.
+
+ ctor_dict["Score_element"]->clone_func (orig);
+ ctor_dict["Score_element"]->create_func ();
+. * acc at tied note after linebreak.
+. * fix font-naming and selecting
+. * fix naming: \interline Context.staffLineLeading, staff_line_leading (),
+staff_position staff_space
+. * 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
+. * fix or replace feta-accordion.mf
+. * script engraver
+. * bracket pdf hack
+. * 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.
+
+- I would like to be able to influence the sloping of xtuplet brackets
+
+- for one of my test scores containing a modern edition of an early
+17'th century composition I have a leading measure containing the
+orginal clefs and note values of the original composition. I use the
+a"harmonic" and "diamond" note head styles for that measure and would
+like to have the stems of these notes _centered_ on the notehead as in
+the mensural music notation.
+
+- 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
+
+. * make all Feta (including dynamics) available to the user in
+ textual scripts. Examples: "D.S. al \coda", "\mf espress.".
+
+. * Write script that uses --find-old-relative to do auto relativization.
+. * Junk shared cruft (duration, moment) in lib/
+
+
+.* Cleanups needed
+. * \$ and $ identifier syntax in examples.
+. * Junk ghost positioning objects eg, Script leans on Staffside
+ leans on Staff.
+. * 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.
+. * Duration
+. * clef engraver
+. * parser
+. * Lookup::text -> needs to be TeX independent.
+. * junk Music_iterator::first_b_
+. * Bezier
+
+.* 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)
+. * general shaving on Beam and Stem
+. * use plet grouping
+. * beams over bars
+. * Rests and beams don't work too well together. Example:
+ [ r8 g''16 des'] [r8 c16 a]
+. * 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}
+> >
+. * sort out breve shapes.
+. * \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.
+. * tie-direction
+. * repeats and partial measures.
+. * 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 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.
+
+. * Matanya's tips:
+. * don't shorten stems/staffs closer to each other.
+. * to space the staffs/staffgroups contained in the score.
+. * heavier beams?
+
+. * tuplets that are written as "number : note", for example
+ "3 : [image of a half note here]". possible?
+. * a note with a circle after it, meaning:
+
+ note + circle = note + 1/4 of its length
+
+ the circle is like a dot that's not filled in. for example, on
+ page three, the c-sharp on the second line should be a quarter with
+ a circle, not a quarter tied to a sixteenth. is this at all
+ possible with lily?
+. * make dependencies () a virtual function.
+. * deprecate hangOnClef.
+. * 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
+. * compulsory hshift
+. * 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
+. * TODO: merge atom & molecule; make tree from molecule.
+. * 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.)
+. * 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
+. * text-items clash with stems/beams
+. * --include, -I option for ly2dvi (pass on to lily)
+. * fix placement of beam-less abbrev
+. * \meter 3/4;