From 2718e831326485b997c9fcfe1ff507fc4fc36908 Mon Sep 17 00:00:00 2001 From: Bruno Herbelin Date: Sun, 2 Jan 2022 23:17:22 +0100 Subject: [PATCH] Happy new year 2022 --- ActionManager.cpp | 2 +- BaseToolkit.cpp | 2 +- Connection.cpp | 2 +- ControlManager.cpp | 2 +- Decorations.cpp | 2 +- DeviceSource.cpp | 2 +- DialogToolkit.cpp | 2 +- DrawVisitor.cpp | 2 +- FrameBuffer.cpp | 2 +- FrameGrabber.cpp | 2 +- GeometryView.cpp | 2 +- GlmToolkit.cpp | 2 +- GstToolkit.cpp | 2 +- ImGuiToolkit.cpp | 2 +- ImGuiVisitor.cpp | 2 +- ImageProcessingShader.cpp | 2 +- ImageShader.cpp | 2 +- InfoVisitor.cpp | 2 +- Interpolator.cpp | 2 +- LayerView.cpp | 2 +- Log.cpp | 2 +- Loopback.cpp | 2 +- MediaPlayer.cpp | 2 +- MediaSource.cpp | 2 +- Mesh.cpp | 2 +- Mixer.cpp | 2 +- MixingGroup.cpp | 2 +- MixingView.cpp | 2 +- MultiFileSource.cpp | 4 ++-- NetworkSource.cpp | 2 +- NetworkToolkit.cpp | 2 +- PatternSource.cpp | 18 +++++++++--------- PickingVisitor.cpp | 2 +- Primitives.cpp | 2 +- Recorder.cpp | 2 +- RenderView.cpp | 2 +- RenderingManager.cpp | 2 +- Resource.cpp | 2 +- Scene.cpp | 2 +- Screenshot.cpp | 2 +- SearchVisitor.cpp | 2 +- Selection.cpp | 2 +- Session.cpp | 2 +- SessionCreator.cpp | 2 +- SessionParser.cpp | 2 +- SessionSource.cpp | 2 +- SessionVisitor.cpp | 2 +- Settings.cpp | 2 +- Shader.cpp | 2 +- Source.cpp | 2 +- SourceCallback.cpp | 2 +- SourceList.cpp | 2 +- Stream.cpp | 15 ++++++++------- StreamSource.cpp | 2 +- Streamer.cpp | 2 +- SystemToolkit.cpp | 2 +- TextureView.cpp | 2 +- Timeline.cpp | 2 +- TransitionView.cpp | 2 +- UpdateCallback.cpp | 2 +- UserInterfaceManager.cpp | 16 +++++++--------- View.cpp | 2 +- main.cpp | 2 +- tinyxml2Toolkit.cpp | 2 +- 64 files changed, 86 insertions(+), 87 deletions(-) diff --git a/ActionManager.cpp b/ActionManager.cpp index 3fb5342..2fe0a09 100644 --- a/ActionManager.cpp +++ b/ActionManager.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/BaseToolkit.cpp b/BaseToolkit.cpp index abb9ca4..e5ec941 100644 --- a/BaseToolkit.cpp +++ b/BaseToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Connection.cpp b/Connection.cpp index d9ca129..79446c9 100644 --- a/Connection.cpp +++ b/Connection.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/ControlManager.cpp b/ControlManager.cpp index c93be4f..1d57e7f 100644 --- a/ControlManager.cpp +++ b/ControlManager.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Decorations.cpp b/Decorations.cpp index b725d41..8620672 100644 --- a/Decorations.cpp +++ b/Decorations.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/DeviceSource.cpp b/DeviceSource.cpp index 1fade1d..017fc03 100644 --- a/DeviceSource.cpp +++ b/DeviceSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/DialogToolkit.cpp b/DialogToolkit.cpp index 01a8786..c1a6667 100644 --- a/DialogToolkit.cpp +++ b/DialogToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/DrawVisitor.cpp b/DrawVisitor.cpp index c678377..3112a73 100644 --- a/DrawVisitor.cpp +++ b/DrawVisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/FrameBuffer.cpp b/FrameBuffer.cpp index 5c32200..c190ef5 100644 --- a/FrameBuffer.cpp +++ b/FrameBuffer.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/FrameGrabber.cpp b/FrameGrabber.cpp index 07ddd08..a3b34d4 100644 --- a/FrameGrabber.cpp +++ b/FrameGrabber.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/GeometryView.cpp b/GeometryView.cpp index 4ee5e20..e90e548 100644 --- a/GeometryView.cpp +++ b/GeometryView.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/GlmToolkit.cpp b/GlmToolkit.cpp index 07dcf41..648f4b8 100644 --- a/GlmToolkit.cpp +++ b/GlmToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/GstToolkit.cpp b/GstToolkit.cpp index c2d9472..32b9f98 100644 --- a/GstToolkit.cpp +++ b/GstToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/ImGuiToolkit.cpp b/ImGuiToolkit.cpp index 7afae02..943d4f0 100644 --- a/ImGuiToolkit.cpp +++ b/ImGuiToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/ImGuiVisitor.cpp b/ImGuiVisitor.cpp index 6d8eaa1..9be4a0f 100644 --- a/ImGuiVisitor.cpp +++ b/ImGuiVisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/ImageProcessingShader.cpp b/ImageProcessingShader.cpp index 504adb1..8d25eb2 100644 --- a/ImageProcessingShader.cpp +++ b/ImageProcessingShader.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/ImageShader.cpp b/ImageShader.cpp index faf7b51..faffe32 100644 --- a/ImageShader.cpp +++ b/ImageShader.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/InfoVisitor.cpp b/InfoVisitor.cpp index 9e6e0dc..f057a57 100644 --- a/InfoVisitor.cpp +++ b/InfoVisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Interpolator.cpp b/Interpolator.cpp index add4f7a..63b7a94 100644 --- a/Interpolator.cpp +++ b/Interpolator.cpp @@ -4,7 +4,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/LayerView.cpp b/LayerView.cpp index 51e92a2..1b98d7d 100644 --- a/LayerView.cpp +++ b/LayerView.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Log.cpp b/Log.cpp index d5f309b..a2dc1f8 100644 --- a/Log.cpp +++ b/Log.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Loopback.cpp b/Loopback.cpp index 5e0c7dd..588beba 100644 --- a/Loopback.cpp +++ b/Loopback.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/MediaPlayer.cpp b/MediaPlayer.cpp index 7a4697f..828e934 100644 --- a/MediaPlayer.cpp +++ b/MediaPlayer.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/MediaSource.cpp b/MediaSource.cpp index f7a0c1e..33712f4 100644 --- a/MediaSource.cpp +++ b/MediaSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Mesh.cpp b/Mesh.cpp index e27b796..0917ba2 100644 --- a/Mesh.cpp +++ b/Mesh.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Mixer.cpp b/Mixer.cpp index ffc3ca3..24c70a8 100644 --- a/Mixer.cpp +++ b/Mixer.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/MixingGroup.cpp b/MixingGroup.cpp index cefd55f..20de97e 100644 --- a/MixingGroup.cpp +++ b/MixingGroup.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/MixingView.cpp b/MixingView.cpp index a3f42aa..5081af9 100644 --- a/MixingView.cpp +++ b/MixingView.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/MultiFileSource.cpp b/MultiFileSource.cpp index 9608141..e325e52 100644 --- a/MultiFileSource.cpp +++ b/MultiFileSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -54,7 +54,7 @@ MultiFileSequence::MultiFileSequence(const std::list &list_files) // sanity check: the location pattern looks like a filename and seems consecutive numbered if ( SystemToolkit::extension_filename(location).empty() || SystemToolkit::path_filename(location) != SystemToolkit::path_filename(list_files.front()) || - list_files.size() != max - min + 1 ) { + list_files.size() != (size_t) (max - min) + 1 ) { Log::Info("MultiFileSequence '%s' invalid.", location.c_str()); location.clear(); } diff --git a/NetworkSource.cpp b/NetworkSource.cpp index 8109e09..3a85edf 100644 --- a/NetworkSource.cpp +++ b/NetworkSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/NetworkToolkit.cpp b/NetworkToolkit.cpp index 577638f..7b39e0b 100644 --- a/NetworkToolkit.cpp +++ b/NetworkToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/PatternSource.cpp b/PatternSource.cpp index 2d40357..b7087f4 100644 --- a/PatternSource.cpp +++ b/PatternSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,15 +32,15 @@ #include "PatternSource.h" // -// Fill the list of patterns +// Fill the list of patterns videotestsrc // // Label (for display), feature (for test), pipeline (for gstreamer), animated (true/false), available (false by default) std::vector Pattern::patterns_ = { { "Black", "videotestsrc", "videotestsrc pattern=black", false, false }, { "White", "videotestsrc", "videotestsrc pattern=white", false, false }, { "Gradient", "videotestsrc", "videotestsrc pattern=gradient", false, false }, - { "Checkers 1x1 px", "videotestsrc", "videotestsrc pattern=checkers-1 ! video/x-raw,format=GRAY8 ! videoconvert", false, false }, - { "Checkers 8x8 px", "videotestsrc", "videotestsrc pattern=checkers-8 ! video/x-raw,format=GRAY8 ! videoconvert", false, false }, + { "Checkers 1x1 px", "videotestsrc", "videotestsrc pattern=checkers-1 ! videobalance saturation=0 contrast=1.5", false, false }, + { "Checkers 8x8 px", "videotestsrc", "videotestsrc pattern=checkers-8 ! videobalance saturation=0 contrast=1.5", false, false }, { "Circles", "videotestsrc", "videotestsrc pattern=circular", false, false }, { "Lissajous", "frei0r-src-lissajous0r", "frei0r-src-lissajous0r ratiox=0.001 ratioy=0.999 ! videoconvert", false, false }, { "Pinwheel", "videotestsrc", "videotestsrc pattern=pinwheel", false, false }, @@ -58,11 +58,11 @@ std::vector Pattern::patterns_ = { { "Bar moving", "videotestsrc", "videotestsrc pattern=bar horizontal-speed=5", true, false }, { "Ball bouncing", "videotestsrc", "videotestsrc pattern=ball", true, false }, { "Blob", "frei0r-src-ising0r", "frei0r-src-ising0r", true, false }, - { "Timer", "timeoverlay", "videotestsrc pattern=black ! timeoverlay halignment=center valignment=center font-desc=\"Sans, 72\" ", true, false }, - { "Clock", "clockoverlay", "videotestsrc pattern=black ! clockoverlay halignment=center valignment=center font-desc=\"Sans, 72\" ", true, false }, - { "Resolution", "textoverlay", "videotestsrc pattern=black ! textoverlay text=\"XXXX x YYYY px\" halignment=center valignment=center font-desc=\"Sans, 52\" ", false, false }, - { "Frame", "videobox", "videotestsrc pattern=black ! videobox fill=white top=-10 bottom=-10 left=-10 right=-10", false, false }, - { "Cross", "textoverlay", "videotestsrc pattern=black ! textoverlay text=\"+\" halignment=center valignment=center font-desc=\"Sans, 22\" ", false, false }, + { "Timer", "timeoverlay", "videotestsrc pattern=solid-color foreground-color=0 ! timeoverlay halignment=center valignment=center font-desc=\"Sans, 72\" ", true, false }, + { "Clock", "clockoverlay", "videotestsrc pattern=solid-color foreground-color=0 ! clockoverlay halignment=center valignment=center font-desc=\"Sans, 72\" ", true, false }, + { "Resolution", "textoverlay", "videotestsrc pattern=solid-color foreground-color=0 ! textoverlay text=\"XXXX x YYYY px\" halignment=center valignment=center font-desc=\"Sans, 52\" ", false, false }, + { "Frame", "videobox", "videotestsrc pattern=solid-color foreground-color=0 ! videobox fill=white top=-10 bottom=-10 left=-10 right=-10", false, false }, + { "Cross", "textoverlay", "videotestsrc pattern=solid-color foreground-color=0 ! textoverlay text=\"+\" halignment=center valignment=center font-desc=\"Sans, 22\" ", false, false }, { "Grid", "frei0r-src-test-pat-g", "frei0r-src-test-pat-g type=0.35", false, false }, { "Point Grid", "frei0r-src-test-pat-g", "frei0r-src-test-pat-g type=0.4", false, false }, { "Ruler", "frei0r-src-test-pat-g", "frei0r-src-test-pat-g type=0.9", false, false }, diff --git a/PickingVisitor.cpp b/PickingVisitor.cpp index d3cb0f5..1764692 100644 --- a/PickingVisitor.cpp +++ b/PickingVisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Primitives.cpp b/Primitives.cpp index 08d6ff2..f88211c 100644 --- a/Primitives.cpp +++ b/Primitives.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Recorder.cpp b/Recorder.cpp index 134f722..3b8ed5d 100644 --- a/Recorder.cpp +++ b/Recorder.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/RenderView.cpp b/RenderView.cpp index 29318c3..53248d0 100644 --- a/RenderView.cpp +++ b/RenderView.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/RenderingManager.cpp b/RenderingManager.cpp index 9050cac..d86b8ce 100644 --- a/RenderingManager.cpp +++ b/RenderingManager.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Resource.cpp b/Resource.cpp index 7da89d3..02b8e95 100644 --- a/Resource.cpp +++ b/Resource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Scene.cpp b/Scene.cpp index 7fdd419..e0b3526 100644 --- a/Scene.cpp +++ b/Scene.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Screenshot.cpp b/Screenshot.cpp index 7e5d55d..02ae6f5 100644 --- a/Screenshot.cpp +++ b/Screenshot.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SearchVisitor.cpp b/SearchVisitor.cpp index 29a230c..15afdca 100644 --- a/SearchVisitor.cpp +++ b/SearchVisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Selection.cpp b/Selection.cpp index 3d239cb..616a1ec 100644 --- a/Selection.cpp +++ b/Selection.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Session.cpp b/Session.cpp index d93376e..8b39738 100644 --- a/Session.cpp +++ b/Session.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SessionCreator.cpp b/SessionCreator.cpp index fb17430..82fb588 100644 --- a/SessionCreator.cpp +++ b/SessionCreator.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SessionParser.cpp b/SessionParser.cpp index cb44cc8..5a0b605 100644 --- a/SessionParser.cpp +++ b/SessionParser.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SessionSource.cpp b/SessionSource.cpp index 0cc9a4c..7e034e4 100644 --- a/SessionSource.cpp +++ b/SessionSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SessionVisitor.cpp b/SessionVisitor.cpp index da472b9..02e244f 100644 --- a/SessionVisitor.cpp +++ b/SessionVisitor.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Settings.cpp b/Settings.cpp index dada34c..502114d 100644 --- a/Settings.cpp +++ b/Settings.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Shader.cpp b/Shader.cpp index 1b43f13..feefeda 100644 --- a/Shader.cpp +++ b/Shader.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Source.cpp b/Source.cpp index 203ba77..b05ed1e 100644 --- a/Source.cpp +++ b/Source.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SourceCallback.cpp b/SourceCallback.cpp index dd7beb1..cbd1f68 100644 --- a/SourceCallback.cpp +++ b/SourceCallback.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SourceList.cpp b/SourceList.cpp index 1b94eed..6c5d0d1 100644 --- a/SourceList.cpp +++ b/SourceList.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Stream.cpp b/Stream.cpp index 53f82dd..f089b0c 100644 --- a/Stream.cpp +++ b/Stream.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -159,13 +159,14 @@ StreamInfo StreamDiscoverer(const std::string &description, guint w, guint h) std::unique_lock lck(mtx); if ( info.discovered.wait_for(lck,std::chrono::seconds(TIMEOUT)) == std::cv_status::timeout) info.message = "Time out"; - - // stop and delete pipeline - GstStateChangeReturn ret = gst_element_set_state (_pipeline, GST_STATE_NULL); - if (ret == GST_STATE_CHANGE_ASYNC) - gst_element_get_state (_pipeline, NULL, NULL, 1000000); - gst_object_unref (_pipeline); } + + // stop and delete pipeline + GstStateChangeReturn ret = gst_element_set_state (_pipeline, GST_STATE_NULL); + if (ret == GST_STATE_CHANGE_ASYNC) + gst_element_get_state (_pipeline, NULL, NULL, GST_CLOCK_TIME_NONE); + gst_object_unref (_pipeline); + } else info.message = error->message; diff --git a/StreamSource.cpp b/StreamSource.cpp index f7c6791..2ee5188 100644 --- a/StreamSource.cpp +++ b/StreamSource.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Streamer.cpp b/Streamer.cpp index 0663d30..ad57156 100644 --- a/Streamer.cpp +++ b/Streamer.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/SystemToolkit.cpp b/SystemToolkit.cpp index 0911b12..303704d 100644 --- a/SystemToolkit.cpp +++ b/SystemToolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/TextureView.cpp b/TextureView.cpp index ee4ff2e..b630fbc 100644 --- a/TextureView.cpp +++ b/TextureView.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/Timeline.cpp b/Timeline.cpp index b4e07ef..b75c4c2 100644 --- a/Timeline.cpp +++ b/Timeline.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/TransitionView.cpp b/TransitionView.cpp index 9b39a1d..f20cc0e 100644 --- a/TransitionView.cpp +++ b/TransitionView.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/UpdateCallback.cpp b/UpdateCallback.cpp index ac66502..f8a040e 100644 --- a/UpdateCallback.cpp +++ b/UpdateCallback.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/UserInterfaceManager.cpp b/UserInterfaceManager.cpp index 46291b2..05b215f 100644 --- a/UserInterfaceManager.cpp +++ b/UserInterfaceManager.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -1969,7 +1969,7 @@ void UserInterface::RenderAbout(bool* p_open) ImGui::Separator(); ImGui::Text("vimix performs graphical mixing and blending of\nseveral movie clips and computer generated graphics,\nwith image processing effects in real-time."); - ImGui::Text("\nvimix is licensed under GNU GPL version 3 or later.\n" UNICODE_COPYRIGHT " 2019-2021 Bruno Herbelin."); + ImGui::Text("\nvimix is licensed under GNU GPL version 3 or later.\n" UNICODE_COPYRIGHT " 2019-2022 Bruno Herbelin."); ImGui::Spacing(); ImGuiToolkit::ButtonOpenUrl("Visit vimix website", "https://brunoherbelin.github.io/vimix/", ImVec2(ImGui::GetContentRegionAvail().x, 0)); @@ -4635,7 +4635,7 @@ void Navigator::RenderNewPannel() bool update_new_source = false; ImGui::SetNextItemWidth(IMGUI_RIGHT_ALIGN); - if (ImGui::BeginCombo("##Pattern", "Select generator")) + if (ImGui::BeginCombo("##Pattern", "Select generator", ImGuiComboFlags_HeightLarge)) { if ( ImGui::Selectable("Custom") ) { update_new_source = true; @@ -4677,10 +4677,7 @@ void Navigator::RenderNewPannel() // Local menu for list of examples ImVec2 pos_bot = ImGui::GetCursorPos(); ImGui::SetCursorPos( pos_bot + ImVec2(fieldsize.x + IMGUI_SAME_LINE, -ImGui::GetFrameHeightWithSpacing())); - if ( ImGuiToolkit::ButtonIcon(16,10) ) - ImGui::OpenPopup( "MenuGstExamples" ); - ImGui::SetCursorPos(pos_bot); - if ( ImGui::BeginPopup( "MenuGstExamples" ) ) { + if (ImGui::BeginCombo("##Examples", "Examples", ImGuiComboFlags_NoPreview)) { ImGui::TextDisabled("Gstreamer examples"); ImGui::Separator(); for (auto it = _examples.begin(); it != _examples.end(); ++it) { @@ -4689,11 +4686,12 @@ void Navigator::RenderNewPannel() update_new_source = true; } } - ImGui::EndPopup(); + ImGui::EndCombo(); } + ImGui::SetCursorPos(pos_bot); // take action if (update_new_source) - new_source_preview_.setSource( Mixer::manager().createSourceStream(_description), _description.substr(0, _description.find(" "))); + new_source_preview_.setSource( Mixer::manager().createSourceStream(_description), "Custom"); } // if pattern selected diff --git a/View.cpp b/View.cpp index e3a4cc1..15a7066 100644 --- a/View.cpp +++ b/View.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/main.cpp b/main.cpp index d85adbd..1e8022c 100644 --- a/main.cpp +++ b/main.cpp @@ -1,7 +1,7 @@ /* * vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/tinyxml2Toolkit.cpp b/tinyxml2Toolkit.cpp index 8b51810..632e102 100644 --- a/tinyxml2Toolkit.cpp +++ b/tinyxml2Toolkit.cpp @@ -1,7 +1,7 @@ /* * This file is part of vimix - video live mixer * - * **Copyright** (C) 2020-2021 Bruno Herbelin + * **Copyright** (C) 2019-2022 Bruno Herbelin * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by