]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/recording-group-engraver.cc: removed
authorErik Sandberg <mandolaerik@gmail.com>
Tue, 17 Oct 2006 11:44:23 +0000 (11:44 +0000)
committerErik Sandberg <mandolaerik@gmail.com>
Tue, 17 Oct 2006 11:44:23 +0000 (11:44 +0000)
* lily/context.cc, lily/translator-group.cc: Don't touch
Context::implementation_ if it's null

ChangeLog
Documentation/topdocs/NEWS.tely
lily/context.cc
lily/include/recording-group-engraver.hh [deleted file]
lily/recording-group-engraver.cc [deleted file]
lily/translator-group-ctors.cc
lily/translator-group.cc
ly/declarations-init.ly

index be427b1af13e9d4c9111e56fc9c8e4eebd7e2adf..3bcf616d5c9389b26968441a4865ad5a59b162b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-10-17  Erik Sandberg  <mandolaerik@gmail.com>
+       
+       * lily/recording-group-engraver.cc: removed
+
+       * lily/context.cc, lily/translator-group.cc: Don't touch
+       Context::implementation_ if it's null
+       
 2006-10-17  Han-Wen Nienhuys  <hanwen@lilypond.org>
 
        * scm/define-grob-interfaces.scm (stroke-finger-interface): typo.
