Mercurial > hg > svgui
diff layer/FlexiNoteLayer.cpp @ 748:84e4cf889659 tonioni
Make pitch-track editing operations update the notes as well, automatically
author | Chris Cannam |
---|---|
date | Thu, 27 Mar 2014 18:02:12 +0000 |
parents | bc049f1f080e |
children | 03423269a9d0 |
line wrap: on
line diff
--- a/layer/FlexiNoteLayer.cpp Thu Mar 27 16:30:26 2014 +0000 +++ b/layer/FlexiNoteLayer.cpp Thu Mar 27 18:02:12 2014 +0000 @@ -1301,7 +1301,8 @@ for (int i = 0; i < v->getLayerCount(); ++i) { Layer *layer = v->getLayer(i); - if (layer && !layer->isLayerDormant(v)) { + if (layer && !layer->isLayerDormant(v) && + layer->getLayerPresentationName() != "candidate") { cerr << "FlexiNoteLayer::getAssociatedPitchModel: looks like our layer is " << layer << endl; SparseTimeValueModel *model = qobject_cast<SparseTimeValueModel *> (layer->getModel()); @@ -1335,7 +1336,7 @@ cerr << "snapSelectedNotesToPitchTrack: looking at note from " << note.frame << " to " << note.frame + note.duration << endl; - if (!s.contains(note.frame) || + if (!s.contains(note.frame) && !s.contains(note.frame + note.duration - 1)) { continue; } @@ -1405,7 +1406,7 @@ dataPoints.begin(); i != dataPoints.end(); ++i) { if (i->frame >= note.frame && i->frame < note.frame + note.duration) { - pitchValues.push_back((*i).value); + pitchValues.push_back(i->value); } }