mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-12 02:40:00 +01:00
BugFix SessionFile source import
This commit is contained in:
@@ -296,7 +296,7 @@ float LayerView::setDepth(Source *s, float d)
|
|||||||
sourceNode->translation_.z = CLAMP( depth, MIN_DEPTH, MAX_DEPTH);
|
sourceNode->translation_.z = CLAMP( depth, MIN_DEPTH, MAX_DEPTH);
|
||||||
|
|
||||||
// request reordering of scene at next update
|
// request reordering of scene at next update
|
||||||
View::need_deep_update_++;
|
++View::need_deep_update_;
|
||||||
|
|
||||||
// request update of source
|
// request update of source
|
||||||
s->touch();
|
s->touch();
|
||||||
|
|||||||
@@ -268,6 +268,8 @@ Source * Mixer::createSourceFile(const std::string &path)
|
|||||||
// propose a new name based on uri
|
// propose a new name based on uri
|
||||||
s->setName(SystemToolkit::base_filename(path));
|
s->setName(SystemToolkit::base_filename(path));
|
||||||
|
|
||||||
|
// remember as recent import
|
||||||
|
Settings::application.recentImport.push(path);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Settings::application.recentImport.remove(path);
|
Settings::application.recentImport.remove(path);
|
||||||
@@ -443,9 +445,6 @@ void Mixer::insertSource(Source *s, View::Mode m)
|
|||||||
|
|
||||||
// notify creation of source
|
// notify creation of source
|
||||||
Log::Notify("Added source '%s' with %s", s->name().c_str(), s->info().c_str());
|
Log::Notify("Added source '%s' with %s", s->name().c_str(), s->info().c_str());
|
||||||
MediaSource *ms = dynamic_cast<MediaSource *>(s);
|
|
||||||
if (ms)
|
|
||||||
Settings::application.recentImport.push(ms->path());
|
|
||||||
|
|
||||||
// if requested to show the source in a given view
|
// if requested to show the source in a given view
|
||||||
// (known to work for View::MIXING et TRANSITION: other views untested)
|
// (known to work for View::MIXING et TRANSITION: other views untested)
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ void SessionFileSource::init()
|
|||||||
active_ = true;
|
active_ = true;
|
||||||
touch();
|
touch();
|
||||||
|
|
||||||
// update to draw framebuffer
|
// update to draw framebuffer
|
||||||
session_->update(dt_);
|
session_->update(dt_);
|
||||||
|
|
||||||
// if all sources are ready, done with initialization!
|
// if all sources are ready, done with initialization!
|
||||||
@@ -227,7 +227,7 @@ void SessionFileSource::init()
|
|||||||
// set resolution
|
// set resolution
|
||||||
session_->setResolution( session_->config(View::RENDERING)->scale_ );
|
session_->setResolution( session_->config(View::RENDERING)->scale_ );
|
||||||
|
|
||||||
// update to draw framebuffer
|
// update to draw framebuffer
|
||||||
session_->update(dt_);
|
session_->update(dt_);
|
||||||
|
|
||||||
// get the texture index from framebuffer of session, apply it to the surface
|
// get the texture index from framebuffer of session, apply it to the surface
|
||||||
@@ -255,8 +255,10 @@ void SessionFileSource::init()
|
|||||||
Node *loader = overlays_[View::TRANSITION]->back();
|
Node *loader = overlays_[View::TRANSITION]->back();
|
||||||
overlays_[View::TRANSITION]->detach(loader);
|
overlays_[View::TRANSITION]->detach(loader);
|
||||||
delete loader;
|
delete loader;
|
||||||
// deep update to reorder
|
// request deep update to reorder session_
|
||||||
++View::need_deep_update_;
|
++View::need_deep_update_;
|
||||||
|
// run update to redraw framebuffer (after reorder)
|
||||||
|
session_->update(dt_);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
View.cpp
2
View.cpp
@@ -80,7 +80,7 @@ void View::update(float dt)
|
|||||||
// a more complete update is requested
|
// a more complete update is requested
|
||||||
if (View::need_deep_update_ > 0) {
|
if (View::need_deep_update_ > 0) {
|
||||||
// reorder sources
|
// reorder sources
|
||||||
scene.ws()->sort();
|
scene.root()->sort();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user