#include "slur.hh"
#include "debug.hh"
#include "note-column.hh"
+#include "translator-group.hh"
bool
Slur_engraver::do_try_music (Music *req_l)
if (sl->span_type_str_ != "slur")
return false;
new_slur_req_l_arr_.push (sl);
+
return true;
}
return false;
}
+void
+Slur_engraver::set_melisma (bool m)
+{
+ Translator_group *where = daddy_trans_l_;
+ get_property ("slurMelismaBusy", &where);
+ if (!where)
+ where = daddy_trans_l_;
+
+ daddy_trans_l_->set_property ("slurMelismaBusy", m ? "1" :"0");
+}
+
void
Slur_engraver::acknowledge_element (Score_element_info info)
{
typeset_element (slur_l_stack_[i]);
}
slur_l_stack_.clear ();
- for (int i=0; i < requests_arr_.size(); i++)
- {
- requests_arr_[i]->warning (_ ("unterminated slur"));
- }
+ if (!get_property ("weAreGraceContext",0).to_bool ())
+ for (int i=0; i < requests_arr_.size(); i++)
+ {
+ requests_arr_[i]->warning (_ ("unterminated slur"));
+ }
}
void
// push a new slur onto stack.
//(use temp. array to wait for all slur STOPs)
Slur * s_p =new Slur;
- Scalar prop = get_property ("slurdash", 0);
+ Scalar prop = get_property ("slurDash", 0);
if (prop.isnum_b ())
s_p->set_elt_property (dashed_scm_sym, gh_int2scm(prop));
Slur_engraver::do_post_move_processing()
{
new_slur_req_l_arr_.clear();
+ if (get_property ("automaticMelismata",0).to_bool ())
+ {
+ set_melisma (slur_l_stack_.size ());
+ }
}