- Translator_group*tg = dynamic_cast<Translator_group*> (t);
- trans_group_list_ = add_translator (trans_group_list_,t);
- Context_def * td = unsmob_context_def (tg->definition_);
-
- /*
- this can not move before add_translator(), because \override
- operations require that we are in the hierarchy.
- */
- td->apply_default_property_operations (tg);
-
- t->initialize ();
-}
-
-bool
-Translator_group::is_removable () const
-{
- return trans_group_list_ == SCM_EOL && ! iterator_count_;
-}
-
-Translator_group *
-Translator_group::find_existing_translator (SCM n, String id)
-{
- if ((is_alias (n) && (id_string_ == id || id.is_empty ())) || n == ly_symbol2scm ("Current"))
- return this;
-
- Translator_group* r = 0;
- for (SCM p = trans_group_list_; !r && gh_pair_p (p); p = ly_cdr (p))
- {
- Translator * t = unsmob_translator (ly_car (p));
-
- r = dynamic_cast<Translator_group*> (t)->find_existing_translator (n, id); }
-
- return r;
-}
-
-
-Translator_group*
-Translator_group::find_create_translator (SCM n, String id, SCM operations)
-{
- Translator_group * existing = find_existing_translator (n,id);
- if (existing)
- return existing;
-
- Link_array<Context_def> path
- = unsmob_context_def (definition_)->path_to_acceptable_translator (n, get_output_def ());
-
- if (path.size ())