void TimeSigMap::add(int tick, const Fraction& f) { if (!f.isValid()) { qDebug("illegal signature %d/%d", f.numerator(), f.denominator()); } (*this)[tick] = SigEvent(f); normalize(); }
TimeSig* MCursor::addTimeSig(const Fraction& f) { createMeasures(); Measure* measure = _score->tick2measure(_tick); Segment* segment = measure->getSegment(Segment::Type::TimeSig, _tick); TimeSig* ts = 0; for (int i = 0; i < _score->nstaves(); ++i) { ts = new TimeSig(_score); ts->setSig(f, TimeSigType::NORMAL); ts->setTrack(i * VOICES); segment->add(ts); } _score->sigmap()->add(_tick, SigEvent(f)); return ts; }