]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-0.0.70pre
authorfred <fred>
Sun, 24 Mar 2002 19:46:14 +0000 (19:46 +0000)
committerfred <fred>
Sun, 24 Mar 2002 19:46:14 +0000 (19:46 +0000)
TODO
lily/script.cc

diff --git a/TODO b/TODO
index f7a191fe75190bbf0888d9aa1ce5da489b12c9dc..4350bd6d0bb823d6ddc802858f3616d2e4ac1f53 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-Features you cannot find in the doco as working, should be mentioned her.
+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
@@ -6,15 +6,7 @@ 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
 
-bugs introduced in pl68:
-       
-       * lyrics broken,
-
-       * midi broken
-
-       * scripts broken
-
-IMPORTANT
+       * 
 
        * piano staff
 
@@ -28,7 +20,7 @@ IMPORTANT
 
        * decent TeX page layout
 
-       * script priority
+       * enter script priority
 
        * a Hands on tutorial [HKN]
 
@@ -58,7 +50,6 @@ PROJECTS
        - PostScript output (esp. Beams, Slurs, etc)
        - Move PScore, Items, Spanners etc. into libmutype.a
 
-
        * separate Score_elem settings in user-settable (properties
        .. ) and non-user-settable part. Maybe use something like X-resources:
        "Staff=oboe*dir: 0", "Staff=*.Voice_group=solo*dir: 1"
@@ -94,7 +85,6 @@ PROJECTS
        - hack up mf sources for decent spacing info (and then 
        read AFM/TFM directly, for text too)
 
-
        * lines:
        - Ledger lines, should be separate item: Ledger_lines, Ledger_lines_reg
        - set different line sizes / thicknesses
@@ -104,7 +94,7 @@ PROJECTS
        * Collisions
        - bring Collision::do_pre_processing to haircutter
        - left/right note balls should be handled by Collision:
-       < \multivoice { \stem 1; <b c> } { <f as b> } >
+       < \multi 2; { \stem 1; <b c> } { <f as b> } >
 
        * Keys:
        - merge key{item} & localkey{item}?
@@ -122,24 +112,21 @@ HKN buglist:
 
 tekst staat erg ver van notenbalken af
 
-waarom geen ; achter dingen in \paper? (\textwidth 180\mm)
-(sowieso: wanneer wel en geen ; ?)
-
 Onduidelijk wanneer wel en geen \ voor een woord. Maak liever
 verplichte regels
 
-
 BUGS
-       * spurious Weird stem size warnings
 
-       * staccato dot positions.
+       * spurious Weird stem size warnings
 
-       * stacked scripts.
+       * fix mysterious Flex malloc bug 
 
        * should adjust stemlength for flag number.
 
        * lilypond - -> crash
 
+       * scales.ly
+
        * standchen triool beam up/down
        
        * (where are the) gcc compile warnings on linux
@@ -204,7 +191,7 @@ SMALLISH PROJECTS
 
        * A range for context errors (eg. mark both { and }. )
 
-       * text in staff  (sharpsharp in staff, text below)
+       * lyric in staff  (sharpsharp in staff, text below)
 
        * fix Egler definitions ( see tex/eglerdefs.tex )
 
@@ -273,7 +260,6 @@ SMALLISH PROJECTS
        * script-spacing
 
        * Brackets
-
        
        * use (char *) iso. String for communication between lexer and
        parser.
@@ -346,7 +332,6 @@ IDEAS
 
        * Spacing_request for manually adjusting spacing
 
-       
        * caching breakpoints
 
        * #c <-> cis
index 2a39c57a0dd0e9d8786033e13b52de5a4cc359aa..bf013593992603eda50f878399f4c6177a05b572 100644 (file)
@@ -5,7 +5,7 @@
 
   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
 */
-
+#include "script-def.hh"
 #include "musical-request.hh"
 #include "paper-def.hh"
 #include "script.hh"
 #include "molecule.hh"
 #include "lookup.hh"
 
+void
+Script::do_print() const
+{
+#ifndef NPRINT
+    specs_l_->print();
+#endif
+}
 
+void
+Script::do_substitute_dependency(Score_elem*o,Score_elem*n)
+{
+    Staff_side::do_substitute_dependency(o,n);
+    if (o == stem_l_) {
+       stem_l_ = n ? (Stem*)n->item() : 0;
+    }
+}
 
 void
 Script::set_stem(Stem*st_l)
@@ -23,23 +38,30 @@ Script::set_stem(Stem*st_l)
 }
 
 
-Script::Script(Script_req* rq)
+Script::Script()
 {    
-    specs_l_ = rq->scriptdef_p_;
-    inside_staff_b_ = specs_l_->inside_b();
+    specs_l_ = 0;
+    inside_staff_b_ = false;
     stem_l_ = 0;
     pos_i_ = 0;
-    dir_i_ =rq->dir_i_;
+    dir_i_ =  0;
 }
+
 void
 Script::set_default_dir()
 {
     int s_i=specs_l_->rel_stem_dir_i();
-    if (s_i && stem_l_)
-       dir_i_ = stem_l_->dir_i_ * s_i;
-    else {
+    if (s_i) { 
+       if(stem_l_)
+           dir_i_ = stem_l_->dir_i_ * s_i;
+       else{ 
+           specs_l_->warning("Script needs stem direction");
+           dir_i_ = -1;
+       }
+    } else {
        dir_i_ =specs_l_->staff_dir_i();
     }
+    assert(dir_i_);
 }
 
 void
@@ -59,7 +81,7 @@ Script::do_pre_processing()
 {
     if (!dir_i_)
        set_default_dir();
-
+    inside_staff_b_ = specs_l_->inside_b();
 }
 
 void