#include "lookup.hh"
#include "dimen.hh"
#include "input-translator.hh"
-#include "engraver-group.hh"
#include "assoc-iter.hh"
+#include "score-grav.hh"
+#include "p-score.hh"
+#include "main.hh"
void
Paper_def::set_var (String s, Real r)
{
- real_vars_p_->elem (s) = r;
+ real_vars_p_->elem (s) = r;
}
Real
-Paper_def::get_var (String s)const
+Paper_def::get_var (String s) const
{
if (! real_vars_p_->elt_b (s))
- error ( "unknown paper variable `" + s+"'");
+ error ("unknown paper variable `" + s+"'");
return real_vars_p_->elem (s);
}
}
Real
-Paper_def::duration_to_dist (Moment d,Real k)const
+Paper_def::duration_to_dist (Moment d,Real k) const
{
if (get_var("geometric"))
return geometric_spacing(d);
}
Real
-Paper_def::arithmetic_spacing(Moment d ,Real k)const
+Paper_def::arithmetic_spacing(Moment d ,Real k) const
{
- return (log_2(d) + k)* get_var( "arithmetic_multiplier");
+ return (log_2(d) + k)* get_var("arithmetic_multiplier");
}
Real
Real
-Paper_def::rule_thickness()const
+Paper_def::rule_thickness() const
{
return get_var ("rule_thickness");
}
}
Real
-Paper_def::note_width()const
+Paper_def::note_width() const
{
return get_var ("notewidth");
}
itrans_p_->print();
for (Assoc_iter<String,Real> i (*real_vars_p_); i.ok(); i++)
{
- DOUT << i.key() << "= " << i.val () << "\n";
+ DOUT << i.key() << "= " << i.val () << "\n";
}
DOUT << "}\n";
#endif
}
Global_translator*
-Paper_def::get_global_translator_p() const
+Paper_def::get_global_translator_p()
{
- return itrans_p_->get_group_engraver_p()->global_l ();
+ if (only_midi)
+ {
+ return 0;
+ }
+
+ Global_translator* g = itrans_p_->get_group_engraver_p()->global_l ();
+ assert (g->is_type_b (Score_engraver::static_name()));
+ Score_engraver*grav = (Score_engraver*) g;
+ grav->pscore_p_ = new Paper_score;
+ grav->pscore_p_->paper_l_ = this;
+ return g;
}
+
+IMPLEMENT_IS_TYPE_B1(Paper_def, Music_output_def);