X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=TODO;h=a08d5cbf25dcc2948a721f9716f457485a113fb4;hb=419c0d7734351ed1c89a985867e9127f5af46f90;hp=304e29b7fe2b659c0718785ee6dbeb20cb5a43bb;hpb=164f801e44a5263b1ba9ccc68d8eebaeaa0c5445;p=lilypond.git diff --git a/TODO b/TODO index 304e29b7fe..a08d5cbf25 100644 --- a/TODO +++ b/TODO @@ -1,117 +1,144 @@ -*-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 -. * spacing of accidentals -. * restorations & repeats -. * \score { - \context Staff \notes { -c'2 fis'~ -% accidential after bar -fis'4 % accidential should be here -fis' g'2 -\repeat semi 2 { -c' c' -} -\alternative { -% no bars at the beginning of alternative 1 and at the end of alternative 2 -{ -d' d' -} -{ -c'1 c' -} -} -d'4_"normal" d' \times 2/3 {e' e' e'} -% no triplet bracket in \tiny -\tiny d'4_"tiny" d' \times 2/3 {e' e' e'} - } -} +Grep -i for TODO, FIXME and ugh/ugr/urg. + +.* TODO +. * use hash tabs iso. alist_ for elt property? +. * agressive type-checking for SCM stuff. +. * use "staff-space" and "half-space" iso interline, + staff_line_leading () etc. +. * why does Voice.beamQuantisation = #'none not work? + overriding in ly/params.ly works fine + +. * 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 +. * 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. . * -So how do I do what I want to do? +> \context Staff < +> {\voiceone''4. r8} +> \voicetwo c,4 r4} +> > +. * sort out breve shapes. +. * \time forces keysig? -In Caro Mio Ben, bar 8, there's a syllable that starts on a note, and +.* 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 26, there's a \p marker that should appear below the grace -note. - 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. - -How do I specify these? - -How can I control whether a grace note takes its time from the note -before or the note after it (for the purposes of alignment with -lyrics)? -. * / distance after 4/4 \key. -. * spanners from grace to normal ctxt -. * Glen: -1. I got a vertical line where I asked for a decrescendo. - -2. Slurs -- good to see some spacing between slurs and lyrics, but not -there's several times too much space. - -3. Slurs with wrong slopes. Where a slur between two notes goes from the -head of one to the stem of another it can have the wrong slope: - | ___ - | / \ - | / | - x|/ | - | - x| - The music goes down but the slur goes up (or vice versa). This looks -wrong. - -4. Lyrics and \fermata collide. I know that the TODO has lyrics and scripts -colliding; I'm just including it here because it's really an issue for me -with fermata. Other scripts aren't a problem for me, but sometimes I need -fermata on both sides of the staff (when sop and alto hold different notes, -for example). In fact it's not just scripts and lyrics: In a choirstaff, -scripts above the bass clef collide with scripts below the treble clef. - -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. - -6. The bar line at the beginning of an \alternative section has disappeared -altogether. - -7. When it's a tight fit to get all the notes in the first line, the first -note collides with the time signature. Is this the same 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. -. * Auto_beam debugging output (waarom/wanneer heb jij die weggehaald?) -. * Rename illegal to invalid -. * Mats: - -- The Postscript output is still very experimental - -- It is impossible to typeset two textual scripts that are stacked +. * 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 @@ -122,99 +149,8 @@ spacing bugs mentioned in the TODO? 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? -. * don't create $srcdir/share/ -. * Break_req handling is silly (break_forbid () + \break fucks up.) -. * hangOnClef with non-breakable clefs. -. * account for accidentals in spacing. -. * collision of lyrics with span_bars. See star-spangled. -. * fix partial measures in meaningful way. -. * 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 - -.* Cleanups needed -. * \$ and $ identifier syntax in examples. -. * bracket ps code. -. * Key_engraver, Local_key_item -. * Think of comprehensive solution for "if (grace_b == self_grace_b_)" -. * Y dimension units: staffspace vs. Point -. * Beam -. * Stem -. * Rhythmic_column and interaction stem/rhythmic_column/note_head/dots. -. * Duration -. * clef engraver -. * parser - -.* BUGS -. * [c8. c16 c16 c16] in 6/8 timesig. - -.* STUFF -. * break priority setting from SCM. . * Matanya's tips: . * don't shorten stems/staffs closer to each other. -. * accidentals closer to note head . * to space the staffs/staffgroups contained in the score. . * heavier beams? @@ -228,16 +164,14 @@ invloed hebben op beam-creatie, stopt toch gewoon stokken in? 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? -. * 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 @@ -264,27 +198,34 @@ 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 ? -. * 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 @@ -302,36 +243,30 @@ repeated section with different words for each repeat. . * split error/warning in error/warning/non_fatal_error . * add a Duration_convert member to Duration_iter to set parameters. Junk global duration settings. -. * en-,discouraged linebreaking: -. * handle DISALLOW < penalty > FORCE . * discourage breaking of slurs . * fix variable define/lookup parser global<->paper . * fix title/instrument placements; see input/test/title.ly . * <\voiceone c4. \voicetwo c4> -. * add full cello suites to web site (kom op, Maarten!) +. * 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. -. * 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 -. * check for groff / troff/ nroff et +. * 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 -. * 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 . * junk nesting slurs -. * distinguish between unset and empty properties. + .* FONT . * the bracket is ugly (wings are too parabolic, should be more circular) @@ -367,18 +302,37 @@ touching it. 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 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 + +. * 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 -> INSTALL +. * mfplain.ini not in tetex 0.9 -> INSTALL -. * tetex: mfplain.mem -. * timesig: sometimes bottom digit too high: Xdvi doesn't handle - newly created fonts correctly. .* PROJECTS . * Scripts: @@ -390,7 +344,6 @@ touching it. . * stack parameterised scripts for fingering and footing: . * convert-mudela: -. * automatically add a \version if not present. . * better parsing . * make smarter . * convert-mudela -e empty.ly @@ -404,7 +357,6 @@ touching it. . * use properties for: . * default tempo. -. * cadenza mode? . * page handling: . * PS output @@ -430,6 +382,7 @@ touching it. . * \header . * output header info to MIDI too. +. * dump \header into easily parsable format. . * a musical dictionary. See Documentation/vocabulary-*, other languages: @@ -438,7 +391,6 @@ languages: . * german . * dutch . * swedish - .. ? . * chords . * guitar chords (fret diagrams) @@ -454,12 +406,10 @@ languages: . * input converters . * NIFF? -. * ABC? -. * SMDL? +. * musedata . * add to MIDI output: . * sharp / flat on trills (in MIDI ??) -. * tempo change . * ornaments (and trills?) . * slurs . * accents @@ -497,57 +447,25 @@ hesitate to ask. . * etc. -. * Output class, handles : (smallish) -. * help text /(c) notice? -. * version line -. * warning /errors/progress -. * abort on error/warning; exit status -. * quiet/ignore-version options -. * logfile output +. * logfile output? . * PS . * speed up PS code. . * PS lines to .eps files . * write custom prolog - -. * SGML input - -. * Documentation -. * remove links to non-free SW. -. * internal documentation -. * a general paper. -. * \properties -. * left/rightbeamcount -. * various other new properties. -. * introduction? -. * info? -. * LaTeX? -. * more manpages? -. * Doc (C) stuff of sheet music -. * a better format? SGML? TeX? Info? -. * a better tutorial +. * fix ps font switching . * more spanners (smallish) . * Glissando . * trill -. * Rewrite Stem, Beam (hairy) -. * general shaving on Beam and Stem -. * use plet grouping -. * beams over bars - -. * lines: -. * Ledger lines, should be separate item: Ledger_lines -. * set different line sizes / thicknesses -. * beam stem showthrough, inter beam sizes (french vs german style) - . * Collisions . * left/right note balls should be handled by Collision: < \multi 2; { \stem 1; } { } > . * Keys: . * merge key{item} & localkey{item}? -. * spacing, national styles? +. * spacing . * Support for TAB . * redo Notehead to allow digits as heads @@ -556,8 +474,6 @@ hesitate to ask. . * should adjust stemlength for flag number. . * breaking: -. * caching breakpoints -. * saving them . * specify number of lines .* INPUTLANGUAGE @@ -566,40 +482,20 @@ hesitate to ask. . * \translator -> ? . * fix \partial . * \bla {} vs \bla ; -. * mix engraver hacking with music ? . * \once\property KEY = VAL . * input property -. * abstract grammar. . * Figure out semicolons. . * 4 ? -. * Viola mode? - - @c c g e g - for - c g es g, - - @A c g e g - for - cis gis e gis . * configure pitch_byte . * rest name configurable .* SMALLISH PROJECTS -. * fix confusing naming in Engraver vs Engraver_group_engraver (context) - -. * A range for context errors (eg. mark both { and }. ) - . * lyric in staff (sharpsharp in staff, text below) . * write Dynamic_line (to group dynamics horizontally) -. * use Real for all y positions. - -. * half-sharps, half-flats - -. * adaptive accidental spacing. . * handle EOF graciously in error messages. @@ -616,15 +512,13 @@ hesitate to ask. (where "to" is a tiny bow) . * auxilliary file for caching info. + . * 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. -. * Spacing_request for manually adjusting spacing -. * caching breakpoints -. * used fixedpoint arithmetic for min. energy. * OUTLINE SETUP .* .EMACS @@ -657,3 +551,4 @@ hesitate to ask. (require 'allout) (outline-init 't) +