diff --git a/flatpak/README.md b/flatpak/README.md index e0994b1..43f672d 100644 --- a/flatpak/README.md +++ b/flatpak/README.md @@ -33,7 +33,7 @@ If not already installed, install the builder and the flathub repository: Install the runtime environments: flatpak install org.freedesktop.Sdk/x86_64/25.08 - flatpak install org.freedesktop.Platform/25.08 + flatpak install org.freedesktop.Platform/x86_64/25.08 ### 2. Build vimix flatpak diff --git a/src/ImGuiVisitor.cpp b/src/ImGuiVisitor.cpp index 4d5d6e0..3ecce48 100644 --- a/src/ImGuiVisitor.cpp +++ b/src/ImGuiVisitor.cpp @@ -432,8 +432,14 @@ void ImGuiVisitor::visit (Source& s) } // centered image if (s.ready()) { - ImGui::SetCursorPos( ImVec2(pos.x + 0.5f * (preview_width-width), pos.y + 0.5f * (preview_height-height-space)) ); + ImVec2 dpos = ImVec2(pos.x + 0.5f * (preview_width-width), pos.y + 0.5f * (preview_height-height-space)); + ImGui::SetCursorPos( dpos ); ImGui::Image((void*)(uintptr_t) s.frame()->texture(), ImVec2(width, height)); + if (ImGui::IsItemHovered()) { + ImGui::SetCursorPos( dpos ); + ImGui::Image((void*)(uintptr_t) s.texture(), ImVec2(width, height)); + ImGuiToolkit::ToolTip("Source original image"); + } } else { ImGuiToolkit::PushFont(ImGuiToolkit::FONT_LARGE); ImGui::SetCursorPos( diff --git a/src/SessionCreator.cpp b/src/SessionCreator.cpp index 83f8444..2914f73 100644 --- a/src/SessionCreator.cpp +++ b/src/SessionCreator.cpp @@ -1145,6 +1145,7 @@ void SessionLoader::visit (Source& s) void SessionLoader::visit (MediaSource& s) { + bool freshload = false; // set uri XMLElement* pathNode = xmlCurrent_->FirstChildElement("uri"); // TODO change to "path" but keep backward compatibility if (pathNode) { @@ -1162,6 +1163,7 @@ void SessionLoader::visit (MediaSource& s) } } s.setPath(path); + freshload = true; } } // ensures the source is initialized even if no valid path is given @@ -1178,7 +1180,8 @@ void SessionLoader::visit (MediaSource& s) s.mediaplayer()->setRate(1.0); // add a callback to activate source play speed and rewind s.call( new PlaySpeed( r ) ); - s.call( new RePlay( ) ); + if (freshload) + s.call( new RePlay( ) ); } void SessionLoader::visit (SessionFileSource& s) diff --git a/src/SourceControlWindow.cpp b/src/SourceControlWindow.cpp index 67c50e1..d8f0734 100644 --- a/src/SourceControlWindow.cpp +++ b/src/SourceControlWindow.cpp @@ -471,7 +471,8 @@ void SourceControlWindow::Render() mediaplayer_active_->timeline()->clearFading(); mediaplayer_active_->timeline()->clearGaps(); mediaplayer_active_->timeline()->clearFlags(); - mediaplayer_active_->setVideoEffect(""); + if (!mediaplayer_active_->videoEffect().empty() && mediaplayer_active_->videoEffectAvailable()) + mediaplayer_active_->setVideoEffect(""); std::ostringstream oss; oss << SystemToolkit::base_filename( mediaplayer_active_->filename() ); oss << ": Reset timeline";