-*-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.
+m
Most of the items are marked in the code as well
-Grep for TODO 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
-
-[-> leading are the lead strips between the sticks (lines) of
-typeface. ie. leading is vertical space --hwn]
-
-. * move \version check to lexer.ll
-. * junk delayed spanner breaking.
-. * check dangling_scm_sym working.
-. * revise pianobrace to put font stuff into Lookup
-. * standardise(d) switches: -v, --version; -d, --debug,
-. * spacing of accidentals
-. * restorations & repeats
-. * dotted rests?
-. * input/test/grace.ly spacing (triplet!)
-. * spanners from grace to normal ctxt
-.* 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
+Grep -i for TODO, FIXME and ugh/ugr/urg.
+
+.* TODO
+. * use Rhythmic_head::position_i () for all Staff_referenced
+. * .po -> .pot.
+. * setting indent to 0 with \shape fails
+. * hara kiri _8 clef.
+. * junk -M ?
+. * mudela-book doco
+. * rerun profile
+. * fix or replace feta-accordion.mf
+. * fix configure with CFLAGS or LDFLAGS, try:
++ CFLAGS=-g LDFLAGS='-Wl,--warn-common' ./configure
++ configure will use them while testing the compiler, but they don't
++ appear in config.make
-- 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.
-
-- 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.
-. * 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.
-. * indent = 0.0 with linewidth=-1.0
-. * collisions & accidentals.
-. * auto-beaming in input/test/spacing.ly:
-Non-finished auto-beams (consider_end_and_begin didn't decide to
-end beam), that get typeset in removal_processing (eg: end of a piece)
-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
+. * script engraver
+. * Chords:
+. * Bass/inversion pitch when not part of Chord
+Sometimes a series of changing chords will be blocked out over a static tone
+in the bass, usually this was referred to as a pedal tone (and it's been
+continued to be used, even in contemporary music). Another less frequently
+used practice is putting a non-chordal tone in the bass (that is not acting
+as a pedal tone) in order to create tension or make a more colorful sound.
+There are examples of this in the classsical literature, but its use is much
+more prevalent today. For example, the chord sequence Dm7 - Dm7/G is such a
+sequence, and the Dm7/G defies easy classification. Is it a G7(no 3rd)add
+9/11? Or is it a G7(no 3rd)add2/4? Or perhaps Dm7 add11? It's a heck of a
+lot easier to read to just leave it as Dm7/G!
+. * Diminished does not mean 5-
+When speaking of a chord, dimished can mean one of two things: A diminished
+triad or a dimished seventh chord (which is distinctly different from what's
+known as the 'half-diminished' chord). The triad is a root with a flat
+third and flat fifth, and is notated (at least in America, someone else will
+have to fill me in on other countries) as (using C as the root) Cdim, or Co.
+The diminished seventh has a root with a flat third, flat fifth, and a
+doubly flatted seventh (which is enharmonically equivalent to a sixth, and
+from which comes tons of confusion). It is usually notated as (again, using
+C as the root) Cdim7 or Co7.
+
+. * Mondrup:
+
+- I would like the possibility of forcing clef- and key- changes to be
+printed _after_ the new bar line
+
+- I would like an option to define the number of systems on which the
+score must be distributed. As it is now it seems that I may only
+influence that indirectly through the gourlay_maxmeasures property.
+
+- 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
+"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
+
+- autoBeamMelisma: if I explicitly beam notes in a staff with auto
+beaming disabled I would like to have these beams also to be
+melismatic.
+
+. * make all Feta (including dynamics) available to the user in
+ textual scripts. Examples: "D.S. al \coda", "\mf espress.".
+
+. * ? -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
+. * center option (??)
+. * make mudela-book understand usepackage{geometry}
. * 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.
. * 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}
+> >
+. * sort out breve shapes.
+. * \time forces keysig?
.* STUFF
+. * We need feta-din*.mf files for more sizes than 10.
+- Rests and beams don't work too well together. Example:
+ [ r8 g''16 des'] [r8 c16 a]
+
+- The stemLength property should affect also beamed stems.
+
+. * 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?)
+. * * 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.
+. * 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
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 ?
-. * typo checks on property names?
. * use streambufs and iostream
- to provide IO handling for TeX stream, mudela stream, data-file.
+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)
+. * 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
. * text-items clash with stems/beams
. * --include, -I option for ly2dvi (pass on to lily)
. * fix placement of beam-less abbrev
. * 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!)
. * 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
-. * 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
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
-. * GNU diff 2.7: diff -rN does not see a new directory with empty file
+. * Array<Axis [2] > axeses;
+
+ for (int i=0; i < loose_elems.size (); i++)
+ {
+ Score_element* elt = loose_elems[i];
+ /*
+ with which axes do we have to meddle?
+ */
+ int j =0;
+ Axis as [2];
+ for (int a = X_AXIS; a < NO_AXES; ++a)
+ if (elt->parent_l (Axis (a)) == this)
+ as[j++] = Axis (a);
+ if (j == 1)
+ as[j++] = as[0];
+
+ axeses.push (as);
+ }
+
. * 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)
+