From fbb74b320f86b007c34e764851295f0a13a8baa5 Mon Sep 17 00:00:00 2001 From: Gianluca Pernigotto Date: Fri, 16 Feb 2024 18:42:38 +0100 Subject: [PATCH 1/2] fix compatibility to wxPython>=4.1.1 --- CHANGELOG | 8 +- INSTALL | 2 +- README.md | 2 +- TODO | 17 ---- debian/changelog | 11 ++- setup.py | 4 +- .../icons/Sign_Icons/48x48/icon_concat.png | Bin 1965 -> 0 bytes .../icons/Sign_Icons/48x48/icon_prst_mng.png | Bin 1236 -> 0 bytes .../icons/Sign_Icons/48x48/icon_slideshow.png | Bin 1526 -> 0 bytes .../48x48/icon_videoconversions.png | Bin 1657 -> 0 bytes .../Sign_Icons/48x48/icon_videopictures.png | Bin 2166 -> 0 bytes .../art/icons/Sign_Icons/48x48/youtube.png | Bin 1096 -> 0 bytes .../Sign_Icons/48x48_dark/icon_concat.png | Bin 1885 -> 0 bytes .../Sign_Icons/48x48_dark/icon_prst_mng.png | Bin 1239 -> 0 bytes .../Sign_Icons/48x48_dark/icon_slideshow.png | Bin 1630 -> 0 bytes .../48x48_dark/icon_videoconversions.png | Bin 1662 -> 0 bytes .../48x48_dark/icon_videopictures.png | Bin 1551 -> 0 bytes .../icons/Sign_Icons/48x48_dark/youtube.png | Bin 1009 -> 0 bytes .../Sign_Icons/48x48_light/icon_concat.png | Bin 1956 -> 0 bytes .../Sign_Icons/48x48_light/icon_prst_mng.png | Bin 1324 -> 0 bytes .../Sign_Icons/48x48_light/icon_slideshow.png | Bin 1688 -> 0 bytes .../48x48_light/icon_videoconversions.png | Bin 1720 -> 0 bytes .../48x48_light/icon_videopictures.png | Bin 1551 -> 0 bytes .../icons/Sign_Icons/48x48_light/youtube.png | Bin 1081 -> 0 bytes .../Videomass-Colours/16x16/addtoprst.png | Bin 420 -> 0 bytes .../Videomass-Colours/16x16/audiotrack.png | Bin 315 -> 0 bytes .../icons/Videomass-Colours/16x16/coloreq.png | Bin 451 -> 0 bytes .../Videomass-Colours/16x16/configure.png | Bin 591 -> 0 bytes .../icons/Videomass-Colours/16x16/copyprf.png | Bin 480 -> 0 bytes .../Videomass-Colours/16x16/deinterlace.png | Bin 168 -> 0 bytes .../icons/Videomass-Colours/16x16/delprf.png | Bin 252 -> 0 bytes .../icons/Videomass-Colours/16x16/denoise.png | Bin 606 -> 0 bytes .../Videomass-Colours/16x16/edit-clear.png | Bin 281 -> 0 bytes .../icons/Videomass-Colours/16x16/editprf.png | Bin 489 -> 0 bytes .../icons/Videomass-Colours/16x16/newprf.png | Bin 361 -> 0 bytes .../Videomass-Colours/16x16/playback.png | Bin 344 -> 0 bytes .../Videomass-Colours/16x16/player-volume.png | Bin 519 -> 0 bytes .../Videomass-Colours/16x16/playlist.png | Bin 275 -> 0 bytes .../icons/Videomass-Colours/16x16/preview.png | Bin 752 -> 0 bytes .../Videomass-Colours/16x16/preview_audio.png | Bin 521 -> 0 bytes .../Videomass-Colours/16x16/stabilizer.png | Bin 273 -> 0 bytes .../icons/Videomass-Colours/16x16/timer.png | Bin 569 -> 0 bytes .../16x16/transform-crop.png | Bin 261 -> 0 bytes .../16x16/transform-rotate.png | Bin 517 -> 0 bytes .../16x16/transform-scale.png | Bin 441 -> 0 bytes .../Videomass-Colours/16x16/volanalyze.png | Bin 266 -> 0 bytes .../icons/Videomass-Colours/24x24/cleanup.png | Bin 1079 -> 0 bytes .../icons/Videomass-Colours/24x24/convert.png | Bin 764 -> 0 bytes .../Videomass-Colours/24x24/download.png | Bin 663 -> 0 bytes .../icons/Videomass-Colours/24x24/go-next.png | Bin 696 -> 0 bytes .../Videomass-Colours/24x24/go-previous.png | Bin 711 -> 0 bytes .../icons/Videomass-Colours/24x24/home.png | Bin 742 -> 0 bytes .../icons/Videomass-Colours/24x24/play.png | Bin 669 -> 0 bytes .../Videomass-Colours/24x24/properties.png | Bin 731 -> 0 bytes .../Videomass-Colours/24x24/statistics.png | Bin 525 -> 0 bytes .../icons/Videomass-Colours/24x24/stop.png | Bin 517 -> 0 bytes .../icons/Videomass-Dark/16x16/addtoprst.png | Bin 425 -> 0 bytes .../icons/Videomass-Dark/16x16/audiotrack.png | Bin 308 -> 0 bytes .../icons/Videomass-Dark/16x16/coloreq.png | Bin 438 -> 0 bytes .../icons/Videomass-Dark/16x16/configure.png | Bin 568 -> 0 bytes .../icons/Videomass-Dark/16x16/copyprf.png | Bin 442 -> 0 bytes .../Videomass-Dark/16x16/deinterlace.png | Bin 165 -> 0 bytes .../art/icons/Videomass-Dark/16x16/delprf.png | Bin 252 -> 0 bytes .../icons/Videomass-Dark/16x16/denoise.png | Bin 622 -> 0 bytes .../icons/Videomass-Dark/16x16/edit-clear.png | Bin 281 -> 0 bytes .../icons/Videomass-Dark/16x16/editprf.png | Bin 428 -> 0 bytes .../art/icons/Videomass-Dark/16x16/newprf.png | Bin 394 -> 0 bytes .../icons/Videomass-Dark/16x16/playback.png | Bin 321 -> 0 bytes .../Videomass-Dark/16x16/player-volume.png | Bin 497 -> 0 bytes .../icons/Videomass-Dark/16x16/playlist.png | Bin 273 -> 0 bytes .../icons/Videomass-Dark/16x16/preview.png | Bin 776 -> 0 bytes .../Videomass-Dark/16x16/preview_audio.png | Bin 464 -> 0 bytes .../icons/Videomass-Dark/16x16/stabilizer.png | Bin 262 -> 0 bytes .../art/icons/Videomass-Dark/16x16/timer.png | Bin 547 -> 0 bytes .../Videomass-Dark/16x16/transform-crop.png | Bin 289 -> 0 bytes .../Videomass-Dark/16x16/transform-rotate.png | Bin 467 -> 0 bytes .../Videomass-Dark/16x16/transform-scale.png | Bin 509 -> 0 bytes .../icons/Videomass-Dark/16x16/volanalyze.png | Bin 273 -> 0 bytes .../icons/Videomass-Dark/24x24/cleanup.png | Bin 1003 -> 0 bytes .../icons/Videomass-Dark/24x24/convert.png | Bin 705 -> 0 bytes .../icons/Videomass-Dark/24x24/download.png | Bin 599 -> 0 bytes .../icons/Videomass-Dark/24x24/go-next.png | Bin 713 -> 0 bytes .../Videomass-Dark/24x24/go-previous.png | Bin 716 -> 0 bytes .../art/icons/Videomass-Dark/24x24/home.png | Bin 701 -> 0 bytes .../art/icons/Videomass-Dark/24x24/play.png | Bin 638 -> 0 bytes .../icons/Videomass-Dark/24x24/properties.png | Bin 748 -> 0 bytes .../icons/Videomass-Dark/24x24/statistics.png | Bin 525 -> 0 bytes .../art/icons/Videomass-Dark/24x24/stop.png | Bin 478 -> 0 bytes .../icons/Videomass-Light/16x16/addtoprst.png | Bin 433 -> 0 bytes .../Videomass-Light/16x16/audiotrack.png | Bin 304 -> 0 bytes .../icons/Videomass-Light/16x16/coloreq.png | Bin 435 -> 0 bytes .../icons/Videomass-Light/16x16/configure.png | Bin 513 -> 0 bytes .../icons/Videomass-Light/16x16/copyprf.png | Bin 399 -> 0 bytes .../Videomass-Light/16x16/deinterlace.png | Bin 165 -> 0 bytes .../icons/Videomass-Light/16x16/delprf.png | Bin 252 -> 0 bytes .../icons/Videomass-Light/16x16/denoise.png | Bin 682 -> 0 bytes .../Videomass-Light/16x16/edit-clear.png | Bin 281 -> 0 bytes .../icons/Videomass-Light/16x16/editprf.png | Bin 473 -> 0 bytes .../icons/Videomass-Light/16x16/newprf.png | Bin 390 -> 0 bytes .../icons/Videomass-Light/16x16/playback.png | Bin 342 -> 0 bytes .../Videomass-Light/16x16/player-volume.png | Bin 493 -> 0 bytes .../icons/Videomass-Light/16x16/playlist.png | Bin 275 -> 0 bytes .../icons/Videomass-Light/16x16/preview.png | Bin 780 -> 0 bytes .../Videomass-Light/16x16/preview_audio.png | Bin 461 -> 0 bytes .../Videomass-Light/16x16/stabilizer.png | Bin 259 -> 0 bytes .../art/icons/Videomass-Light/16x16/timer.png | Bin 616 -> 0 bytes .../Videomass-Light/16x16/transform-crop.png | Bin 298 -> 0 bytes .../16x16/transform-rotate.png | Bin 502 -> 0 bytes .../Videomass-Light/16x16/transform-scale.png | Bin 513 -> 0 bytes .../Videomass-Light/16x16/volanalyze.png | Bin 265 -> 0 bytes .../icons/Videomass-Light/24x24/cleanup.png | Bin 1035 -> 0 bytes .../icons/Videomass-Light/24x24/convert.png | Bin 718 -> 0 bytes .../icons/Videomass-Light/24x24/download.png | Bin 604 -> 0 bytes .../icons/Videomass-Light/24x24/go-next.png | Bin 726 -> 0 bytes .../Videomass-Light/24x24/go-previous.png | Bin 753 -> 0 bytes .../art/icons/Videomass-Light/24x24/home.png | Bin 710 -> 0 bytes .../art/icons/Videomass-Light/24x24/play.png | Bin 646 -> 0 bytes .../Videomass-Light/24x24/properties.png | Bin 749 -> 0 bytes .../Videomass-Light/24x24/statistics.png | Bin 539 -> 0 bytes .../art/icons/Videomass-Light/24x24/stop.png | Bin 501 -> 0 bytes videomass/gui_app.py | 5 +- videomass/vdms_main/main_frame.py | 31 +++---- videomass/vdms_panels/av_conversions.py | 52 ++++-------- videomass/vdms_panels/choose_topic.py | 26 ++---- videomass/vdms_panels/concatenate.py | 2 +- videomass/vdms_panels/presets_manager.py | 17 ++-- videomass/vdms_panels/sequence_to_video.py | 13 +-- videomass/vdms_panels/video_to_sequence.py | 37 ++++---- videomass/vdms_utils/get_bmpfromsvg.py | 9 +- videomass/vdms_ytdlp/formatcode.py | 80 +++++++++--------- videomass/vdms_ytdlp/main_ytdlp.py | 23 ++--- videomass/vdms_ytdlp/youtubedl_ui.py | 10 +-- 132 files changed, 138 insertions(+), 211 deletions(-) delete mode 100644 videomass/art/icons/Sign_Icons/48x48/icon_concat.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48/icon_prst_mng.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48/icon_slideshow.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48/icon_videoconversions.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48/icon_videopictures.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48/youtube.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_dark/icon_concat.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_dark/icon_prst_mng.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_dark/icon_slideshow.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_dark/icon_videoconversions.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_dark/icon_videopictures.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_dark/youtube.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_light/icon_concat.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_light/icon_prst_mng.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_light/icon_slideshow.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_light/icon_videoconversions.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_light/icon_videopictures.png delete mode 100644 videomass/art/icons/Sign_Icons/48x48_light/youtube.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/addtoprst.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/audiotrack.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/coloreq.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/configure.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/copyprf.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/deinterlace.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/delprf.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/denoise.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/edit-clear.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/editprf.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/newprf.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/playback.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/player-volume.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/playlist.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/preview.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/preview_audio.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/stabilizer.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/timer.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/transform-crop.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/transform-rotate.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/transform-scale.png delete mode 100644 videomass/art/icons/Videomass-Colours/16x16/volanalyze.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/cleanup.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/convert.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/download.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/go-next.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/go-previous.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/home.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/play.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/properties.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/statistics.png delete mode 100644 videomass/art/icons/Videomass-Colours/24x24/stop.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/addtoprst.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/audiotrack.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/coloreq.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/configure.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/copyprf.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/deinterlace.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/delprf.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/denoise.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/edit-clear.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/editprf.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/newprf.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/playback.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/player-volume.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/playlist.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/preview.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/preview_audio.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/stabilizer.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/timer.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/transform-crop.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/transform-rotate.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/transform-scale.png delete mode 100644 videomass/art/icons/Videomass-Dark/16x16/volanalyze.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/cleanup.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/convert.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/download.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/go-next.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/go-previous.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/home.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/play.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/properties.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/statistics.png delete mode 100644 videomass/art/icons/Videomass-Dark/24x24/stop.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/addtoprst.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/audiotrack.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/coloreq.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/configure.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/copyprf.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/deinterlace.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/delprf.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/denoise.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/edit-clear.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/editprf.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/newprf.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/playback.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/player-volume.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/playlist.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/preview.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/preview_audio.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/stabilizer.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/timer.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/transform-crop.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/transform-rotate.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/transform-scale.png delete mode 100644 videomass/art/icons/Videomass-Light/16x16/volanalyze.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/cleanup.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/convert.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/download.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/go-next.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/go-previous.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/home.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/play.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/properties.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/statistics.png delete mode 100644 videomass/art/icons/Videomass-Light/24x24/stop.png diff --git a/CHANGELOG b/CHANGELOG index 763463312..53e2c66ed 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,7 +7,7 @@ License: GPL3 Change Log: +------------------------------------+ -Tue, 08 Feb 2024 V.5.0.5 +Tue, 16 Feb 2024 V.5.0.5 * Fixed `ValueError: could not convert string to float: 'N/A'` given by the `get_milliseconds()` function. @@ -25,6 +25,12 @@ Tue, 08 Feb 2024 V.5.0.5 close the app (see #260 and #113 issues). * Fixed small bug in preferences dialog causing FFmpeg binaries to be set incorrectly (self.settings['ffprobe_cmd'] > self.settings['ffplay_cmd']) . + * Removed backwards compatibility with wxPython < 4.1.0 . + * Minimun requirements fixed to `wxPython >= 4.1.0`, `Python >= 3.7`, + `FFmpeg >= 5.1.4` . + * New versions of wxPython support svg images for icons well, so most png + icons are removed. + * Fixed FFmpeg warns: `-vsync arg is deprecated, use fps_mode` +------------------------------------+ diff --git a/INSTALL b/INSTALL index a1ff6785e..eb3ae7335 100644 --- a/INSTALL +++ b/INSTALL @@ -5,7 +5,7 @@ BASE DEPENDENCIES Required: - Python >=3.7.0 - - wxPython-Phoenix >=4.0.7 + - wxPython-Phoenix >=4.1.1 - PyPubSub - requests - FFmpeg (with ffplay and ffprobe) >=5.1 diff --git a/README.md b/README.md index 026be4026..ce83b9efc 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ each operating system. ### Requirements - **[Python >= 3.7.0](https://www.python.org/)** -- **[wxPython-Phoenix >= 4.0.7](https://wxpython.org/)** +- **[wxPython-Phoenix >= 4.1.1](https://wxpython.org/)** - **[PyPubSub >= 4.0.3](https://pypi.org/project/PyPubSub/)** - **[requests >= 2.21.0](https://pypi.org/project/requests/)** - **[ffmpeg >=5.1](https://ffmpeg.org/)** diff --git a/TODO b/TODO index 41596da48..b7ac636c0 100644 --- a/TODO +++ b/TODO @@ -7,12 +7,6 @@ URGENCY: to do soon URGENCY: high -------------- -- FFmpeg warns: for the new versions `-vsync` arg is deprecated, use `fps_mode`. - This is related to `video_to_sequences.py`, `concatenete.py`, but for - backwards compatibility reasons I will keep the '-vsync' argument for a - while longer because fps_mode does not work with old versions of FFmpeg. - So, vsync's warning is just a warning and still works with the new versions. - - A new implementation is needed for embedding subtitles. The infrastructure could be organized on a new A/V Conversions tab or as an independent tool that can be called up from the main menu (Home). @@ -20,18 +14,7 @@ URGENCY: high --------------- URGENCY: medium ---------------- -- If you plan to refactor code and make it compatible only for wx.Python>=4.1.1: - - then erase `TestListCtrl` class on `formatcode.py` file. - - Also check all code that starts with `wx.version()` keywords. - - Erase these block codes along any py-files: - - try: - from wx.svg import SVGimage - except ModuleNotFoundError: - pass - However, note that these operations leads to make Videomass code incompatible - for wxPython4.0.7 ------------- URGENCY: low (New implementations) diff --git a/debian/changelog b/debian/changelog index b3c72e591..42b3a1ba3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -15,8 +15,15 @@ videomass (5.0.5-1) UNRELEASED; urgency=medium * [YouTube Downloader] Saves the width of the format code columns when you close the app (see #260 and #113 issues). * Fixed small bug in preferences dialog causing FFmpeg binaries to be set - incorrectly self.settings['ffprobe_cmd'] > self.settings['ffplay_cmd']) . - -- Gianluca Pernigotto Thu, 08 Feb 2024 00:15:00 +0200 + incorrectly (self.settings['ffprobe_cmd'] > self.settings['ffplay_cmd']) . + * Removed backwards compatibility with wxPython < 4.1.0 . + * Minimun requirements fixed to `wxPython >= 4.1.0`, `Python >= 3.7`, + `FFmpeg >= 5.1.4` . + * New versions of wxPython support svg images for icons well, so most png + icons are removed. + * Fixed FFmpeg warns: `-vsync arg is deprecated, use fps_mode` + + -- Gianluca Pernigotto Fri, 16 Feb 2024 00:29:00 +0200 videomass (5.0.4-1) UNRELEASED; urgency=high diff --git a/setup.py b/setup.py index c1c023193..40aeef70b 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,7 @@ def source_build(): if 'sdist' in sys.argv or 'bdist_wheel' in sys.argv: - inst_req = ["wxpython>=4.0.7; platform_system=='Windows' or " + inst_req = ["wxpython>=4.1.1; platform_system=='Windows' or " "platform_system=='Darwin'", "PyPubSub>=4.0.3", "yt_dlp>=2021.9.2", @@ -60,7 +60,7 @@ def source_build(): long_description_ct = 'text/markdown' else: # e.g. to make a Debian source package, include wxpython. - inst_req = ["wxpython>=4.0.7", + inst_req = ["wxpython>=4.1.1", "PyPubSub>=4.0.3", "requests>=2.21.0", ] diff --git a/videomass/art/icons/Sign_Icons/48x48/icon_concat.png b/videomass/art/icons/Sign_Icons/48x48/icon_concat.png deleted file mode 100644 index a4b52c108f8747f098957f4b30fa5b37649f1f24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1965 zcmV;e2U7TnP)c7T6Gt zGi*vhm@Ya+7+D5GZK*jbP|0)>G7Q~D$h3+pni$>OsAh-+5DLkrFc1wy>6f&C1A5w? zp7*);$LV2M&S?v@kR`qTy3d>IzVGYG^SsZ;dtd+q7{LEEalJ!d}XV<0)_GW4V|vT$cf!7Hh1Ts8wYuc-a8 zTGl9J^~5!X2U3~1qOb>8YgTr? zke?kN)cS0%6SZSZA~fplOh)N<1BJ_L$GfI|YOY(y9ht9g+B)>xWA{}hR+sLfR;G1^ zb-PMO?n%b!Hv<~R9CSY-k(3a<#`EX0R%a-85t;_u&nl%GaCQhB33pfp8v7wiJwJW-^XfXv4Ws% z40+Le_B=A7qu&iQZU}uJ(fI(Xx+K52_0QjEpk}o|1VF(r@PZei@x4>`-EJ|)V$44y zxBW_CtUx=$(we3D#UF&nwDqR{MH$e|xSsM7AcAbkpVhjmE9axKy!~Q$FkvEYL^6D) zH4C6!)A=fvrzr2L^$KfB3(8Y1nSE}cz9IAzRIdV1W0#7MwDHc8f;T*43W2qthXvZl zrPo+c8rusFMm_h&nzDksYMvUk?|d~}@G7(|d-?dxTX+AXFT0mW&2a*HolheJx}d>02uDcFOIx@p*qgnz(>QE-=L~1OrJRNLA&$nr&qYQG?%Qx%9Cf3JFku!#?)1YmSE)- z6a&1S=Wl)T+;06~pd-7fLXas4F_gJQO=U~(_?qdwvxD-M~j+EzHtq#tqiUe z;o-9$HG8;!KfZlZaX?P_(ysba{n^clIj*9zD%aogcwdR{*1*<5jXPqXy!-%=G zY#zO2Z+eSwT71&$yOWywS3IPeLRKdxLchx4-WCg-cAr)l3$#0q?UQA)CnPnXXkH?= zXhv@e?HFD@TSXSd^Lch+<5TB-FuM>W9|7ge4&{mcK~F_?3|}!1wd(~0bYoFd$I3p` z*e#M85OF>|>&HXevX|YOjJGX!*{B`a%il!xcYp(0-4=>HAcSo)et#h8D)g_M--KFi zv{oS#K!qsEI-ikhkVuEsQJ_CWxJwjYyppbKI~sfJcEYhsB_6uj$hHrEZmy`ezUKmR z)DxCWI$DzQUzGktw?~O>!&l64R97cPqDx|(V%GR#vUb9WCsKa5>2LISq1l}m4n{lD zrla;+5%nw5=&0_T*j&0t=>6Sw00S7n0FvUrzANSsRbv!X00000NkvXXu0mjfwO!Tv diff --git a/videomass/art/icons/Sign_Icons/48x48/icon_prst_mng.png b/videomass/art/icons/Sign_Icons/48x48/icon_prst_mng.png deleted file mode 100644 index 6757912eccdc566d4293989b17fe52287585bec5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1236 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 diff --git a/videomass/art/icons/Sign_Icons/48x48/icon_videoconversions.png b/videomass/art/icons/Sign_Icons/48x48/icon_videoconversions.png deleted file mode 100644 index 06137df7ef04829f97b6c8e55b7de86ade66d9d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1657 zcmV-<28Q{GP)aiN;5Kg&3tk zRMa9LG=5SHmQuh8sk;=F8cpl@N^>HIj(Ws1;xF0nyL^1wj-QX}9g}&hf*{ zKG^MaXS=)V2mYV#nRD+w|NqQAckY>i<2a6zAbvZp*+>t~R4!e%fDbA~%r6W-odU`nGUNvU)Zoraktznh1coAeYd%M_{UW^JHtU0j+$8sb=B|A+#E>O!`0r~*8lEYZ zbT&K%*dgYFvrQVBCYwe~*#i9Ln*Nhn^^x>lH_av6EJ+l>HxJ$d)FGv?d+-N7%=KII z89~_SnsdU@thclWn!@{Li7*#Hl+C>zCvP1m?=(hTyK6Ubwrw*TK;S^&T$V;Qj?z)7 zbz9Y@a4YbbXCzAvv42^os0a)vsJ{Lq0b5UvAI<)!T_rhil_;aub{p-X{Xz)k|Z=64cnAxA{n;Ep{r9Ob0TEUiNA z9sog)CX)8@va!yB@0z$+GVn0h31zrsua6QUXtw(56+BQT-3&i3j7U#$1>9U2%)Yx z<&(O#{5V>_(gdiAimX%TND^0-rGAFVBMd0+QC*pRq$B_1*g%k0oMH(^N!}Dn63`Oa zw@_7`a?{o)zF66?)9+ZxB4r8-M!`ca~LOTW9=P>>M`f#B3Nio6FPJ zoxR_133@IcC_%ti)~Wk@S2kQLX4O@v&un~lT$3bN56;$TIQ2AcKBbNseZk1se}O7i z5BSBvGPWRG4-Ab2I3+mD`8I5G-79M&bd5E>BK1Hq$V%p5^)L%;O((By*!iC{b5W6c zpcsULyfHY;A)J43cO%Ym1lSttW>2B<|NRrN7*XXV*Sr9j2p}?c@}}^g3jk1q+)d!G zP%QI5Vl4bG1k{E3PT_sv58w|~o|PW=GtF@vM`iI34vpk8(fp{@00000NkvXXu0mjf DYw{TV diff --git a/videomass/art/icons/Sign_Icons/48x48/icon_videopictures.png b/videomass/art/icons/Sign_Icons/48x48/icon_videopictures.png deleted file mode 100644 index 6a6d12061b8d970e580c4711593a2f46bec6aa2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2166 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 X*H;lwtwj-k00000NkvXXu0mjf&@gZ0 diff --git a/videomass/art/icons/Sign_Icons/48x48_dark/icon_prst_mng.png b/videomass/art/icons/Sign_Icons/48x48_dark/icon_prst_mng.png deleted file mode 100644 index 5b3ea295e5dfbf3bc012ae82b5bab170209fd21f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcmV;|1StE7P)Kji_#(c@mK$VI5M)AOffN<2EV1UEb7t06bN2pvm|3~r znc2CsJKN5~eBm;4f4}qlozIVZ&bjAY=&Gx(y81t4jN4_cy=}fZW+ZFv24h`htevpd z?p9TA$|v&)mPXdvP({w5EQy(iqRI01LZLA1HH_>K1wl|$)enIyG4lq`^X>=e=mLx> zZnCcQS=RGDi6*_(z>feZpN3(0bbjfYs8lK~Hr9(p3#?t*gzs+t?K_H}D*IMuFW z=YX;HD9GlRNfr4x4ElD8NHk^4&I4Oh8RMP@HYdyiNF093*ikxv{^F8su6zav6Ry9? zSO2|x(V|7AxUr)qv8qZgSKd!8e1t~ZlJL-B1vuwkQh2n+A$$;q;mLY29W#WCF}EV# z&p=H*tQg)su|}>yJiwwEEZQFy0E*>jFl{$8Sb?93ZN<1UArx z3#Ge2-mK#~o%j8B)8?6V0oii-1*%&TQ3le)sA|s3M27@!Ot`LSkT|VFUeya>w0OQ;~l!nV-G+Dl-P$&%7@$3LVI8HHpr=IsLNDsnD81@Z%s)H3iR#%q|XKbi@AQ(0@bRE~7+ zpZKQ?0At;0W1U)C+#9oX*PIP;kzzjDf5M zRst%b2d@PPQ%|ApavF)Ott967)okX@{vbF!rv-#zXcbNYL=YQBvc3BIRS*Qf$C3?J z0UuG-1<8D(x(emheBOU@ac}S6vxSEgXJS!KAgmF*jler2BO^B{JOiMj2jXqVeE;jb zD^36ltt|~$YrjdPdppSc=R`!?0S_rwAyqk1{kL{>bhNjpXW$Vh8RY>cIn4;Y_;#n<>?s zI0Gl*_rmp)cRrP>fa+`h&&r)%Qq?1K$kdWj??x3F0zl+Q7>0Jvh+0(Y0z9H202SFk zcQ|t>V@%!{_lv4_%*U{nWlU+>!%A0Ob=6hN`VX6)?BTo;XD|Q&002ovPDHLkV1fV? BNB;l- diff --git a/videomass/art/icons/Sign_Icons/48x48_dark/icon_slideshow.png b/videomass/art/icons/Sign_Icons/48x48_dark/icon_slideshow.png deleted file mode 100644 index 93c0c37a29ce4d80f4b539a1f3ddc05a1faa841e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1630 zcmV-k2BG`e|KiQyPjF^>~2!Wj^o58RhkbHplVtog(5;4 z)KFRkQB_ra;DI2Jc&Su)MZCZRNQF0E`hWIB`gus!meZ zp1HHTiT7i6E)U*a{ITO*uXiCr{!63XIp@qd|NorPJ$DAy@P7=)$$Y_aGW$DO!{}sk zp{e7QzdfC*(NO__+2QjK-d?5DXWN-vK>#47Jlf8@LWm2tZNCE`szz6O z4q#VK@72x(m0vfNwAaJD4hX~#0@#aEn}iUDKlt#YThjCH2_Z?_4u&>w>Q_pgK!}fo z;vZFCO+Yf4cnNq(O8JI!2l_Ojewj?#C+GX_i94+8 zI_Z?%IIs>HE~A!d61Pkc0?X_s7K@S1<+ycwifA-KK3||*E;n5;ZkcGBMkbr9*@OV2 zt7}1AG!ntGx^ZQubpg9}Y-8v4ZRom&ok(DI$52W!o6n;O4FpV0P4nvUllZ>hlz`lw zyBLPf`gJLU(CF*EkB$8sh(x2@x_O(4>+cgNMY$Z{xL(72%L*8~e3h}wS8L}&2sBMw z(H*Y`-!C&g<8tsz``I$Msb=q8pJsSy6R*5_0;N<_xmGlZl~SuBAL;7CF#c0Aok}l> zvEn_%<8jLKI_fV|vn^W*L)Uro@MBn(Ni-5+YI=s#Z@!K67CyhlQi)=z1c06B;lk)e zKC^o#iJmwBv$L~|j9o_8G-iv%8u3UZ(pdq1xy2#7CA5IbkbF(VZ6UQ)gGMQZ6JZ%*Kkk1#$=L-$v7I#G{#htr% ziN>Ne^1y;sDx&M5`Bp4I*LCbf59J`>PVUaK&u6pn{W3E%ZcEp$NWiCt2HE%UL&RcH z07@mF>o;z2?)-bq=JPEPsG`-yq3KE79gDGLaBx9uySfY>xPL2Of8r49(#e(xtQMgi zxHNWgkLN8MBxlc_K?uQf&pyq*M;@-(P1EG_4}FfG{Om>i$|}=N*tWd~zERf~+JOKi z0;O1dl!JiZ{{9ud{oU{L@*nN0{%F|&!$C)ObUI)ONfBQQCrJ~Q(Yu8pq zv=uI)0-~{)p;)>fDHICmhCwQoT3|nQ`V7ABW18Ko;Tp;%%opnT%E5!X`ucj&7Y&hP zzdOeFzH^jVEY?Pf%VTo#)~+z$vdieZ=g#rQ>A%+2=#kM8wm-1rze>IlLOU=xI509W z(0@p}lH;$PKof%5LLSSsIPvG#LKAAh{{4?)S?&8IG&ndg0vxR8YdDFMsU%JyAz z8e?PsMk0~9DXf%Y{K_~xw(qFLPE1U&b?er)l5d2jC-M0BIH^<$%QCSn6VvSG=FQ34 zxn-FoQ#MzwUg;#?B?#?+t{YQIl`d4zk9_mUBEQa4Pd>H4Has-U@X&C(Iil;vRG2SR zz?Q-OXWLM_IzgLzKMcp7Fvk)BhGC5QzW+?Cm4bl1LKn{ws02bpg+M7q5kW?k)iF)u zomO)jhB3O>7P`k+DI6#JX`ux#0tYIl^9b?a+`U)lfd?!0zov<`9q~t_*;7?kj-WfxKduI z5_F|^(s6RT7so9YP(>z_+2*?5pQ?UGdY2r}JKS;Np6A`~Nblu&#IHyxkA%gC38+F! z`DNFY@6F5i`b;*vvm@kP*WKbunX43XrOdq0sP&Bm04Sv*Qf6LorRUDY%beplo15j; z^h>=EB7@LI1I1{>(0&w;$3Jd(jV8|0Uwionlvx!iAxe(+;mh}}w~{zs)XtYHmn cSVOzt<807*qoM6N<$f)=_qzW@LL diff --git a/videomass/art/icons/Sign_Icons/48x48_dark/icon_videoconversions.png b/videomass/art/icons/Sign_Icons/48x48_dark/icon_videoconversions.png deleted file mode 100644 index a12b15746d92d81207508efdc5a85b1fc3a0d8ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1662 zcmV-^27&pBP)TZ#-Jt= z|2*JIN(hBP-h42oRg6Z|7&ReLc)%DRFi@Hb0Rs49z#2mWCQ`zS+PD}jmXdW?I&;st zZI^au=l*=S_wLUBKRdJ3hklYt&bhze`JL}?&bjxV`-96|=Dne2%zc5ewd8mFQtL^P zVVqQTi?QKb!1nZ-BYev9yq7mk*^oHHI9Y4I!kTz}7oef?^-WVX0z)MLiCEzTDi6g? zy>)SMaoeUT8Z;6^46g5aY|OG`5w8QZF_54Bpj zPvLriNH~&Suh-q9Km!m}IWX#^l}cqAah}a)w=5WAZW(oaGkp^fCrYpj4gh+GjtX++H}^qja-sZ4`>E$-=)b8~ac&GtxmG-+OK zt-W#B39HrWRR{-@xF-sp_t1!%Tj-fUF1KwzFdNU~KH6@#`TR400nia{W^psW0JZ@L z92Ak&(ImIhd+8lbMV<2fnHSs5yF@O4J_Vq{d=Lcwpvh`sc!R)v+>@t$-~ZD_L^qS^ zb}F`sPDFg(jROD9RH@zlORmXitOz=TAG`37kv`2*50ki#{nGprRRCCZ&Y*-2{Eeb8f#C1>;$U7e+I-T0J{M+ zaz0Wl&iupgl#}L4Cgc2WQd&DO z#>}TTt}*u4?RHho7-Rn%7^{J?|5DX~_u!c`%R2*OSK~3^Q|u}gxeBje<*q0 za{~uO(PO|ev^-&2NQw%#Bys=pzI=Y6o8MRosHz~&gGrpa>q^JBKsSoTqD6T+>3-H2 zv#Z@Fm)kl|QdAI;j+-}StOSe+Z&%g50E#}C&*xtocC4&FQA9;<@8VESTIcKai%*QB zvnxwWOEZBnr<3P?Wtgf&GpZ_qv9BlZgpU%p(k(KR%}&kZIOU`t z5k*IO3|r%pufQ9sQ@#xsiR(+pfjz*q!t+JnyJ^t)OTGfTL@o$Co^(G6OanM{9^ATd z$rAvO^=*_=3p{VAqQd`00-oo+k`%`RAV7E|u6|$UGMmo-0Q$&?i1?q}f&c&j07*qo IM6N<$f_gbJrvLx| diff --git a/videomass/art/icons/Sign_Icons/48x48_dark/icon_videopictures.png b/videomass/art/icons/Sign_Icons/48x48_dark/icon_videopictures.png deleted file mode 100644 index c05a9dad4891dd0d9e810d58110299f976f0afaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1551 zcmV+q2JrcbP)DPV^E2MT=CmXbN2nOsQI!$)xQhLjzN1634L<``W(WhegI7JGr)# zRMU2ZpOx=DAAX+ayyv{{Jut=?V~jDz|1-o1`k3i-`c)x>eC%va04b%Y*XyqUE`T;_ zKrWXvU-;IyFa7dYuYCWpvpWHP_uJom^uhZ#&1$teQh=FGr(cbtNcTN&8JPNVC=Q3F zs(SCUGN@xNmou+^_j{Lq|Jv(6zE~{IKYnUwL);4VJ1>;1A_nUG%5jX@lj3{_y(=)% zc~w=>H4RNuiNc5=3P~6Snx+v&5q=QRYCA}I_5(`@LBcf9H4ULCNGWk$56|~w=j{sU zoHjrE`7eI(r#IiQj&@906Xc(s8%e+q0$kTaRTVrx!1X-#Y6nD7G<2L{=$N|B-0U>E zc096O&*R>IJ|8RqK-DxYHs%G`%@&{B+r-c{G*u;%lB8)enX=IJ!)aXC10Z3V2u09I zGpeEt6p)!rac=r4G);|d4}uW8)xvJJhOfXNSQAOCWDpEbnj#kI zl*Rn)466FbtVaX|AZa@;rR_4F?+=`3xBziTve|CaXxM!A*(PnrVIhBknc0~$5%0kD ze5(8VBuoR}^Vuoya^vqeIjA>iwOZ^}_Q+&1EESh1E?p#%NSsbUuk*E9jd%Whz1vnQ zZDFM>77BUt`SX~Dd1B(8=dr%N&aGRwsZ{oc_AQsol*?uQcH;(x!UDzO67op-6EC30 zdAniLZaK%&aMNzGy1K^N+Q-bz&9P7@Fg^VZgorP%c6WEVefth~?|zE!2PYN`hx=e- zV}p&24fbpM7lsNr>ioNZd2eV8Mvt)>!-a6AVMAyi=ypsGpkT%*-s4nJk&={;`mVq6o)vNoO+5o|_|;N}&u0tv(3BGw1U>eLhb* zo#EorB@A=;{yHY0~?ncKF-#*soRw_SH0vOm>QM^Ydh>`6?vZDXaHOjySfco#w_SeAulS!lY( zL^44lk?7m>GA1B&-Qb&7uF&ar{hhaJz3u%Yr0A=);~=FZio*VPkt8_9$rAVh^}0>1 zwofu?@%-gwo|>LLMh760l1Qi&mzTNvovS31$%EeZz7>!osxT=f_4)y3!bCT8?1qh* zNMM=bOotb#=Jo9sp z%5=wZ`QXD_04x;Flg*@ua~sxZng%N?FOtiBExzYtF?0nKMIn>PqV;aB&OSd$Vj2QT z|M!8EhY2v~$-I*2VLw6O2cf3vtuT!Gj=NX^9q0f0?sYUxqupxqhu2^GLWD;l2tszs zy8ujOvlxcX=K5+kPyFNkn-6xjxBm$E^?KbMDxlYSUDtW(+RKmKdB<`2=fBnfxO{o> zVeCJ0ey_5(zE`RIx>~LF6<2)%G+lkLvhw2Mli+-;03n3?q&Ocd0C-}Y@AB<^h{7<` zb-n)5wU?2|!y{G-DFkP}=#fOR*A4BqqkQ<$og~2W@}e`9O@|U86+{Fu%J~j@vpd9QFVJ002ovPDHLkV1id* B4?_R| diff --git a/videomass/art/icons/Sign_Icons/48x48_dark/youtube.png b/videomass/art/icons/Sign_Icons/48x48_dark/youtube.png deleted file mode 100644 index c7b1635dfd58732517ab5323c16a5b8ff8c144a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1009 zcmVGI2O)U%A|!}G@a7L5qQi8 zG4Bm?8W7cLwQeBi&VsmO`WnZ8_%zwvT&>k=jjiSkVHn;7c%Ol|Cgai+k~1JLdD3sQ z(3+4-kd6{q1$bSrLHHF&j#+E34s?>l&_!Q{E>icCv|Rkk57Pcwh#p3xp@o)nr!t!4 zTy#;=;B*eda3$;5a_;0mpm``^6g`{O7KZWtX`7c8MDO8DpRcSjFU?ftE(E^+B7m>c zI;ls}ve!4_mR=9xG)c`$;3!B6;_0+5=+?A6-*XabeZ|SglLQK#dk5fcyL+i=gJ605 z(L3kU@0;LKYV9SU%#PG<2W#U80BjJfOww;JwA;a2WibY@RqOmP=XxETNrHqf`VheF zBiydqz#JKO?0Ov?7Y*8nCNMer9bh=ZCoVE#p$SZL3hhLp2~2Ye?L?so2v{UwN4U8n zV|t@q{@vvI1>!hfN|MA+>jL)!qs~9>bI#qI);!OPeczw>PhzeFBn1FJ5pbw$*-Njw z!0)@2bpUq(m^gu4Q^*+eU6Rb*4WKnacLycMec%5!kA~c9pjxe5_K14{w8!Z7hdkbA zt-X{tej$t481n_82L$}N2lu}`Vx{W)7mA2o*e(M6&bVebHEz&ric>*4Z>5_`fn5+Z)gI|Cg$=CS~cc%5YMM| zLC;ugUduD)PMZ1`8bIkTUa7c)0DjC9&>HhX%ee~4eN_{@oM$WmSX_(_se27z=D_J+ zXow9cJ&@*>kuw1Ru*N){cZ?LtTSoVmEA*dt`gdaCGWwMhL!U0jgrthNTTAjl_0|=^ zZ_;xARYH6#)90v*U3= z-u(O-2zSmx?B3D&q|f>800000NkvXXu0mjf1hwP* diff --git a/videomass/art/icons/Sign_Icons/48x48_light/icon_concat.png b/videomass/art/icons/Sign_Icons/48x48_light/icon_concat.png deleted file mode 100644 index 4291db414d7e5781aa0db1e935a295e8bb6d7fb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1956 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 B4?_R| diff --git a/videomass/art/icons/Sign_Icons/48x48_light/youtube.png b/videomass/art/icons/Sign_Icons/48x48_light/youtube.png deleted file mode 100644 index 8270060272c50e85e10aef7892ecf164e3d86508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1081 zcmV-91jhS`P)#nZ5T9H;nT8aT5w1^K9 zyb*o!!N-D%2ttV$RL~cp`09($A{N0nwfImktpz1u&Cc%Z%r@0kNo?9AjkdNs^ZC%7 z-N|Ls-OOaIxWA`!{_~yl{SR|y&ILMj=+L3V{~2kdr_y)q7S+epAd4~p(kOP7P(_$j zB`0DWbP8jiEopS2kWAirlXQ6pfSs%Eu{FNIjSV}_Prn4kc>~yz$!v*vas;@pu4);T z{RpE9r`q9EpdVp7$}n(4;L-11j2$OT^JE~l-Y%8S90R%6cP{Ww<-)mF$H&Ldx5M~C z5{bmxH9dW=p}Z83zjG{eC!hc^UrpYY84{7_YhlV>r)Z8$Pfu6c=6C_Kv$K^mQ>PAX z*l?|j@IX~gZ0sKxJw5eD0l@HsMdXP<+wYyC`Bpp4E{9Vz-voZ}>#F*sUp4}9TLa~N zRA12*f`aY~)b8?&U4fvDe!(^LtCeI)rL&)a+`YULEtf2Fu+_d@gTpbeS`qqvJve~c z2VI$)n`kuwfMc0MD{0pZmAScz*t$NyTJzeqRB${Vcgy8+%Slq{>>=QuYP<4q!E>P$ME8fI^?ZHJ1sSjxwil z`H(A{P;VfePWJ=r{kn%lK2azX!gvV%4V3cvijMeoL0>5q%=g0d*~n9H9jKkax_Wyz0pnp3maP2isoS%?;?Zpv^KXag3!tZ` zXLF@~Myz`c#7t3LkYXN#gd6~XQ!rl++lNoZlfl{|ul0p5IE9YaN+Nq`d~4SVN;GF{ zqv{C&G33YkgE}7t(r!}OwCG|yA1tv3>L_XE4yV6}OK!{T0i#0 diff --git a/videomass/art/icons/Videomass-Colours/16x16/addtoprst.png b/videomass/art/icons/Videomass-Colours/16x16/addtoprst.png deleted file mode 100644 index 939ab924e57af8595e96c0f3f339c5b36d14916d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBlwP)Bx6!uCla{pCu0pyrdpa+1Xuw0V1Bd~r=+|0Xty!hDrtn8bjWtdcu&tu~ z2D60as0z3bRjAXs1O|awKke`Q+%t^;!V;!Xi>RzvW0UT?d(mv+uY3Zb<7#SM;UJg* O0000n%$bX8Ngfeyf_FD<9vu$Wqltf57WGJE-!hE z{sAC&h_!y}(lS@l=t#izQ@e>;#~W25KoAT&2ypY5)=}#lZ2B6)o^9QEfvay_4hX=p zJTC&Qhv?N05N5joF$Tk=H~AAVyz7p{v;p>l*aR4xa-V6bx$g@n>l@L0PT!9--~Ipq N002ovPDHLkV1h3+hyVZp diff --git a/videomass/art/icons/Videomass-Colours/16x16/coloreq.png b/videomass/art/icons/Videomass-Colours/16x16/coloreq.png deleted file mode 100644 index 7b3175d002f88de64a25834626e7f9d47a89efe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+VRP)j60mjCy^$W3v`xRM7GV}da} zDwg+M`>9_5(~J$UF#cgw<-M1CV1~{l6a)M#=V{&gsZ;R(KTf?UK#}KB&h9xThHwMk z{}rC~i-DCm-B6cs|NArrZos?$BF6Z&U;-ibk4A6vobPbc!80DfnniJBkU$HGBPkQ9EP}n=P$z#QeD8n%JPGO0qO;TU;odLYycbk zX}AHrzyGJP{{R1#dx)wFD-{gsfm=*4zs1FMl-@zWzNZ@cZ94*8l(i tGcqy$XJlvl#=ygK_`fi}7P4ll002fte|cbsl|BFf002ovPDHLkV1ksh*yaEL diff --git a/videomass/art/icons/Videomass-Colours/16x16/configure.png b/videomass/art/icons/Videomass-Colours/16x16/configure.png deleted file mode 100644 index ce765e0437bebce69090ed3bc896b4771ea31297..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 591 zcmV-V0d@T03|llRB8md@ zxQHmaq#y=CAQ*HCFLuZd=|QN7=%u5FK}ixFT2q3>hPh}OuZuPJwm-J*eSe+aF=6jO zdQQ(jKJf4W{~1I{JfA!_D52AmM(SDZU)=AnbRvAq z`xF3}8mt|Fi7Ru4n%)5b2bIE*{Mc<0e;AvDm`~}|0u3WDGGZNYcg>wWJ%m&K!QkbI z`@vm+DdIYAi4UUX?Xli^fX?hV)8Ta606=eQWzF`k006K6Fns61?f%}YS6HncXuasJx4dog9OQb0O){e*LIekN8AWtAk?_x&p+6wFa(9RTb; z{}aYL)CvHd^3p8kX9D#AwKpz z;U)+Qf?Bog56Df6h+0|DuqcN>$_X9|l4G}2LPP@&?hG(?b^rjn%%pK)NJw18GjErHOW)ku-Kc0l^j<(P#sdH>Juxo4~&Um+)Xj=rlOUy*&J%s0w(Ow?BYz*PTr>gz&hw)jhYPm zf;_@E0`v_!e9Cm#^F1IGP9c$ehgwN-5q&}GQvr>VF!jbd^Wj-)vrvIC5iq9j-_J9E zmC?e=Xn$ka*&m{ zsE95SO>3$qSn+b66))$>o9oLBOIAiZT@8Vx;zR`zG1F-?SfrG1E%z{+6Yfv^PoXdS W$eeWuxI|e10000D!i&9Q&~<$Df0@i4nFnuyIYl3%0l{(0X^u0|am zAowpSQ6F?URGBy7Joilg_X)!H?PKFuV|lXUew;sHG2f_sA_GIbg-}IkfAt)oMGT&< KelF{r5}E*mz&8p2 diff --git a/videomass/art/icons/Videomass-Colours/16x16/delprf.png b/videomass/art/icons/Videomass-Colours/16x16/delprf.png deleted file mode 100644 index 6a7a8deb1733c488310ff5bd2270463cd0c90201..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt@|JzX3_ zEPCHgwB~CH5O6)eCt;TKmZKBkrJBFSgJX}v zv15mBpM5@W=E(!oCuJ3U{abi`24_Q;PCzVE#|go!91k+zR!&(auCBn{B)g%?xWwLP z(pKRG3f~Q6w(R^}SR;JF=v&tJj4%=Dgl9(GuRIf?&sLt*o4LrUyidIHO7ODWyL!Kv x>qIa7DAg>zBE_)v8^aU6`aZ*p?ypNPau?m#t4uR-$^<%|!PC{xWt~$(69E4fWNH8a diff --git a/videomass/art/icons/Videomass-Colours/16x16/denoise.png b/videomass/art/icons/Videomass-Colours/16x16/denoise.png deleted file mode 100644 index a52318e043fdddaabb2bb1f022543163fa9a69f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 606 zcmV-k0-^nhP)Qd<9s*}4*Czm3vvy+2=ic2t9 zURvQnCADY}ibKsLbXAZL>=28Kt~%L5aj;-P!Pd4(-phN*yT?HrsV0Npbk4_j&fz=f zUKoIu$8^8=ZU=QlT7n*ddEiC_7-|gt~!;DvSf(i3aWg_oEzdvL!av z=Ti`~?WS2L4MEJ5o1rc~al6Rn>;dn378C>^7-2L~CKM!Sa}D82v%?S;F>pPIm{6!R zl!;`7QH2(OH0LM)7~u>;J_Q%L%2R}kz{}r*rcvHHX>N8qd=Q~*EqegY$TE)r4)dH! zXLz4oW;67tSm8Sf6%2xa3NNyYd<^Ee+KG5Q_L%*FXG9PSLh4t!1xXFiO5jnj_Wvya zd)9*EE>Q*u?lPV@Y`Z14be^@u5(um%1~HalBRtP6vKe{YN(rxqOMC@z1QbA<97Q>H z1ys{K3u1QN4C??vOnWFpT|nEym+S$Jn&9cEB!VZ>~7 zkMjvs!!hRndCFp0#ju-MVyoft&43v`qQ+^Y6>%qlHFuHyq)0&w)xOI=hWa?IA}hyv stH{cr&(!}kK3#;3KLi`%)9t7I2@k*PE(_C%%m4rY07*qoM6N<$f&zpHdH?_b diff --git a/videomass/art/icons/Videomass-Colours/16x16/edit-clear.png b/videomass/art/icons/Videomass-Colours/16x16/edit-clear.png deleted file mode 100644 index 6ec86b71529d274ff240be8f0c49a1c65d347b5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`VJY5_^ zEPC%wROCD4AmDmGC(1GFg`h{k)ruyk1B@F4cDU;w;8aNX$kM1IbytdoE!HRa;*##n z6Wf-yJb1AB?#xR2&&D4%1s@dPCq^Fuut}+yX$A|OC<6T8q6Run?LG|eGEJTegR)WiYTiJLB(yw z%gJaJ_F3bZ+l5a1%@$DRD!TnVY`Q)e(Xr(l!=?R-?RKClweR*mB8&Z6UJ9G82cmMN z5e(q{E8<>s)?j`XQ+_5qIC%@B?}{mZz7f2uh1kqeQj|o$do{A=MK7yzvY7Id&ETCD zVnJa*RPP9^uX@pOrwmryk?~eA?5xp^0U<@FfHzgQb*hy1YwdjSXNaOXU_;Jq5O!=L?wz-HJFu|)X6BpO*T|HvK8=w&Zquc-;UuHTd_3v51M~e_6No>ldULz{J47z`*e5 zKNABZL+ro5jCV>diZv7-li?)I00iLv&&W{E#PjP`(M7R1hW`*3l41Z1$S^W8EG)h( zdb0R}s0}#=KmnsE0~6!n;)|l2OD>8ll3@VM97do2jQ?*GT@;^~ds~Q)bORuOjgj$x z9@`I=yTup9^FvoLFq3KkR=`4n+F$?wGtT(U`MY+q>bp;*8SwxA7Dfi9yk7m6_epfY z|I-Zr7>argULV1w0+#_#{{LsF?$dj{n1PYuKRzqa4fx9VpP}dPSGLZ6t0&*_yAH{K qzsyX38UO#E!^Ff;OKN7K7ytnBFjg#dr96-T0000K~y-6wUfVV(_s*YpL^eLViFQawFL(!q5cE@7(^r%Q;6CKLb|xP z3ZV!N6$kTe$zY{Z*G`?pIGHxBRZtgku;@?)(MfQ!RGKzXi+SI3(1ci8wL?E}!yWf| z;O;osOJ%~R!Qj~JWq`Bg*;ARYlHA&3b}|>jN;G1c_Yf%nh|2z`B<>83*GB#c$W6`f zTQ`aO0+%|Csvl44QW2F8+3~rXI|4FcCF$1ufJy&CzRCSw^IuE!U0# z1OVBwx!WCr$N=c^cDnNJMK4f{#obKPxf$nVIPJbp*Ck#Cmdq~?qn+q7cd1kzz1Rp^ z!9n%f6K?01rzN6RGH`m^0M36cjUw>Fu4-hY~jsm7{DxOCx0+mHz> z$*4(GfinQHbl*2XQ_c8!7r2M^hv~uVz+!2rxa|nf!r_KZo18$kyKb?s18=WjxN3Ur z^>#hjZs3KHbDM>*Qdl#Iy8;%#tIMjF+M{sj&42Fg&u7{*{R9GMq0BgC%9H>A002ov JPDHLkV1f@p`?LT6 diff --git a/videomass/art/icons/Videomass-Colours/16x16/playlist.png b/videomass/art/icons/Videomass-Colours/16x16/playlist.png deleted file mode 100644 index 314de21dd3c3d26f3898c4a6dc55b0f0d66ff000..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt^9JY5_^ zEPB^YvgTt96mdA8s>J1$FDzuj)!F2$p(2*(vQR*9cYs!IQW~#acEC!Lj+3D$dfuOw zcpRety|}3Oy|B}?S<0NUmdqA`3yx?`WOx#(pd-Zfuh~UE{`khLx-)OG&dXY}K=+f> zuJ;NHWVAh+cN>P5=c;|gDhN9R8+8Yh*OJ&UtA zFFfD-eHs%<1JZ#({*4RJfZ@r32Al`6A2DAaq ziA(_36M{6r4U_-}$2Z6YER$O0CkBYbTH`SR_Az^srk=V&FqEhn2gDVah}MdLKp?b#Si!Ft0p}~;<9P%m~Us=+)}Is3p%Qf*S{+vW|tdVo2@P5R2ph{-yoF0Pc{i2Q2QpEf(< zdLQ;>>q#kG&?!(`H|4wECVSuM?3}5T`IwSou2QNGAuevo%f19~^IP{CDYd;oE{dDnvr^h7N*Mr4Yf%Kbu>i z1;t4hAr||1U|R)2&<=GeIyj1olQ^_AiGmK&Mh9cX#cqmqu-I7NJsl)3t$B^P)8(A+ z`=5+9!m;c3nxeR+(V^^|mv0ppAUo&f-O}jLrec3_WUpKFZvW35u37Z% zW@r8V00v-9obwu(wgIZaEgU->0z@TI8T6Oh1-w5#{zX(0AwU(|uDOxoug3v6`fV|> zP~aiLHew8m&(BDcPn;UlD0=y8l}a5jG5@#^IE(@{o&)zI$F6c3I0rB`|K#l*z_=yv z?2CPAcY`dqb#6}7uQPj6X}9bT7_6LpndsZTL6p;o9}0jp;N|3jm!6({!YQ&+O_aF!zx@x$8Zu4HYwGhY6+vivBF z8eB6M%pW@id_*`SH~6s0e}#i|@Dw<-X3V9|2|L+5#3vrPdkf7vA*PYB^#6(Z00000 LNkvXXu0mjfVdU-; diff --git a/videomass/art/icons/Videomass-Colours/16x16/stabilizer.png b/videomass/art/icons/Videomass-Colours/16x16/stabilizer.png deleted file mode 100644 index 903388bbc4adbcd5a67ab33167b82b64987aa098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_~JY5_^ zEPB^YG~{b?5OBTE5OuSPG5V0A$wwwNwV(Nh1u6BlqY%hKZhK)NHK3Zecmz8$m`J5?P&#nZ1DJ-}he2YitWnRD}=Iy)g+&Pqe zj@@acX}eEK{wLGiM9zkPv8>b2>2G~%eCU$pwgTe~DWM4f6GCmO diff --git a/videomass/art/icons/Videomass-Colours/16x16/timer.png b/videomass/art/icons/Videomass-Colours/16x16/timer.png deleted file mode 100644 index 6171eb0afcb4181a3d48d30eeebc12ef679ac2f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 569 zcmV-90>=G`P)Cj4;h3cU?T{cJzxhP1cvCvdv1^3*Q2puwmfaLG^JlZe` zg~OzCIUL8~b+O2a>y9~T#c$FLxeI`qPQ>o_OifR-xU@udcbA8$6rSe|F}l4og8*;z zK}~Zc#NkByOAk;tRkeTo{pg5yr4m;Y3D!3@FbrczZZ>NGUk5WNhYrh#cS5_}W;371 z@As3+W->v-fX6j{)fV;_t)3E%juH!|cg0TFkFj;Z$l%$3OaGW>g2ck* zidfO_aJ0Zt?fz56z95@P+rGJ$M%pk6##r$F+vg|<^aX>btDnm{ Hr-UW|v$AT> diff --git a/videomass/art/icons/Videomass-Colours/16x16/transform-rotate.png b/videomass/art/icons/Videomass-Colours/16x16/transform-rotate.png deleted file mode 100644 index f02b7e810a91361371b7a5600b4fb19d39a530f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 517 zcmV+g0{Z=lP)_e^1gFV>#8|AmRNoX5Z*-TE#SxcE*+ZeE|dZ8oh(fSJ4UMEIZtQ@ z`ur!PUhO|1&;v|Qb}xSmnga0=ICb6b-RA=&6gmii%G(BJ6kY@T_S%m50E9~I>}Ui4 z+5ti#@0SnIpOHLJK{VL}APKBQqr3AyV4}BBMRXP=naVi>|8u6Tb5@{VU?zL`^X3Eq z#xMeWH6o8P*1d?aI{F)LO>J~2mf>v9DD*>s7@l)*fhr>H)%>C6!e?!x#xV}`E$?Z9}(b9E~6rB zYQ|_Gqn{ON86($Yvr=Rl*bsgg)i!%U9UIB|O&8v1U9eeRt3n*73>M(v)@} zP}Olce(B~(XOOn%@^1_4cHGyBeeZM0LS)9V?*1?4%j##xAlGL0AlJ$qj>I0!;J3T_ zdA?X}>ABUMyiz)gd-^%?4t>G1!vd2fxl_(v>7msagKj=>+E{3p=oeFgNrp+Lm6_Ps z*F!7aihX>aYj|Z^U0Ea-(GYg=QrObV`YgPcbz!UccF`!D@|oV|1tSeZ@7#=`Md)Qs j%@q~jT#e5QV~>NsHO_wO&yOQ300000NkvXXu0mjfu4>9% diff --git a/videomass/art/icons/Videomass-Colours/16x16/volanalyze.png b/videomass/art/icons/Videomass-Colours/16x16/volanalyze.png deleted file mode 100644 index 658c3459af80baa2c2c5f067dded622c75ee6b8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`pJzX3_ zEPBsgu+L&D6gc|v{GUy1Ela#7`>hG8ZrviM)T{2nW$Vb&KjE1362XINp?njd`!hEGq6144E?$kf-0*szXPD@OcE3fttrbF9-)J{io)?b! z5Lf>#EN{lwJF2%PtmolpYGM@m@{`wNq3F?T{xdJyJ$NDRH`y_Av%C4rOUzI9gt09- z^Hy)N$i9C}b3EB9AIfFbTr=PIeB)Z>nkj!*_r5gRvqn;W_m7fajQh^3_Z~LS;Q)Gt N!PC{xWt~$(699sdZW#ao diff --git a/videomass/art/icons/Videomass-Colours/24x24/cleanup.png b/videomass/art/icons/Videomass-Colours/24x24/cleanup.png deleted file mode 100644 index 605dd89e68080f7d35308a07f2f450d89770e7af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1079 zcmV-71jze|P)c38A9xoQuFX)~(%aHNV4zs7+TfC0xWC`& z1)v0649~mgoacPL=Xv%#=Lo|VYd8|7C-MqHIZy;dn40w=Tn0UETiJ(NN=s7!0$=lvc#2ws5RS5d!-7yfgano%34Za=#p5&kub@~ zk0@P{ew>8kB&Sk#^SB)k%bYhM_FP7qAf|Udm_kB`-QvZ^;rJ1Rd_-I4CBz#waz@YsOFcWB1U%vpx{RLo=9Zr3e6YC%t`DYz)Nrb$W z@iYCC3jA_>{-Z!8Xwp-&R>Z8GsE83$ba`Ob&BmTVc|!2ljg61{2S)Whz=)Wa#q*L_ zvT`!MAX^_=-+2Q%0sa`r1Hg4HfVLyCFwg~BU0B}c8jCFxo$?M|KP;?hKRsb=m}x5{ z7X-aItI5(=l46+v6x5x} zOQ*fBf$1PMmY=R`9k6ap)W$WA8Qu2*a9wNY&Se#770TafLs{2q=emsSDX6OpdFj4N xMavZ)78rMBlbJ$N;F2iEr=>WYaGU{ve*qp)jD2bmenP^PH>|e1;Mfz8fayukU=6fjF=!1h6q9aAtOgj=RN1$7V2Zv=ZvF$tNYIV z?)Tku?!AX6NI=>9GTZ9>YAz1!90nS?GsihMQa-Y=9TM9E_e*yrf=(d&P~uyV$OT0x z-iRj>1W*860oQE=&krhoOg)CL*hhw%v1d*o&Pgd>xCh)fOas6Vs0ZDp5Q3@;RrKHO z=hDebRumP5rvRcPP;x3p>=y~;N`*{YCLbSs1VA@*x~975`__jcjYOKE>-rg6j99^b z;@%>!rGZVcnPa5{h^t2TclqRehC? z$qqs@q0JP8QL3a^lNOwICrwwIXmmH4vHxlS5MB(^^R>tPwk6@F1%hNP}YUca$_dOa(OBB_jWM^j6d8?B(eT}FVC8|YP z(N_SFNCu_{s2;Ai6i=FgVDmB6U8%#a>}^d;>r1qS+Zdg;Kijrbs0Qn^!J06Jl~{6908Sg(nJk5W|b%-Q6-J)VR8C z*{&U`gWAirJihoCu@x?PRf1+{>F67V-8ij`RgV1zc3fsHuJP>4GipB6u&}m})~*xq zcH+Ur9|b^4*#yLQGs25us@_#G^kXPp@eQGfHb^LoE8u!05S>8IVYj@6c?7lNp7GEQ u0{~CJqt3=>&mZNtC11_|8LSMN)%XX{GV;;^!%D#b0000gBf_w(bP2*+Z-0W2o`Sk&MTagTMj!~G zy%?rMLUa)7(y2cnPtn1Mw8erF>QK}!br7W7UCqWV#oe8k-_v1R-P)a*W%YZSdA{>} zzrW{YhEbG2Iy%gxUT!t(?K*0JYu7tbqdBEwF}D~~#fwzu(X)bn0BV0N;w4yAO7*o) z$0s%nQk{oS2x89j{}xqe&@?HF&djd70&7XNP+AA!^ix{O~aV+2>El z+#M=EKv_hDU*n_XV$Z5F0LZ&{AL970YTy=0K8JPVGS1h}<>GT+u&(za+4Ufa@HLh7HLPpB zxbt%xG57mC)?g2M^>sX0h029~u1jGaJhV|k z70`KU*sB1Nokv~)?bT#e4Pi1GOPngqKrsYV-m}`^8cL1A-yuh*6EjMT^FVqV#M2<> xT3*Iy;lI917m?)R@#vO*TMm3ms)@~R`~mrR->#Ff(u)89002ovPDHLkV1il7Jf;8u diff --git a/videomass/art/icons/Videomass-Colours/24x24/go-next.png b/videomass/art/icons/Videomass-Colours/24x24/go-next.png deleted file mode 100644 index 7bc38cdec11e2ec5f99b4554d9484ad11cbacb68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 696 zcmV;p0!RIcP)sSUB5)xrAiLf}R#EC?i)Rt1w#HA$iFS-zfHi&ueIJ5+{??G$AH=c9u_e<`* z?>^yxWU_%^@Bz?|>UAJMeH4LZU>cuqlA)oW00O|+SSz;u5(prY!g1zkYuh9ivuje% z%vh|fG-Fx!P<;aYz;Sv>B-VsvvH`#U9U^P^{W0S4T~Cp!kjb1S8r}AsnV1MtD$N4T z_k24y8JjocayMPO?d|J8qXDS- zwp4QtN9OsE>#FKhoTpruWtY;f^~JonRGTpJnryz0NJrIHy9YqON8JlQ=yNi;0XoCa z{%n{!MMrT4ku;h7;7J7lScpC)lYe|t0abXN!T(~T@`%oksgnrUM|FVC&|in_74Xfq zDgvtKT{PUZSA|w46pzffqwvU-3KU<=FYWq5e~@cA7d_p!G(Nck6f1E_7w4%r1h0@DjB_FTtid_7V(M;db`{J!tI(TvV1c@Cg{lvYyc2zX>1!jE>f0+f#rGkq}DF;PGtW z^VwygqfwKUm0C>mDq7zMexg(tfxwy&3|8TEzDHyYr_+bupDGB^TKKs1fYzp=qOwTD zO(rt|)M8m31}@hfz*Q6;jhZaP9)lh%`8Ixk3Z;CA)R4{g8bA*sp(Ek5vkuN*c#f9d zlJLC*0!g$EA#&3IE~3;-!N%ofixVd&fZJum_hQ>Kz$F84Av9&V|bmXjSEqsVwD++FFe!0&a8Nrd)FgI6AcIOpBV_r=}fEOk9 zE(dRN1+kb1o7cd(5|FZE>|ZS`c(HkVobX(Ml83;VakRb; z{3=^unw@AJH_&C_($!oXt(J(yy+;vrWB1<5sV+ueB`TtjWu_0O@-ao(HH z_YJ?t{Dd@D`nwSvl5_m2+Ir`e4oWP7ZAf-W@a9VF-1V#g00Xwj0jaskw_intn5koYDaNj_=sR?831bMTfQ$RgXujrIzTg_@{0Z^f$ z#fRU~lrsiW?E>T(OPVGga*&y%1?GEBa1UmW~=~Wu-b=TKYZT0LZj0 zwRWw4Ykg}%ReKM~_Yk1s$j?qYjZC$m9c(l)r+_<03ihFBFlYxGGu4bkol-Yi*X!Vn z0avn-0|;`-!TDr`tx&7oYGw?mv+Ifi;lQ|vgaGp&OBOk*+8ZJA*?Mc091Ktdp-ELI zRJHF6@?DK;AIiAnIF0D;xw&?;(P^gN>@^1LK(FfSB8Dh6{V<^Dji6Bn)hNz0R-z_&XO$#g%%m;6*f~TjtLxFf|M|+!1^14b>_Cim&|5&>DTm(%W0UT1i=zvef< YA7T{>d6rttdH?_b07*qoM6N<$g08MpMgRZ+ diff --git a/videomass/art/icons/Videomass-Colours/24x24/play.png b/videomass/art/icons/Videomass-Colours/24x24/play.png deleted file mode 100644 index fb31d21d2fa28eb9c9ffd516af68176491ecbd55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmV;O0%HA%P)#7oq*ZLcd=Jrx2v>tNEON@AJI8eDC)P zRf4HtlkuAyKp#pB@ZpX!@L7;4X_RsMmi-ez0K%i;4&Bk0iuw@JmSfG>o%R~N?9`;r zU`3W9ZEEQiRlN)RFplZ5hwK#zrh-kzYd#{ZG<%zSa|5}O%bov0Y%J!lR4UVgw3$ZJ zWsJ|OTngEJGBP(@T+jYSS&9N&IYcdyZ5M`fhy7=!qY@H@P05GxO5DGeY!+>o1AOS zB<9=B97o_tJpZ}=g9?MA7uMg^IiSm`a_?b$<2iyJHt9A{5@pnX!k12Ue%Y#JL9GD? zWpdka=W%>v-OY}60~xG?ZnMDa9mgaeUHqPNBPN5z*WExVyc|B2C%^o+xd-u$Zdc+e zp+cw~i=si8NBJkoVTdK&qLMSBGU+(ZP;4ybua`VJ5^Yg**b!&aNTZC4NU>6>Oh-qe zE%lIZo9$^}(_8jV2tZ^ca@sM@3xt!RlE&~V-;w|3=FtxoLhWKnx1z(qrpNO1EDkQN z?*9!VPa=)FrTsvkik=7D9$87zEHLFQdna diff --git a/videomass/art/icons/Videomass-Colours/24x24/properties.png b/videomass/art/icons/Videomass-Colours/24x24/properties.png deleted file mode 100644 index fd7d003b936698c94e1f277b63511eefc23437dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 731 zcmV<10wn#3P)dxI{#8HY}78i`O zz-^Sg!+-D>;qlU3m$vi!@ zWiSY~Fs4v#0C%v6P_pLoE-goST-m9|(>0hXCJ5vkfK+dbBiseDA~v;&dc=#wu6U*$ z-*l>5uPd0?y#*gP9cF=>018)ufpn+%&p^QsxOS4mkY$)qIJOm&OD8%t?^m0w{0sW( zFW-5{XS~z0r-29$Rk08XP}&tPt5Pjn?GfNeb~YD*SNob^rdgiE)@9x574V2~6!rs}z!VSy!a&$DL^7ISmmEeB?f{Olc|LPb zz5|u1fN2{bn;Ad2!LV9;6=#~|U9uls zQf)I0uw3$kl6?kDsEQD!z>>5eLLNwt_`I@m3o2mK&D%^415w8bT809`A9YZ{sP(B_MhSJ?Ct;n N002ovPDHLkV1l7!LJR-^ diff --git a/videomass/art/icons/Videomass-Colours/24x24/statistics.png b/videomass/art/icons/Videomass-Colours/24x24/statistics.png deleted file mode 100644 index c3415814b9cab9886d984e5e9b0205b24b647efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 525 zcmV+o0`mQdP)hVo3v?R;th2n4oI3X zFah77n*)gfhYlt%vu`L8z9D^ zTMgXcq;UYm4M3-_#gAG{6Eyg5{c{7m)5NExg%Xgu34eY{zZ&f1-2ETX{Woa4WPL{4 zzk)C++myO7_&+1k>4FtBxWzPp%fp^WK^xE?83t+w_>S6%zzvK^fbJPo)`3OM7GgoM z^~Jk5qRS}jqVwetP46>M<^0N#{8X)Lc*rUO100=ATrd6k@(4}uJXU}zjJ4xq(CamT1^_DK^*r!15MYnKob`x)i=<- z0k6;|O*c{#*lKx)Zgp&xDcw-Jq!CEUbY_kVt%(K`NN35nyo>Mub92tU!f(zG)-yM0 zUIBH$0kX`;809mDPAjNlaK>A zt~b)jl8dsUSJAdnp{^>8B;>a|diiyT&>+@l2DEChI!VcIu|m^9cx*s&<+Oj9bU-oF zy8!Yw!2hOYP_61Lvck!U{Cg%Y(YGd;JJpVX4Z@_?# z&Z5%&yR@7}@4C1K3=PPaIF4&c2Sj#U13UvXLEm^SCzq7`bia~UWk->wk%GO8Ftmel z`*gpOPeN`oleWMhOfByTK=)nwftv6G$_hfmh;>x5&c4s{>G!USYmpt-RM`<2Xc%r) zUi2^iOiA~syrfsrHmY^dCm?fPnT|j{DRLO5miHXj3jlrsdJ?cgP}w(g00000NkvXX Hu0mjfN+;@3 diff --git a/videomass/art/icons/Videomass-Dark/16x16/addtoprst.png b/videomass/art/icons/Videomass-Dark/16x16/addtoprst.png deleted file mode 100644 index 6fca66a6e81bccc7dfa9e9e4993a727fa4d97564..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 425 zcmV;a0apHrP)Jxk6n%i`Gepqb z(%#z8*3c3}(C`|fAjnxL#PCr;2>n&`#l0;mVe~RQ)8+m-_nr#_A^@J}>1;N;*lM-T z9mkmyk@2uY^?Lotb=`LW4UkT!*Nri|TI)?<9#{$!M5ECu;HE18Jm3&G0Y-uKK<|2GEQ&PlBP~G4YyM?tOs*5RoUK3OxQdK?7tmnKNJlz*>9U zNfQy%_aF2!eLZ~#Bml%p+=_L84yaSWree zZNa`3>nhX+hSRp-AvB>U=L(nwR*N&mgYRpqA3+#l30=g>mQg09KlSCH7yjT2p&xNl Tn~bzo00000NkvXXu0mjfy}7%& diff --git a/videomass/art/icons/Videomass-Dark/16x16/audiotrack.png b/videomass/art/icons/Videomass-Dark/16x16/audiotrack.png deleted file mode 100644 index cd8009a9ac04aedfefd6118f3016716a2c379162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt^HJzX3_ zEPC%wvduc|AkcdMjG7bEbB2QoS5^e=?ybImu-$9A_75S(`9~OCnWj3m7N-7v<1KjF z<=AYE9j8}+I~%<(HJxoo@FVV3tGs^itGB;>IU;}7vy)M`d;c9|&$t~HQo5!8v0~Sv zlZ)dTI%F6u7!-B}T~%gCiM)1>sU+5%#j(LSVZO@Ahu3WPhW_dPr@cVubo%oTPgg&ebxsLQ E08~bP!~g&Q diff --git a/videomass/art/icons/Videomass-Dark/16x16/coloreq.png b/videomass/art/icons/Videomass-Dark/16x16/coloreq.png deleted file mode 100644 index 7cebe12eb3efa6c7c5a9938fdab56527a76a4b50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)^m@hQ%dWIV~$*J`qk9RyKzJ42+Eb{;_iY{LN|e<1g=( zy1K$1tOo4ey>_yaieWA@Gb@IxVBkLkBjc~1T*b(SFflMNFl^txP)|-?I~$9SFb(<7 z!0_`YM^QsVjt1NSUM|rYEUfH=b;C_zV*LAyZ5G@BK0z@fqBTRo-+!zoa09rx1=vY9 zfQbWc03##uu15z<3=9kmU%!0#NvcL>roTVn27LPX>OAQN{5b}M{P)C?P)_AjIH21 z&3gks-v2)XT$glRpE3+1%^0H<*@kJFpIpxvqlRH*bX}ivvpV-c2)PBIp;#;mZpLxk zZ2)=Ke_mf##5=S;pU)2fcnbjB|27PTLR6%5O;Kb>QtRaW!ouWV4Yszodwul{NTsYU z09rMGQt^=@%OU{ye7?Fst26@O9R~o5i%T>2g25+>BBQOX{q^IC38@-ze0;QJTGmeh zC=?2gWwG6I1HZrdzQ^Ms01yaBjbdZd5CFXr5R1i<1A~LJ=l1#gbmmlDSy_5j27EKk z&HilmsaFtgBofJ^RLb1AXbhi`hiyKVx&+38s{8jX%z1gQ0loFE8( z*Lb}`ORWaA0Kel2P0i(Uux;DXz9v8ZbA)QmMV`+F@Aixlj{KU7L|$AO005mG?KUdD z@}&Sm$cf`PX`bh^756_J$H}>d=lN`@RLT%SPA-F9Nq+zW6s#lUQqyVx0000SMIAUav764nKFh-OYSHcas7#Nsaw}k9xg+)o!;9 zNs=y84Sq8ok3k3l0PsA|_jMX0sv;S*^yNc1jy&}Xf~TwilSaSoz5Kq&;Xz)$}J&8o=hgN zEDMAX_`Z)r?Yb^*=#O2j$=;Lna6}q~*ik29zscf7$vCuB{of0Dh!&M={%5<$>XP_+%p00i_ I>zopr0O-v&h5!Hn diff --git a/videomass/art/icons/Videomass-Dark/16x16/delprf.png b/videomass/art/icons/Videomass-Dark/16x16/delprf.png deleted file mode 100644 index 6a7a8deb1733c488310ff5bd2270463cd0c90201..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 252 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt@|JzX3_ zEPCHgwB~CH5O6)eCt;TKmZKBkrJBFSgJX}v zv15mBpM5@W=E(!oCuJ3U{abi`24_Q;PCzVE#|go!91k+zR!&(auCBn{B)g%?xWwLP z(pKRG3f~Q6w(R^}SR;JF=v&tJj4%=Dgl9(GuRIf?&sLt*o4LrUyidIHO7ODWyL!Kv x>qIa7DAg>zBE_)v8^aU6`aZ*p?ypNPau?m#t4uR-$^<%|!PC{xWt~$(69E4fWNH8a diff --git a/videomass/art/icons/Videomass-Dark/16x16/denoise.png b/videomass/art/icons/Videomass-Dark/16x16/denoise.png deleted file mode 100644 index 5581efdc0f4fb8c56fc961aab2845f455b32317a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 622 zcmV-!0+IcRP)x)05Qg_0Dy>G2C#f`a&je?%e^Fd6~Jo|0m&s1`IKeZJ+1X; z0Ckc-0YF!))u#Z^Y&I`tS+-NF)pou2>m+}O$T|Q4fDpn~tyW8oF}HHL+=toO+4eaT z2aw+BZ%M|+#)hu^|0Pr^m3q&_sVIuR#BsdmoZA4<4Iyj*5T#Txgs>UM@vis&K7e=S za`_toXc1v=jlVjb&XI^PP19GUQt7B#t-c2U@BN={x4SJOwAOwtl}f++b<)>jt$o~= zptZgR;CTq)CIBdY#})NFK#;ytlu<|GiKss1U+it+j~AqvPY_ zjk&qGwzYNzz?%`~pOPercFwK!bLZUJsLwQ#!^6Yt!{R~y0*6&K-M|OVT>t<807*qo IM6N<$g1W9F`Tzg` diff --git a/videomass/art/icons/Videomass-Dark/16x16/edit-clear.png b/videomass/art/icons/Videomass-Dark/16x16/edit-clear.png deleted file mode 100644 index 6ec86b71529d274ff240be8f0c49a1c65d347b5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`VJY5_^ zEPC%wROCD4AmDmGC(1GFg`h{k)ruyk1B@F4cDU;w;8aNX$kM1IbytdoE!HRa;*##n z6Wf-yJb1AB?#xR2&&D4V^?JV+8VrZS6M3G$l5~GEnY=5C;s>x9V|>4G z&0`TmtJQie>3NLtWlz3L$){s_J~d-~Zh>K}u;4IF$4jxG+D_f2lui WXR4#%nWAC<00009q;-=5wD-;w*2Zu^1LK31x+!SJ4F1g3Wz-^nP`L=Vu^Zhv7KR^R9GgWz&hORIS z?*SxAsdL}=zje=86b^!58Nd>N6T>iuQ50=A2K4*=mTlV)%=`-A0KkWoa;VR=>Hx0m z9s}qQQ3t>m5$y^g-WzR@B*`if^|aQ+vaDcst`Z=nyacdT)XaR=ZnuAD=SpuOj^m9y z&tHhB^&funJa3DLxX}hmsp}#PK$)g_S{5z^L{YR4U`K1+xvu+M7M=qP1_O(kue8<= zfF5cz1#lea5P&FZBD(NA@3S$0nb)=Oo0RgVE<6WF({yt*8Uer~Gw%r@CW`=5FEPuq omGO9d+wFFbs!qLDb>Fs1f2VYBEbHXHMF0Q*07*qoM6N<$f^f8@g8%>k diff --git a/videomass/art/icons/Videomass-Dark/16x16/playback.png b/videomass/art/icons/Videomass-Dark/16x16/playback.png deleted file mode 100644 index de4f8fcad82a2915d288196b7ce851f7dabb2db4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)a004mGs)(GJ*>zpl>&d`WYtFe#Gdnl4@E_pgqYaX` zsyeBvYB?ErZxO&K&+}SUw@GHHz|0mBW?umubzL_u%kn7+5RnT2Bk#SYesB|G+$oCU z>brrNfQUTA7J(P?AMTi|BN z9tJ_sQ%XfymOWkxu-4W*&wB@KE-W9QC<-?m4)4$B^L^lZ9LE;{Jb*M!pOqLJz@^fA zJxP+@Y&P5ReSb$pZcV4tSJi6uDe%!-gdVQy0zhm1q|@oV9F0a7wANpZF-;LER(7x~ z5m}#1Cg&QBhAoQXP(<3mzXO18^?LmvilXy?ueBZn>VGEK9t;MxN~KZ}k#?G<`y#Ri zixPq7rTlV<2Vod)kH=#_&+{u<>rY`AZUP^U0AUzD`kl7c){HT`z}1EILn$RmlH35^ z17}2JquFfsj$NVK?H=ZNejV5?`<~~0R!ZFg?mFil9QnuX+-|pjT5GqAF|UDB0M5B< n&bhr-tM%oNg_Tu4rW4aIoI$9~FxlQN00000NkvXXu0mjfFnHd6 diff --git a/videomass/art/icons/Videomass-Dark/16x16/playlist.png b/videomass/art/icons/Videomass-Dark/16x16/playlist.png deleted file mode 100644 index 80018e07da22116c7fb5b9a99dcfc0a792a9e971..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_~JY5_^ zEPB^YFyuPqAmDnRO_1}2hMn_Z$=}#p~W++UE7( z_ddE`Xgd4X3aZY^U< z=#h-hUVcF7y}IY7^+IPFeZRe7uzfJ)`(=~2^?O%!oC*0FbY|{)UR4t@lV^O3qD|Y1 TEvLN%`iQ~P)z4*}Q$iB}G<|A0 diff --git a/videomass/art/icons/Videomass-Dark/16x16/preview.png b/videomass/art/icons/Videomass-Dark/16x16/preview.png deleted file mode 100644 index 7c66d3a93ede4c61dbf2c74903627a4e256c6d11..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 776 zcmV+j1NZ!iP)yrb|`2G;jx0)LFynLY?#pSu;u$s*9)sgiX|@5_tyC(nPXP6LeGR~uVzJmJgy>=B@l-0c z+#JoTD9YL9Xo{lrF|*}3U4Qc|9*^4+iG&XT=u`)thGASKqPQeUyUnwMgM$HPzEY`F zKKT9q^oid9sH%F8nU?|d0H_er8=K8`ySux)q$tWN5#0jN3gC#DS0zb$)Bx=7?_VdP zR{)%+ieDoljhPourL8ja14)uXRsbNPySlDBBasLSg#u<~W+2Nli0B4@-rr_~-&JfWZW`1Ug$K#HAz5aN9e!g{KVF6uTU07LJfy?E>@bIv0eSO`LNF*>f zH-|_hf>As>tPX&~+WjWD?uk+sI@x2!%q(=kw5Y z9r=77J3Bkr+S&p$TMfgwWMyXK=;)}P$z&|Ev$KsOOQjOB*(`Fo9Kzu+!r?Fgps%kF z*=!a7AcQE2-rn9+AP`6kAsWkeyB%(~8!nd%6B84Ewd(Wv(9zKWBGPNM+J+#a`snCr zbZKb`4u=D7w;R*b(~u+yUaxmQ7z}42b zN7L!__}<cSQ#d06O1tR)dtJQ)70|TG%KlBHS-%{+(@18*b00000WbcEP)<#!Q2!chbG?El4Q(0MsfYvqv;W+MQj*~4V0XbN1*Jt5w*sOQwy=vyY@B7U+%)o@| z_xlUIUT=PqMv4tHzKE3b3GSygXO($M>Au|UcE5|r%wRCsZ8REpqfB8KdQlXe0xI(OfEl1B zA}au%=bZyzM**TJ+6F$R39bN)bMAwxzRl^@CnVpJrQY}BuP$z-@sjNuv!EZdXb1+4u``ZrdF%{^?m=1 zh#UY4w18hlK$0XE!1ZHT{Zy$`)`B32{u6~^=#9DiSj__lSDab%QugKm0000Ob>;PE%_{N2`pS*3ldb=I$pexXytvx!zjpl#6-Z-PwD8B@NeJm z?zWC@>zs7|kmd7Wq0mr8U$A|1Q$lRx6%cC2@M!I(BPmW{*o54TjHHZIbqX=DKe=|G;iep_`G}>uVpJ zTccFeWBdMZZqD+PT>lSQss@JgUyw_jAF+pb#j31%91IVbmo^(oN$DFE1HHlE>FVdQ I&MBb@0JTeJB>(^b diff --git a/videomass/art/icons/Videomass-Dark/16x16/timer.png b/videomass/art/icons/Videomass-Dark/16x16/timer.png deleted file mode 100644 index e10239690f1c345da656f1fb77e8a9bdc8090278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 547 zcmV+;0^I$HP)jp$|f>h^{gM<1osSpPm`&73%>8W$u+1c;^XEY0s47r~Of}p9YXCl&7 z)tBp<5V$Ui;-l~Tw+{k>Ab72+pDoLJ+GsSeZ5x0zO-Yi3EX)1??|QvnPy$?BT)YyI zf$O@a)oLNKYfe>}OeT!SV^!6+8;GoxpQ~!*y6$1K*(8c0+U+(62M48|<2YtC8vQPc zqT~Dity$;aTb6a$YPG0TDilRQ7>49|UIH8)9kI8!_rw@;24L3qx{l)@B2=qYJkKM~ zbD}6hRd=T@LZi_@M7mo5;O+14Z;Nc(rrmBcolY4Jhb73m*1HQ>-M4Ct*(yE|3Q%1i zzNcyWVsn#a88``G))1byAH0BBtcbKtyY9#h%pAw^R`a5vZ^FW0&ukj zo!DBGfSxwotPe5=ksRtmMPowZ^W zgMliC;v0qqnX|fA&2!?YW;nd#qGftg&)+#07#hCUdBmU0=C_=F@XUs5dS+3&kN$J| zXuh0de8$HAI)j5tsGZ6CzX2*8hTl{VHf%q7?N*MlFGt4;Z##XU+^&B1hIJ8Nc+bRi jcl50jJHV#2?ilxezEJTSjj0AeA2N8l`njxgN@xNA*avgG diff --git a/videomass/art/icons/Videomass-Dark/16x16/transform-rotate.png b/videomass/art/icons/Videomass-Dark/16x16/transform-rotate.png deleted file mode 100644 index 62a9ef5dff52544334d5fb95f8aee6c02c92755c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmV;^0WAKBP)FECqhz-R@Nzk zt)PX4_Wpo$q9QgaEK=l3D;v!U=DeLb7WEHgRfKQHW?9cOm(#+x`j~g#XJ$V5pE9!t zs=6^4435m|k%Nk9njUSnT31BmF0c%|6_Gn}9Pi8psOoLt5pZhC`r+=Yola+ave=jk zKLj>`uOhPU?k_8At1Qb4)8XHgW!ajlx~lHvd43YW%+|9kyE@r791f40+0q{;sOlSF zQAEziar|Z0AXR+@L`jk?*C*t8ei~Q;HV+E}xO)a%9*@T-YCs6#Ol7`5EDRtb@2bq% z8c>#HQJKg70uWWt?=_&=Z0-RC(4Plz_r8eii^yILXt&$nMC2*ZSJi8?!e(|ISaJ6! zNs|29pd#M`K8wf;GrQ^TGU17t-2$EipF#-t>ysuYj7Fo2jYeY&h(+Wh@VWwA0u})c zA*^+~-Q5EL0BM>oL{YQ>+;I1ERr!O6JS&Rgaj)0gpZ8Dyq@VU+r&p)2zw!V8002ov JPDHLkV1mbm(i#8& diff --git a/videomass/art/icons/Videomass-Dark/16x16/transform-scale.png b/videomass/art/icons/Videomass-Dark/16x16/transform-scale.png deleted file mode 100644 index 283d8b275c99eca848c178f6c0613c6c82d241f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 509 zcmV=kxjFG)+$d#^do?tJQiSB3r=C z5JEeIa0|cyEEbC+U$}Ny^B?SEo<$_TDw=P_sTo`#;$Hq6vb_8?NtB~*;Uo2 zs%ik7bC*Trja%6{jUuO5Y2Sys2MlRI=&+Mpcb~BlaYQZmlyQ&QxGF8ky zhL_cZ1uJWq|9G+~30?jAuJYbyjV_J@QPs=^GU`kpYVCDT7cF14d|~(T%iQ(PP1yU+ S3akM7h{4m<&t;ucLK6TIxM)lO diff --git a/videomass/art/icons/Videomass-Dark/24x24/cleanup.png b/videomass/art/icons/Videomass-Dark/24x24/cleanup.png deleted file mode 100644 index 7354b630c985e3d17ad309b942361260f4ba7390..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1003 zcmVM-3oAh= zNT|`e&=M6(TUR!ME0v~bC4!q4H-5CJMesYzEFwaM;vyLd%*T7fBuzj>Ffqxi+zkylcauh`u`uqDE00K}hmowJd zAAl}Z9gpL9GM~>cib(ulR8=*Al*{G)p65LYoB{rdqG+hUzkgnm%6|doS65eu3x&eU zPRb5~-~$oyMdVa(Z*R3&EOw{U=_|ngD2fgl;ANoeX5h72Z4h`xRfn8&#UKb?D-;SV zjYeY_*ki37HNc3fj_(u>;G8=T+>*GvRP_&lfq{W#U|d9=H6n6%9LJM8g;%T9r+_D# zLf5j{>}O5llfa-+)$V*gzt{>=tJQ7~g5b8T@nW%ftBAbY6jJBhX%TUo0pIr*fZYb5 z-EDEsjRTb+2u`W0-HfNx>C?cSO{t&ea=D+H_ii#xD{zyAKnj=$!|+-V1dl8&Ep-87 zO`sLe^WJC&=qQlQX3rX9o&hcb_X1Pv>+7EzV~zpSN!oZOlUcYafl8(FxO47XAn%-e z4){5_l3xM88e@*B>iJHLwgOXAQ=TzqB5@xRkxzhGRXq+Y0Vkbv=YZ#v*Ss@{HskuQL4ZvnVVRX<9;j{-Bm!E83W-cg`ht=`AR zQLH%UjyUIzv?^lLMC4&>?Q|H1_eW85bnCj;V#9lYan8MHtzA*oM?3IURgd@d^juH; z-?t{1B+J5$p))Tc@A$s|CGbM4zicYz!)!MDO&etkAYm9TM^QAG&*$q~5==JB64G1sOrgFE;rK-J~ubF8yHj7OHwM8Ql95s1r{5P#&9w$wpqPi zKM=?9S?65Z_x-0k!BeT!72uB5)zw1+P%4!UdY<<^um>2Av Zz`s4Kq+5cN)-(VB002ovPDHLkV1o2#*b4vv diff --git a/videomass/art/icons/Videomass-Dark/24x24/convert.png b/videomass/art/icons/Videomass-Dark/24x24/convert.png deleted file mode 100644 index 598a396937f7c49c5919ec7e1b3ffb6c1f815ec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 705 zcmV;y0zUnTP)j1^SogI?{nf^0OkO|t5hnz z0M4~Rz6sy=KSohB0^lZqq$zy9TrT&hBuO+fXVHY2JSWNDsXa6_^b5dD7>3VCJ^_yotycH%rGO$?6A|F=gEv{L)lM%jFJCGaiyyLy&bje=z25H4 z-(aOu>5b#~JGQ>48zg6a-@ijr0Ki(ifo(p=93-CS9rpVB`&R+HXbSEVk=xeVmq8Hp z500000NkvXXu0mjftVlI_ diff --git a/videomass/art/icons/Videomass-Dark/24x24/download.png b/videomass/art/icons/Videomass-Dark/24x24/download.png deleted file mode 100644 index 188a84f353d31eb18416bacc5018eab5fa7fae57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 599 zcmV-d0;v6oP)OcE4UMZrpO@~(x+vV>$Z?B>A0n|tS;^XA;k zn-Sa4YPJ00;^J}dy=Mm~ilXRtyI+=5E5LnVVJGC<@YT$2r)m0ZOCZnl zvu5@lsO^$`h(2&GNs^Baz|2->NX~$36+pdS??_P;-`Qr@2<`w@LUtF}KPDcXb4PuQ zF)1MjxKg%NGn<#jmOC>`yqV3H5yTj8dGBLM{w;85LVEAiag>zw`~8U)Nh}Q?yUgi%zF=YBUi-I0?Kovjb%WRmSvSjPX^T=O>1N zcDubKX#+Sst=LQYV^(%p06hRn=pLb{BG5qlLsqTRjQfW``WnV54Hr949+@Exbt3+hb4k>1KcLKJPFy zJ1cat)*bC6Ggj4=xyFt4h$JaPb4J?ETz*=#l|Sv3GyieTD#OoDu)NEI;^Uz*4nE<5Ip|9xMu@?er$tKP}P+r zNv@a68Ae`(Og0Qar6xBpjzKgimHzr_K!f*@G@=M7Xf1^(FN ztOg(ZxK8$X))A5X$216nQ(1Ovt>e(%iAYOCu8fb5KkrrV!O#1=&y4%=NmVcPk{>ud z5ov91Zf0J;eb{l%T?m5URj)8fl2KsSQ`L9In3)0P))+G#hT+?+0?+eifVu}P0e9;4 z`fwhzh`ck#oG+D1n^`p*8yiP~d#bwRrD^&A*ew=|E8U|K}6<7 vWKvagE!hDg(o)qos=C~6w-=)*`VQ~|s;CO-!TyMs00000NkvXXu0mjf?FCGX diff --git a/videomass/art/icons/Videomass-Dark/24x24/go-previous.png b/videomass/art/icons/Videomass-Dark/24x24/go-previous.png deleted file mode 100644 index 4a9e3c870925a586ca8e032aeedb6d5635bb7a9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716 zcmV;-0yF)IP) za>akpvl}NtC9+4fCl2k+K_sj+cKf~~iiiWz>Smeg?Cci4mKn4w#&LX7RVzS#{d3N_i7cow=FIwg8wAd|)2ez0*wSucth|U> z*&y)NURZ0-sp{Pf_#fq$z&UqWL~e;l+p+z%;D6MA5jh5Y z>IT?Ki|L8T;@sTao_0;eV(}R;47}}DV6E*37Ccpb<@^3fR--XyR#k_9*WCy_&l>@% z9xwr1saC7KSzERa-;CUzT+1c4`z%^B!@RB6C0W9S6`O0b`OY#vo-U&RH%T<8S zjYi|90Mu%=y+IH>WaY$+r)fGlFfj1Go1eb5wtsaj*MQGK5S%I$3h$)VRIAl;zVBZU ykuecDq^g-CYZnn&RMi)%dau!F+>D~=JHStqIteOu?GP{k0000G$KL*v+4`Kg%oUo(Pw?$`#n#-``&y) zUB;Lzz!P8w@PRJc(@)?l@WxuZn9XJn0R*62E)Te_`yS|0)m)M!`AjCWDvDi({~sZ?qi=(E;7bbzNoS1a&B zq0mt%6gtkD@qPc`@bGXN=yhFp&H-jrHTN%g7>0xCbb39VPOpbyI0#^jd0~tRjWMqq zXGcdz_ko;<%sL`+CrOh0S@1ZHCmqMx0LFkZ$8k2|IGz-dtH3aD^W-I^CFT5ZnOvoxF#YW>&NLf4G4nZdK|~A zKn`$E5?YV|^Kl%1isQKNSb(aE>$(%bXZ~#Bd9?tn)@rqJRTTg+#^}({kTgyiWAr@q zW}K!!`7-rCptXRLclR=M#B@aDAPmD>mmLsAQ9rQnsp_}-4lFhJdlwCG9A^S3iZSLH z@Vru~+`s5+cBE3N)YIA7xv8qJ9Bb_&u%Ak$mP@5l&n3Z^fxT+Ax+DNW5Zv}W?;X$! zXPsKzW{y%cOD}@9}EmU00000NkvXXu0mjfqJ=^! diff --git a/videomass/art/icons/Videomass-Dark/24x24/play.png b/videomass/art/icons/Videomass-Dark/24x24/play.png deleted file mode 100644 index 0dfca70f9510de610111ca1c8c677e0f58676d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmV-^0)hRBP)xrmNLz^^1t4SV6=2wVKWTt#z(7Cb0AU#J zw%hF)V8~iKXMkB%t@lITV|;vk2dIn4B_kqd(llM|m%K-((^&;3NRmWV)&8&0Irk!t z<8yffRMjR)q6T2U+oGx$MC6@w?qM9qC$a|goF-$vQPs=Fm}ZhB_qsPPTVvKj0973X z?gAg+8pXc~xC9-une$r&uhmbUz$gUMLh+fbCYRwI~3MM&ncv1W$k=pq{4bv$3(U z&v}0OaU7rQ9?Lwi9R$I2sZ{#(=QV6J8U<_ZoQTYd$l318nVIg6yjRubR;#rbhT%_u YU#gA;rDNagBLDyZ07*qoM6N<$f&<(vz5oCK diff --git a/videomass/art/icons/Videomass-Dark/24x24/properties.png b/videomass/art/icons/Videomass-Dark/24x24/properties.png deleted file mode 100644 index ee2fd987ea3b49be0a6e447768a767cdb82e9edc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 748 zcmVHwzk)4;>cR`HL4s!oVVu4(B>nx-#+J&o_< z^YioFeSLjPYlYTs@M(2P-z;58H zh&%$W0Z**8KN?|Y!Z3W@%D`*EO|8C&$V1QbCV(0+2P^;!S(dquDrkm?OsVP>AOr6A z_xD?1pq=1aY*>LY<|VKUJPU%rb}HP~pin3zzzbEqw^eay(INm5xf=w*>+KkL@Oz%G zM+QOgs?~sNg;h;YL>6afXZLSC$MsRG)eZpPeO3Knj5!I6Z%45C?*;HY?<7$1fC=D6 zrBdnHjzKeKW@dVUQB|GroO2I=@A-UwvO#QHJeSK&0t-o!j0-@uT0Q9d{xg2hps_Sf zpAQTSeCg!UuhnV?8f_T`7JT0yDijKz|Maa|t>%m|7e!=5M2@IxM=cYPMOA&Ls*jT- e8IPjqC%`YJsun-6-9Kvp0000qlct38Jv^f|T2h^yb_*cSiGsg+`;%4d4mT z1$>~)dinu;0*|PHwU_64ztLz+L?mB@tg0r8qHSyKKJXm) zo@H6P*=(N4qVxB_S&}3j-}k3$c78=c5L8N~(h0DgW!bI;o&x2+g~xIHP()r`I?bar zO*^jZelW%yI6zlbdz*HCS*=#<0_cgzV@E{p<$2yO3cl2QKJNqf9aXI~8jVTO2A=1g z16vNjs;^}oEtyWy;NSJn4eY9gb(-D#Ba5%hEv_TxlJHUmbs-KN9dqo>Kj1b1Ec1h|zX$*ur|VR+YC`x>|j^zuA^Td&u@tTXiEINn*r zatM60*0!tF>bWe7!Z37=F$W^j6_E$3x>jT&GF8=&s(L(|&0hMx{}bRBDxALR#gL-p P00000NkvXXu0mjf02lUW diff --git a/videomass/art/icons/Videomass-Dark/24x24/stop.png b/videomass/art/icons/Videomass-Dark/24x24/stop.png deleted file mode 100644 index d9eeb36173916473968bc8f0abd2e23272c5abbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmV<40U`d0P)jraZ@@B$bD4rsF( z-+_<7MF`EF{#Ox+w=t`#Ez5E*Ns?#4Yv5Z5;V{dx zD_J*x4_qx4izDaUe8c9yk>~kNnx>b)UI^i-0bT;_CgcFlx%qOrJOXyDwZ{e+s_Li- z`3-}?UDtJN5IjQ3tu)ixcVs@8k23Bcc8i}zk{BkOj%^5>a| zMDIQ3Zax3aHeegD4S@f?DvXHCr_E-(3&hl2PbqQS8b$uoPMNvFVlH?7r3yfln?|Qx7mrXwX zs;c(aV>tn?lO#FpbUL4Z?eU^0TGrZQ5gCfe6II=4WFj(G)eowAQP=gEbM6PgPfEDH U4r))Jxc~qF07*qoM6N<$f|2&v=>Px# diff --git a/videomass/art/icons/Videomass-Light/16x16/addtoprst.png b/videomass/art/icons/Videomass-Light/16x16/addtoprst.png deleted file mode 100644 index 8a27adcd04a712bfdabd3a5b2cce7fa47069c230..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 433 zcmV;i0Z#sjP)ppL0Dg@*)Y=OhTcPE^dl~O`$KmWRy-AQgb5DyNg%EZdjmB>P1yI$uX0{zdcn>@`v$Y~Yk|guM$xz^&JBTsv zh{!%L4b1#wgPZXJj)B}Cs?}<#)oT69^SsjU_fvo@%g(*`arMjUOms21tXy85&YgB2 z3LHSKR$EWg^hciOZ-5V~+ELX`v)P;l=uUR`LlQ2^Kg+L1H*f%E_8sVm$i@FgP=I>9 z-T$fu7NPPve{m0Z)t)22~YwsvHRN8aI#4{ zjPMs;xacMZf{!M);BfDVd>#nC6-F3|a|A2{uiH!QPY-);96=F95r&A#Ms%^FxBB(5 b1OMO-g#UE1=|3jK00000NkvXXu0mjfXE(#d diff --git a/videomass/art/icons/Videomass-Light/16x16/audiotrack.png b/videomass/art/icons/Videomass-Light/16x16/audiotrack.png deleted file mode 100644 index 7bd8884c42668e3bcc52d96a31b4dbf8850bb250..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 304 zcmV-00nh%4P)!U0e^OWYt0wORQHITRgNNa+I@DVA^G z1Aqh{9nlx*dQp!tO+54**qFy(a-wRh>K9BJ$ic&F<2<=o3=)Ujb!V-T;`V z0M34)D2kPcJgDlzIR`T%NlOBF@0THjwVBPP8A*$$OGd0JbFG06Y%Eu!`pY3w;1D3Q3`pQST)H00003Z*>uhw1vhdI`B7~w-^bGxZfDF?#2s;#B ze1J}NNrDXakUc>43PHCb2#KzRWKx%0XC2v@oldS>hOE^0Hb3U~na^*A0r+Fk&q6Y} zHfvG4WLbQUF`*?A3CRUxylvh&HqC5q=O4ZMv3C()UpcB)n-A|FY>`@A6OIIg6{M;} z)AYzvcx0+#7=^;GfQ|TSvGzu@LdYH~R~IWt*Q5Jh2nGO1rIus$I^B`d-_(Rm?v+Xh z(=MPzk$C}q{F2xXxarB#ziGEPLBOvMbmse%w+OUE&u@F ztbCcBh>&7G6UX7w{Cp{-(z#rx_U$i}&#!i)Q9U*`s@;Uc0fsRG=?JiG+Oo{rb))e- d<8A(zd;!5>iV`p91>XPw002ovPDHLkV1hyWyu|5YP%t<9W_M;R%pPaB6-B?*d*AovGxKJE ze-x{VZnyg&gz(gRf1}^;?*l-m)5!psEX(czK$@ma&iMz%*yCQW_X+@b1@PWq0B|mZ zaAxj+ivTWF%@NUcB74@D{7&U@{Gr4-9fJ(RRLvR3KZL#ltnJrr5bQF!WR)`}tsyq$= zJHx@IG3GUqg|+l>GMVhPTDMvzr)ExeB}tNNb&o5n;#3@eWQ;*d@d*Hymg1Ljq|XC@ zckTs%bP=HL8#(9v%3QNjcY`{B&#m3^-otwza!YUi7J%X4-9}Nm&xLcl!@=N5T~5{w z06?q85rF)6nR&n=fUk_P?{nTk2*Fg%@$B1i_W$Sy$f~aH6LYL=00000NkvXXu0mjf DrA+S$ diff --git a/videomass/art/icons/Videomass-Light/16x16/copyprf.png b/videomass/art/icons/Videomass-Light/16x16/copyprf.png deleted file mode 100644 index a35c14a3402021b29539aed57ecc4d9496572e9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399 zcmV;A0dW3_P)Vu*vFq_Rjs;W9)tyW)61wzw+bB@7aU<`-DS5;L{TMZ6bEEbTY zpHZ*ZqodL2GtcwQcDr?_)9K`B0b>l7WdQ&j$APM<^*yp)uTOMcAB&>+tzl_SV zl*2IWW>6=NV+294&z%jL_$LN=p7S(K_uEBLXpAwXivc;-YTNcbrS!J#=lOj8=y~3C t<1KXMsDY+w79r%U?O|D#?^%|;eFLg^tW5>?P^ka_002ovPDHLkV1mQYu}lB} diff --git a/videomass/art/icons/Videomass-Light/16x16/deinterlace.png b/videomass/art/icons/Videomass-Light/16x16/deinterlace.png deleted file mode 100644 index a3dd33ebc0d436d9c412e258995314244e1c6f49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt^po-U3d z7QM*{3j_?3giA_Ga}TNQtN#AZs>Dz%hwK0U|MESDop_kt7)``tVq&gMUR-&8o^9iX zh##J&>b(vPrusW}?6`AKZD0C%InffsHI;TKmZKBkrJBFSgJX}v zv15mBpM5@W=E(!oCuJ3U{abi`24_Q;PCzVE#|go!91k+zR!&(auCBn{B)g%?xWwLP z(pKRG3f~Q6w(R^}SR;JF=v&tJj4%=Dgl9(GuRIf?&sLt*o4LrUyidIHO7ODWyL!Kv x>qIa7DAg>zBE_)v8^aU6`aZ*p?ypNPau?m#t4uR-$^<%|!PC{xWt~$(69E4fWNH8a diff --git a/videomass/art/icons/Videomass-Light/16x16/denoise.png b/videomass/art/icons/Videomass-Light/16x16/denoise.png deleted file mode 100644 index 64174b7a83740850814ae6cbef1fa6b4dd235545..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 682 zcmV;b0#*HqP)=Zb_ZsX_>;Y$RYI zHWq?~ogi9j5l}FQNKCMbrt)(4IM`xI3L#N~!4P?gho_{_TN4iMa_{z8m~lroX>` zy}P^HvMejd%pa$xr<PByG@80h2ZgfJxah%%#?s%TJ2w;kc9y0U0bUN(;cuGXy zs@3X#9LI~y+>%n3Pqd(vx(8sQP$+ELw*3gecs`$hJv2152w>c{?Z?Gp@dJPfrPTdS zoe6*dz_P5aIF5S&P!vU1iD)Ve!!yiGM072Rq8AtrO7$0N(+?kW#KlDOYm2+!`~#UtV4gve~TCT9aWI zvjEn#)@K2{5JHp(2M4#9d0q%nmQt=HTBEfl02Ie@XGTOsiI)F&3q%w$b7BjtQp(kA zHoFO6t5hlp*L6)IN&|QXV1tOxX{}!hA&Rc+el<;VUI-zil&dBH4FIiHYu_}@DgbTU z_VZe;R?X-01po-cuwmP_0HBHJOS9QL=+qrA(!jvLT>vwl=e?@e>z4t{RVtN@N~LlU zz*3{p_>s%y4z$(*Gh3ZSIu_{b>-)sapG&3E8^>|B0qmtxsfEMC!)+p}0hkj)R9x4M z;y7N|+1dG-G*ke;kIDD_nNIHe{>*8|lxR&51ghO`mpgg8-7W_~ppyRn0?JYeM)cj2 QbN~PV07*qoM6N<$g1uxo761SM diff --git a/videomass/art/icons/Videomass-Light/16x16/edit-clear.png b/videomass/art/icons/Videomass-Light/16x16/edit-clear.png deleted file mode 100644 index 6ec86b71529d274ff240be8f0c49a1c65d347b5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt`VJY5_^ zEPC%wROCD4AmDmGC(1GFg`h{k)ruyk1B@F4cDU;w;8aNX$kM1IbytdoE!HRa;*##n z6Wf-yJb1AB?#xR2&&D47fipWtI zhC9GE@I4H}_m{yJ8k9<<2da9zSS&69>#920Xf$4qf+0I%5CnIDkB;N)b~>GTz&FOM zwA=0exCS18sxAYbsy+pN8e{IoacsuHkR4G(c7bD{VT`HAas2lx@U_Gl(Jh#T>lZAl P00000NkvXXu0mjf*-q8B diff --git a/videomass/art/icons/Videomass-Light/16x16/newprf.png b/videomass/art/icons/Videomass-Light/16x16/newprf.png deleted file mode 100644 index 299d08317eefb8b01d669ffc133b3723ce42992c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmV;10eSw3P)kHFazM!NPT5l*2EMI z0pd8`0kAxXiRd_rqW8)G087UDSt)fs%{&J9N&2fQCY*YiD*aAVzb7MNR}KC7FaQ7m07*qoM6N<$f-RJyVgLXD diff --git a/videomass/art/icons/Videomass-Light/16x16/playback.png b/videomass/art/icons/Videomass-Light/16x16/playback.png deleted file mode 100644 index b040c72cb8167b75c3059fe8d223f1614d309acb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 342 zcmV-c0jd6pP)vViEHMHg=YC0|DE#_BJbQVIzyR zU}GUz*ocpy5D2#jD1^lq5J7BGSW84OHyNu%S=OJsd%A()o6`)iWC#GX)|(t=ph^zy+WabGo zZ#x6uvIXFlnXltG-dF^fW~b}A2d(vKk|e8(007Vzkzvy`Pg?8!G);T1z}$EayB|b! z?s?ug%d%Hj;6^Dm%=7%&wZT1rkum1(r-iuy5mh2`XpFf6AirIh1>OLh)OCGamgV~& o?Y;ot_gic2MccMx*JoNfpPFx1WH-?|zyJUM07*qoM6N<$f+h})jxk-~Y zV2mM-O)@k)DTERad^`<}s<83d-f?vywKkH?#m0kTx z=e}Qqt4&vIdw`VbS~4;ifS7xz2kG2Wqv-NzBabw#8cCInK>&SrXM_ihcU!m VXKt>66Ccn|44$rjF6*2UngCR4ZL9zQ diff --git a/videomass/art/icons/Videomass-Light/16x16/preview.png b/videomass/art/icons/Videomass-Light/16x16/preview.png deleted file mode 100644 index 9f0b1efdc0cfe71c2b310430a54cdc12ae7c3547..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 780 zcmV+n1M~ceP)Mc{K~y-6t&mS>V^tW%fA`+^+7R={z6qtB7717+2oBm=*+L0PNgGOB z2%&<~h08$~($$EIF5DE{%7CD*92Z@>v9E1-i-;~nQOHJG+bN?dwB&`5*Cf5Uy>6Tk z1$Un1cR1hq17lcTUQU)urD^^HrBZ3STrQ`^ZvtRvXGhlS^-q8YfCauA4u@|AL2w07 zEEexbDZjSXE(5|^` z@}*X*_2DQ+KA)d2m&=pm(bm`3v(;)<0b*lgV``kMR;%h+6){d!DwRyH*DEQd8vFbE zzl?K*Lg7WF)azR7AP9n||JVRvb#?VU;304qxBc< zk?;E-jUE&Vg^HB&DG&J+FJX;(b3VT5_BHk))h9TJJe zv+>@r*1i*lp}4rXKq-amx&W>a;$1+FeDz2GdVel5aQn2+S+SUDfPnD)m5g`=@3N`Q511}e2lf0SS-f*`8oZ5 zpD2pBzP_f>XyADs)>_9H^Qxni>fPMj+_u|owY$4JD%tP%aa|X!HNNlT`#u2KY?g_M z3I48rEti&-o=i&-2h)lgVVpcV&Kl9<4P%8>p!u2y8BwdpVU#-S2k0 zBoYaV#UhU5&}y}QPp8vQj4?A>YjU|9i;Ig~US2XB4)+fZ4n7wE`FwuHbzMIei@lOe zCed2cZnv+EG24#g`~iHKPN(mjWO@nYPFyEKkye1l`iBOm64wS0000< KMNUMnLSTaXD|f~K diff --git a/videomass/art/icons/Videomass-Light/16x16/preview_audio.png b/videomass/art/icons/Videomass-Light/16x16/preview_audio.png deleted file mode 100644 index fb2c583f0459317b40e07ece5727349a1e4c572b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461 zcmV;;0W$uHP)d%;IB*?$27=9&DD4R=+sd}PU7Fgv~Qnq!6nUsUGhFe#0? z=zUM>|MUyUPg03gY+AKSj$wh+!YR9svoIv6GaS$~N|3WCo4D-dG0W}Td$(@Om>>FM z!NKbNs+Bn_RU1qjl2V@Zc2uk_6{}iXs-|T3rF(v+@Q-+glj;r8=i8H3sGqzeQ7p&x z?l03xo08Jl_~m(0XSX+X#3Zqu-ekjYm+SY;Xz>% diff --git a/videomass/art/icons/Videomass-Light/16x16/timer.png b/videomass/art/icons/Videomass-Light/16x16/timer.png deleted file mode 100644 index 08f1ffe2a8a809583ba88dc5b6b8357083990c56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 616 zcmV-u0+;=XP)d!IM#=QA=+gaw~!h z_2l;usi5^zN{)pVG(<(T=M{P`Nz>pZfg~k`#s&i>`Ss9sF)lqh$Kjo4{_qYwG30S# zX=%yqcDq|jsTCj&h*GKq%@FO*VWmY0|P zv$M18?(Q-%F+m^@Z~>a85s$~wG))SHLMj%Ey}!P`Zfg$R3WY+!wY4=yM@PB6y=8xY zpPQQ-&(Tt;6yxLL&qQPkKy&gdi9`Zj*YW%PSe8Y*-RAJ{kh{CP0f4USOixea9N7g- zg~MT26p2L0WHJG%5skZ?GRh)g{M3@X4qqEgDUhLckd0p)77>I!PL8rf`? z$;nA}c6QJ-Z2;hCf4BgpRPO5Pif*?{r_|5usA4VB0p0M&mdCto-S| z#`8>bb8{gPc>}ECJQMI;MDm7V?46#T{`Bnil=usVhtnKnVar(n0000=^z9LI#R<~V zY}!A2pU)=SKo*8;j7z6*Fr-?C+x@aE25_PU#<%pqSdF@;S%t8;z(8YU0FujlxcZZe)wDq=Ix ut=qj@vHbnnH|{QW?THoff9?vDzvk1_^Ic|^7rzzgRR&L2KbLh*2~7Zg6nbp{ diff --git a/videomass/art/icons/Videomass-Light/16x16/transform-rotate.png b/videomass/art/icons/Videomass-Light/16x16/transform-rotate.png deleted file mode 100644 index 4313899f44d9052d8b6b94eb49ad4c97ee3e6260..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 502 zcmVF6iVqLlk z9sCPaaL`@o+D)v8gWY~PlHQih#ZoXBJE@ZeLu-teyXSH}(<7#e-|>Cl_xrx@@!&rp zvq)piW8iBPMXO;Lj;Hmw(~8Yz^H`}=@>KOMaL;j^o8@x3*YEdtj!fYD{xa|sIGv+@ zipY&12wIaxCl~n%um*fr)fM1%N^OY9g}nGs0%Odgs=fg>UDv&3t=%=otRzX&Yq#6M zL0`RIKRFtW%AHQCV9*2h zf!a}O5vc)taUAzDgKoDwRMi(i&GWo#e-ayGt^-#^V}A%1wH`Xl)41W13Ql6EVf#$t*Hh8l}hD!p-{LF s+y>64<@X}89!1f!Fbwx*oao>23;!sWgK{TUoB#j-07*qoM6N<$f($k0d;kCd diff --git a/videomass/art/icons/Videomass-Light/16x16/transform-scale.png b/videomass/art/icons/Videomass-Light/16x16/transform-scale.png deleted file mode 100644 index d5702720a3df837a8752a6f250095c612764cc2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 zcmV+c0{;DpP)ennxjf0TY;~ET*Xsq%W^+$OR+Gu(BmgMOvLhl#K@fb8q9_BVVHm!2&Yc4! zNwSmY`7JT^tJ{n`LdEXjP6vb$<-2 z#+Wm|Gsc{$>R}j$kDYU6x7%F<{#J6u*?+9fSk~H69LEQ~kK_2jT07dNUEe{g)p}^H zy#*j5Lsfm9rl|p#&*wKp=_v555 znY{IsVi0lNSi!-N#^5O6(Rz^j?`B`m zPVzf1_2(r286CC>B_^AV1(>I#?qugUY_RSxyJxX+biLFc+gJuGJu|PQDeIDfK4I{5 L^>bP0l+XkK&-rH8 diff --git a/videomass/art/icons/Videomass-Light/24x24/cleanup.png b/videomass/art/icons/Videomass-Light/24x24/cleanup.png deleted file mode 100644 index 7864e3b278286984d806da5416b62ff49de84ac7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1035 zcmV+m1oZofP)8X7GPP6@7fIYz3MP#Z%n&nSn#{~S zE;1uSGLxA8clVrgfB*CDefM6WENg9JG#Y&gIH0P#flX{o3&6OlUW&zH=ZA)d76AmH ztE=l?=iK*Y=wPu}9BOTCold1vrS+&m5SWRH37MIh+3tDXQ@}}8{ijqa^`z73NwL;8 zdY<>Qh)fm=g}!t;o!dy;iA3UkRlN^59){r`*4oXU=cQD2dn^{)V?57$8Q63u@XpT8 zU8?#D&;v~PzW-V}ozCU+`97efP$={p-~ceVQ8<8zoCTugVI%N2z}2f)=Yc`sIRiXY zEEb103Qr^wPXkX@g??>sZ~wH)dbVuBR}1`K zTdFrjq(N2B&Cbrg;QRi7G3FQN+^MRvoOAB=dJMCc!IdjlPCMtG1ulrlBfyW&xzAMf zATU}k8yp!KnYtqb-}ilE%r~lfzlc09B0m8=BJ!n({3ap?i^byEwHS2`thJtqoC6S% z4pseFRmY7nM}WUn^_Z%j@jUNP5CnBObraEO^wsj61W;mmzxthXXN)oDRP{|@D{wxO z$y`q)5^ew6pu4+!tE#?H9*zR@Rq1Wcx%Wh*PgRcsUjdJ+>ZtGgA6aV~*EJ}WN^b$% zfEyz6Ik4(101t}DhXAU&9~e{Bo#}M?_L>Hrot=*Y{Xh=br>gsEHBqH@W6Wr=SbQuN zi|t>TTy+kNG4HCX0bVr56o@GMPhbz{eLB7EaVlX0zEHz`PNW-<@;G zl?6c%IAhFFRlQkb{%zpEwQJY%^$b)s2}~I0+(qDowRZE$qT%7;Z=0K&cZ9WICVE_mv-uRqE*I*kO!04K#;g_{>`HrlzJ8 zaCbZ&-y;Cl+MSU|q2(A%=*5+Y>asZ;Cx1j zBuR$Iah!1>#H%tPt#zq!Cj>!oGELJ50H(8vToSzqbi>NZ$`7seEh4&|$Bxth0DRwf z0L^{|{Q5OhiwWQctF)rj8$_fs|7IGR6SA1#db@l8Z{I>ssq~#YErt z9b-(dC;z7;q6PrQUPT=NuL*YFhy6ZR9Z`dZ?6& zY}+0z8{G{=RI662-vt0L^8$cBC3&utaziO~wMYFX5iJ1OHQ8u1Hiw6YKLWUn-I7p5 z1;7;?yfA(Ra5IXc2xz;>j^f#3S=Q$;3|p)57wweW&>2+(`~Uy|07*qoM6N<$f~?d& AjQ{`u diff --git a/videomass/art/icons/Videomass-Light/24x24/download.png b/videomass/art/icons/Videomass-Light/24x24/download.png deleted file mode 100644 index 0da9855dabdad789470e67430c01215ec73ea81c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 604 zcmV-i0;BzjP)K~zYIt(HBD6Hyd~pK~*A42l?WL4++5*uuufMvN{Yb7ulp7JgM0 z7J}d(u#nCE1uF~1!bXT-AyLMO5Cp-WU>C#>@B;;#C{FINFtdb^nau9yg@MC4ocG-O zo^$UVVG7M=)AKyX6j%egCS6+yz#5NuJ`Xh}??fxVv4T)oPtF z#=Hhfdn8XW2F~{T{kI0d7_+%Vawc4x0Mc%^kBrCT?@Y-xgWDpaSxl;W2RJY%jQ@~!uuDFqlnZre+#+2 zD^lRnf&wdhD$r;&u5>z`Oo^ zh}?+d`2J2-YOTEnJY-50=Uii+M53zqthJYmlKZ}Y0eHY1$+LP;0v-iHaDEZFwbqKr zV=@LNugNQ_`Xmg)jU4jRz*F`xMHT1VvoH)#%?5nmKM6bs4(1UQ8Ph|~xfj;j6R9Hz zf^`vzfa;=T&-1)L&SjpX6sthgYPHS*sOl@=Sb@d;_C#a|DET)kz?v~8PVEBZu2QKC zO%z2xfR_al0M;kpLWoGz>-Byb09D=M|1-BNBqFi}ldE<(9Dc0V>+gUK7EDC}d;zY< qaU8>p?#uXXsaC6>y4~)!8vg*P1Dt5#THZ$h0000`VbS~LN1W*7$5S+Bu&TUGk(lo6W3Wen` z3_JapCnhFxD=RCb#+WO>0}=V&>2${9IR2;NeeSQ5JkWZ3iQUf=Dsea^}oE4E* zV`F2dvl1-1=2E8t6(MMRGD*rcB#(*K%9QFJsb!1w(Q|IV(hl)4&4QKMJChK>6? zOSlVPwbp*UUf(9~IyKN$N?nOSI|Gbx>PbWuJiP#TIA=*qKRWf29< zf&@{Nilj%VkI-ahr(WD**mru z$i*yq3%Rs9e+#Ax~l_*qr&1VM1C*X#WUAOP)l`-J!Y z{swfWEX!V_(Rd!m@!DR<-EOzGxVU)CT6-S&N>%?}TU)!3=lN4{&K64y}$<&ksk1Y z0VW!a#`B7mf8@P?2%H!N4iJXnGhosH44alHiq0BiGN3Ukd^6JyOHNNupI6lwcx!W9 zRi)Kx%~nB^B)PgZw#^`lqRXoKEikqY990p-3J03=EBjjDbE6#HTTkf!PPB61PG4cN8bA>U~v@SKm(=$R+g5Q-X2zzW!VqL zm~+4%qZ;)4{o}y05s_cL_noT3xw*ODy!U5;C!-jsY6tkmc<*O{>(04}s^Tomepl6V zz>j-@H=E5#5xD`(nji>nsp_(|Hf}bXlT{z3Y5Jlp%V;m~@$vB(=!ao=TL7GM@6>9w zd#q2)Os!UXP_Nhj9Ob9q@Ar?ZYG-5ReeeB+EX$tBps3U794Lz78tb>^DWG!8DzpOp j1l$S3@OB)>{{y@P3%3Ur`QVpb00000NkvXXu0mjfRz7Tt diff --git a/videomass/art/icons/Videomass-Light/24x24/home.png b/videomass/art/icons/Videomass-Light/24x24/home.png deleted file mode 100644 index 1ea3f17411a67e7f7026e47885fc662c869cc51e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 710 zcmV;%0y+JOP)PdGD5o) z*sGPsMzFV76aRp8TG&kK$7&#(2?>n_4Qgj>L<))tf+0Gyb1fJMuB)&>>6=V*&za|a zbLV7^kjwMD!-YcO7BFs%xd0rYJADV<8)Ke3j`O6^X#4;WfT5wG(^;0i%Axf%O&g_B zX()T?ZzOG2dFP)@T$(U&Qmg!%C@lBJw3klCda?*1Amon>^3! zRZ4}%n107`u2@Q`+rW|Cz{}-wpK9ir_(^`MhT0h<1J2yAC3ek$!gfwRDg_IE_2 z0i0JrZ>dyT>IC*YPbsAy0{6)WBG)nCg)!#y-$J>ryBNoDp9RoqS_TIP2b5AxV4@Aa z6*5oXQJYMwQ_=VRs%2U8z_q^t+H~3X{c5K|yMa`z)rtK6j_(oFG!9XB|KCLF&K3?hM*z_aL;%w1Bmhm6ekRZ4k%t0I;e=B62rP(@Xo^W}B*1Dt$dYJqy5N%W<41#+X&5R9LB0`VI&l z0wP%50^6?FLYpq>zU3anBZ2kZc08>*_x&e{2ID5Z*0O5a*L z>bmZvBc;3o4EIA05QbrUZ*OlFD8+HS-~e+#qaX4f>+9>gKm)kw0H>2AY4%IrLkQ6X z&Nx7^TrO|@tx#+Iv{tK4mA^d5aOfO z`i@d+Fl$iOfF4EQwv_UN)_R`qKk8>dk8$9h*7`-YT0MUh0X-%i$9bl;UaeNEr;Z}v zP~?A}e`$=l+G@3)_dDPda4QIc2Y@}OFmFH`xSJ$NBMiguSq@|kFu=04_S)Lo+Lt^X zInbHs2h==C({v&Tg84l1o>Kztot>Q%bnf*Jf*`2pXn3C}ipGFlM+ouW81qk(gRs`t zfp?BEW*NAylq&X1Ua3?@gb+7@Wyf{hMQiP@l+v$MDkJ@n4-F0ZK;(Jek^oRjoh%dz z4}lWUC=?2hOQq81JWD@{qA_c2z1w+YjG1n=TATaRuwJhpi{p5K&I&z8XL9DD4ZHzX gJkMM5eg7xGFBEUxb&j8ALI3~&07*qoM6N<$f|L*;`Tzg` diff --git a/videomass/art/icons/Videomass-Light/24x24/properties.png b/videomass/art/icons/Videomass-Light/24x24/properties.png deleted file mode 100644 index e84f54139c81ba8c2c886869fd7ca2cfc477d5b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 749 zcmV{qC8!I_Y@9A&>8n%_V~T)7G;5+Wd#{BXS(of4o8*UqIrm(? z|C}?!y+T8t=k@jU^jrll8e>iZgLJ1F@Xi?X#BrSIa=H8qKmdXuIIOjP(SS~6Sys;H z^GjhE*0)0*A0M}umzPJBQfGiW#+dK*dVMU8<1gZQUY}CxwTOI4)AT|d$E#gd{+~S0 z8&XPz#+VVuaZX!GscXRCUcdq3I9^>_Te|?{(lnh=z(rtc8*l+kyQJ^?|8h|jNwHX* z0xny?@hr>ATUAyp7H@5$;1;umafX zZ^^Rk2GFCm9s_1K+Y?2RG{<2W)_vbcH81+Ue_lkaCh(i}_4UudmB!N9b_VUFTH-ll zOz%cu+xF9efq^Qpudx&aK`>aURBElD){orI;I4?+K+YI535)_KHW~u@wbnlHY)2hL zQFOnlqD#OL5pjWUz+>Ph@YMJH^~SbyQ540U46F{h7ftW8mSxQWAAuzxX*^k19c*H7 z9nh9#J*reHpMYaq0bA9!gIcXN5Bvn4H{d%`TZ4s#g*9VL)fn?|r*P;zB7g_gYBk=C zfdzlh^UadgYV{Qz4!BO*U|PWH%F4=tomSXRNs=4{ekc+7ptUXmGrIw{o<+u(l8C&w zwAORLZO`+Dc4N@2LZL7$B9p+Jn0q{KUkZs$~ zfgCVp+xE*`F88&YOFv1HgN?CF0*TgoY<_-z@!#A^rBZL2rW5?VLQetRj%*cp3p{aM fcP0$O-vECAv``318#i3a00000NkvXXu0mjfSPNTv diff --git a/videomass/art/icons/Videomass-Light/24x24/statistics.png b/videomass/art/icons/Videomass-Light/24x24/statistics.png deleted file mode 100644 index 3d1082a9eeb3e8c521a861c68462ddd87acbd1bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmV+$0_6RPP);Qe8yI5(;FG1b zJ_4R9rK&~2>-GAM5aKy-B!VE=n$2dXLWse1I&CeM#YXT-r4j+xT-V(f07|Kwwr#%# zYCzkz?YFgB?aMk#KTXp;V@$A^Jk?q^d%fPdST+Sgu$5)mAwO5>Jz(9)#=r;Q*md2P dQ54MpegIupwWX<3z7qfd002ovPDHLkV1n^*`uP9= diff --git a/videomass/art/icons/Videomass-Light/24x24/stop.png b/videomass/art/icons/Videomass-Light/24x24/stop.png deleted file mode 100644 index 33e2295b97782fd16b81d8c7a457c216694d5b46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmVJhbzSFS7~W)Awr*lh)6}2MW(Qj9 zr@$)_`MO@OkBXwWQr6l%t@V4Q)Kyhg$3;;rw`~3g*4m!dIuntDAPAm#TI(0Uej9Rt zq9~TD)#?}+R8@8A0Vlwy4f!q8>2v{%fM*`?pswq@E%_}5)?j$<*#=%%~BDQTMeWm(o9u$<55ciWT$ zlx2AcEIg&uXXjkfc7TW^z$ec+cLBV#*7n+xM^V&QO1%ayydVh9L}a10&Y~#lw;}I# zyBSa#W6l+Twf3Ix`)_~&F!Fu>-C!{Ivdz&i%koe}l1=l{Id?RfOs;?L@gzy^R8@7# ruM_$h*!Ihozz5*c7;~Ow*$;r9z|X9|PF@N^00000NkvXXu0mjfW Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.07.2024 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -1241,26 +1241,15 @@ def videomass_tool_bar(self): int(self.appdata['toolbarsize'])) self.toolbar.SetToolBitmapSize(bmp_size) - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmpback = get_bmp(self.icons['previous'], bmp_size) - bmpnext = get_bmp(self.icons['next'], bmp_size) - bmpinfo = get_bmp(self.icons['fileproperties'], bmp_size) - bmpconv = get_bmp(self.icons['startconv'], bmp_size) - bmpstop = get_bmp(self.icons['stop'], bmp_size) - bmphome = get_bmp(self.icons['home'], bmp_size) - bmpclear = get_bmp(self.icons['cleanup'], bmp_size) - bmpplay = get_bmp(self.icons['play'], bmp_size) - - else: - bmpback = wx.Bitmap(self.icons['previous'], wx.BITMAP_TYPE_ANY) - bmpnext = wx.Bitmap(self.icons['next'], wx.BITMAP_TYPE_ANY) - bmpinfo = wx.Bitmap(self.icons['fileproperties'], - wx.BITMAP_TYPE_ANY) - bmpconv = wx.Bitmap(self.icons['startconv'], wx.BITMAP_TYPE_ANY) - bmpstop = wx.Bitmap(self.icons['stop'], wx.BITMAP_TYPE_ANY) - bmphome = wx.Bitmap(self.icons['home'], wx.BITMAP_TYPE_ANY) - bmpclear = wx.Bitmap(self.icons['cleanup'], wx.BITMAP_TYPE_ANY) - bmpplay = wx.Bitmap(self.icons['play'], wx.BITMAP_TYPE_ANY) + # available only in wx version 4.1 to up + bmpback = get_bmp(self.icons['previous'], bmp_size) + bmpnext = get_bmp(self.icons['next'], bmp_size) + bmpinfo = get_bmp(self.icons['fileproperties'], bmp_size) + bmpconv = get_bmp(self.icons['startconv'], bmp_size) + bmpstop = get_bmp(self.icons['stop'], bmp_size) + bmphome = get_bmp(self.icons['home'], bmp_size) + bmpclear = get_bmp(self.icons['cleanup'], bmp_size) + bmpplay = get_bmp(self.icons['play'], bmp_size) self.toolbar.SetFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) diff --git a/videomass/vdms_panels/av_conversions.py b/videomass/vdms_panels/av_conversions.py index 3f6a69778..dbba2a97f 100644 --- a/videomass/vdms_panels/av_conversions.py +++ b/videomass/vdms_panels/av_conversions.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.18.2023 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -146,37 +146,20 @@ def __init__(self, parent, appdata, icons): Collects all the values of the GUI controls used in this panel """ - if 'wx.svg' in sys.modules: # only available in wx version 4.1 to up - bmpplay = get_bmp(icons['preview'], ((16, 16))) - bmpapreview = get_bmp(icons['preview_audio'], ((16, 16))) - self.bmpreset = get_bmp(icons['clear'], ((16, 16))) - bmpresize = get_bmp(icons['scale'], ((16, 16))) - bmpcrop = get_bmp(icons['crop'], ((16, 16))) - bmprotate = get_bmp(icons['rotate'], ((16, 16))) - bmpdeinterlace = get_bmp(icons['deinterlace'], ((16, 16))) - bmpdenoiser = get_bmp(icons['denoiser'], ((16, 16))) - bmpanalyzes = get_bmp(icons['volanalyze'], ((16, 16))) - bmpasettings = get_bmp(icons['settings'], ((16, 16))) - bmppeaklevel = get_bmp(icons['audiovolume'], ((16, 16))) - bmpstab = get_bmp(icons['stabilizer'], ((16, 16))) - bmpsaveprf = get_bmp(icons['addtoprst'], ((16, 16))) - bmpcoloreq = get_bmp(icons['coloreq'], ((16, 16))) - else: - bmpplay = wx.Bitmap(icons['preview'], wx.BITMAP_TYPE_ANY) - bmpapreview = wx.Bitmap(icons['preview_audio'], wx.BITMAP_TYPE_ANY) - self.bmpreset = wx.Bitmap(icons['clear'], wx.BITMAP_TYPE_ANY) - bmpresize = wx.Bitmap(icons['scale'], wx.BITMAP_TYPE_ANY) - bmpcrop = wx.Bitmap(icons['crop'], wx.BITMAP_TYPE_ANY) - bmprotate = wx.Bitmap(icons['rotate'], wx.BITMAP_TYPE_ANY) - bmpdeinterlace = wx.Bitmap(icons['deinterlace'], - wx.BITMAP_TYPE_ANY) - bmpdenoiser = wx.Bitmap(icons['denoiser'], wx.BITMAP_TYPE_ANY) - bmpanalyzes = wx.Bitmap(icons['volanalyze'], wx.BITMAP_TYPE_ANY) - bmpasettings = wx.Bitmap(icons['settings'], wx.BITMAP_TYPE_ANY) - bmppeaklevel = wx.Bitmap(icons['audiovolume'], wx.BITMAP_TYPE_ANY) - bmpstab = wx.Bitmap(icons['stabilizer'], wx.BITMAP_TYPE_ANY) - bmpsaveprf = wx.Bitmap(icons['addtoprst'], wx.BITMAP_TYPE_ANY) - bmpcoloreq = wx.Bitmap(icons['coloreq'], wx.BITMAP_TYPE_ANY) + bmpplay = get_bmp(icons['preview'], ((16, 16))) + bmpapreview = get_bmp(icons['preview_audio'], ((16, 16))) + self.bmpreset = get_bmp(icons['clear'], ((16, 16))) + bmpresize = get_bmp(icons['scale'], ((16, 16))) + bmpcrop = get_bmp(icons['crop'], ((16, 16))) + bmprotate = get_bmp(icons['rotate'], ((16, 16))) + bmpdeinterlace = get_bmp(icons['deinterlace'], ((16, 16))) + bmpdenoiser = get_bmp(icons['denoiser'], ((16, 16))) + bmpanalyzes = get_bmp(icons['volanalyze'], ((16, 16))) + bmpasettings = get_bmp(icons['settings'], ((16, 16))) + bmppeaklevel = get_bmp(icons['audiovolume'], ((16, 16))) + bmpstab = get_bmp(icons['stabilizer'], ((16, 16))) + bmpsaveprf = get_bmp(icons['addtoprst'], ((16, 16))) + bmpcoloreq = get_bmp(icons['coloreq'], ((16, 16))) # Args settings definition self.opt = { @@ -207,10 +190,7 @@ def __init__(self, parent, appdata, icons): elif self.appdata['ostype'] == 'Darwin': sizepancodevideo = (300, 700) else: - if int(''.join(wx.version().split()[0].split('.'))) >= 410: - sizepancodevideo = (300, 700) - else: - sizepancodevideo = (350, 700) + sizepancodevideo = (300, 700) wx.Panel.__init__(self, parent, -1) # ------------ widgets diff --git a/videomass/vdms_panels/choose_topic.py b/videomass/vdms_panels/choose_topic.py index 4edde8580..566c7e92c 100644 --- a/videomass/vdms_panels/choose_topic.py +++ b/videomass/vdms_panels/choose_topic.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Jan.21.2023 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -49,24 +49,12 @@ def __init__(self, parent, OS): self.oS = OS version = current_release() - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmpAVconv = get_bmp(self.icons['A/V-Conv'], ((48, 48))) - bmpPrstmng = get_bmp(self.icons['presets_manager'], ((48, 48))) - bmpYdl = get_bmp(self.icons['youtube'], ((48, 48))) - bmpConcat = get_bmp(self.icons['concatenate'], ((48, 48))) - bmpSlideshow = get_bmp(self.icons['slideshow'], ((48, 48))) - bmpTopictures = get_bmp(self.icons['videotopictures'], ((48, 48))) - else: - bmpAVconv = wx.Bitmap(self.icons['A/V-Conv'], wx.BITMAP_TYPE_ANY) - bmpPrstmng = wx.Bitmap(self.icons['presets_manager'], - wx.BITMAP_TYPE_ANY) - bmpYdl = wx.Bitmap(self.icons['youtube'], wx.BITMAP_TYPE_ANY) - bmpConcat = wx.Bitmap(self.icons['concatenate'], - wx.BITMAP_TYPE_ANY) - bmpSlideshow = wx.Bitmap(self.icons['slideshow'], - wx.BITMAP_TYPE_ANY) - bmpTopictures = wx.Bitmap(self.icons['videotopictures'], - wx.BITMAP_TYPE_ANY) + bmpAVconv = get_bmp(self.icons['A/V-Conv'], ((48, 48))) + bmpPrstmng = get_bmp(self.icons['presets_manager'], ((48, 48))) + bmpYdl = get_bmp(self.icons['youtube'], ((48, 48))) + bmpConcat = get_bmp(self.icons['concatenate'], ((48, 48))) + bmpSlideshow = get_bmp(self.icons['slideshow'], ((48, 48))) + bmpTopictures = get_bmp(self.icons['videotopictures'], ((48, 48))) wx.Panel.__init__(self, parent, -1, style=wx.TAB_TRAVERSAL) diff --git a/videomass/vdms_panels/concatenate.py b/videomass/vdms_panels/concatenate.py index 09a2d59e0..42c3da44a 100644 --- a/videomass/vdms_panels/concatenate.py +++ b/videomass/vdms_panels/concatenate.py @@ -262,7 +262,7 @@ def on_start(self): f"{self.spin_pict.GetValue()}" ) textstr.append(f"file '{self.parent.file_src[-1]}'") - self.args = (f'"{ftext}" -vsync vfr -pix_fmt yuv420p ' + self.args = (f'"{ftext}" -fps_mode vfr -pix_fmt yuv420p ' f'-profile:v baseline -map 0:v? -map_chapters 0 ' f'-map 0:s? -map 0:a? -map_metadata 0' ) diff --git a/videomass/vdms_panels/presets_manager.py b/videomass/vdms_panels/presets_manager.py index 75fd204d6..1b1a894c3 100644 --- a/videomass/vdms_panels/presets_manager.py +++ b/videomass/vdms_panels/presets_manager.py @@ -7,7 +7,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.07.2024 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -80,16 +80,11 @@ def __init__(self, parent, appdata, icons): "Output_extension": "", } """ - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmpnewprf = get_bmp(icons['profile_add'], ((16, 16))) - bmpeditprf = get_bmp(icons['profile_edit'], ((16, 16))) - bmpdelprf = get_bmp(icons['profile_del'], ((16, 16))) - bmpcopyprf = get_bmp(icons['profile_copy'], ((16, 16))) - else: - bmpnewprf = wx.Bitmap(icons['profile_add'], wx.BITMAP_TYPE_ANY) - bmpeditprf = wx.Bitmap(icons['profile_edit'], wx.BITMAP_TYPE_ANY) - bmpdelprf = wx.Bitmap(icons['profile_del'], wx.BITMAP_TYPE_ANY) - bmpcopyprf = wx.Bitmap(icons['profile_copy'], wx.BITMAP_TYPE_ANY) + bmpnewprf = get_bmp(icons['profile_add'], ((16, 16))) + bmpeditprf = get_bmp(icons['profile_edit'], ((16, 16))) + bmpdelprf = get_bmp(icons['profile_del'], ((16, 16))) + bmpcopyprf = get_bmp(icons['profile_copy'], ((16, 16))) + self.appdata = appdata self.array = [] # Parameters of the selected profile self.src_prst = os.path.join(self.appdata['srcpath'], 'presets') diff --git a/videomass/vdms_panels/sequence_to_video.py b/videomass/vdms_panels/sequence_to_video.py index addbeb53e..12b1ffb08 100644 --- a/videomass/vdms_panels/sequence_to_video.py +++ b/videomass/vdms_panels/sequence_to_video.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.09.2023 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -101,14 +101,9 @@ def __init__(self, parent, icons): "Interval": "", "Clock": "00:00:00:000", "Preinput": "1/0", "Fps": ["fps=10,", "10"], } - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmpresize = get_bmp(icons['scale'], ((16, 16))) - bmpatrack = get_bmp(icons['atrack'], ((16, 16))) - self.bmpreset = get_bmp(icons['clear'], ((16, 16))) - else: - bmpresize = wx.Bitmap(icons['scale'], wx.BITMAP_TYPE_ANY) - bmpatrack = wx.Bitmap(icons['atrack'], wx.BITMAP_TYPE_ANY) - self.bmpreset = wx.Bitmap(icons['clear'], wx.BITMAP_TYPE_ANY) + bmpresize = get_bmp(icons['scale'], ((16, 16))) + bmpatrack = get_bmp(icons['atrack'], ((16, 16))) + self.bmpreset = get_bmp(icons['clear'], ((16, 16))) wx.Panel.__init__(self, parent, -1, style=wx.BORDER_THEME) sizer = wx.BoxSizer(wx.VERTICAL) diff --git a/videomass/vdms_panels/video_to_sequence.py b/videomass/vdms_panels/video_to_sequence.py index d2d57615e..3f127f07d 100644 --- a/videomass/vdms_panels/video_to_sequence.py +++ b/videomass/vdms_panels/video_to_sequence.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.09.2023 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -25,7 +25,6 @@ along with Videomass. If not, see . """ import os -import sys import wx import wx.lib.agw.hyperlink as hpl import wx.lib.agw.floatspin as FS @@ -66,12 +65,8 @@ def __init__(self, parent, icons): self.parent = parent # parent is the MainFrame self.opt = {"Scale": "scale=w=320:h=-1", "Setdar": "", "Setsar": ""} - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmpresize = get_bmp(icons['scale'], ((16, 16))) - self.bmpreset = get_bmp(icons['clear'], ((16, 16))) - else: - bmpresize = wx.Bitmap(icons['scale'], wx.BITMAP_TYPE_ANY) - self.bmpreset = wx.Bitmap(icons['clear'], wx.BITMAP_TYPE_ANY) + bmpresize = get_bmp(icons['scale'], ((16, 16))) + self.bmpreset = get_bmp(icons['clear'], ((16, 16))) wx.Panel.__init__(self, parent, -1, style=wx.BORDER_THEME) sizer = wx.BoxSizer(wx.VERTICAL) @@ -447,7 +442,7 @@ def update_arguments(self, fmt): if self.opt["Setsar"]: scale = f'{scale},{self.opt["Setsar"]}' cmd = ('-skip_frame nokey', f'-vf "{scale},tile={rows}x{cols}:' - f'padding={pad}:margin={marg}:color=White" -an -vsync 0') + f'padding={pad}:margin={marg}:color=White" -an -fps_mode 0') elif self.rdbx_opt.GetSelection() == 2: setf = '' @@ -467,14 +462,22 @@ def update_arguments(self, fmt): if self.opt["Setsar"]: scale = f'{scale},{self.opt["Setsar"]}' - arg = {'jpeg': ('', f'-vsync cfr -r {self.spin_rate.GetValue()} ' - f'-vf "{scale}" -pix_fmt yuvj420p'), - 'png': ('', f'-vsync cfr -r {self.spin_rate.GetValue()} ' - f'-vf "{scale}" -pix_fmt rgb24'), - 'bmp': ('', f'-vsync cfr -r {self.spin_rate.GetValue()} ' - f'-vf "{scale}" -pix_fmt bgr24'), - 'gif': ('', f'-vsync cfr -r {self.spin_rate.GetValue()} ' - f'-vf "{scale}"') + arg = {'jpeg': ('', + f'-fps_mode cfr -r {self.spin_rate.GetValue()} ' + f'-vf "{scale}" -pix_fmt yuvj420p' + ), + 'png': ('', + f'-fps_mode cfr -r {self.spin_rate.GetValue()} ' + f'-vf "{scale}" -pix_fmt rgb24' + ), + 'bmp': ('', + f'-fps_mode cfr -r {self.spin_rate.GetValue()} ' + f'-vf "{scale}" -pix_fmt bgr24' + ), + 'gif': ('', + f'-fps_mode cfr -r {self.spin_rate.GetValue()} ' + f'-vf "{scale}"' + ) } cmd = arg[fmt] diff --git a/videomass/vdms_utils/get_bmpfromsvg.py b/videomass/vdms_utils/get_bmpfromsvg.py index 18115e6bd..b6dffa6d0 100644 --- a/videomass/vdms_utils/get_bmpfromsvg.py +++ b/videomass/vdms_utils/get_bmpfromsvg.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: May.10.2021 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -24,17 +24,14 @@ You should have received a copy of the GNU General Public License along with Videomass. If not, see . """ -try: - from wx.svg import SVGimage -except ModuleNotFoundError: - pass +from wx.svg import SVGimage def get_bmp(imgfile, size): """ Given a file and a size, converts to bmp - """ + """ img = SVGimage.CreateFromFile(imgfile) bmp = img.ConvertToScaledBitmap(size) diff --git a/videomass/vdms_ytdlp/formatcode.py b/videomass/vdms_ytdlp/formatcode.py index c5494ee5e..bd7b2deee 100644 --- a/videomass/vdms_ytdlp/formatcode.py +++ b/videomass/vdms_ytdlp/formatcode.py @@ -29,46 +29,46 @@ from videomass.vdms_utils.utils import format_bytes -if not hasattr(wx, 'EVT_LIST_ITEM_CHECKED'): - import wx.lib.mixins.listctrl as listmix - - class TestListCtrl(wx.ListCtrl, - listmix.CheckListCtrlMixin, - listmix.ListCtrlAutoWidthMixin - ): - """ - This class is responsible for maintaining backward - compatibility of wxPython which do not have a `ListCtrl` - module with checkboxes feature: - - Examples of errors raised using a ListCtrl with checkboxes - not yet implemented: - - AttributeError: - - 'ListCtrl' object has no attribute 'EnableCheckBoxes' - - module 'wx' has no attribute `EVT_LIST_ITEM_CHECKED` - - module 'wx' has no attribute `EVT_LIST_ITEM_UNCHECKED` - """ - def __init__(self, - parent, - ID, - pos=wx.DefaultPosition, - size=wx.DefaultSize, - style=0 - ): - self.parent = parent - wx.ListCtrl.__init__(self, parent, ID, pos, size, style) - listmix.CheckListCtrlMixin.__init__(self) - listmix.ListCtrlAutoWidthMixin.__init__(self) - # self.setResizeColumn(3) - - def OnCheckItem(self, index, flag): - """ - Send to parent (class FormatCode) index and flag. - index = int(num) of checked item. - flag = boolean True or False of the checked or un-checked item - """ - self.parent.on_checkbox(self) +#if not hasattr(wx, 'EVT_LIST_ITEM_CHECKED'): + #import wx.lib.mixins.listctrl as listmix + + #class TestListCtrl(wx.ListCtrl, + #listmix.CheckListCtrlMixin, + #listmix.ListCtrlAutoWidthMixin + #): + #""" + #This class is responsible for maintaining backward + #compatibility of wxPython which do not have a `ListCtrl` + #module with checkboxes feature: + + #Examples of errors raised using a ListCtrl with checkboxes + #not yet implemented: + + #AttributeError: + #- 'ListCtrl' object has no attribute 'EnableCheckBoxes' + #- module 'wx' has no attribute `EVT_LIST_ITEM_CHECKED` + #- module 'wx' has no attribute `EVT_LIST_ITEM_UNCHECKED` + #""" + #def __init__(self, + #parent, + #ID, + #pos=wx.DefaultPosition, + #size=wx.DefaultSize, + #style=0 + #): + #self.parent = parent + #wx.ListCtrl.__init__(self, parent, ID, pos, size, style) + #listmix.CheckListCtrlMixin.__init__(self) + #listmix.ListCtrlAutoWidthMixin.__init__(self) + ## self.setResizeColumn(3) + + #def OnCheckItem(self, index, flag): + #""" + #Send to parent (class FormatCode) index and flag. + #index = int(num) of checked item. + #flag = boolean True or False of the checked or un-checked item + #""" + #self.parent.on_checkbox(self) class FormatCode(wx.Panel): diff --git a/videomass/vdms_ytdlp/main_ytdlp.py b/videomass/vdms_ytdlp/main_ytdlp.py index 51527147a..5e1e6efd0 100644 --- a/videomass/vdms_ytdlp/main_ytdlp.py +++ b/videomass/vdms_ytdlp/main_ytdlp.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.07.2024 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -502,21 +502,12 @@ def videomass_tool_bar(self): int(self.appdata['toolbarsize'])) self.toolbar.SetToolBitmapSize(bmp_size) - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmpback = get_bmp(self.icons['previous'], bmp_size) - bmpnext = get_bmp(self.icons['next'], bmp_size) - bmpstat = get_bmp(self.icons['statistics'], bmp_size) - bmpydl = get_bmp(self.icons['download'], bmp_size) - bmpstop = get_bmp(self.icons['stop'], bmp_size) - bmpclear = get_bmp(self.icons['cleanup'], bmp_size) - - else: - bmpback = wx.Bitmap(self.icons['previous'], wx.BITMAP_TYPE_ANY) - bmpnext = wx.Bitmap(self.icons['next'], wx.BITMAP_TYPE_ANY) - bmpstat = wx.Bitmap(self.icons['statistics'], wx.BITMAP_TYPE_ANY) - bmpydl = wx.Bitmap(self.icons['download'], wx.BITMAP_TYPE_ANY) - bmpstop = wx.Bitmap(self.icons['stop'], wx.BITMAP_TYPE_ANY) - bmpclear = wx.Bitmap(self.icons['cleanup'], wx.BITMAP_TYPE_ANY) + bmpback = get_bmp(self.icons['previous'], bmp_size) + bmpnext = get_bmp(self.icons['next'], bmp_size) + bmpstat = get_bmp(self.icons['statistics'], bmp_size) + bmpydl = get_bmp(self.icons['download'], bmp_size) + bmpstop = get_bmp(self.icons['stop'], bmp_size) + bmpclear = get_bmp(self.icons['cleanup'], bmp_size) self.toolbar.SetFont(wx.Font(9, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) diff --git a/videomass/vdms_ytdlp/youtubedl_ui.py b/videomass/vdms_ytdlp/youtubedl_ui.py index 75d9bbf57..0c34eb256 100644 --- a/videomass/vdms_ytdlp/youtubedl_ui.py +++ b/videomass/vdms_ytdlp/youtubedl_ui.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: July.07.2023 +Rev: Feb.13.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -130,12 +130,8 @@ def __init__(self, parent): confmanager = ConfigManager(appdata['fileconfpath']) sett = confmanager.read_options() - if 'wx.svg' in sys.modules: # available only in wx version 4.1 to up - bmplistindx = get_bmp(icons['playlist'], ((16, 16))) - bmpsubtitles = get_bmp(icons['subtitles'], ((16, 16))) - else: - bmplistindx = wx.Bitmap(icons['playlist'], wx.BITMAP_TYPE_ANY) - bmpsubtitles = wx.Bitmap(icons['subtitles'], wx.BITMAP_TYPE_ANY) + bmplistindx = get_bmp(icons['playlist'], ((16, 16))) + bmpsubtitles = get_bmp(icons['subtitles'], ((16, 16))) self.opt = {("NO_PLAYLIST"): True, ("THUMB"): sett['embed_thumbnails'], From 26361d8f143e33956979d3d10621c2f567aadab8 Mon Sep 17 00:00:00 2001 From: Gianluca Pernigotto Date: Sun, 18 Feb 2024 16:09:29 +0100 Subject: [PATCH 2/2] fix ffmpeg seekink-duration and more --- CHANGELOG | 12 +- debian/changelog | 13 +- docs/man/man1/videomass.1.gz | Bin 1272 -> 1272 bytes videomass/vdms_dialogs/filter_stab.py | 19 +-- videomass/vdms_io/io_tools.py | 20 +++- videomass/vdms_main/main_frame.py | 112 ++++++++++-------- videomass/vdms_panels/av_conversions.py | 1 - videomass/vdms_panels/choose_topic.py | 1 - videomass/vdms_panels/presets_manager.py | 1 - videomass/vdms_panels/sequence_to_video.py | 1 - videomass/vdms_threads/ffplay_file.py | 6 +- videomass/vdms_threads/one_pass.py | 20 ++-- videomass/vdms_threads/picture_exporting.py | 12 +- videomass/vdms_threads/two_pass.py | 23 ++-- videomass/vdms_threads/two_pass_ebu.py | 30 +++-- videomass/vdms_threads/video_stabilization.py | 40 +++++-- videomass/vdms_threads/volumedetect.py | 12 +- videomass/vdms_ytdlp/formatcode.py | 42 ------- videomass/vdms_ytdlp/main_ytdlp.py | 50 +++++--- videomass/vdms_ytdlp/youtubedl_ui.py | 1 - 20 files changed, 240 insertions(+), 176 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 53e2c66ed..9f23c6c02 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -7,7 +7,7 @@ License: GPL3 Change Log: +------------------------------------+ -Tue, 16 Feb 2024 V.5.0.5 +Tue, 17 Feb 2024 V.5.0.5 * Fixed `ValueError: could not convert string to float: 'N/A'` given by the `get_milliseconds()` function. @@ -31,7 +31,15 @@ Tue, 16 Feb 2024 V.5.0.5 * New versions of wxPython support svg images for icons well, so most png icons are removed. * Fixed FFmpeg warns: `-vsync arg is deprecated, use fps_mode` - + * Fixed FFmpeg seeking (-ss) and duration (-t) parameters by repositioning the + duration code after file inputs (-i). This fixed many inaccuracies and was + also faster. + * Added a new item to the File menu with its accelerator to delete all + imported files/URLs. This feature was already present on the + toolbar buttons but without the possibility of a convenient accelerator. + * [A/V Conversions] Overall improved the stabilizer filter for both the + preview and the production of the final video. Fixed various bugs that + prevented correct video playback. +------------------------------------+ Wed, 24 Jan 2024 V.5.0.4 diff --git a/debian/changelog b/debian/changelog index 42b3a1ba3..ead4ec839 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,8 +22,17 @@ videomass (5.0.5-1) UNRELEASED; urgency=medium * New versions of wxPython support svg images for icons well, so most png icons are removed. * Fixed FFmpeg warns: `-vsync arg is deprecated, use fps_mode` - - -- Gianluca Pernigotto Fri, 16 Feb 2024 00:29:00 +0200 + * Fixed FFmpeg seeking (-ss) and duration (-t) parameters by repositioning the + duration code after file inputs (-i). This fixed many inaccuracies and was + also faster. + * Added a new item to the File menu with its accelerator to delete all + imported files/URLs. This feature was already present on the + toolbar buttons but without the possibility of a convenient accelerator. + * [A/V Conversions] Overall improved the stabilizer filter for both the + preview and the production of the final video. Fixed various bugs that + prevented correct video playback. + + -- Gianluca Pernigotto Sun, 18 Feb 2024 16:00:00 +0200 videomass (5.0.4-1) UNRELEASED; urgency=high diff --git a/docs/man/man1/videomass.1.gz b/docs/man/man1/videomass.1.gz index ee49827985bd8cadcfde4495a2be8e49fbad825b..3b5bcc34556107d2e28f876bfa8475df5e776349 100644 GIT binary patch literal 1272 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 diff --git a/videomass/vdms_dialogs/filter_stab.py b/videomass/vdms_dialogs/filter_stab.py index 778a595f1..5cb296a70 100644 --- a/videomass/vdms_dialogs/filter_stab.py +++ b/videomass/vdms_dialogs/filter_stab.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: July.17.2023 +Rev: Feb.18.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -483,10 +483,9 @@ def on_load_at_time(self, event): return if self.ckbx_duo.IsChecked(): - makeduo = f'-i "{self.framesrc}" -filter_complex hstack' error = self.process(self.filename, self.frameduo, - args=makeduo, + args='', mode='makeduo', ) if error: @@ -505,7 +504,7 @@ def process(self, infile, outfile=None, args='', mode=None): ffmpeg `eq` filter. """ if not self.mills: - sseg = '' + sseg, tseg = '', '' else: seek = self.sld_time.GetValue() stime = self.spin_dur.GetValue() * 1000 @@ -515,16 +514,20 @@ def process(self, infile, outfile=None, args='', mode=None): seek, stime = 0, self.mills duration = integer_to_time(stime, False) # to 24-hour self.clock = integer_to_time(seek, False) # to 24-hour - sseg = f'-ss {self.clock} -t {duration}' + sseg = f'-ss {self.clock}.000' + tseg = f'-t {duration}.000' if mode == 'detect': nul = ('NUL' if VidstabSet.appdata['ostype'] == 'Windows' else '/dev/null') - argstr = f'{sseg} -i "{infile}" {args} -f null -y {nul}' + argstr = f'{sseg} -i "{infile}" {tseg} {args} -f null -y {nul}' + elif mode == 'trasform': - argstr = f'{sseg} -i "{infile}" {args} -y "{outfile}"' + argstr = f'{sseg} -i "{infile}" {tseg} {args} -y "{outfile}"' + elif mode == 'makeduo': - argstr = f'{sseg} -i "{infile}" {args} -y "{outfile}"' + argstr = (f'{sseg} -i "{infile}" {tseg} -i "{self.framesrc}" ' + f'{tseg} -filter_complex hstack -y "{outfile}"') else: return None diff --git a/videomass/vdms_io/io_tools.py b/videomass/vdms_io/io_tools.py index 85e1dfb09..362198279 100644 --- a/videomass/vdms_io/io_tools.py +++ b/videomass/vdms_io/io_tools.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.13.2023 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -64,11 +64,17 @@ def youtubedl_getstatistics(url, ssl, parent=None): # --------------------------------------------------------------------------# -def stream_play(filepath, tseq, param, autoexit): +def stream_play(filepath, timeseq, param, autoexit): """ Call Thread for playback with ffplay """ get = wx.GetApp() # get data from bootstrap + + if timeseq: + splseq = timeseq.split() + tseq = f'{splseq[0]} {splseq[1]}', f'{splseq[2]} {splseq[3]}' + else: + tseq = '', '' try: with open(filepath, encoding='utf8'): FilePlay(filepath, @@ -89,13 +95,19 @@ def stream_play(filepath, tseq, param, autoexit): # -----------------------------------------------------------------------# -def volume_detect_process(filelist, time_seq, audiomap, parent=None): +def volume_detect_process(filelist, timeseq, audiomap, parent=None): """ Run thread to get audio peak level data and show a pop-up dialog with message. """ get = wx.GetApp() - thread = VolumeDetectThread(time_seq, + + if timeseq: + splseq = timeseq.split() + tseq = f'{splseq[0]} {splseq[1]}', f'{splseq[2]} {splseq[3]}' + else: + tseq = '', '' + thread = VolumeDetectThread(tseq, filelist, audiomap, get.appset['logdir'], diff --git a/videomass/vdms_main/main_frame.py b/videomass/vdms_main/main_frame.py index 790d81ad6..a38be4cd4 100644 --- a/videomass/vdms_main/main_frame.py +++ b/videomass/vdms_main/main_frame.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Feb.13.2024 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -25,7 +25,6 @@ along with Videomass. If not, see . """ import os -import sys import webbrowser import wx from pubsub import pub @@ -435,28 +434,37 @@ def videomass_menu_bar(self): self.openmedia = fileButton.Append(wx.ID_OPEN, dscrp[0], dscrp[1]) self.openmedia.Enable(False) fileButton.AppendSeparator() - dscrp = (_("Conversions folder\tCtrl+C"), + dscrp = (_("Conversions Folder\tCtrl+C"), _("Open the default file conversions folder")) fold_convers = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) - dscrp = (_("Open temporary conversions"), + dscrp = (_("Temporary Conversions"), _("Open the temporary file conversions folder")) self.fold_convers_tmp = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.fold_convers_tmp.Enable(False) fileButton.AppendSeparator() - dscrp = (_("Rename the selected file\tCtrl+R"), + dscrp = (_("Rename Selected Entry\tCtrl+R"), _("Rename the file selected in the Queued Files panel")) self.rename = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.rename.Enable(False) - dscrp = (_("Batch renaming\tCtrl+B"), + dscrp = (_("Batch Renaming\tCtrl+B"), _("Rename all files listed in the Queued Files panel")) self.rename_batch = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.rename_batch.Enable(False) fileButton.AppendSeparator() - dscrp = (_("Open Trash folder"), + dscrp = (_("Remove Selected Entry\tDEL"), + _("Remove the selected files from the list")) + self.delfile = fileButton.Append(wx.ID_REMOVE, dscrp[0], dscrp[1]) + self.delfile.Enable(False) + dscrp = (_("Clear List\tShift+DEL"), + _("Remove all files from the list")) + self.clearall = fileButton.Append(wx.ID_CLEAR, dscrp[0], dscrp[1]) + self.clearall.Enable(False) + fileButton.AppendSeparator() + dscrp = (_("Open Trash Folder"), _("Open the Videomass Trash folder if it exists")) dir_trash = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) - dscrp = (_("Empty Trash folder"), + dscrp = (_("Empty Trash Folder"), _("Delete all files in the Videomass Trash folder")) empty_trash = fileButton.Append(wx.ID_DELETE, dscrp[0], dscrp[1]) fileButton.AppendSeparator() @@ -468,26 +476,18 @@ def videomass_menu_bar(self): _("Completely exit the application")) self.menuBar.Append(fileButton, _("File")) - # ------------------ Edit menu - editButton = wx.Menu() - dscrp = (_("Remove selected file\tDEL"), - _("Remove the selected files from the list")) - self.delfile = editButton.Append(wx.ID_REMOVE, dscrp[0], dscrp[1]) - self.menuBar.Append(editButton, _("Edit")) - self.delfile.Enable(False) - # ------------------ tools menu toolsButton = wx.Menu() - dscrp = (_("Find FFmpeg topics and options"), + dscrp = (_("Find FFmpeg Topics"), _("A useful tool to search for FFmpeg help topics and " "options")) searchtopic = toolsButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) toolsButton.AppendSeparator() prstpage = '' - dscrp = (_("Check for preset updates"), + dscrp = (_("Check Preset Updates"), _("Check for new presets updates from {0}").format(prstpage)) self.prstcheck = toolsButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) - dscrp = (_("Get the latest presets"), + dscrp = (_("Get Latest Presets"), _("Get the latest presets from {0}").format(prstpage)) self.prstdownload = toolsButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.menuBar.Append(toolsButton, _("Tools")) @@ -496,7 +496,7 @@ def videomass_menu_bar(self): viewButton = wx.Menu() ffmpegButton = wx.Menu() # ffmpeg sub menu viewButton.AppendSubMenu(ffmpegButton, "FFmpeg") - dscrp = (_("Show configuration"), + dscrp = (_("Show Configuration"), _("Show FFmpeg's built-in configuration capabilities")) checkconf = ffmpegButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) ffmpegButton.AppendSeparator() @@ -511,7 +511,7 @@ def videomass_menu_bar(self): ckdecoders = ffmpegButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) ffplayButton = wx.Menu() # ffplay sub menu viewButton.AppendSubMenu(ffplayButton, _("FFplay")) - dscrp = (_("While playing"), + dscrp = (_("While Playing"), _("Show useful shortcut keys when playing or previewing " "with FFplay")) playing = ffplayButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) @@ -521,7 +521,7 @@ def videomass_menu_bar(self): viewlogs = viewButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) viewButton.AppendSeparator() - dscrp = (_("Show timeline\tCtrl+T"), + dscrp = (_("Show Timeline\tCtrl+T"), _("Show timeline editor")) self.viewtimeline = viewButton.Append(wx.ID_ANY, dscrp[0], dscrp[1], kind=wx.ITEM_CHECK) @@ -530,7 +530,7 @@ def videomass_menu_bar(self): # ------------------ Go menu goButton = wx.Menu() self.startpan = goButton.Append(wx.ID_ANY, - _("Home panel\tCtrl+Shift+H"), + _("Home Panel\tCtrl+Shift+H"), _("Go to the 'Home' panel")) goButton.AppendSeparator() self.prstpan = goButton.Append(wx.ID_ANY, @@ -561,30 +561,31 @@ def videomass_menu_bar(self): # ------------------ setup menu setupButton = wx.Menu() - dscrp = (_("Set up a temporary folder for conversions"), - _("Use a temporary location to save conversions")) + dscrp = (_("Set Temporary Folder"), + _("Use a temporary location to save conversions for " + "this session")) path_dest = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) if self.same_destin: path_dest.Enable(False) setupButton.AppendSeparator() - dscrp = (_("Restore the default destination folder"), + dscrp = (_("Restore Default Folder"), _("Restore the default folder for file conversions")) self.resetfolders_tmp = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.resetfolders_tmp.Enable(False) setupButton.AppendSeparator() - dscrp = (_("Display timestamps during playback"), + dscrp = (_("Timestamps on Playback"), _("Displays timestamp when playing media with FFplay")) self.viewtimestamp = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1], kind=wx.ITEM_CHECK) - dscrp = (_("Auto-exit after playback"), + dscrp = (_("Auto-Exit After Playback"), _("If checked, the FFplay window will auto-close " "when playback is complete")) self.exitplayback = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1], kind=wx.ITEM_CHECK) - dscrp = (_("FFplay timestamp settings"), - _("Change the size and color of the timestamp " - "during playback")) + dscrp = (_("Timestamp Settings"), + _("Set the size and color of the timestamp during playback " + "with FFplay")) tscustomize = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) setupButton.AppendSeparator() setupItem = setupButton.Append(wx.ID_PREFERENCES, @@ -599,23 +600,23 @@ def videomass_menu_bar(self): helpItem = helpButton.Append(wx.ID_HELP, _("User Guide"), "") wikiItem = helpButton.Append(wx.ID_ANY, _("Wiki"), "") helpButton.AppendSeparator() - issueItem = helpButton.Append(wx.ID_ANY, _("Issue tracker"), "") + issueItem = helpButton.Append(wx.ID_ANY, _("Issue Tracker"), "") helpButton.AppendSeparator() transItem = helpButton.Append(wx.ID_ANY, _('Translation...'), '') helpButton.AppendSeparator() DonationItem = helpButton.Append(wx.ID_ANY, _("Donation"), "") helpButton.AppendSeparator() - docFFmpeg = helpButton.Append(wx.ID_ANY, _("FFmpeg documentation"), "") - helpButton.AppendSeparator() - dscrp = (_("Check for newer version"), - _("Check for the latest Videomass version at " - "")) - checkItem = helpButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) + docFFmpeg = helpButton.Append(wx.ID_ANY, _("FFmpeg Documentation"), "") helpButton.AppendSeparator() - dscrp = (_("System version"), + dscrp = (_("System Version"), _("Get version about your operating system, version of " "Python and wxPython.")) sysinfo = helpButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) + helpButton.AppendSeparator() + dscrp = (_("Latest Version"), + _("Check for the latest Videomass version")) + chklatest = helpButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) + infoItem = helpButton.Append(wx.ID_ABOUT, _("About Videomass"), "") self.menuBar.Append(helpButton, _("Help")) @@ -629,13 +630,13 @@ def videomass_menu_bar(self): self.fold_convers_tmp) self.Bind(wx.EVT_MENU, self.on_file_renaming, self.rename) self.Bind(wx.EVT_MENU, self.on_batch_renaming, self.rename_batch) + self.Bind(wx.EVT_MENU, self.fileDnDTarget.on_delete_selected, + self.delfile) + self.Bind(wx.EVT_MENU, self.fileDnDTarget.delete_all, self.clearall) self.Bind(wx.EVT_MENU, self.reminder, notepad) self.Bind(wx.EVT_MENU, self.open_trash_folder, dir_trash) self.Bind(wx.EVT_MENU, self.empty_trash_folder, empty_trash) self.Bind(wx.EVT_MENU, self.Quiet, exitItem) - # ----EDIT---- - self.Bind(wx.EVT_MENU, self.fileDnDTarget.on_delete_selected, - self.delfile) # ----TOOLS---- self.Bind(wx.EVT_MENU, self.Search_topic, searchtopic) self.Bind(wx.EVT_MENU, self.prst_downloader, self.prstdownload) @@ -671,7 +672,7 @@ def videomass_menu_bar(self): self.Bind(wx.EVT_MENU, self.Translations, transItem) self.Bind(wx.EVT_MENU, self.Donation, DonationItem) self.Bind(wx.EVT_MENU, self.DocFFmpeg, docFFmpeg) - self.Bind(wx.EVT_MENU, self.CheckNewReleases, checkItem) + self.Bind(wx.EVT_MENU, self.CheckNewReleases, chklatest) self.Bind(wx.EVT_MENU, self.system_vers, sysinfo) self.Bind(wx.EVT_MENU, self.Info, infoItem) # --------Menu Bar Event handler (callback) @@ -1288,8 +1289,8 @@ def videomass_tool_bar(self): bmpstop, tip, wx.ITEM_NORMAL ) - tip = _("Delete all files from the list") - clear = self.toolbar.AddTool(9, _('Clear'), + tip = _("Remove all files from the list") + clear = self.toolbar.AddTool(9, _('Clear List'), bmpclear, tip, wx.ITEM_NORMAL ) @@ -1371,6 +1372,7 @@ def startPanel(self, event): self.openmedia.Enable(False) self.menu_items(enable=False) self.delfile.Enable(False) + self.clearall.Enable(False) self.SetTitle(_('Videomass')) self.statusbar_msg(_('Ready'), None) self.Layout() @@ -1393,6 +1395,7 @@ def switch_file_import(self, event): pub.sendMessage("SET_DRAG_AND_DROP_TOPIC", topic=self.topicname) self.menu_items(enable=False) # disable menu items self.delfile.Enable(True) + self.clearall.Enable(True) self.openmedia.Enable(True) if self.file_src: [self.toolbar.EnableTool(x, True) for x in (3, 4, 5, 6, 9, 35)] @@ -1423,6 +1426,7 @@ def switch_av_conversions(self, event): self.SetTitle(_('Videomass - AV Conversions')) self.menu_items(enable=True) # enable all menu items self.delfile.Enable(False) + self.clearall.Enable(False) self.openmedia.Enable(True) self.avpan.Enable(False) [self.toolbar.EnableTool(x, True) for x in (3, 4, 5, 6, 7, 35)] @@ -1447,6 +1451,7 @@ def switch_presets_manager(self, event): self.SetTitle(_('Videomass - Presets Manager')) self.menu_items(enable=True) # enable all menu items self.delfile.Enable(False) + self.clearall.Enable(False) self.openmedia.Enable(True) self.prstpan.Enable(False) [self.toolbar.EnableTool(x, True) for x in (3, 4, 5, 6, 7, 35)] @@ -1472,6 +1477,7 @@ def switch_concat_demuxer(self, event): self.SetTitle(_('Videomass - Concatenate Demuxer')) self.menu_items(enable=True) # enable all menu items self.delfile.Enable(False) + self.clearall.Enable(False) self.openmedia.Enable(True) self.concpan.Enable(False) [self.toolbar.EnableTool(x, True) for x in (3, 4, 5, 6, 7, 35)] @@ -1496,6 +1502,7 @@ def switch_video_to_pictures(self, event): self.SetTitle(_('Videomass - From Movie to Pictures')) self.menu_items(enable=True) # enable all menu items self.delfile.Enable(False) + self.clearall.Enable(False) self.openmedia.Enable(True) self.toseq.Enable(False) [self.toolbar.EnableTool(x, True) for x in (3, 4, 5, 6, 7, 35)] @@ -1520,6 +1527,7 @@ def switch_slideshow_maker(self, event): self.SetTitle(_('Videomass - Still Image Maker')) self.menu_items(enable=True) # enable all menu items self.delfile.Enable(False) + self.clearall.Enable(False) self.openmedia.Enable(True) self.slides.Enable(False) [self.toolbar.EnableTool(x, True) for x in (3, 4, 5, 6, 7, 35)] @@ -1535,16 +1543,19 @@ def switch_to_processing(self, *args): """ if args[0] == 'Viewing last log': self.statusbar_msg(_('Viewing last log'), None) - dur, seq = self.duration, self.time_seq + dur, tseq = None, None + elif args[0] in ('concat_demuxer', 'sequence_to_video'): - dur, seq = args[6], '' + dur, tseq = args[6], None + elif self.time_seq: ms = time_to_integer(self.time_seq.split()[3]) # -t duration - seq = self.time_seq + splseq = self.time_seq.split() + tseq = f'{splseq[0]} {splseq[1]}', f'{splseq[2]} {splseq[3]}' dur = [ms for n in self.duration] self.statusbar_msg(_('Processing...'), None) else: - dur, seq = self.duration, '' + dur, tseq = self.duration, ('', '') self.SetTitle(_('Videomass - FFmpeg message monitor')) self.fileDnDTarget.Hide() @@ -1556,6 +1567,7 @@ def switch_to_processing(self, *args): self.ProcessPanel.Show() if not args[0] == 'Viewing last log': self.delfile.Enable(False) + self.clearall.Enable(False) self.menu_items(enable=False) # disable menu items self.openmedia.Enable(False) [self.toolbar.EnableTool(x, True) for x in (6, 8)] @@ -1563,7 +1575,7 @@ def switch_to_processing(self, *args): self.logpan.Enable(False) [self.toolbar.EnableTool(x, False) for x in (4, 7, 9)] - self.ProcessPanel.topic_thread(self.topicname, dur, seq, *args) + self.ProcessPanel.topic_thread(self.topicname, dur, tseq, *args) self.Layout() # ------------------------------------------------------------------# diff --git a/videomass/vdms_panels/av_conversions.py b/videomass/vdms_panels/av_conversions.py index dbba2a97f..bf59bf58a 100644 --- a/videomass/vdms_panels/av_conversions.py +++ b/videomass/vdms_panels/av_conversions.py @@ -25,7 +25,6 @@ along with Videomass. If not, see . """ import os -import sys import wx import wx.lib.scrolledpanel as scrolled import wx.lib.agw.floatspin as FS diff --git a/videomass/vdms_panels/choose_topic.py b/videomass/vdms_panels/choose_topic.py index 566c7e92c..25ca7fa20 100644 --- a/videomass/vdms_panels/choose_topic.py +++ b/videomass/vdms_panels/choose_topic.py @@ -24,7 +24,6 @@ You should have received a copy of the GNU General Public License along with Videomass. If not, see . """ -import sys import wx from videomass.vdms_utils.get_bmpfromsvg import get_bmp from videomass.vdms_sys.msg_info import current_release diff --git a/videomass/vdms_panels/presets_manager.py b/videomass/vdms_panels/presets_manager.py index 1b1a894c3..dacc579a1 100644 --- a/videomass/vdms_panels/presets_manager.py +++ b/videomass/vdms_panels/presets_manager.py @@ -27,7 +27,6 @@ """ import time import os -import sys import wx import wx.lib.scrolledpanel as scrolled from videomass.vdms_utils.get_bmpfromsvg import get_bmp diff --git a/videomass/vdms_panels/sequence_to_video.py b/videomass/vdms_panels/sequence_to_video.py index 12b1ffb08..59e0a2d08 100644 --- a/videomass/vdms_panels/sequence_to_video.py +++ b/videomass/vdms_panels/sequence_to_video.py @@ -25,7 +25,6 @@ along with Videomass. If not, see . """ import os -import sys import wx import wx.lib.agw.hyperlink as hpl from videomass.vdms_dialogs.widget_utils import NormalTransientPopup diff --git a/videomass/vdms_threads/ffplay_file.py b/videomass/vdms_threads/ffplay_file.py index cdffdc30f..aafead3c5 100644 --- a/videomass/vdms_threads/ffplay_file.py +++ b/videomass/vdms_threads/ffplay_file.py @@ -7,7 +7,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Oct.18.2021 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -97,10 +97,10 @@ def run(self): """ # time.sleep(.5) - cmd = " ".join(f'"{self.ffplay}" {self.time_seq} ' + cmd = " ".join(f'"{self.ffplay}" {self.time_seq[0]} ' f'{self.ffplay_loglev} {self.ffplay_params} ' f'{self.autoexit} -i "{self.filename}" ' - f'{self.param}'.split() + f'{self.time_seq[1]} {self.param}'.split() ) self.logwrite(cmd) diff --git a/videomass/vdms_threads/one_pass.py b/videomass/vdms_threads/one_pass.py index 37299e624..1da3e85c4 100644 --- a/videomass/vdms_threads/one_pass.py +++ b/videomass/vdms_threads/one_pass.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Dec.02.2022 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -65,7 +65,7 @@ def __init__(self, logname, duration, timeseq, *args): self.count = 0 # count first for loop self.countmax = len(args[1]) # length file list self.logname = logname # title name of file log - self.time_seq = timeseq # a time segment + self.timeseq = timeseq # ss, t tuple Thread.__init__(self) @@ -85,13 +85,17 @@ def run(self): self.duration, fillvalue='', ): - - cmd = (f'"{OnePass.appdata["ffmpeg_cmd"]}" {self.time_seq} ' + cmd = (f'"{OnePass.appdata["ffmpeg_cmd"]}" ' + f'{self.timeseq[0]} ' f'{OnePass.appdata["ffmpegloglev"]} ' - f'{OnePass.appdata["ffmpeg+params"]} -i ' - f'"{infile}" {self.command} {volume} ' - f'{OnePass.appdata["ffthreads"]} -y "{outfile}"') - + f'{OnePass.appdata["ffmpeg+params"]} ' + f'-i "{infile}" ' + f'{self.timeseq[1]} ' + f'{self.command} ' + f'{volume} ' + f'{OnePass.appdata["ffthreads"]} ' + f'-y "{outfile}"' + ) self.count += 1 count = f'File {self.count}/{self.countmax}' com = (f'{count}\nSource: "{infile}"\nDestination: "{outfile}"' diff --git a/videomass/vdms_threads/picture_exporting.py b/videomass/vdms_threads/picture_exporting.py index 9450827b6..a72f53356 100644 --- a/videomass/vdms_threads/picture_exporting.py +++ b/videomass/vdms_threads/picture_exporting.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: March.10.2022 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -75,9 +75,13 @@ def run(self): """ filedone = [] cmd = (f'"{PicturesFromVideo.appdata["ffmpeg_cmd"]}" ' - f'{self.time_seq} {PicturesFromVideo.appdata["ffmpegloglev"]} ' - f'{PicturesFromVideo.appdata["ffmpeg+params"]} {self.preargs} ' - f'-i "{self.fname}" {self.cmd}' + f'{self.time_seq[0]} ' + f'{self.time_seq[1]} ' + f'{PicturesFromVideo.appdata["ffmpegloglev"]} ' + f'{PicturesFromVideo.appdata["ffmpeg+params"]} ' + f'{self.preargs} ' + f'-i "{self.fname}" ' + f'{self.cmd}' ) count = 'File 1/1' com = (f'{count}\nSource: "{self.fname}"\n' diff --git a/videomass/vdms_threads/two_pass.py b/videomass/vdms_threads/two_pass.py index 9f5fbbdb2..69661df98 100644 --- a/videomass/vdms_threads/two_pass.py +++ b/videomass/vdms_threads/two_pass.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Dec.02.2022 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -92,9 +92,13 @@ def run(self): # --------------- first pass pass1 = (f'"{TwoPass.appdata["ffmpeg_cmd"]}" ' f'{TwoPass.appdata["ffmpegloglev"]} ' - f'{TwoPass.appdata["ffmpeg+params"]} {self.time_seq} ' - f'-i "{infile}" {self.passlist[0]} ' - f'{TwoPass.appdata["ffthreads"]} -y {self.nul}' + f'{TwoPass.appdata["ffmpeg+params"]} ' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'{self.passlist[0]} ' + f'{TwoPass.appdata["ffthreads"]} ' + f'-y {self.nul}' ) self.count += 1 count = f'File {self.count}/{self.countmax} - Pass One' @@ -172,9 +176,14 @@ def run(self): # --------------- second pass ----------------# pass2 = (f'"{TwoPass.appdata["ffmpeg_cmd"]}" ' f'{TwoPass.appdata["ffmpegloglev"]} ' - f'{TwoPass.appdata["ffmpeg+params"]} {self.time_seq} ' - f'-i "{infile}" {self.passlist[1]} ' - f'{volume} {TwoPass.appdata["ffthreads"]} -y "{outfile}"' + f'{TwoPass.appdata["ffmpeg+params"]} ' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'{self.passlist[1]} ' + f'{volume} ' + f'{TwoPass.appdata["ffthreads"]} ' + f'-y "{outfile}"' ) count = f'File {self.count}/{self.countmax} - Pass Two' cmd = (f'{count}\nSource: "{infile}"\nDestination: "{outfile}"' diff --git a/videomass/vdms_threads/two_pass_ebu.py b/videomass/vdms_threads/two_pass_ebu.py index 461ddba88..f103b6dfd 100644 --- a/videomass/vdms_threads/two_pass_ebu.py +++ b/videomass/vdms_threads/two_pass_ebu.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: Dec.02.2022 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -92,10 +92,15 @@ def run(self): fillvalue='', ): # --------------- first pass - pass1 = (f'"{Loudnorm.appdata["ffmpeg_cmd"]}" -nostdin -loglevel ' - f'info -stats -hide_banner {self.time_seq} -i "{infile}" ' - f'{self.passlist[0]} {Loudnorm.appdata["ffthreads"]} -y ' - f'{self.nul}' + pass1 = (f'"{Loudnorm.appdata["ffmpeg_cmd"]}" ' + f'-nostdin -loglevel ' + f'info -stats -hide_banner ' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'{self.passlist[0]} ' + f'{Loudnorm.appdata["ffthreads"]} ' + f'-y {self.nul}' ) self.count += 1 count = (f'File {self.count}/{self.countmax} - Pass One\n ' @@ -188,11 +193,16 @@ def run(self): ) time.sleep(.5) - pass2 = (f'"{Loudnorm.appdata["ffmpeg_cmd"]}" -nostdin -loglevel ' - f'info -stats -hide_banner {self.time_seq} -i ' - f'"{infile}" {self.passlist[1]} ' - f'-filter:a:{self.audio_outmap[1]} {filters} ' - f'{Loudnorm.appdata["ffthreads"]} -y "{outfile}"' + pass2 = (f'"{Loudnorm.appdata["ffmpeg_cmd"]}" ' + f'-nostdin -loglevel info -stats -hide_banner ' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'{self.passlist[1]} ' + f'-filter:a:{self.audio_outmap[1]} ' + f'{filters} ' + f'{Loudnorm.appdata["ffthreads"]} ' + f'-y "{outfile}"' ) count = (f'File {self.count}/{self.countmax} - Pass Two\n' f'Loudnorm ebu: apply EBU R128...' diff --git a/videomass/vdms_threads/video_stabilization.py b/videomass/vdms_threads/video_stabilization.py index c2512be93..0b8384e03 100644 --- a/videomass/vdms_threads/video_stabilization.py +++ b/videomass/vdms_threads/video_stabilization.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: March.06.2023 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -101,8 +101,12 @@ def run(self): pass1 = (f'"{VidStab.appdata["ffmpeg_cmd"]}" ' f'{VidStab.appdata["ffmpegloglev"]} ' f'{VidStab.appdata["ffmpeg+params"]} ' - f'{self.time_seq} -i "{infile}" {self.passlist[0]} ' - f'{VidStab.appdata["ffthreads"]} -y {self.nul}' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'{self.passlist[0]} ' + f'{VidStab.appdata["ffthreads"]} ' + f'-y {self.nul}' ) self.count += 1 count = (f'File {self.count}/{self.countmax} - Pass One\n' @@ -183,9 +187,14 @@ def run(self): # --------------- second pass ----------------# pass2 = (f'"{VidStab.appdata["ffmpeg_cmd"]}" ' f'{VidStab.appdata["ffmpegloglev"]} ' - f'{VidStab.appdata["ffmpeg+params"]} {self.time_seq} -i ' - f'"{infile}" {self.passlist[1]} {volume} ' - f'{VidStab.appdata["ffthreads"]} -y "{outfile}"' + f'{VidStab.appdata["ffmpeg+params"]} ' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'{self.passlist[1]} ' + f'{volume} ' + f'{VidStab.appdata["ffthreads"]} ' + f'-y "{outfile}"' ) count = (f'File {self.count}/{self.countmax} - Pass Two\n' f'Video transform...' @@ -254,13 +263,22 @@ def run(self): if self.makeduo: duoname = os.path.splitext(outfile) outduo = f'{duoname[0]}_DUO{duoname[1]}' + pass3 = (f'"{VidStab.appdata["ffmpeg_cmd"]}" ' f'{VidStab.appdata["ffmpegloglev"]} ' - f'{VidStab.appdata["ffmpeg+params"]} {self.time_seq} ' - f'-i "{infile}" -i {outfile} ' - f'{VidStab.appdata["ffthreads"]} -filter_complex ' - f'"[0:v:0] {self.addflt}pad=2*iw:ih[bg];' - f'[bg][1:v:0]overlay=main_w/2:0" -y "{outduo}"' + f'{VidStab.appdata["ffmpeg+params"]} ' + f'{self.time_seq[0]} ' + f'-i "{infile}" ' + f'{self.time_seq[1]} ' + f'-i "{outfile}" ' + f'{self.time_seq[1]} ' + f'{volume} ' + f'{VidStab.appdata["ffthreads"]} ' + f'-filter_complex ' + f'"[0:v:0] ' + f'{self.addflt}pad=2*iw:ih[bg];' + f'[bg][1:v:0]overlay=main_w/2:0" ' + f'-y "{outduo}"' ) count = f'File {self.count}/{self.countmax}\nMake duo...' cmd = (f'{count}\nSource: "{infile}"\n' diff --git a/videomass/vdms_threads/volumedetect.py b/videomass/vdms_threads/volumedetect.py index 948e2d0a7..69f0a4167 100644 --- a/videomass/vdms_threads/volumedetect.py +++ b/videomass/vdms_threads/volumedetect.py @@ -6,7 +6,7 @@ Author: Gianluca Pernigotto Copyleft - 2024 Gianluca Pernigotto license: GPL3 -Rev: March.11.2022 +Rev: Feb.17.2024 Code checker: flake8, pylint This file is part of Videomass. @@ -86,9 +86,13 @@ def run(self): volume = [] for files in self.filelist: - cmd = (f'"{self.ffmpeg_url}" {self.time_seq} -i "{files}" ' - f'-hide_banner {self.audiomap} -af volumedetect ' - f'-vn -sn -dn -f null {self.nul}' + cmd = (f'"{self.ffmpeg_url}" -hide_banner ' + f'{self.time_seq[0]} ' + f'-i "{files}" ' + f'{self.time_seq[1]} ' + f'{self.audiomap} ' + f'-af volumedetect -vn -sn -dn -f null ' + f'{self.nul}' ) self.logwrite(cmd) diff --git a/videomass/vdms_ytdlp/formatcode.py b/videomass/vdms_ytdlp/formatcode.py index bd7b2deee..886695990 100644 --- a/videomass/vdms_ytdlp/formatcode.py +++ b/videomass/vdms_ytdlp/formatcode.py @@ -29,48 +29,6 @@ from videomass.vdms_utils.utils import format_bytes -#if not hasattr(wx, 'EVT_LIST_ITEM_CHECKED'): - #import wx.lib.mixins.listctrl as listmix - - #class TestListCtrl(wx.ListCtrl, - #listmix.CheckListCtrlMixin, - #listmix.ListCtrlAutoWidthMixin - #): - #""" - #This class is responsible for maintaining backward - #compatibility of wxPython which do not have a `ListCtrl` - #module with checkboxes feature: - - #Examples of errors raised using a ListCtrl with checkboxes - #not yet implemented: - - #AttributeError: - #- 'ListCtrl' object has no attribute 'EnableCheckBoxes' - #- module 'wx' has no attribute `EVT_LIST_ITEM_CHECKED` - #- module 'wx' has no attribute `EVT_LIST_ITEM_UNCHECKED` - #""" - #def __init__(self, - #parent, - #ID, - #pos=wx.DefaultPosition, - #size=wx.DefaultSize, - #style=0 - #): - #self.parent = parent - #wx.ListCtrl.__init__(self, parent, ID, pos, size, style) - #listmix.CheckListCtrlMixin.__init__(self) - #listmix.ListCtrlAutoWidthMixin.__init__(self) - ## self.setResizeColumn(3) - - #def OnCheckItem(self, index, flag): - #""" - #Send to parent (class FormatCode) index and flag. - #index = int(num) of checked item. - #flag = boolean True or False of the checked or un-checked item - #""" - #self.parent.on_checkbox(self) - - class FormatCode(wx.Panel): """ This panel implements a kind of wx.ListCtrl for diff --git a/videomass/vdms_ytdlp/main_ytdlp.py b/videomass/vdms_ytdlp/main_ytdlp.py index 5e1e6efd0..4bd085e6f 100644 --- a/videomass/vdms_ytdlp/main_ytdlp.py +++ b/videomass/vdms_ytdlp/main_ytdlp.py @@ -25,7 +25,6 @@ along with Videomass. If not, see . """ import os -import sys import wx from pubsub import pub from videomass.vdms_utils.get_bmpfromsvg import get_bmp @@ -277,21 +276,30 @@ def videomass_menu_bar(self): # ----------------------- file menu fileButton = wx.Menu() - dscrp = (_("Downloads folder\tCtrl+D"), + dscrp = (_("Downloads Folder\tCtrl+D"), _("Open the default downloads folder")) fold_downloads = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) fileButton.AppendSeparator() - dscrp = (_("Open temporary downloads"), + dscrp = (_("Temporary Downloads"), _("Open the temporary downloads folder")) self.fold_downloads_tmp = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.fold_downloads_tmp.Enable(False) fileButton.AppendSeparator() + dscrp = (_("Remove Selected URL\tDEL"), + _("Remove the selected URL from the list")) + self.delete = fileButton.Append(wx.ID_REMOVE, dscrp[0], dscrp[1]) + + dscrp = (_("Clear List\tShift+DEL"), + _("Remove all URLs from the list")) + self.clearall = fileButton.Append(wx.ID_CLEAR, dscrp[0], dscrp[1]) + # self.clearall.Enable(False) + fileButton.AppendSeparator() dscrp = (_("Work Notes\tCtrl+N"), _("Read and write useful notes and reminders.")) notepad = fileButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) fileButton.AppendSeparator() - closeItem = fileButton.Append(wx.ID_CLOSE, _("Close view\tCtrl+W"), + closeItem = fileButton.Append(wx.ID_CLOSE, _("Close View\tCtrl+W"), _("Close the active view keeping the " "data in memory and any background " "processes")) @@ -306,9 +314,6 @@ def videomass_menu_bar(self): dscrp = (_("Paste\tCtrl+V"), _("Paste the copied URLs to clipboard")) self.paste = editButton.Append(wx.ID_PASTE, dscrp[0], dscrp[1]) - dscrp = (_("Remove selected URL\tDEL"), - _("Remove the selected URL from the list")) - self.delete = editButton.Append(wx.ID_REMOVE, dscrp[0], dscrp[1]) self.menuBar.Append(editButton, _("Edit")) # ------------------ View menu @@ -316,7 +321,7 @@ def videomass_menu_bar(self): dscrp = (_("Version of yt-dlp"), _("Shows the version in use")) self.ydlused = viewButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) - dscrp = (_("Latest version of yt-dlp"), + dscrp = (_("Latest Version of yt-dlp"), _("Check the latest version available on github.com")) self.ydllatest = viewButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) self.menuBar.Append(viewButton, _("View")) @@ -324,11 +329,12 @@ def videomass_menu_bar(self): # ------------------ setup menu setupButton = wx.Menu() - dscrp = (_("Set up a temporary folder for downloads"), - _("Save all downloads to this temporary location")) + dscrp = (_("Set Temporary Folder"), + _("Save all downloads to this temporary location " + "for this session only")) setdownload_tmp = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) setupButton.AppendSeparator() - dscrp = (_("Restore the default destination folder"), + dscrp = (_("Restore Default Folder"), _("Restore the default folder for downloads")) self.resetfolders_tmp = setupButton.Append(wx.ID_ANY, dscrp[0], dscrp[1]) @@ -342,13 +348,16 @@ def videomass_menu_bar(self): self.Bind(wx.EVT_MENU, self.openMydownload, fold_downloads) self.Bind(wx.EVT_MENU, self.openMydownloads_tmp, self.fold_downloads_tmp) + + self.Bind(wx.EVT_MENU, self.textDnDTarget.on_del_url_selected, + self.delete) + self.Bind(wx.EVT_MENU, self.textDnDTarget.delete_all, self.clearall) + self.Bind(wx.EVT_MENU, self.reminder, notepad) self.Bind(wx.EVT_MENU, self.on_close, closeItem) self.Bind(wx.EVT_MENU, self.on_exit, exitItem) # ----EDIT---- self.Bind(wx.EVT_MENU, self.textDnDTarget.on_paste, self.paste) - self.Bind(wx.EVT_MENU, self.textDnDTarget.on_del_url_selected, - self.delete) # ---- VIEW ---- self.Bind(wx.EVT_MENU, self.ydl_used, self.ydlused) self.Bind(wx.EVT_MENU, self.ydl_latest, self.ydllatest) @@ -583,7 +592,10 @@ def switch_text_import(self, event): self.ProcessPanel.Hide() self.ytDownloader.Hide() self.textDnDTarget.Show() - (self.delete.Enable(True), self.paste.Enable(True)) + (self.delete.Enable(True), + self.paste.Enable(True), + self.clearall.Enable(True) + ) if self.data_url: [self.toolbar.EnableTool(x, True) for x in (21, 25)] [self.toolbar.EnableTool(x, False) for x in (20, 22, 23, 24)] @@ -604,7 +616,10 @@ def switch_youtube_downloader(self, event): self.SetTitle(_('Videomass - YouTube Downloader')) self.textDnDTarget.Hide() self.ytDownloader.Show() - (self.delete.Enable(False), self.paste.Enable(False)) + (self.delete.Enable(False), + self.paste.Enable(False), + self.clearall.Enable(False) + ) [self.toolbar.EnableTool(x, True) for x in (20, 21, 22, 23)] [self.toolbar.EnableTool(x, False) for x in (24, 25)] self.Layout() @@ -620,7 +635,10 @@ def switch_to_processing(self, *args): [self.toolbar.EnableTool(x, True) for x in (20, 22)] elif args[0] == 'youtube_dl downloading': - (self.delete.Enable(False), self.paste.Enable(False)) + (self.delete.Enable(False), + self.paste.Enable(False), + self.clearall.Enable(False) + ) if len(self.data_url) <= 1: [self.toolbar.EnableTool(x, False) for x in (20, 21, 23, 25, 24)] diff --git a/videomass/vdms_ytdlp/youtubedl_ui.py b/videomass/vdms_ytdlp/youtubedl_ui.py index 0c34eb256..233788c1b 100644 --- a/videomass/vdms_ytdlp/youtubedl_ui.py +++ b/videomass/vdms_ytdlp/youtubedl_ui.py @@ -24,7 +24,6 @@ You should have received a copy of the GNU General Public License along with Videomass. If not, see . """ -import sys import wx import wx.lib.scrolledpanel as scrolled from videomass.vdms_io.io_tools import youtubedl_getstatistics