]> git.donarmstrong.com Git - lilypond.git/blobdiff - TODO
partial: 1.0.1.jcn
[lilypond.git] / TODO
diff --git a/TODO b/TODO
index f15bfb654c85a9ee8f1b79b456e567f85cf55b90..7f9b738c65c41f91cae4624ce14c54f3e80c1091 100644 (file)
--- a/TODO
+++ b/TODO
 Features you cannot find in the doco as working, should be mentioned here.
 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. 
 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
+grep for TODO and ugh/ugr/urg
 
 0.2:
 
 0.2:
-       * add a screenshot to the website.
+       * junk My_lily_parser::abbrev_beam_type_i_ 
+
+       * w32 blurb
+
+       * make sure all ex's have a mudela-version
+
+       * notes almost touch barline: whitespace at the begin of the bar 
+        should be at fixed at at least (about) one interline.
+        hack at spring-spacer.cc:662 doesn't work anymore
+
+       * do rest-collisions for Multi_measure_rests as well.
+
+       * split error/warning in error/warning/non_fatal_error
+
+       * add a Duration_convert member to Duration_iter to set parameters.
+       Junk global duration settings. 
+       * deps for ly2dvi
+
+       * fix .txt rules / make dist from freshly configured tar-ball
+
+       * document use of ly2dvi more prominently
+
+       * clean up abbrev/plet/beam/abbrevbeam/duration mess in parser.
+
+       * minimum length second part broken tie
+       * en-,discouraged linebreaking: 
+         - handle DISALLOW < penalty > FORCE
+         - discourage breaking of slurs
+
+       * multibar rest
+         - symbol(s)
+
+       * fix variable define/lookup parser global<->paper
 
 
-       * fix stdin input
+       * fix position of bar number
 
 
-       * LILYSOURCEDIR
+       * fix position of brace in conjunction with bracket
+
+       * fix title/instrument placements; see input/test/title.ly
+
+       * <\voiceone c4. \voicetwo c4>
+
+       * add full cello suites to web site (kom op, Maarten!)
+
+       * rename
+         - plet -> tuplet
+         - grav -> engraver
+         - measure -> bar
+         - abbreviation-beam -> (measured/unmeasured) tremolo
+
+       * libtoolize flowerlib
+       * shared lib
+
+       * robustify Beam (in case of no stems, 32nd notes)
+
+       * check for groff / troff/ nroff et
+
+       * use kpsepath to find all TeX dirs
+       - configure.in 
+       - clean-fonts.sh
+
+       * nicen examples:
+       - remove all \multi
+       - break-up heavily-nested score blocks
+
+       * disable spaces in TeX stuff
        
        
-       * documentation
+       * handle ^C for tmp/file creation.
 
 
-       * spurious "Junk beam" warnings
+       * dots & rest collisions.
 
 
-       * standchen: warning: Excentric column (Meter dims?)
+       * add a screenshot to the website. :)
+
+       * documentation
+       - introduction?
+       - info?
+       - LaTeX?
+       - more manpages?
 
        * naming Mozarella, Madeira, Muella?
 
        * versioning for Feta
 
 
        * naming Mozarella, Madeira, Muella?
 
        * versioning for Feta
 
