implemented moving keyframes around in the NodeParamView

Can now change the time in the parameter panel.
This commit is contained in:
itsmattkc
2019-12-27 22:13:00 +11:00
parent 97b91d2050
commit bbef9badc7
8 changed files with 119 additions and 14 deletions
+2 -3
View File
@@ -262,8 +262,7 @@ void NodeInput::KeyframeTimeChanged()
TimeRange original_range = get_range_around_index(keyframe_index);
if ((keyframe_index > 0 && keyframes_.at(keyframe_index - 1)->time() > key->time())
|| (keyframe_index < keyframes_.size() - 1 && keyframes_.at(keyframe_index + 1)->time() < key->time())) {
if (!(original_range.in() < key->time() && original_range.out() > key->time())) {
// This keyframe needs resorting, store it and remove it from the list
NodeKeyframePtr key_shared_ptr = keyframes_.at(keyframe_index);
@@ -273,7 +272,7 @@ void NodeInput::KeyframeTimeChanged()
insert_keyframe_internal(key_shared_ptr);
// Invalidate new area that the keyframe has been moved to
emit_range_affected_by_keyframe(key_shared_ptr.get());
emit_time_range(get_range_around_index(FindIndexOfKeyframeFromRawPtr(key)));
}
// Invalidate entire area surrounding the keyframe (either where it currently is, or where it used to be before it
+2
View File
@@ -34,6 +34,7 @@ TrackOutput::TrackOutput() :
locked_(false)
{
block_input_ = new NodeInputArray("block_in", NodeParam::kAny);
block_input_->set_is_keyframable(false);
AddInput(block_input_);
connect(block_input_, SIGNAL(EdgeAdded(NodeEdgePtr)), this, SLOT(BlockConnected(NodeEdgePtr)));
connect(block_input_, SIGNAL(EdgeRemoved(NodeEdgePtr)), this, SLOT(BlockDisconnected(NodeEdgePtr)));
@@ -111,6 +112,7 @@ void TrackOutput::SetTrackHeight(const int &height)
void TrackOutput::Retranslate()
{
block_input_->set_name(tr("Blocks"));
muted_input_->set_name(tr("Muted"));
}
const int &TrackOutput::Index()