From 2a13cb9e6804dc82deccf585a5e2fe1e47ecfb04 Mon Sep 17 00:00:00 2001 From: brunoherbelin Date: Wed, 19 Nov 2025 21:28:11 +0100 Subject: [PATCH 1/3] BugFix Avoid reload media player on undo/redo --- src/SessionCreator.cpp | 5 ++++- src/SourceControlWindow.cpp | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) 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"; From f9c14db28410f9d08e13794475ff9e9e4064e439 Mon Sep 17 00:00:00 2001 From: brunoherbelin Date: Wed, 19 Nov 2025 21:29:48 +0100 Subject: [PATCH 2/3] typo in command flatpak --- flatpak/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From f11e159c44cc3d6895e106c9f3477629ae724820 Mon Sep 17 00:00:00 2001 From: brunoherbelin Date: Wed, 19 Nov 2025 23:47:40 +0100 Subject: [PATCH 3/3] Add mouse over on sourece preview in side panel to show original source image --- src/ImGuiVisitor.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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(