-       * bf: abbrevs over whole note
+       * the warning about the negative slur/tie length appears twice
+       which is irritating.
+
+       * The `3' in the meter key is a one or two pixels too thin (at 600dpi)
+       in the middle:
+
+       * the tenuto script is too long and too thin
+
+       * the bracket is ugly (wings are too parabolic, should be more circular)
+       * better hshift (dots, distance, head dependent)
+
+       * stem len adjustable
 
 STUFF
 
 STUFF
+       * convert-mudela:
+       - automatically add  a \version if not present.
+       - better parsing
+       - make smarter
+       - fix convert-mudela -e *.ly ;
+       - convert-mudela -e empty.ly
+       - redo in python.
+
+        * clefs (AG): The "8" should appear closer to the actual clef,
+          touching it.
 
        * give Items/Spanners access to unbroken originals      
 
 
        * give Items/Spanners access to unbroken originals      
 
+       * generalised scopes for Parser/identifiers.
+
+       * speed up PS code.
+
        * scoping for properties
 
        {       c4
        * scoping for properties
 
        {       c4
@@ -38,6 +132,14 @@ STUFF
 
        this modifies \stem for the c2
 
 
        this modifies \stem for the c2
 
+       * emacs mudela-mode
+       -  should handle block comments too.
+       -  handle lexer modes (\header, \melodic, \lyric) etc.
+       -  indentation
+       -  notenames?
+       -  fontlock: \melodic \melodic
+
        * use properties for:
        - Text_style
        - default_octave
        * use properties for:
        - Text_style
        - default_octave
@@ -52,17 +154,32 @@ STUFF
        - MIDI instrument
        - staff title
 
        - MIDI instrument
        - staff title
 
-       * optimal pagebreaking.
+       * page handling:
+       - PS output
+       - optimal pagebreaking.
 
        * put errorlevel in Input class
 
        * AFM for font input?
 
 
        * put errorlevel in Input class
 
        * AFM for font input?
 
+
 3RD PARTY BUGS:
 
 3RD PARTY BUGS:
 
-       * Rational infty(HUGE_VAL) on glibc / w32
+       * tried egcs 1.0.2: failed on lily/stem.cc -> flower/include/interval.hh
+         should narrow down and send bug report
 
 
-       * Fix profiling. gprof bugreport?
+       * gcc 2.8.1: see ice and RESIZE_ICE
+
+       * xdvi: PS in magnifying glass.
+
+       * GNU patch 2.1: hardcoded limit of 1024 to the linelength
+
+       * GNU diff 2.7: diff -rN does not see a new directory with empty file
+
+       * GNU patch 2.1: <must find simple example> if patch chokes on a
+         hunk, or on allegedly unsorted hunks in a diff, it may stop 
+         without a trace of failure (create .rej file, print error or 
+         dump core) and just ignore any further diffs.
 
 PROJECTS
 
 
 PROJECTS
 
@@ -74,28 +191,18 @@ PROJECTS
 
        * Spring_spacer:
        - write a faster Spring_spacer (without matrices if possible)
 
        * Spring_spacer:
        - write a faster Spring_spacer (without matrices if possible)
-       - use straight QP to find minimal "fitting force"
+       - use straight LP to find minimal "fitting force"
        - relate energybound to linelen unitspace fontsize etc.
        - used fixed point fp
 
        * \header
        - relate energybound to linelen unitspace fontsize etc.
        - used fixed point fp
 
        * \header
-       - write perl/python script for handling it into databases
-       - write TeX macros to generate titles
-       - adapt make-website to use \header info.
        - output header info to MIDI too.
 
        - output header info to MIDI too.
 
-
-       * Makefile stuff:
-       - Use Automake
-       - shared lib on Solaris too.
-       - check libtool
-       - generate stuff in out/default, out/sun5-irix etc iso out/ 
-       and out-sun5/
-
        * Add mudela-output to Rosegarden.
 
        * a musical dictionary. See Documentation/vocabulary-*, other
 languages:
        * Add mudela-output to Rosegarden.
 
        * a musical dictionary. See Documentation/vocabulary-*, other
 languages:
+       - explanation
        - italian
        - german
        - dutch
        - italian
        - german
        - dutch
@@ -125,21 +232,21 @@ languages:
 
        * add to MIDI output:
        - tempo change
 
        * add to MIDI output:
        - tempo change
+       - ornaments (and trills?)
        - repeat
        - slurs
        - repeat
        - slurs
-       - dynamics etc.
+       - accents
+       - dynamics
+       - account for rhythmic position in measure
+       - etc.
 
        * grace notes
        - make separate class for Grace_*_engravers 
        (which is at Voice_gravs level)
        - make encapsulated spacing problems.
 
 
        * grace notes
        - make separate class for Grace_*_engravers 
        (which is at Voice_gravs level)
        - make encapsulated spacing problems.
 
-       * On-demand loading of simple-engravers?
-
        * accidentals per Voice_group
 
        * accidentals per Voice_group
 
-       * Convert all ref/bib stuff into BibTeX.
-
        * Output class, handles : (smallish)
        - help text /(c) notice?
        - version line
        * Output class, handles : (smallish)
        - help text /(c) notice?
        - version line
@@ -155,26 +262,25 @@ languages:
        - text
        - slur start/end
 
        - text
        - slur start/end
 
+       * cautionary accidental
+
        * Output an output format independent (ofi) typeset file; and 
        * Output an output format independent (ofi) typeset file; and 
-         make ofi2 TeX, MusixTex, Display PostScript, PostScript,
+         make ofi2 TeX, MusiXTex, Display PostScript, PostScript,
          Ascii... interpreters. (difficult)
 
          Ascii... interpreters. (difficult)
 
-       - poor man's ascii output possible?
-       - MusixTeX output possible? (would have to be done before break calc.)
        - NIFF ?
        - Common Music Notation
        - PostScript output (esp. Beams, Slurs, etc)
        - Move all Score_elems, into libmutype.a
  
        * Documentation
        - NIFF ?
        - Common Music Notation
        - PostScript output (esp. Beams, Slurs, etc)
        - Move all Score_elems, into libmutype.a
  
        * Documentation
-       - Doc Mutopia (Music To The People) 
        - Doc (C) stuff of sheet music
        - Doc (C) stuff of sheet music
+       - a better format?  SGML?  TeX?  Info?
        - a tutorial
 
        * TeX spanners , use texbeam.cc as an example (smallish)
        - Glissando
        - trill
        - a tutorial
 
        * TeX spanners , use texbeam.cc as an example (smallish)
        - Glissando
        - trill
-       - bracket
 
        * Rewrite Stem, Beam and Rhythmic_grouping (hairy)
        - [c8. c32 c32]
 
        * Rewrite Stem, Beam and Rhythmic_grouping (hairy)
        - [c8. c32 c32]
@@ -214,24 +320,13 @@ languages:
        * breaking:
        - caching breakpoints
        - saving them
        * breaking:
        - caching breakpoints
        - saving them
-       - allowing users to set them.
        - penalties
        - specify number of lines
        - penalties
        - specify number of lines
-       - set linelength per line
 
        * Rhythmic staff.
 
 
        * Rhythmic staff.
 
-       * Baroque superstaff
-
-SEVERELY LACKING:
-
-       * SPEED!
-
-       * multibar rests
-
        * markers
 
        * markers
 
-
 INPUTLANGUAGE
 
        * c4 4 4 4 for c4 c4 c4 c4?
 INPUTLANGUAGE
 
        * c4 4 4 4 for c4 c4 c4 c4?
@@ -278,10 +373,8 @@ SMALLISH PROJECTS
 
        * adaptive accidental spacing.
 
 
        * adaptive accidental spacing.
 
-       * unix style paths for LILYINCLUDE env
-
        * handle EOF graciously in error messages.
        * handle EOF graciously in error messages.
-
+oo
        * caching Item/spanner dimensions.
 
        * centered whole rest
        * caching Item/spanner dimensions.
 
        * centered whole rest
@@ -293,8 +386,6 @@ SMALLISH PROJECTS
 
        * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
 
 
        * midi esp.: use I32 iso int where 32 bits are needed (or assumed...)
 
-       * parshape
-
        * Flower types:
        - A decent scalar type
        - String hash
        * Flower types:
        - A decent scalar type
        - String hash
@@ -344,8 +435,7 @@ SMALLISH PROJECTS
 
 IDEAS
 
 
 IDEAS
 
-       * Output abstract data structures associated with
-Mudela.
+       * Output data structures of Mudela in XML/SGML.
 
        * create libmudela, or liblily_frontend
 
 
        * create libmudela, or liblily_frontend
 
@@ -383,31 +473,17 @@ Mudela.
                if ( t <= get_type( q ))
                        ..
 
                if ( t <= get_type( q ))
                        ..
 
-       * naming of Voice_group/Voice
-
-       * benchmark band_matrices.
-
        * versioning stuff (cvt mudela, mudela, etc.)
 
        * versioning stuff (cvt mudela, mudela, etc.)
 
-       * a real convert-mudela
 
        * dots into separate item.
 
        * use String iso Text_def for lyrics.
 
 
        * dots into separate item.
 
        * use String iso Text_def for lyrics.
 
-       * use position 0 for center of staff iso bottom.
-
        * Klavarskribo?
 
        * lyrics in chords still fuck up.
 
        * Klavarskribo?
 
        * lyrics in chords still fuck up.
 
-       - rewire acknowledge_element() logic with a process_acknowledged()
-
        * pushgroup/popgroup
 
        * pushgroup/popgroup
 
-
-       * multi threading?
-         - 1 thread per element/ 1 thread per line
-         - 1 thread per Translator
-
        * Use hooks/dependency graphs for properties
        * Use hooks/dependency graphs for properties