From: Erik Sandberg Date: Tue, 17 Oct 2006 11:44:23 +0000 (+0000) Subject: * lily/recording-group-engraver.cc: removed X-Git-Tag: release/2.10.0-2~151 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=bbe5e6b67f58883202aa2038a7b9e94ce6d92868;p=lilypond.git * lily/recording-group-engraver.cc: removed * lily/context.cc, lily/translator-group.cc: Don't touch Context::implementation_ if it's null --- diff --git a/ChangeLog b/ChangeLog index be427b1af1..3bcf616d5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-10-17 Erik Sandberg + + * 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 * scm/define-grob-interfaces.scm (stroke-finger-interface): typo. diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index b85b736bff..2023155f36 100644 --- a/Documentation/topdocs/NEWS.tely +++ b/Documentation/topdocs/NEWS.tely @@ -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) 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 index 06c00694aa..0000000000 --- a/lily/include/recording-group-engraver.hh +++ /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 -*/ - -#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 index 5af35d291b..0000000000 --- a/lily/recording-group-engraver.cc +++ /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 - -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 (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", - ""); diff --git a/lily/translator-group-ctors.cc b/lily/translator-group-ctors.cc index a0573a7a76..6684842876 100644 --- a/lily/translator-group-ctors.cc +++ b/lily/translator-group-ctors.cc @@ -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 ()); diff --git a/lily/translator-group.cc b/lily/translator-group.cc index da3fda5ed5..4ef8c49d6b 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -202,7 +202,7 @@ precomputed_recurse_over_translators (Context *c, Translator_precompute_index id Translator_group *tg = dynamic_cast (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 (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); diff --git a/ly/declarations-init.ly b/ly/declarations-init.ly index d62be48370..6728973084 100644 --- a/ly/declarations-init.ly +++ b/ly/declarations-init.ly @@ -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