get_parent_context() to context () to avoid confusion.
* lily/include/translator.hh (class Translator): make
daddy_context_ protected.
(class Translator): clean up.
* lily/lyric-engraver.cc (get_voice_to_lyrics): recursively go
higher for finding Voice. (backportme)
2004-04-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/include/translator.hh (class Translator): rename
+ get_parent_context() to context () to avoid confusion.
+
* lily/include/lily-guile.hh: is_x -> ly_c_X_p naming.
* lily/lexer.ll: change is_string -> ly_c_string_p
{
last_keysig_ = get_property ("keySignature");
- Context * trans_ = get_parent_context ();
+ Context * trans_ = context ();
while (trans_)
{
trans_ -> set_property ("localKeySignature",
ly_deep_copy (last_keysig_));
trans_ = trans_->get_parent_context ();
}
- set_property_on_children (get_parent_context (),"localKeySignature", last_keysig_);
+ set_property_on_children (context (),"localKeySignature", last_keysig_);
}
/*
Accidental_entry entry ;
entry.head_ = info.grob_;
- entry.origin_ = info.origin_trans_->get_parent_context ();
+ entry.origin_ = info.origin_trans_->context ();
entry.melodic_ = note;
accidentals_.push (entry);
*/
if (last_keysig_ != sig)
{
- Context * trans_ = get_parent_context ();
+ Context * trans_ = context ();
while (trans_)
{
trans_ -> set_property ("localKeySignature", ly_deep_copy (sig));
trans_ = trans_->get_parent_context ();
}
- set_property_on_children (get_parent_context (),"localKeySignature", sig);
+ set_property_on_children (context (),"localKeySignature", sig);
last_keysig_ = sig;
}
Link_array<Context>
Audio_element_info::origin_contexts (Translator* end) const
{
- Context * t = origin_trans_->get_parent_context ();
+ Context * t = origin_trans_->context ();
Link_array<Context> r;
do {
r.push (t);
t = t->get_parent_context ();
- } while (t && t != end->get_parent_context ());
+ } while (t && t != end->context ());
return r;
}
stems_ = new Link_array<Item>;
grouping_ = new Beaming_info_list;
- beam_settings_ = updated_grob_properties (get_parent_context (), ly_symbol2scm ("Beam"));
+ beam_settings_ = updated_grob_properties (context (), ly_symbol2scm ("Beam"));
beam_start_moment_ = now_mom ();
beam_start_location_ = *unsmob_moment (get_property ("measurePosition"));
if (!staffline_)
return ;
- String type = get_parent_context ()->context_name ();
+ String type = context ()->context_name ();
SCM dims = get_property ("verticalExtent");
if (is_number_pair (dims))
{
SCM b = get_property ("autoBeaming");
if (!to_boolean (b))
- get_parent_context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
+ context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
}
void
{
SCM b = get_property ("autoBeaming");
if (!to_boolean (b))
- get_parent_context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
+context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
}
void
SCM name_proc = get_property ("chordNameFunction");
SCM markup = scm_call_4 (name_proc, pitches, bass, inversion,
- get_parent_context ()->self_scm ());
+ context ()->self_scm ());
/*
Ugh.
SCM basic = ly_symbol2scm ("Clef");
- execute_pushpop_property (get_parent_context (), basic, glyph_sym, SCM_UNDEFINED);
- execute_pushpop_property (get_parent_context (), basic, glyph_sym, glyph);
+ execute_pushpop_property (context (), basic, glyph_sym, SCM_UNDEFINED);
+ execute_pushpop_property (context (), basic, glyph_sym, glyph);
}
/**
if (to_boolean (force_clef))
{
- Context * w = get_parent_context ()->where_defined (ly_symbol2scm ("forceClef"));
+ Context * w = context ()->where_defined (ly_symbol2scm ("forceClef"));
w->set_property ("forceClef", SCM_EOL);
}
}
Item *p = make_item ("Script");
SCM desc = SCM_EOL;
make_script_from_event (p, &desc,
- get_parent_context (), script,
+ context (), script,
0);
if (p->get_property ("follow-into-staff"))
{
cresc_ = make_spanner ("TextSpanner");
cresc_->set_property ("style", s);
- get_parent_context ()->set_property ((start_type
+ context ()->set_property ((start_type
+ "Spanner").to_str0 (), SCM_EOL);
s = get_property ((start_type + "Text").to_str0 ());
/*
{
cresc_->set_property ("edge-text",
scm_cons (s, scm_makfrom0str ("")));
- get_parent_context ()->set_property ((start_type + "Text").to_str0 (),
+ context ()->set_property ((start_type + "Text").to_str0 (),
SCM_EOL);
}
}
Engraver_group_engraver::initialize ()
{
SCM tab = scm_make_vector (scm_int2num (61), SCM_BOOL_F);
- get_parent_context ()->set_property ("acknowledgeHashTable", tab);
+ context ()->set_property ("acknowledgeHashTable", tab);
Translator_group::initialize ();
}
if (extender_ || pending_extender_)
{
- Context *voice = get_voice_to_lyrics (get_parent_context ());
+ Context *voice = get_voice_to_lyrics (context ());
Grob* h = (voice) ? get_current_note_head (voice) : 0;
if (h)
t = SCM_CDRLOC (*t);
}
figure_ = make_item ("BassFigure");
- scm_call_3 (proc, l, get_parent_context ()->self_scm (),
+ scm_call_3 (proc, l, context ()->self_scm (),
figure_->self_scm ());
announce_grob (figure_, figures_[0]->self_scm ()); // todo
}
/*
We only want to process a grob once.
*/
- if (gi.origin_trans_->get_parent_context () != get_parent_context ())
+ if (gi.origin_trans_->context () != context ())
return ;
if (ly_c_number_p (sz) && ly_scm2double (sz))
Link_array<Context>
Grob_info::origin_contexts (Translator* end) const
{
- Context * t = origin_trans_->get_parent_context ();
+ Context * t = origin_trans_->context ();
Link_array<Context> r;
do {
r.push (t);
t = t->get_parent_context ();
- } while (t && t != end->get_parent_context ());
+ } while (t && t != end->context ());
return r;
}
void
Grob_pq_engraver::initialize ()
{
- get_parent_context ()->set_property ("busyGrobs", SCM_EOL);
+ context ()->set_property ("busyGrobs", SCM_EOL);
}
LY_DEFINE (ly_grob_pq_less_p, "ly:grob-pq-less?",
SCM busy= get_property ("busyGrobs");
busy = scm_merge_x (lst, busy, ly_grob_pq_less_p_proc);
- get_parent_context ()->set_property ("busyGrobs", busy);
+ context ()->set_property ("busyGrobs", busy);
}
}
}
if (start_busy != busy)
- get_parent_context ()->set_property ("busyGrobs", busy);
+ context ()->set_property ("busyGrobs", busy);
}
void
}
if (start_busy != busy)
- get_parent_context ()->set_property ("busyGrobs", busy);
+ context ()->set_property ("busyGrobs", busy);
}
TRANSLATOR_DECLARATIONS(Engraver);
};
-#define make_item(x) make_item_from_properties (get_parent_context (), ly_symbol2scm (x))
-#define make_spanner(x) make_spanner_from_properties (get_parent_context (), ly_symbol2scm (x))
+#define make_item(x) make_item_from_properties (context (), ly_symbol2scm (x))
+#define make_spanner(x) make_spanner_from_properties (context (), ly_symbol2scm (x))
Item* make_item_from_properties (Context * tg, SCM x);
Spanner* make_spanner_from_properties (Context * tg, SCM x);
void init ();
public:
- Context * get_parent_context () const { return daddy_context_; }
+ Context * context () const { return daddy_context_; }
Translator (Translator const &);
void
Instrument_name_engraver::initialize ()
{
- get_parent_context ()->set_property ("instrumentSupport", SCM_EOL);
+ context ()->set_property ("instrumentSupport", SCM_EOL);
}
void
SCM nl = scm_cons (i.grob_->self_scm (),
get_property ("instrumentSupport"));
- get_parent_context ()->set_property ("instrumentSupport", nl);
+ context ()->set_property ("instrumentSupport", nl);
}
}
if (ly_scm2int (ly_cdar (s)))
accs = scm_cons (ly_car (s), accs);
- get_parent_context ()->set_property ("keySignature", accs);
- get_parent_context ()->set_property ("tonic" ,
+ context ()->set_property ("keySignature", accs);
+ context ()->set_property ("tonic" ,
r->get_property ("tonic"));
}
Key_engraver::start_translation_timestep ()
{
key_ev_ = 0;
- get_parent_context ()->set_property ("lastKeySignature", get_property ("keySignature"));
+ context ()->set_property ("lastKeySignature", get_property ("keySignature"));
}
void
Key_engraver::initialize ()
{
- get_parent_context ()->set_property ("keySignature", SCM_EOL);
- get_parent_context ()->set_property ("lastKeySignature", SCM_EOL);
+ context ()->set_property ("keySignature", SCM_EOL);
+ context ()->set_property ("lastKeySignature", SCM_EOL);
Pitch p (0,0,0);
- get_parent_context ()->set_property ("tonic", p.smobbed_copy ());
+ context ()->set_property ("tonic", p.smobbed_copy ());
}
{
SCM target_callback = ly_symbol2scm ("print-function");
SCM source_callback = ly_symbol2scm ("ligature-primitive-callback");
- SCM noteHeadProperties = updated_grob_properties (get_parent_context (), ly_symbol2scm ("NoteHead"));
+ SCM noteHeadProperties = updated_grob_properties (context (), ly_symbol2scm ("NoteHead"));
SCM value = ly_cdr (scm_sloppy_assq (source_callback, noteHeadProperties));
- execute_pushpop_property (get_parent_context (), ly_symbol2scm ("NoteHead"),
+ execute_pushpop_property (context (), ly_symbol2scm ("NoteHead"),
target_callback, value);
}
{
SCM symbol = ly_symbol2scm ("NoteHead");
SCM key = ly_symbol2scm ("print-function");
- execute_pushpop_property (get_parent_context (), symbol, key, SCM_UNDEFINED);
+ execute_pushpop_property (context (), symbol, key, SCM_UNDEFINED);
}
void
{
if (text_)
{
- Context * voice = get_voice_to_lyrics (get_parent_context ());
+ Context * voice = get_voice_to_lyrics (context ());
if (voice)
{
{
int mark_count = ly_scm2int (m);
mark_count ++;
- get_parent_context ()->set_property ("rehearsalMark",
+ context ()->set_property ("rehearsalMark",
scm_int2num (mark_count));
}
if (ly_c_number_p (m))
- m = scm_call_2 (proc, m, get_parent_context ()->self_scm ());
+ m = scm_call_2 (proc, m, context ()->self_scm ());
else
warning ("rehearsalMark does not have integer value.");
}
{
if (m->is_mus_type ("melisma-playing-event"))
{
- return melisma_busy (get_parent_context ());
+ return melisma_busy (context ());
}
else if (m->is_mus_type ("melisma-span-event"))
{
SCM sd = event_->get_property ("span-direction");
Direction d = to_dir (sd);
if (d == START)
- get_parent_context ()->set_property ("melismaBusy", SCM_BOOL_T);
+ context ()->set_property ("melismaBusy", SCM_BOOL_T);
else
- get_parent_context ()->unset_property (ly_symbol2scm ("melismaBusy"));
+ context ()->unset_property (ly_symbol2scm ("melismaBusy"));
}
}
SCM proc = get_property ("metronomeMarkFormatter");
SCM result= scm_call_2 (proc, mark_ev_->self_scm (),
- get_parent_context ()->self_scm ());
+ context ()->self_scm ());
text_->set_property ("text", result);
}
Finger_tuple ft ;
Grob * g= make_item ("Script");
- make_script_from_event (g, &ft.description_, get_parent_context (),
+ make_script_from_event (g, &ft.description_, context (),
event->get_property ("articulation-type"), 0);
if (g)
{
head_ = info.grob_;
if (to_boolean (get_property ("followVoice")))
{
- Context * tr = get_parent_context ();
+ Context * tr = context ();
while (tr && !tr->is_alias (ly_symbol2scm ( "Staff")))
tr = tr->get_parent_context () ;
dynamic_cast<Context *> (inf.origin_trans_);
if (!d)
- d = dynamic_cast<Context *> (inf.origin_trans_->get_parent_context ());
+ d = dynamic_cast<Context *> (inf.origin_trans_->context ());
SCM proc = o->get_property ("procedure");
scm_call_3 (proc,
inf.grob_->self_scm (),
d->self_scm (),
- get_parent_context ()->self_scm ());
+ context ()->self_scm ());
}
}
}
{
announce_infos_.push (info);
Translator *t
- = get_parent_context ()->get_parent_context ()->implementation ();
+ = context ()->get_parent_context ()->implementation ();
if (Performer_group_performer * eg = dynamic_cast<Performer_group_performer*> (t))
eg->announce_element (info);
SCM proc = get_property ("recordEventSequence");
if (ly_c_procedure_p (proc))
- scm_call_2 (proc, get_parent_context ()->self_scm (), ly_cdr (accumulator_));
+ scm_call_2 (proc, context ()->self_scm (), ly_cdr (accumulator_));
accumulator_ = SCM_EOL;
}
void
Repeat_acknowledge_engraver::initialize ()
{
- get_parent_context ()->set_property ("repeatCommands", SCM_EOL);
+ context ()->set_property ("repeatCommands", SCM_EOL);
}
void
Repeat_acknowledge_engraver::start_translation_timestep ()
{
- Context * tr = get_parent_context ()->where_defined (ly_symbol2scm ("repeatCommands"));
+ Context * tr = context ()->where_defined (ly_symbol2scm ("repeatCommands"));
if (!tr)
- tr = get_parent_context ();
+ tr = context ();
tr->set_property ("repeatCommands", SCM_EOL);
}
{
if (s != "" || (volta_found && !ly_c_string_p (wb)))
{
- get_parent_context ()->set_property ("whichBar", scm_makfrom0str (s.to_str0 ()));
+ context ()->set_property ("whichBar", scm_makfrom0str (s.to_str0 ()));
}
}
}
if (!command_column_)
{
SCM nmp
- = updated_grob_properties (get_parent_context (),
+ = updated_grob_properties (context (),
ly_symbol2scm ("NonMusicalPaperColumn"));
- SCM pc = updated_grob_properties (get_parent_context (),
+ SCM pc = updated_grob_properties (context (),
ly_symbol2scm ("PaperColumn"));
set_columns (new Paper_column (nmp), new Paper_column (pc));
command_column_->set_property ("when", w);
musical_column_->set_property ("when", w);
- recurse_over_translators (get_parent_context (), &Translator::start_translation_timestep, DOWN);
+ recurse_over_translators (context (), &Translator::start_translation_timestep, DOWN);
}
void
if ((breaks_%8))
progress_indication ("[" + to_string (breaks_) + "]");
- recurse_over_translators (get_parent_context (), &Translator::finalize, UP);
+ recurse_over_translators (context (), &Translator::finalize, UP);
}
/*
pscore_ = new Paper_score;
pscore_->paper_ = dynamic_cast<Paper_def*> (get_output_def ());
- SCM props = updated_grob_properties (get_parent_context (), ly_symbol2scm ("System"));
+ SCM props = updated_grob_properties (context (), ly_symbol2scm ("System"));
pscore_->typeset_line (new System (props));
{
if (!to_boolean (get_property ("skipTypesetting")))
{
- recurse_over_translators (get_parent_context (), &Engraver::process_music, UP);
- recurse_over_translators (get_parent_context (), &Engraver::do_announces, UP);
+ recurse_over_translators (context (), &Engraver::process_music, UP);
+ recurse_over_translators (context (), &Engraver::do_announces, UP);
}
- recurse_over_translators (get_parent_context (), &Translator::stop_translation_timestep, UP);
+ recurse_over_translators (context (), &Translator::stop_translation_timestep, UP);
}
void
musical_column_ = new_musical;
if (new_command)
{
- get_parent_context ()->set_property ("currentCommandColumn", new_command->self_scm ());
+ context ()->set_property ("currentCommandColumn", new_command->self_scm ());
}
if (new_musical)
{
- get_parent_context ()->set_property ("currentMusicalColumn", new_musical->self_scm ());
+ context ()->set_property ("currentMusicalColumn", new_musical->self_scm ());
}
}
{
audio_column_ = new Audio_column (m);
play_element (audio_column_);
- recurse_over_translators (get_parent_context (), &Translator::start_translation_timestep, UP);
+ recurse_over_translators (context (), &Translator::start_translation_timestep, UP);
}
void
Score_performer::finish ()
{
- recurse_over_translators (get_parent_context (), &Translator::finalize, UP);
+ recurse_over_translators (context (), &Translator::finalize, UP);
}
void
Score_performer::one_time_step ()
{
- recurse_over_translators (get_parent_context (), &Performer::process_music, UP);
- recurse_over_translators (get_parent_context (), &Performer::do_announces, UP);
- recurse_over_translators (get_parent_context (), &Translator::stop_translation_timestep, UP);
+ recurse_over_translators (context (), &Performer::process_music, UP);
+ recurse_over_translators (context (), &Performer::do_announces, UP);
+ recurse_over_translators (context (), &Translator::stop_translation_timestep, UP);
}
int
Grob * p = make_item ("Script");
- make_script_from_event (p, &scripts_[i].description_, get_parent_context (),
+ make_script_from_event (p, &scripts_[i].description_, context (),
l->get_property ("articulation-type"),
i);
if (ib)
{
p_ref_->set_property ("breakable", SCM_BOOL_T);
- get_parent_context ()->set_property ("breakableSeparationItem", p_ref_->self_scm ());
+ context ()->set_property ("breakableSeparationItem", p_ref_->self_scm ());
}
announce_grob (p_ref_, SCM_EOL);
Separating_line_group_engraver::start_translation_timestep ()
{
if (break_item_)
- get_parent_context ()->unset_property (ly_symbol2scm ("breakableSeparationItem"));
+ context ()->unset_property (ly_symbol2scm ("breakableSeparationItem"));
break_item_ =0;
}
void
Slur_engraver::set_melisma (bool m)
{
- get_parent_context ()->set_property ("slurMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
+ context ()->set_property ("slurMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
}
void
void
Slur_performer::set_melisma (bool ml)
{
- get_parent_context ()->set_property ("slurMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
+ context ()->set_property ("slurMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
}
void
SCM staffs = get_property ("stavesFound");
staffs = scm_cons (gi.grob_->self_scm (), staffs);
- get_parent_context ()->set_property ("stavesFound", staffs);
+ context ()->set_property ("stavesFound", staffs);
}
}
audio_staff_ = new Audio_staff;
announce_element (Audio_element_info (audio_staff_, 0));
- name_ = new Audio_text (Audio_text::TRACK_NAME, get_parent_context ()->id_string_);
+ name_ = new Audio_text (Audio_text::TRACK_NAME, context ()->id_string_);
announce_element (Audio_element_info (name_, 0));
tempo_ = new Audio_tempo (get_tempo ());
else
requested_type = 8;
else
- get_parent_context ()->set_property ("tremoloFlags", scm_int2num (requested_type));
+ context ()->set_property ("tremoloFlags", scm_int2num (requested_type));
int tremolo_flags = intlog2 (requested_type) - 2
- (duration_log > 2 ? duration_log - 2 : 0);
if (ly_c_number_p (prop))
{
Stem::set_beaming (stem_,ly_scm2int (prop),LEFT);
- get_parent_context ()->unset_property (ly_symbol2scm ("stemLeftBeamCount"));
+ context ()->unset_property (ly_symbol2scm ("stemLeftBeamCount"));
}
prop = get_property ("stemRightBeamCount");
if (ly_c_number_p (prop))
{
Stem::set_beaming (stem_,ly_scm2int (prop), RIGHT);
- get_parent_context ()->unset_property (ly_symbol2scm ("stemRightBeamCount"));
+ context ()->unset_property (ly_symbol2scm ("stemRightBeamCount"));
}
typeset_grob (stem_);
if (!delim_)
{
SCM delim_name =get_property ("systemStartDelimiter");
- delim_ = make_spanner_from_properties (get_parent_context (), delim_name);
+ delim_ = make_spanner_from_properties (context (), delim_name);
delim_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
announce_grob (delim_, SCM_EOL);
Tie_engraver::process_music ()
{
if (event_)
- get_parent_context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
+ context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
}
void
void
Tie_engraver::start_translation_timestep ()
{
- get_parent_context ()->set_property ("tieMelismaBusy",
+ context ()->set_property ("tieMelismaBusy",
ly_bool2scm (heads_to_tie_.size ()));
}
Tie_performer::process_music ()
{
if (event_)
- get_parent_context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
+ context ()->set_property ("tieMelismaBusy", SCM_BOOL_T);
}
void
void
Tie_performer::start_translation_timestep ()
{
- get_parent_context ()->set_property ("tieMelismaBusy",
+ context ()->set_property ("tieMelismaBusy",
ly_bool2scm (heads_to_tie_.size ()));
}
which = (now.main_part_ || now.main_part_ == last_moment_.main_part_)
? SCM_EOL : scm_makfrom0str ("|");
- get_parent_context ()->set_property ("whichBar", which);
+ context ()->set_property ("whichBar", which);
}
}
}
- get_parent_context ()->set_property ("whichBar", which);
+ context ()->set_property ("whichBar", which);
}
void
Timing_engraver::stop_translation_timestep ()
{
Timing_translator::stop_translation_timestep ();
- get_parent_context ()->set_property ("whichBar", SCM_EOL);
+ context ()->set_property ("whichBar", SCM_EOL);
last_moment_ = now_mom ();
}
/*
move this to engraver-init.ly?
*/
- get_parent_context ()->add_alias (ly_symbol2scm ("Timing"));
- get_parent_context ()->set_property ("timing" , SCM_BOOL_T);
- get_parent_context ()->set_property ("currentBarNumber" , scm_int2num (1));
+ context ()->add_alias (ly_symbol2scm ("Timing"));
+ context ()->set_property ("timing" , SCM_BOOL_T);
+ context ()->set_property ("currentBarNumber" , scm_int2num (1));
- get_parent_context ()->set_property ("timeSignatureFraction",
+ context ()->set_property ("timeSignatureFraction",
scm_cons (scm_int2num (4), scm_int2num (4)));
/*
Do not init measurePosition; this should be done from global
context.
*/
- get_parent_context ()->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ());
- get_parent_context ()->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ());
+ context ()->set_property ("measureLength", Moment (Rational (1)).smobbed_copy ());
+ context ()->set_property ("beatLength", Moment (Rational (1,4)).smobbed_copy ());
}
Rational
else
{
measposp = now;
- get_parent_context ()->set_property ("measurePosition",
+ context ()->set_property ("measurePosition",
measposp.smobbed_copy ());
}
b ++;
}
- get_parent_context ()->set_property ("currentBarNumber", scm_int2num (b));
- get_parent_context ()->set_property ("measurePosition", measposp.smobbed_copy ());
+ context ()->set_property ("currentBarNumber", scm_int2num (b));
+ context ()->set_property ("measurePosition", measposp.smobbed_copy ());
}
ENTER_DESCRIPTION (Timing_translator,
Translator_group*
Translator_group::get_daddy_translator () const
{
- return get_parent_context ()->get_parent_context ()->implementation ();
+ return context ()->get_parent_context ()->implementation ();
}
Translator_group::initialize ()
{
SCM tab = scm_make_vector (scm_int2num (19), SCM_BOOL_F);
- get_parent_context ()->set_property ("acceptHashTable", tab);
+ context ()->set_property ("acceptHashTable", tab);
}