]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/score-engraver.cc
Merge with master
[lilypond.git] / lily / score-engraver.cc
index 09d1aa6a0f9e5da00693e33bc319944f0964ba3b..eb89e555f83819771cc2054c6e7e1adde0f0d9e4 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
 */
 
 #include "score-engraver.hh"
@@ -20,7 +20,6 @@
 #include "paper-column-engraver.hh"
 #include "paper-column.hh"
 #include "paper-score.hh"
-#include "stream-event.hh"
 #include "system.hh"
 #include "warn.hh"
 
@@ -80,8 +79,7 @@ Score_engraver::initialize ()
 
   SCM props = updated_grob_properties (context (), ly_symbol2scm ("System"));
 
-  Object_key const *sys_key = context ()->get_grob_key ("System");
-  pscore_->typeset_system (new System (props, sys_key));
+  pscore_->typeset_system (new System (props));
   
   system_ = pscore_->root_system ();
   context ()->set_property ("rootSystem", system_->self_scm ());
@@ -100,6 +98,20 @@ Score_engraver::connect_to_context (Context *c)
   d->add_listener (GET_LISTENER (finish), ly_symbol2scm ("Finish"));
 }
 
+/*
+  uncovered:
+  
+  check_removal always returns false for Score contexts, it has been that way 
+since I joined the project. There is a reason for this: The typeset score is 
+stored in the Score_engraver, which in turn is accessed through the 
+Global_context returned by ly:run-translator. So the score-translator must be 
+connected to the score-context after run-translator finishes.
+
+I plan to change this: we should junk run-translator, and instead keep track 
+of both context and translator in the SCM code, and access the typeset score 
+directly via the created global-translator. Then it would be possible to 
+disconnect score-translators at iteration time. -es
+ */
 void
 Score_engraver::disconnect_from_context ()
 {
@@ -168,14 +180,11 @@ ADD_TRANSLATOR_GROUP (Score_engraver,
                      "that there are no beams or notes that prevent a breakpoint.) ",
                      /* create */
                      "System ",
-
-                     /* accept */
-                     "break-event",
                      
                      /* read */
                      "currentMusicalColumn "
                      "currentCommandColumn "
-                     "verticallySpacedContexts",
+                     "verticallySpacedContexts ",
 
                      /* write */
                      "");