]> git.donarmstrong.com Git - lilypond.git/blobdiff - TODO
patch::: 1.1.43.crypton1
[lilypond.git] / TODO
diff --git a/TODO b/TODO
index 328e9d3615feff8c39a95794e13e268300e65957..92ee0c62c75744b04c5a67ebb9824a9be794730a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -9,92 +9,122 @@ Most of the items are marked in the code as well
 Grep for TODO and ugh/ugr/urg.  
 
 .* BUGS
-. * header for PS enteredby = "bla <bla@bar.com>"
-. * Hash_table::remove ().
-. * 1.  With "lilypond -f ps": The black notes with ledger lines seem to
-> have extra "blobs" over and to the left of them and all the ledger
-> lines from the staff to the note will have a blob too.  For example,
-> with the note "a4" there will be a black note at the ledger line where
-> "c" would be too.  However, only the "a4" will have the extra blob.
-
-. * ps/lily.ps
-. * AFM for BlueSky AFM files.
+. * junk separate mudela versioning. 
+. * PostScript
+.  * header for PS enteredby = "bla <bla@bar.com>"
+.  * ps/lily.ps see comments.
 . * devise standard for functioning of Vertical_align_element.
-. * fix interstaff slurs & beams.
-. * staff size for post/prebreaks
-. * .ly files
-.  * input/star-spangled-banner
-.  * mutopia/J.S.Bach/wtk1-fugue2.ly
-.  * input/test/grace
-.  * fix: text on rests: ridiculous dims
-. * \score { \notes { c8 c8 c8 c c c }
-\paper { \translator { \VoiceContext \remove "Auto_beam_engraver";}}
-}
-. * m=\notes\relative c'''{
-  \time 2/4;
-
-  R2*4 | c2 | c2 | c2 | c2 | c2 | c2 | c2 | c2 | c2 | \break
-  <{R2*10}{s2 \mark "A"; }> | % Too narrow space for the first rest in
-1.1.29
-  r4 r8 [g16 \p ( a ] |
-[ ) g8-. fis16 ( g ][ ) fis8-. f16 ( g ] |
-[ ) f8-. e16 ( f ][ ) e8-. es16 ( f ] |
-[ ) es8 \f c16 ( d][es8 d16 c ] |
-) d4 r8 [g16 \p ( a ] |
-[ ) g8-. fis16 ( g ][ ) fis8-. f16 ( g ] | \break
-) c2 | c2 | c2 | c2 | c2 | c2 | c2 | c2 | c2 |
-}
-
-\score{
-  \m
-  \paper{
-    \translator{
-      \ScoreContext
-      SkipBars = 1;
-    }
-    \translator {
-      \OrchestralPartStaffContext
-    }
-  }
-}
 . * midi key.
-. * P.P.S. It can be cool in mudela-book to distinguish in pre,postMudelaExample,
-whether MudelaExample is epsed or not: ( if this fragment is floating eps, than 1,
-otherwise 2). say preMudelaExample[eps]{}, and change it in document body sometimes.
+. * Repeats
+.  * unfold broken: 
+.   * without alternatives: repeat unfold 4 { a b c d }
+.   * count > alternatives: repeat unfold 79 { a b c d } 
+\alternative { { c c c c } { d d d d } }
+.  * kind of 'initial property' iso fold/volta(semi)/unfold strings
 . * fix singleStaffBracket
 . * declare performers in \midi
 . * fix MIDI
 . * \shape 1st dim skipped? 
 . * turn slope-damping on/off
 . * tremolo stuff
-. * fix height of / collisions with lyrics (chords), 
-    see input/test/vertical-text.ly; input/test/repeat.ly
 . * We need feta-din*.mf files for more sizes than 10.
-. * latex bla.tex broken (titles / \lilyfooter stuff?
 . * fix dynamics decently, ie. use kerning & ligatures.  
-. * support_l_arr_ empty in staff-margin's G_staff_side_item
-. * minVerticalAlign for StaffGroups.
-. * fix OrchestralScore and Hara-kiri (i.e., fix Coriolan)
+. * dots & rest collisions?
+. * mudela-book.py
+.  * fix \mudelafile{} to have decent functionality
+.  * P.P.S. It can be cool in mudela-book to distinguish in
+pre,postMudelaExample, whether MudelaExample is epsed or not: ( if
+this fragment is floating eps, than 1, otherwise 2). say
+preMudelaExample[eps]{}, and change it in document body sometimes.
+.  * use less RE's
+. * slurs colllide with lyrics.
+. * Is there any reasonable way to do this: I would like to have one file
+that can generate the same tune in two different modes without having
+to go through and rewrite all the music in the other mode.
+
+Long lyrics don't get a space at the end.  They just run right up
+against the next lyric.  (I don't think this used to be the case.)
+
+Lyrics and scripts collide.
+
+\key b; \time 4/4; looks bad.  The clef and time signature are too close.
+
+restStyle=mensural doesn't seem to work (lots of characters not found
+for rests.fly)
 . * Phrasing:  Indicating the textual underlay of a piece, or
 otherwise dividing a piece into phrases.
 
 There are distinct ways of specifying the first two (although at
 present, they're not properly distinguished) but no distinct way to
 specify the third.  Should there be?
+. * rest collision minimum dist.
+. * 1. is there a "no key signature mode" for lily yet so that i can just
+enter the notes without worrying about it instead of having to
+remember to put a "!" after each accidental?
+
+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?
+tuplets that are written as "number : note", for example
+   "3 : [image of a half note here]".  possible?
+"p+" and "p-" for dynamic markings.  possible?
+. * repeat engraver, gallina.ly
+
+. * Matanya's tips: 
+.  * spacing for prefatory matter
+.  * The line length is 7.5 inch (19.05
+cm) and the height of normal size is equivalent to the traditional raster 1
+> size. (The Schott company sells Letraset sheets of musical symbols which are
+> measured in raster sizes). It is agreed among most engravers I know that the
+> standard size for adult readers in solo music should 70% of raster 1.  Jeff's
+> example was 75%, so I had to modify my file to match. 
+
+So that makes for a staff space of 4 2/3 point. I'll add the
+dimensions to the TODO file.
+.  * accidentals closer to note head
+.  * to space the staffs/staffgroups contained in the score.  
+
+In the orchestscore.ly file, I tried:
+\paper{
+    \translator {
+        \OrchestralScoreContext
+        minVerticalAlign = 3.0*\staffheight;
+    }
+    \translator { 
+        \StaffGroupContext
+        minVerticalAlign = 3.0*\staffheight;
+    }
+    \translator { 
+        \StaffContext
+        minVerticalAlign = 3.0*\staffheight;
+    }
+}
+.  * heavier beams?
+
+.* Cleanups needed
+. * Beam
+. * Stem
+. * Slur
+. * Rhythmic_grouping
+. * Duration
+. * Spring generation
+. * Collision
+. * Rest_collision
+. * clef grav prop's 
 
 .* TODO before 1.2
-. * \selectmusic to cut pieces from music. 
+. * Morally pure LilyPond.
+.  * Remove mutopia ramblings.
+.  * Remove non-free software links.
+.  * Remove meta article LilyPond.
 . * break priority setting from SCM.
 . * Gade score
 .  * remove [] in favour of auto-beamer
-.  * The minimum distance between different staffs works only within 
-  StaffGroups, not between StaffGroups. The Gade Score looks quite
-  strange on the pages where the Timpani and/or Brass sections don't
-  play. I've set the minimum distance with:
-    \translator {
-       \OrchestralScoreContext
-        minVerticalAlign = 2.5*\staffheight;
-    }
 . * hangOnClef with non-breakable clefs.
 . * Aha, the problem is the new TeX code generation for changing fonts.
 > (The explanation below is mostly intended for Han-Wen and Jan)
@@ -112,7 +142,6 @@ specify the third.  Should there be?
 > fontencoding OT1 is for the hyphenation mechanism to work, an 
 > argument that's clearly irrelevant in our application. Yet we
 > see the problem for August.
-. * Check gcc 2.8.1 compatibility
 . * Abstraction for engravers:
 .  * make "in-between" engraver (Tie, Extender)
 .  * make wide_spanner_engraver (line_group_spanne,r staff_symbol)
@@ -125,14 +154,10 @@ where XX corresponds to the size. I don't know where (or even if) they
 are installed but they are generated in the mf/out/ directory during the
 compilation.
 . * make dependencies () a virtual function.
-. * fix Repeated_music design
 . * one big ly2dvi input that includes *all* tests.
 . * store req -> element, element -> element causes for warnings
-. * junk Text_def, use G_text_item in stead.
-. * junk Script_def
 . * include examples in RPM.
 . * fix partial measures in meaningful way.
-
 . * add scripts to bars eg.  |^"bla" 
 . * relative mode for mi2mu
 . * uniformise recent feta contributions.
@@ -142,18 +167,7 @@ compilation.
 .  * --prefix option?
 .  * -I option per filetype?
 .  * kpathsea?
-
 . * ly2dvi/lilypond logfile.
-. * How can I specify a chord whose duration is longer than a whole note?
- \type ChordNames { \chord{ A1*2-min } }
-
-gives me a parse error.  And \times doesn't work either.  I can't use
-a spacer note.  So it seems to be impossible to have long chords of
-general length.  Of course, in the example above I can use \breve.
-But what if I want a chord that lasts for 3 whole notes?  Or what
-about 2.5 whole notes?  Is there a mechanism for getting this kind of
-length?  
-
 . * fractional chord durs.
 . * hang Item on Spanner
 . * do --safe for PS output?
@@ -167,10 +181,10 @@ length?
 . * fix convert-mudela manpage
 . * decimal point in \paper {}
 . * {  \voiceone <a'4.*2/3  d''4.*2/3 fis''4.*2/3>  [g''8 fis'' e''] d''4 |}
-        and=20
+        and
         { \voicetwo  d'4 d'2.*2/3 } spacing
 . * tied notes for MIDI
-. * sharp /flat on trills (in MIDI ??)
+. * sharp / flat on trills (in MIDI ??)
 . * scm-ify \property values.
 . * move class Lookup {} into scm
 . * msgfmt -o check?
@@ -199,12 +213,16 @@ length?
 .  * deps for ly2dvi
 .* STUFF
 . * compulsory hshift
+. * Give # lines in linebreaking.  
 . * arrows on slurs.
+. * rewrite context defs using Scheme
+. * \selectmusic to cut pieces from music. 
+. * TODO: merge atom & molecule; make  tree from molecule.
 . * Align_element::padding  ?
 . * uniformise property names...
 .  * ydirection <-> yDirection
 .  * rather allow '_' in identifiers first (i.e. junk ^ and _),
-           and do y_direction?
+and do y_direction?
 .  * typo checks on property names?
 . * use streambufs and iostream
        to provide IO handling for TeX stream, mudela stream, data-file.
@@ -213,6 +231,7 @@ length?
 . * zip target for binary windows dist (JBR)
 . * junking \skip req in lyrics
 . * mi2mu empty staffs.
+. * use Fourier transformation for rhythmic quantisation.
 . * horizontal centering of dynamics 
 . * $DEPENDENCIES_OUTPUT support
 . * Xdvi zooming ?! Try to understand GS garbage collection.
@@ -220,13 +239,6 @@ gs: Error: /undefined in draw_beam
 gs: Operand stack:
 . * fix vertical alignment and stafflines
 . * declaring Performers
-. * 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...)
 . * *.yo: fix pod manpage layout legacy
 . * text-items clash with stems/beams
 . * --include, -I option for ly2dvi (pass on to lily)
@@ -253,6 +265,7 @@ gs: Operand stack:
 . * fix title/instrument placements; see input/test/title.ly
 . * <\voiceone c4. \voicetwo c4>
 . * add full cello suites to web site (kom op, Maarten!)
+. * add mudela-book-doc source to webstie.
 . * Rethink Time_description
 \cadenza , \meter, \grouping should all be \properties
 . * rename
@@ -260,9 +273,7 @@ gs: Operand stack:
 .  * abbrev -> tremolo
 .  * abbreviation-beam -> (measured/unmeasured) tremolo
 .  * partial -> anacrouse
-. * shared lib
 . * robustify Beam (in case of no stems, 32nd notes)
-. * decentralised spring factory
 . * move paper vars into engraver properties
 . * check for groff / troff/ nroff et
 . * more intelligent file searching
@@ -270,17 +281,6 @@ gs: Operand stack:
 . * handle ^C for tmp/file creation.
 . * make LilyPond RPM fully relocatable
 . * dots & rest collisions.
-. * documentation
-.  * remove links to non-free SW.
-.  * internal documentation
-.  * a general paper. 
-.  * \properties
-.   * left/rightbeamcount
-.   * various other new properties.
-.  * introduction?
-.  * info?
-.  * LaTeX?
-.  * more manpages?
 . * the warning about the negative slur/tie length appears twice
 which is irritating.
 . * better hshift (dots, distance, head dependent)
@@ -289,18 +289,18 @@ touching it.
 . * put errorlevel in Input class
 . * junk nesting slurs
 . * integrate midi-elts from mi2mu and lily?
+. * distinguish between unset and empty properties. 
 
 .* FONT
 . * the bracket is ugly (wings are too parabolic, should be more circular)
 . * versioning for Feta
+. * rewrite dynamic signs.  They're kind of spaghetti now. 
 . * The `3' in the meter key is a one or two pixels too thin (at 600dpi)
        in the middle:
 . * design macro for penstroke with rounded endings
 . * timesig C: fat yet less curved.  Check out relations. 
 . * design decent macro for bulbed endings
 . * printer dependencies.
-. * y-refpoint for rests should be the 4th staffline (gclef: b')
-. * clean-up eight+ rests
 . * versioning 
 . * lo-res fixes.
 . * work out sizes of character fonts.
@@ -310,8 +310,10 @@ touching it.
 .  * coda signs: Segno, O+
 .  * glissando, arpeggio
 .  * lengthened trill
-. * 128th flags
 . * include important spacing dims in fetalog 
+. * scalability: use blot_diameter everywhere, make font chubbier for
+    small sizes.
+
 .* 3RD PARTY BUGS
 . * GNU diff 2.7: diff -rN does not see a new directory with empty file
 . * check out GCC signatures?
@@ -328,7 +330,6 @@ touching it.
            thing is fixed
 .* PROJECTS
 . * Scripts:
-.  * fix position of bar number
 .  * stack scripts in chords:
          % fingering:        footing:
            < a-4 c-2 g-1 >   < c-\ltoe e-\lheel >
@@ -372,7 +373,7 @@ touching it.
 .  * output header info to MIDI too.
 
 . * a musical dictionary. See Documentation/vocabulary-*, other
-       languages:
+languages:
 .  * explanations
 .  * italian
 .  * german
@@ -400,11 +401,9 @@ touching it.
 . * add to MIDI output:
 .  * tempo change
 .  * ornaments (and trills?)
-.  * repeat/volta
 .  * slurs
 .  * accents
 .  * dynamics
-
 > Would it be hard to add support for proper dynamics in MIDI output?  I
 > would really like to have this feature...
 
@@ -493,13 +492,19 @@ hesitate to ask.
 .  * PS lines to .eps files
 .  * write custom prolog
 
-.  * NIFF ?
-.  * Common Music Notation
-.  * PostScript output (esp. Beams, Slurs, etc)
-.  * Move all Score_elems, into libmutype.a
-.  * SGML
+. * 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
@@ -543,7 +548,6 @@ hesitate to ask.
 .* INPUTLANGUAGE
 . * \rhythms 4 16 16 16 16; c c c c c -> c4 c16 etc. 
 . * Language:
-.  * \type -> \context ?
 .  * \translator -> ?
 .  * fix \partial 
 .  * \bla {} vs \bla ; 
@@ -571,6 +575,8 @@ hesitate to ask.
 
 .* SMALLISH PROJECTS
 
+. * Faulenzer sign (% repeat).  Perhaps also use \repeat syntax?
+
 . * fix confusing naming in Engraver vs Engraver_group_engraver (context)
 
 . * progress when creating MIDI elts.
@@ -716,13 +722,6 @@ When writing new primitives, now just check foo_live_p().
 
 I hope the above helps,
 
--russ
-
-
---
-"Even if you are on the right track, you'll get run over 
-if you just sit there."  
-             --Will Rogers (1879-1935)
 
 * OUTLINE SETUP
 .* .EMACS