QVector<CurveSegmentModel*> CurveCommandObjectBase::deserializeSegments() const { QVector<CurveSegmentModel*> segments; std::transform(m_startSegments.begin(), m_startSegments.end(), std::back_inserter(segments), [] (QByteArray arr) { Deserializer<DataStream> des(arr); return createCurveSegment(des, nullptr); }); return segments; }
void Model::fromCurveData(const std::vector<SegmentData>& curve) { this->blockSignals(true); clear(); auto& context = score::IDocument::documentContext(*this).app; auto& csl = context.interfaces<SegmentList>(); CurveSegmentOrderedMap map(curve.begin(), curve.end()); for (const auto& elt : map.get<Segments::Ordered>()) { addSortedSegment(createCurveSegment(csl, elt, this)); } this->blockSignals(false); curveReset(); changed(); }