#include "p-col.hh"
#include "score-column.hh"
-Score_column::Score_column(Moment w)
+Score_column::Score_column (Moment w)
{
- when_ = w;
- musical_b_ = false;
+ when_ = w;
+ musical_b_ = false;
}
void
-Score_column::print() const
+Score_column::do_print() const
{
#ifndef NPRINT
- mtor << "Score_column { mus "<< musical_b_ <<" at " << when_<<'\n';
- mtor << "durations: [";
- for (int i=0; i < durations.size(); i++)
- mtor << durations[i] << " ";
- mtor << "]\n";
- PCol::print();
- mtor << "}\n";
+ DOUT << "mus "<< musical_b_ <<" at " << when_<<'\n';
+ DOUT << "durations: [";
+ for (int i=0; i < durations.size(); i++)
+ DOUT << durations[i] << " ";
+ DOUT << "]\n";
+ Paper_column::do_print();
#endif
}
int
-Moment_compare(Moment const &m1, Moment const &m2)
+Moment_compare (Moment const &m1, Moment const &m2)
{
- return sign(m1-m2);
+ return sign (m1-m2);
}
void
Score_column::preprocess()
{
- durations.sort(Moment_compare);
+ durations.sort (Moment_compare);
}
void
-Score_column::add_duration(Moment d)
+Score_column::add_duration (Moment d)
{
- assert(d);
- for (int i = 0; i< durations.size(); i++) {
- if (d == durations[i])
- return ;
+ if (!d)
+ {
+ warning (_("Ignoring zero duration added to column at ")
+ + when_.str ());
+ return;
}
- durations.push(d);
+
+ for (int i = 0; i< durations.size(); i++)
+ {
+ if (d == durations[i])
+ return ;
+ }
+ durations.push (d);
}
-void
-Score_column::do_set_breakable()
-{
- Score_column *c1 = new Score_column(when_);
- Score_column *c2 = new Score_column(when_);
- prebreak_p_ =c1;
- postbreak_p_ = c2;
- c1->durations = durations;
- c2->durations = durations;
- c1->musical_b_
- = c2->musical_b_ = musical_b_;
-}
+IMPLEMENT_IS_TYPE_B1(Score_column, Paper_column);