Mercurial > hg > svgui
comparison layer/FlexiNoteLayer.cpp @ 1533:37df1530519d
Fix failure to apply new frame when pasting events
| author | Chris Cannam | 
|---|---|
| date | Wed, 09 Oct 2019 11:51:19 +0100 | 
| parents | 0fa49a6ce64f | 
| children | 4f8c72adbf43 | 
   comparison
  equal
  deleted
  inserted
  replaced
| 1532:14a162f6870f | 1533:37df1530519d | 
|---|---|
| 1738 to.addPoint(p.withReferenceFrame(alignToReference(v, p.getFrame()))); | 1738 to.addPoint(p.withReferenceFrame(alignToReference(v, p.getFrame()))); | 
| 1739 } | 1739 } | 
| 1740 } | 1740 } | 
| 1741 | 1741 | 
| 1742 bool | 1742 bool | 
| 1743 FlexiNoteLayer::paste(LayerGeometryProvider *v, const Clipboard &from, sv_frame_t /*frameOffset */, bool /* interactive */) | 1743 FlexiNoteLayer::paste(LayerGeometryProvider *v, const Clipboard &from, | 
| 1744 sv_frame_t /*frameOffset */, bool /* interactive */) | |
| 1744 { | 1745 { | 
| 1745 auto model = ModelById::getAs<NoteModel>(m_model); | 1746 auto model = ModelById::getAs<NoteModel>(m_model); | 
| 1746 if (!model) return false; | 1747 if (!model) return false; | 
| 1747 | 1748 | 
| 1748 const EventVector &points = from.getPoints(); | 1749 const EventVector &points = from.getPoints(); | 
| 1785 } else { | 1786 } else { | 
| 1786 frame = i->getFrame(); | 1787 frame = i->getFrame(); | 
| 1787 } | 1788 } | 
| 1788 } | 1789 } | 
| 1789 | 1790 | 
| 1790 Event p = *i; | 1791 Event p = i->withFrame(frame); | 
| 1792 | |
| 1791 Event newPoint = p; | 1793 Event newPoint = p; | 
| 1792 if (!p.hasValue()) { | 1794 if (!p.hasValue()) { | 
| 1793 newPoint = newPoint.withValue((model->getValueMinimum() + | 1795 newPoint = newPoint.withValue((model->getValueMinimum() + | 
| 1794 model->getValueMaximum()) / 2); | 1796 model->getValueMaximum()) / 2); | 
| 1795 } | 1797 } | 