index b85b736bff3e817a4c65e21f81d969c773c48763..2023155f36ba2375803a43fb245388d209f0b3f0 100644 (file)
@@ -72,7 +72,7 @@ now also be added,
 @lilypond[fragment,relative=1,ragged-right]
 \relative 
 {
-  \set stringFingerOrientations = #'(right) % up left down
+  \set strokeFingerOrientations = #'(right) % up left down
   \set fingeringOrientations = #'(down left up) % up left down
   \set stringNumberOrientations = #'(down up left) % (up right down)
   <c-1\4
index 80a6fb91384eee2adf2f36ec695cbbe907c032ba..706548774539a854ec5f91080e52565f9de1344d 100644 (file)
@@ -509,7 +509,9 @@ void
 Context::remove_context (SCM)
 {
   /* ugh, the translator group should listen to RemoveContext events by itself */
-  implementation ()->disconnect_from_context ();
+  Translator_group *impl = implementation ();
+  if (impl)
+    impl->disconnect_from_context ();
   disconnect_from_parent ();
 }
 
diff --git a/lily/include/recording-group-engraver.hh b/lily/include/recording-group-engraver.hh
deleted file mode 100644 (file)
index 06c0069..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
-  recording-group-engraver.hh -- declare Recording_group_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 2005--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
-*/
-
-#ifndef RECORDING_GROUP_ENGRAVER_HH
-#define RECORDING_GROUP_ENGRAVER_HH
-
-#include "engraver-group.hh"
-
-class Recording_group_engraver : public Engraver_group
-{
-public:
-  VIRTUAL_COPY_CONSTRUCTOR (Translator_group, Recording_group_engraver);
-  virtual bool try_music (Music *m);
-  void add_music (SCM, SCM);
-  Recording_group_engraver ();
-  virtual void stop_translation_timestep ();
-  virtual void finalize ();
-  virtual void derived_mark () const;
-  virtual void fetch_precomputable_methods (Translator_group_void_method ptrs[]);
-
-  SCM now_events_;
-  SCM accumulator_;
-};
-#endif /* RECORDING_GROUP_ENGRAVER_HH */
diff --git a/lily/recording-group-engraver.cc b/lily/recording-group-engraver.cc
deleted file mode 100644 (file)
index 5af35d2..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-  recording-group-engraver.cc -- implement Recording_group_engraver
-
-  source file of the GNU LilyPond music typesetter
-
-  (c) 2003--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
-
-TODO: junk this file
-*/
-
-#include "recording-group-engraver.hh"
-#include "context.hh"
-#include "music.hh"
-
-/*
-  TODO: Junk this class, extract events directly instead. 
-*/
-void
-Recording_group_engraver::derived_mark () const
-{
-  Engraver_group::derived_mark ();
-  scm_gc_mark (now_events_);
-  scm_gc_mark (accumulator_);
-}
-
-Recording_group_engraver::Recording_group_engraver ()
-{
-  accumulator_ = SCM_EOL;
-  now_events_ = SCM_EOL;
-}
-
-void
-Recording_group_engraver::add_music (SCM music, SCM success)
-{
-  now_events_ = scm_cons (scm_cons (music, success), now_events_);
-}
-
-void
-Recording_group_engraver::stop_translation_timestep ()
-{
-  accumulator_ = scm_acons (scm_cons (context ()->now_mom ().smobbed_copy (),
-                                     context ()->get_property ("instrumentTransposition")),
-                           now_events_,
-                           accumulator_);
-  now_events_ = SCM_EOL;
-}
-
-void
-Recording_group_engraver::finalize ()
-{
-  SCM proc = context ()->get_property ("recordEventSequence");
-
-  if (ly_is_procedure (proc))
-    scm_call_2 (proc, context ()->self_scm (), scm_cdr (accumulator_));
-}
-
-bool
-Recording_group_engraver::try_music (Music *m)
-{
-  bool retval = true;//Translator_group::try_music (m);
-
-  add_music (m->self_scm (), ly_bool2scm (retval));
-  return retval;
-}
-
-void
-recording_engraver (Translator_group *tg)
-{
-  Recording_group_engraver *rg = dynamic_cast<Recording_group_engraver *> (tg);
-  rg->stop_translation_timestep ();
-}
-
-void
-Recording_group_engraver::fetch_precomputable_methods (Translator_group_void_method ptrs[])
-{
-  Translator_group::fetch_precomputable_methods (ptrs);
-  ptrs[STOP_TRANSLATION_TIMESTEP] = &recording_engraver;
-}
-
-ADD_TRANSLATOR_GROUP (Recording_group_engraver,
-                     "Engraver_group that records all music events "
-                     "for this context. Calls the procedure "
-                     "in @code{recordEventSequence} when finished.",
-                     "",
-                     "recordEventSequence",
-                     "");
index a0573a7a7653a5eb45dd74848cb461598a1a08d0..6684842876e80169acc77e9bc19c5e107732535c 100644 (file)
@@ -10,7 +10,6 @@
 #include "score-performer.hh"
 #include "engraver-group.hh"
 #include "performer-group.hh"
-#include "recording-group-engraver.hh"
 #include "warn.hh"
 
 /*
@@ -27,8 +26,6 @@ get_translator_group (SCM sym)
     return new Score_engraver ();
   else if (sym == ly_symbol2scm ("Score_performer"))
     return new Score_performer ();
-  else if (sym == ly_symbol2scm ("Recording_group_engraver"))
-    return new Recording_group_engraver ();
 
   programming_error ("Couldn't find type");
   scm_flush (scm_current_error_port ());
index da3fda5ed5bbeb12cca478346fec0f5239662ceb..4ef8c49d6bb0755664f018397ad82491f3d7c8bd 100644 (file)
@@ -202,7 +202,7 @@ precomputed_recurse_over_translators (Context *c, Translator_precompute_index id
   Translator_group *tg
     = dynamic_cast<Translator_group *> (c->implementation ());
 
-  if (dir == DOWN)
+  if (tg && dir == DOWN)
     {
       tg->precomputed_translator_foreach (idx);
       tg->call_precomputed_self_method (idx);
@@ -212,7 +212,7 @@ precomputed_recurse_over_translators (Context *c, Translator_precompute_index id
        s = scm_cdr (s))
     precomputed_recurse_over_translators (unsmob_context (scm_car (s)), idx, dir);
 
-  if (dir == UP)
+  if (tg && dir == UP)
     {
       tg->precomputed_translator_foreach (idx);
       tg->call_precomputed_self_method (idx);
@@ -225,7 +225,7 @@ recurse_over_translators (Context *c, Translator_method ptr, Translator_group_me
   Translator_group *tg
     = dynamic_cast<Translator_group *> (c->implementation ());
 
-  if (dir == DOWN)
+  if (tg && dir == DOWN)
     {
       (tg->*tg_ptr) ();
       translator_each (tg->get_simple_trans_list (), ptr);
@@ -235,7 +235,7 @@ recurse_over_translators (Context *c, Translator_method ptr, Translator_group_me
        s = scm_cdr (s))
     recurse_over_translators (unsmob_context (scm_car (s)), ptr, tg_ptr, dir);
 
-  if (dir == UP)
+  if (tg && dir == UP)
     {
       translator_each (tg->get_simple_trans_list (),
                       ptr);
index d62be483706593b0f17fb7925ecf1a0cc39be56d..6728973084a07aba90b6bf42b6abc3ff24564461 100644 (file)
@@ -97,15 +97,7 @@ repeatTie = #(make-music 'RepeatTieEvent)
 
 #(set-default-paper-size (ly:get-option 'paper-size))
 
-
 partCombineListener = \layout {
-    \context {
-       \Voice
-       \consists Note_heads_engraver
-       \consists Rest_engraver
-       \type "Recording_group_engraver"
-       recordEventSequence = #notice-the-events-for-pc
-    }
     \context {
        \Score
        skipTypesetting = ##t