Compare commits

...

751 Commits

Author SHA1 Message Date
Jean-Baptiste Mardelle
fd573f9f84 Ensure we copy the python executables and don't symlink - on AppImage the link would be invalidated on each run 2025-04-17 04:02:04 +02:00
Jean-Baptiste Mardelle
d6640ce2d8 Try using packaged python on AppImage 2025-04-16 18:27:23 +02:00
Jean-Baptiste Mardelle
77e2d2cebe Merge branch 'release/25.04' 2025-04-15 08:34:24 +02:00
Jean-Baptiste Mardelle
d6b3da499b Ensure secondary bins are created after mainwindow is initialized 2025-04-15 07:37:09 +02:00
l10n daemon script
0fa6c21a76 GIT_SILENT Sync po/docbooks with svn 2025-04-15 03:12:06 +00:00
l10n daemon script
b40b5f6c55 GIT_SILENT Sync po/docbooks with svn 2025-04-15 01:36:18 +00:00
Jean-Baptiste Mardelle
1dcd0818d3 Fix corrupted bin icon
Fixes #1993
2025-04-14 22:15:36 +02:00
Jean-Baptiste Mardelle
a6207c6938 Fix crash duplicating a sequence with built-in effects enabled
Fixes #1996
2025-04-14 22:04:34 +02:00
Darby Johnston
4d7c91e522 Temporarily disable exporting OTIO metadata on macos
Try disabling OTIO metadata on macOS to fix the crash when exporting.

As an alternative to:
https://invent.kde.org/multimedia/kdenlive/-/merge_requests/618
2025-04-14 22:04:32 +02:00
Darby Johnston
62f3d783ef Temporarily disable exporting OTIO metadata on macos
Try disabling OTIO metadata on macOS to fix the crash when exporting.

As an alternative to:
https://invent.kde.org/multimedia/kdenlive/-/merge_requests/618
2025-04-14 10:23:39 +00:00
l10n daemon script
a0bde2b9c8 GIT_SILENT Sync po/docbooks with svn 2025-04-14 03:11:47 +00:00
l10n daemon script
6448759e13 GIT_SILENT Sync po/docbooks with svn 2025-04-14 01:35:34 +00:00
Scarlett Moore
977f3134a6 snapcraft: Enable glaxnimate 2025-04-13 21:16:56 +00:00
Scarlett Moore
295176e9fe snapcraft: sync fixes from master to release 2025-04-13 21:02:39 +00:00
Jean-Baptiste Mardelle
dce0619755 Merge branch 'release/25.04' 2025-04-13 17:40:26 +02:00
Jean-Baptiste Mardelle
c6e80c2978 Don't search LUT file in all subdirectories
CCBUG: 502581
2025-04-13 17:39:58 +02:00
Jean-Baptiste Mardelle
dfe54b0deb Fix guides menu
Fixes #1995
2025-04-13 16:01:44 +02:00
Eugen Mohr
1153552d89 Fix GPU whisper script 2025-04-13 06:30:49 +02:00
Eugen Mohr
2b110d060a Fix GPU whisper script 2025-04-13 04:30:01 +00:00
Jean-Baptiste Mardelle
aba0cee287 Merge branch 'release/25.04' 2025-04-13 06:27:59 +02:00
Jean-Baptiste Mardelle
4976a9bd37 Show proper error message when trying to apply a mix and all tracks are disabled
BUG: 502610
FIXED-IN: 25.04.0
2025-04-13 06:26:07 +02:00
Jean-Baptiste Mardelle
3b0b9066f4 Fix qml typo 2025-04-13 06:26:04 +02:00
l10n daemon script
308314a2c1 GIT_SILENT Sync po/docbooks with svn 2025-04-13 03:06:31 +00:00
l10n daemon script
c8a1edd7b1 GIT_SILENT Sync po/docbooks with svn 2025-04-13 01:35:01 +00:00
Jean-Baptiste Mardelle
d4c8790900 Fix clip markers vertical pos 2025-04-12 11:26:02 +02:00
Jean-Baptiste Mardelle
624d9994e3 Fix clip markers vertical pos 2025-04-12 11:05:11 +02:00
l10n daemon script
8539fae5c7 GIT_SILENT Sync po/docbooks with svn 2025-04-12 03:06:37 +00:00
l10n daemon script
1850464a72 GIT_SILENT Sync po/docbooks with svn 2025-04-12 01:33:28 +00:00
Jean-Baptiste Mardelle
fb91fa5035 Merge branch 'release/25.04' 2025-04-11 21:42:13 +02:00
Jean-Baptiste Mardelle
7cac2ca22a Fix typo breaking timeline thumbnails 2025-04-11 21:36:43 +02:00
Jean-Baptiste Mardelle
3e07cddd24 Merge branch 'release/25.04' 2025-04-11 18:10:54 +02:00
Jean-Baptiste Mardelle
75ab29ca9d Fix major slowdown to timeline operations (scroll, etc) on large projects using clip markers
CCBUG: 502610
2025-04-11 17:58:08 +02:00
Jean-Baptiste Mardelle
7db52e6fea Refactor qml around timeline mouse position 2025-04-11 11:17:08 +02:00
l10n daemon script
dc5bf8cf56 GIT_SILENT Sync po/docbooks with svn 2025-04-11 03:09:40 +00:00
l10n daemon script
f6e9c5ee86 GIT_SILENT Sync po/docbooks with svn 2025-04-11 01:35:01 +00:00
Jean-Baptiste Mardelle
24dac85e3c Merge branch 'release/25.04' 2025-04-10 13:36:52 +02:00
Jean-Baptiste Mardelle
792ccca07c Try to fix render dialog categories (xml extract does not work with i18nc)
CCBUG: 502297
2025-04-10 13:36:22 +02:00
Jean-Baptiste Mardelle
e40208bf1f Merge branch 'release/25.04' 2025-04-10 12:49:54 +02:00
Jean-Baptiste Mardelle
f68f7e4278 Add torchaudio for NVidia GPU whisper in case it is not automatically installed 2025-04-10 12:38:22 +02:00
Jean-Baptiste Mardelle
ade168ca11 Fix Extract clip with multiple selection
BUG: 485517
FIXED-IN: 25.04.0
2025-04-10 12:37:26 +02:00
Jean-Baptiste Mardelle
efd0219cd3 Don't enforce mapping audio or video streams if we anyways don't want them
CCBUG: 502437
2025-04-10 10:53:40 +02:00
Jean-Baptiste Mardelle
b09fa218a5 Fix Clip monitor audio preview causing monitor image resize when not permanently enabled
Related to #1984
2025-04-10 10:40:36 +02:00
Jean-Baptiste Mardelle
64d0835d2b Merge branch 'release/25.04' 2025-04-10 09:43:51 +02:00
Jean-Baptiste Mardelle
158a05e9e2 Fix audio spectrum not correctly refreshing on color theme change.
Replaces !614
2025-04-10 09:42:10 +02:00
Jean-Baptiste Mardelle
5ce35a35ba Remove undocumented <full> tag in effects xml breaking translations
CCBUG: 502594
2025-04-10 09:42:07 +02:00
Jean-Baptiste Mardelle
bc31282277 Fix documentation link to JogShuttle
BUG: 502618
FIXED-IN: 25.04.0


(cherry picked from commit 6c23fb372a)

d27cfed1 Fix documentation link to JogShuttle
33c7d978 Fix url

Co-authored-by: Eugen Mohr <fritzibaby@gmx.net>
2025-04-10 07:08:07 +00:00
Eugen Mohr
6c23fb372a Fix documentation link to JogShuttle
BUG: 502618
FIXED-IN: 25.04.0
2025-04-10 07:07:41 +00:00
l10n daemon script
7e4d06492d GIT_SILENT Sync po/docbooks with svn 2025-04-10 03:10:57 +00:00
l10n daemon script
6b611174c0 GIT_SILENT Sync po/docbooks with svn 2025-04-10 01:35:38 +00:00
Jean-Baptiste Mardelle
57fc6ffe22 Merge branch 'release/25.04' 2025-04-09 13:38:36 +02:00
Jean-Baptiste Mardelle
e9434d9ce3 Cleanup track head tooltips, show track name on track tag hover when collapsed 2025-04-09 13:36:48 +02:00
l10n daemon script
035cbeafda GIT_SILENT Sync po/docbooks with svn 2025-04-09 03:11:04 +00:00
l10n daemon script
b73740225d GIT_SILENT Sync po/docbooks with svn 2025-04-09 01:35:37 +00:00
Heiko Becker
be57ab2c0d appstream: Fix up version
Unfortunately the script to add the version to the appstream files
relies on cmake and at the moment it grabs the version from imath, which
is included with OpenTimeLineIO, which is fetched by default.

GIT_SILENT

(cherry picked from commit 89eb8d717b)
2025-04-08 22:09:19 +02:00
Heiko Becker
89eb8d717b appstream: Fix up version
Unfortunately the script to add the version to the appstream files
relies on cmake and at the moment it grabs the version from imath, which
is included with OpenTimeLineIO, which is fetched by default.

GIT_SILENT
2025-04-08 22:04:52 +02:00
l10n daemon script
35308125e4 GIT_SILENT Sync po/docbooks with svn 2025-04-08 03:19:47 +00:00
l10n daemon script
7070e08455 GIT_SILENT Sync po/docbooks with svn 2025-04-08 01:39:22 +00:00
Heiko Becker
eb9bc5f6ea GIT_SILENT Update Appstream for new release
(cherry picked from commit adbc3ad486)
2025-04-07 23:18:29 +02:00
Heiko Becker
adbc3ad486 GIT_SILENT Update Appstream for new release 2025-04-07 23:18:18 +02:00
Heiko Becker
f5c6a358fc GIT_SILENT Upgrade release service version to 25.04.0. 2025-04-07 22:38:11 +02:00
balooii balooii
1c9ee5400f Make Slider in AudioMixer follow changes done in the SpinBox
Currently the slider only changes if the user hits enter after doing changes in the spin box. On other widgets like Volume Effect widget we update the slider immediately when user changes the value via mousewheel or up/down buttons.
2025-04-07 09:30:38 +02:00
balooii balooii
7852040d3d Fix cut-off text of dB scale values in AudioLevelWidget
We need to calculate the bounding rectangle after we've set the actual
font via setFont(). Otherwise the default font will be used for the
calculation which may or may not be what is used later when draw the
actual text.
2025-04-07 09:30:19 +02:00
balooii balooii
d2ab466d33 Make Slider in AudioMixer follow changes done in the SpinBox
Currently the slider only changes if the user hits enter after doing changes in the spin box. On other widgets like Volume Effect widget we update the slider immediately when user changes the value via mousewheel or up/down buttons.
2025-04-07 07:29:47 +00:00
balooii balooii
0821ead32e Fix cut-off text of dB scale values in AudioLevelWidget
We need to calculate the bounding rectangle after we've set the actual
font via setFont(). Otherwise the default font will be used for the
calculation which may or may not be what is used later when draw the
actual text.
2025-04-07 07:26:43 +00:00
Darby Johnston
e96cbbbedb Additional OTIO missing media test
As I was doing more OTIO testing, I found a freeze while opening a file with all missing media filenames. All of the `ClipCreator::createClipFromFile` callbacks seemed to fire OK, but the test hangs when trying to insert the clips into the timeline. Here is a partial stack trace:
```
QReadWriteLock::lockForRead(class QReadWriteLock * const this) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qreadwritelock.h:68)
QReadLocker::relock(class QReadLocker * const this) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qreadwritelock.h:115)
QReadLocker::QReadLocker(class QReadLocker * const this, class QReadWriteLock * areadWriteLock) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qreadwritelock.h:134)
ClipController::getProducerIntProperty(const class ClipController * const this, const class QString & name) (src/mltcontroller/clipcontroller.cpp:596)
TimelineModel::requestClipInsertion(class TimelineModel * const this, const class QString & binClipId, int trackId, int position, int & id, bool logUndo, bool refreshView, bool useTargets, Fun & undo, Fun & redo, const QVector & allowedTracks) (src/timeline2/model/timelinemodel.cpp:2119)
OtioImport::importClip(class OtioImport * const this, const class std::shared_ptr<OtioImportData> & importData, const struct opentimelineio::v1_0::SerializableObject::Retainer<opentimelineio::v1_0::Clip> & otioClip, int trackId) (src/otio/otioimport.cpp:325)
OtioImport::importTrack(class OtioImport * const this, const class std::shared_ptr<OtioImportData> & importData, const struct opentimelineio::v1_0::SerializableObject::Retainer<opentimelineio::v1_0::Track> & otioTrack, int trackId) (src/otio/otioimport.cpp:276)
OtioImport::importTimeline(class OtioImport * const this, const class std::shared_ptr<OtioImportData> & importData) (src/otio/otioimport.cpp:248)
```

Strangely enough, the existing OTIO missing media test that only has some missing media filenames seems to pass OK.

(Note, I also edited the test OTIO files to remove some empty tracks that were not necessary for testing.)
2025-04-07 09:15:03 +02:00
Darby Johnston
b9b2c7908f Additional OTIO missing media test
As I was doing more OTIO testing, I found a freeze while opening a file with all missing media filenames. All of the `ClipCreator::createClipFromFile` callbacks seemed to fire OK, but the test hangs when trying to insert the clips into the timeline. Here is a partial stack trace:
```
QReadWriteLock::lockForRead(class QReadWriteLock * const this) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qreadwritelock.h:68)
QReadLocker::relock(class QReadLocker * const this) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qreadwritelock.h:115)
QReadLocker::QReadLocker(class QReadLocker * const this, class QReadWriteLock * areadWriteLock) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qreadwritelock.h:134)
ClipController::getProducerIntProperty(const class ClipController * const this, const class QString & name) (src/mltcontroller/clipcontroller.cpp:596)
TimelineModel::requestClipInsertion(class TimelineModel * const this, const class QString & binClipId, int trackId, int position, int & id, bool logUndo, bool refreshView, bool useTargets, Fun & undo, Fun & redo, const QVector & allowedTracks) (src/timeline2/model/timelinemodel.cpp:2119)
OtioImport::importClip(class OtioImport * const this, const class std::shared_ptr<OtioImportData> & importData, const struct opentimelineio::v1_0::SerializableObject::Retainer<opentimelineio::v1_0::Clip> & otioClip, int trackId) (src/otio/otioimport.cpp:325)
OtioImport::importTrack(class OtioImport * const this, const class std::shared_ptr<OtioImportData> & importData, const struct opentimelineio::v1_0::SerializableObject::Retainer<opentimelineio::v1_0::Track> & otioTrack, int trackId) (src/otio/otioimport.cpp:276)
OtioImport::importTimeline(class OtioImport * const this, const class std::shared_ptr<OtioImportData> & importData) (src/otio/otioimport.cpp:248)
```

Strangely enough, the existing OTIO missing media test that only has some missing media filenames seems to pass OK.

(Note, I also edited the test OTIO files to remove some empty tracks that were not necessary for testing.)
2025-04-07 07:13:51 +00:00
l10n daemon script
2939e56c8f GIT_SILENT Sync po/docbooks with svn 2025-04-07 03:25:35 +00:00
l10n daemon script
f015b97883 GIT_SILENT Sync po/docbooks with svn 2025-04-07 01:41:29 +00:00
l10n daemon script
3867d06545 GIT_SILENT Sync po/docbooks with svn 2025-04-06 03:13:44 +00:00
l10n daemon script
f6cca5df23 GIT_SILENT Sync po/docbooks with svn 2025-04-06 01:37:08 +00:00
l10n daemon script
f07b93744c GIT_SILENT Sync po/docbooks with svn 2025-04-05 03:19:14 +00:00
l10n daemon script
61a8b50b5a GIT_SILENT Sync po/docbooks with svn 2025-04-05 01:37:41 +00:00
Jean-Baptiste Mardelle
e5765dce6b Merge branch 'release/25.04' 2025-04-04 12:58:00 +02:00
Darby Johnston
e1170af448 Fixes for small clips
Two fixes for clips with small durations (1 and zero frames):

* Don't create clips with zero duration when importing OTIO files.
* Remove an assert in ClipModel::requestSlip() that was triggered when slipping clips with a duration of 1 frame.

The diff for the first change looks like a lot, but the change is really just adding this conditional:
```
const int duration = otioTrimmedRange.value().duration().rescaled_to(otioTimelineDuration).round().value();
if (duration > 0) {
```
2025-04-04 12:56:11 +02:00
Jean-Baptiste Mardelle
9476d8ea9e Fix effect stack model crashes and undo move 2025-04-04 12:55:34 +02:00
Darby Johnston
12ef8c0058 Fixes for small clips
Two fixes for clips with small durations (1 and zero frames):

* Don't create clips with zero duration when importing OTIO files.
* Remove an assert in ClipModel::requestSlip() that was triggered when slipping clips with a duration of 1 frame.

The diff for the first change looks like a lot, but the change is really just adding this conditional:
```
const int duration = otioTrimmedRange.value().duration().rescaled_to(otioTimelineDuration).round().value();
if (duration > 0) {
```
2025-04-04 07:06:49 +00:00
l10n daemon script
a72dd496d7 GIT_SILENT Sync po/docbooks with svn 2025-04-04 03:19:59 +00:00
l10n daemon script
e25113cee0 GIT_SILENT Sync po/docbooks with svn 2025-04-04 01:38:51 +00:00
Jean-Baptiste Mardelle
542258f37a Fix deleting single bin clip effect when effect group is enabled 2025-04-03 13:51:02 +02:00
Jean-Baptiste Mardelle
fcc18d1c88 increase precision of BoxBlur to allow 1 pixel blur 2025-04-03 12:04:04 +02:00
Jean-Baptiste Mardelle
60e57fe9d9 LUT: always list LUTS placed in the last opened folder
Related to #1985
2025-04-03 09:10:59 +02:00
l10n daemon script
72ba694cf7 GIT_SILENT Sync po/docbooks with svn 2025-04-03 03:11:56 +00:00
l10n daemon script
4787fd85a0 GIT_SILENT Sync po/docbooks with svn 2025-04-03 01:36:07 +00:00
l10n daemon script
c0431a274a GIT_SILENT Sync po/docbooks with svn 2025-04-02 03:12:15 +00:00
l10n daemon script
9742a94125 GIT_SILENT Sync po/docbooks with svn 2025-04-02 01:36:30 +00:00
Jean-Baptiste Mardelle
22395c893e Merge branch 'release/25.04' 2025-04-01 11:19:27 +02:00
Jean-Baptiste Mardelle
4fc03d21ab Fix timeline audio thumbnails for clips with multiple streams and different channel count
BUG: 501280
FIXED-IN: 25.04.0
2025-04-01 11:09:02 +02:00
Jean-Baptiste Mardelle
4b5d224ae9 Make Remove timeline preview work with undo/redo
BUG: 502192
FIXED-IN: 25.04.0
2025-04-01 10:42:06 +02:00
Jean-Baptiste Mardelle
a630af0c69 Fix timeline preview chunk incorrectly identified as missing bin clip 2025-04-01 09:10:32 +02:00
Jean-Baptiste Mardelle
1c08610892 timeline preview: fix breakage with build-in effects and undo 2025-04-01 08:52:25 +02:00
l10n daemon script
15bfaf7959 GIT_SILENT Sync po/docbooks with svn 2025-04-01 01:36:12 +00:00
l10n daemon script
c6e2ab52dc GIT_SILENT Sync po/docbooks with svn 2025-03-31 03:11:00 +00:00
l10n daemon script
58120fd61c GIT_SILENT Sync po/docbooks with svn 2025-03-31 01:35:37 +00:00
Josep M. Ferrer
3c1b1f5294 Fix minor typo (shutte -> shuttle) 2025-03-30 08:39:04 +00:00
l10n daemon script
0b6817dd33 GIT_SILENT Sync po/docbooks with svn 2025-03-30 03:07:32 +00:00
l10n daemon script
bc9d1a97af GIT_SILENT Sync po/docbooks with svn 2025-03-30 01:35:38 +00:00
Julius Künzel
9d750bd12d Restore setting to control raise of effect stack
This option seems to be effectively dead since 19.04, but still exposed on the UI. No the wording is a bit clear and it works again.
2025-03-29 21:49:28 +01:00
Julius Künzel
b477b040d2 Fix compositions after recent QML changes 2025-03-29 20:41:39 +01:00
Julius Künzel
947814ecf5 Add setting to enable/disable timeline debug mode 2025-03-29 20:27:40 +01:00
Julius Künzel
892033bff7 GIT_SILENT Minor code cleanup 2025-03-29 17:18:39 +01:00
Julius Künzel
6c921a67e7 Start enhance some logging lines 2025-03-29 17:17:22 +01:00
Julius Künzel
6ff2f19179 Use a logging category for the renderer 2025-03-29 17:14:59 +01:00
Julius Künzel
6a9fa83cbd Cleanup unused code (mostly commented logging) 2025-03-29 17:11:56 +01:00
l10n daemon script
1890891520 GIT_SILENT Sync po/docbooks with svn 2025-03-29 03:11:33 +00:00
l10n daemon script
f4d371f2a5 GIT_SILENT Sync po/docbooks with svn 2025-03-29 01:36:23 +00:00
Jean-Baptiste Mardelle
8a5da5fbff Merge branch 'release/25.04' 2025-03-28 15:03:01 +01:00
Julius Künzel
a36eac9838 Fix typo 2025-03-28 13:11:13 +00:00
Julius Künzel
8f16c443ed Split SubtitleTrackHead into its own file 2025-03-28 12:01:54 +00:00
Julius Künzel
07ce97766b Switch QML to the default icon mechanism
This seems to work fine. I can not see theming issues anymore which I
vaguely remember from the last time I tried it.
2025-03-28 12:01:54 +00:00
Julius Künzel
6ab196cc28 Use KdenliveSettings directly from QML 2025-03-28 12:01:54 +00:00
Julius Künzel
a19f391d85 De-duplicate guide monitor overlay code 2025-03-28 12:01:54 +00:00
Julius Künzel
2f9e3c76fd Make KdenliveSettings available in QML 2025-03-28 12:01:54 +00:00
Julius Künzel
4d1e433e46 Fix a few qmllint warnings 2025-03-28 12:01:54 +00:00
Julius Künzel
1af870746d Use new KLocalizedQmlContext 2025-03-28 12:01:54 +00:00
Julius Künzel
d0e11f61b3 Cleanup monitor code
- Remove unused code
- Normalize connections (https://github.com/KDE/clazy/blob/1.13/docs/
checks/README-connect-not-normalized.md)
2025-03-28 12:01:54 +00:00
Julius Künzel
9a0a93ae37 Cleanup unused QML files 2025-03-28 12:01:54 +00:00
Julius Künzel
1e694f186d Update monitor qml filenames 2025-03-28 12:01:54 +00:00
Julius Künzel
b60f17d816 Port to qml module 2025-03-28 12:01:54 +00:00
Jean-Baptiste Mardelle
ec583e3640 Fix clear history broken
BUG: 499544
FIXED-IN: 25.04.0
2025-03-28 12:38:14 +01:00
Jean-Baptiste Mardelle
4e9619b1d0 Fix glaxnimate connection not terminated on app close on Windows
BUG: 473036
FIXED-IN: 25.04.0
2025-03-28 12:23:19 +01:00
Jean-Baptiste Mardelle
cd59f097f6 Text based edit: with multiple text selection, create multiple markers
BUG: 498259
FIXED-IN: 25.04.0
2025-03-28 10:48:49 +01:00
Jean-Baptiste Mardelle
d4fce1e924 Fix markers on clips with negative speed seeking to incorrect position 2025-03-28 09:35:28 +01:00
Jean-Baptiste Mardelle
6fc25a0461 Fix variable fps message in clip properties using too much space 2025-03-28 06:58:04 +01:00
l10n daemon script
e9417f8779 GIT_SILENT Sync po/docbooks with svn 2025-03-28 03:16:16 +00:00
l10n daemon script
66a302ff50 GIT_SILENT Sync po/docbooks with svn 2025-03-28 01:38:10 +00:00
Jean-Baptiste Mardelle
ad3b618173 Better default height for assets info box, remember its size
BUG: 502089
2025-03-28 01:48:17 +01:00
Steve Cossette
9b7588355c Fix simple spelling mistake 2025-03-27 11:50:16 +00:00
Julius Künzel
cdddd9b41e Refactor clippropertiescontroller 2025-03-27 10:25:42 +00:00
Julius Künzel
da8f7b05a2 De-duplicate proxy support check 2025-03-27 10:25:42 +00:00
Julius Künzel
7bbac8b402 Cleanup code for Exif and MagicLantern metadata 2025-03-27 10:25:42 +00:00
Julius Künzel
d7dec9b9e3 Move ElidedLinkLabel out of ClipProperties, refactor and use it more 2025-03-27 10:25:42 +00:00
Julius Künzel
1ef71bdea6 Move rotatedIcon to UiUtils 2025-03-27 10:25:42 +00:00
Albert Astals Cid
de241b83e3 GIT_SILENT Upgrade release service version to 25.03.90. 2025-03-27 10:52:25 +01:00
Jean-Baptiste Mardelle
d1fa418b20 Merge branch 'release/25.04' 2025-03-27 09:29:23 +01:00
Jean-Baptiste Mardelle
8330a3287c Fix 1 frame offset in reverse clip 2025-03-27 09:28:40 +01:00
Jean-Baptiste Mardelle
c8f5f12d76 Fix incorrect waveform on clips with negative speed
Fixes #1981
2025-03-27 09:23:41 +01:00
l10n daemon script
55e60c9d95 GIT_SILENT Sync po/docbooks with svn 2025-03-27 03:16:41 +00:00
l10n daemon script
463a8ed36c GIT_SILENT Sync po/docbooks with svn 2025-03-27 01:37:57 +00:00
Ron El
63ebfe21af Add a status tip for hide-all as we have for collapse-all 2025-03-26 09:04:36 +00:00
Jean-Baptiste Mardelle
cbf9e78f5a Prevent loading MLT Qt5 modules crashing tests 2025-03-26 10:03:58 +01:00
Jean-Baptiste Mardelle
424889fbed Prevent loading MLT Qt5 modules crashing tests 2025-03-26 10:03:24 +01:00
Jean-Baptiste Mardelle
d4b965bd61 Add extract frame to clipboard
BUG: 501513
FIXED-IN: 25.08.0
2025-03-26 09:12:00 +01:00
Jean-Baptiste Mardelle
bcc70f8c60 Add action and shortcut for hide all tracks (Shift+Ctrl+H)
BUG: 495921
FIXED-IN: 25.08.0
2025-03-26 08:54:14 +01:00
Jean-Baptiste Mardelle
62bddf6265 Merge branch 'release/25.04' 2025-03-26 08:30:24 +01:00
Jean-Baptiste Mardelle
a3f10cf484 Ensure track state is correctly restored on undo hide 2025-03-26 08:22:16 +01:00
Jean-Baptiste Mardelle
7b3e209aba Fix missing menu entry for hide track, cleanup and allow Shift+click to hide all audio/video tracks
CCBUG: 495921
2025-03-26 07:38:14 +01:00
l10n daemon script
872d98fb2d GIT_SILENT Sync po/docbooks with svn 2025-03-26 03:12:33 +00:00
l10n daemon script
3e7146e82b GIT_SILENT Sync po/docbooks with svn 2025-03-26 01:36:40 +00:00
Jean-Baptiste Mardelle
3ccc5c9684 Merge branch 'release/25.04' 2025-03-25 09:26:08 +01:00
Jean-Baptiste Mardelle
e2c3e961a9 Fix first background frame not displayed when opening a timeline clip in glaxnimate 2025-03-25 09:20:55 +01:00
Jean-Baptiste Mardelle
d7620212a2 Correclty restore all audio streams in restore audio operation.
Also, we should use active tracks not audio target tracks to restore
BUG: 474140
FIXED-IN: 25.04.0
2025-03-25 06:49:36 +01:00
Jean-Baptiste Mardelle
b628bb8613 Ensure render dialog shows up even if it was minimized 2025-03-25 06:49:32 +01:00
l10n daemon script
aca11cd861 GIT_SILENT Sync po/docbooks with svn 2025-03-25 03:12:56 +00:00
l10n daemon script
51eb3fe397 GIT_SILENT Sync po/docbooks with svn 2025-03-25 01:36:12 +00:00
Jean-Baptiste Mardelle
0c1f250dff Try to move Render Widget on top when activated 2025-03-24 15:36:05 +00:00
Jean-Baptiste Mardelle
86bf2c4c36 Fix audio targets not updating anymore after audio or video only drag from clip monitor 2025-03-24 13:32:58 +01:00
l10n daemon script
ada794beb4 GIT_SILENT Sync po/docbooks with svn 2025-03-24 03:11:33 +00:00
l10n daemon script
1b42061a28 GIT_SILENT Sync po/docbooks with svn 2025-03-24 01:35:56 +00:00
Jean-Baptiste Mardelle
206b520493 Merge branch 'release/25.04' 2025-03-23 22:00:40 +01:00
Jean-Baptiste Mardelle
f359c2bff4 cleanup debug lines 2025-03-23 21:56:41 +01:00
Jean-Baptiste Mardelle
993307f16c Add Quick Sync h264/265 render profile 2025-03-23 21:42:28 +01:00
l10n daemon script
cdf4e02440 GIT_SILENT Sync po/docbooks with svn 2025-03-23 03:11:41 +00:00
l10n daemon script
6cc82e25b8 GIT_SILENT Sync po/docbooks with svn 2025-03-23 01:36:37 +00:00
l10n daemon script
3bc738b819 GIT_SILENT Sync po/docbooks with svn 2025-03-22 03:10:02 +00:00
l10n daemon script
937094cf12 GIT_SILENT Sync po/docbooks with svn 2025-03-22 01:35:04 +00:00
Jean-Baptiste Mardelle
c737342f15 Merge branch 'release/25.04' 2025-03-22 00:56:16 +01:00
Jean-Baptiste Mardelle
899becf20d Ensure we don't delete a builtin effect 2025-03-22 00:55:23 +01:00
Jean-Baptiste Mardelle
17c5bba646 Fix crash undoing delete all effects 2025-03-22 00:38:30 +01:00
Jean-Baptiste Mardelle
bf4b158dfc Merge branch 'release/25.04' 2025-03-21 15:07:23 +01:00
Jean-Baptiste Mardelle
2e70ab24c4 Fix crash trying to group a clip with a composition 2025-03-21 15:06:30 +01:00
Jean-Baptiste Mardelle
24e6ca13ff Enable Ctrl+F shortcut to focus search line in Bin, Guides and Effects/Transitions list 2025-03-21 14:19:09 +01:00
Jean-Baptiste Mardelle
efa4b8ba1f Merge branch 'release/25.04' 2025-03-21 14:04:36 +01:00
Jean-Baptiste Mardelle
20039488c2 Text based edit: don't use hardcoded colors in text search background, make standard shortcuts work (find, find next/previous)
Make is also work for project notes
2025-03-21 14:03:22 +01:00
Josep M. Ferrer
ff6604180b Some minor typos 2025-03-21 09:57:58 +00:00
Jean-Baptiste Mardelle
9a08c67ee2 Fix some effects/composition names appear untranslated - caused by i18n context
CCBUG: 473086
2025-03-21 06:40:08 +01:00
l10n daemon script
a1a6fafaa8 GIT_SILENT Sync po/docbooks with svn 2025-03-21 03:19:51 +00:00
l10n daemon script
e99b03a5b9 GIT_SILENT Sync po/docbooks with svn 2025-03-21 01:38:19 +00:00
Jean-Baptiste Mardelle
7f67049d44 Merge branch 'release/25.04' 2025-03-20 12:17:56 +01:00
Jean-Baptiste Mardelle
816a894d0e Fix tests after last commit 2025-03-20 12:17:19 +01:00
Jean-Baptiste Mardelle
5707f37e4f Merge branch 'release/25.04' 2025-03-20 12:02:23 +01:00
Jean-Baptiste Mardelle
6dec114a42 When opening a project file with a custom effect that is not on the system, use the MLT base effect to correctly recover the project
BUG: 460928
FIXED-IN: 25.04.0
2025-03-20 12:01:52 +01:00
Jean-Baptiste Mardelle
606ff404fe Correctly set audio flag for generator clips (don't pretend we have an audio track when we don't)
Related to !546
2025-03-20 11:25:49 +01:00
Jean-Baptiste Mardelle
3c680571e0 Correctly set audio flag for generator clips (don't pretend we have an audio track when we don't)
Related to !546
2025-03-20 11:23:16 +01:00
Julius Künzel
00b668d260 Re-enable OTIO tests 2025-03-20 09:16:41 +00:00
Jean-Baptiste Mardelle
01b1e725c1 Merge branch 'release/25.04' 2025-03-20 09:29:02 +01:00
Jean-Baptiste Mardelle
6d0511bf4f Fix autoclose attribute not properly set on playlists on rendering, causing huge memory usage
CCBUG: 501578
2025-03-20 09:28:05 +01:00
l10n daemon script
c2daf06712 GIT_SILENT Sync po/docbooks with svn 2025-03-20 03:19:19 +00:00
l10n daemon script
b75197328f GIT_SILENT Sync po/docbooks with svn 2025-03-20 01:39:00 +00:00
Jean-Baptiste Mardelle
148463ca1e Fix some minor color palette issues in effect stack 2025-03-19 22:17:32 +01:00
Jean-Baptiste Mardelle
2859b8e409 Remove unsupported html tags from notifications
BUG: 174560
FIXED-IN: 25.04.0
2025-03-19 09:23:51 +01:00
Jean-Baptiste Mardelle
42f62f59c4 Merge branch 'release/25.04' 2025-03-19 07:39:32 +01:00
Jean-Baptiste Mardelle
6ff2edcd92 Improve our memory checks on rendering to use more sane values and be more visible on low memory 2025-03-19 07:38:30 +01:00
l10n daemon script
442a5ec08c GIT_SILENT Sync po/docbooks with svn 2025-03-19 03:12:55 +00:00
l10n daemon script
b58ad9273a GIT_SILENT Sync po/docbooks with svn 2025-03-19 01:37:16 +00:00
Jean-Baptiste Mardelle
4ef3d02ea7 Get rid of stylesheets for asset panel
Related to QTBUG-133845
2025-03-18 10:57:55 +01:00
l10n daemon script
765803daaf GIT_SILENT Sync po/docbooks with svn 2025-03-18 03:17:05 +00:00
l10n daemon script
50de205b11 GIT_SILENT Sync po/docbooks with svn 2025-03-18 01:39:08 +00:00
Bernd Jordan
9125e250d8 Corrected some minor typos; updated list parameters 2025-03-17 20:19:50 +00:00
Jean-Baptiste Mardelle
99dd34e1e5 Warn when exiting Kdenlive when render jobs are running, allow to terminate all jobs
BUG: 396519
FIXED-IN: 25.08.0
2025-03-17 19:43:52 +01:00
Yuri Chornoivan
628dec251a Fix minor typos 2025-03-17 20:40:10 +02:00
Jean-Baptiste Mardelle
b0f3bb84d2 Ensure we use cpu by default for whisper if no device configured yet 2025-03-17 09:04:08 +01:00
l10n daemon script
75e25d0a67 GIT_SILENT Sync po/docbooks with svn 2025-03-17 03:08:25 +00:00
l10n daemon script
c518e3b57b GIT_SILENT Sync po/docbooks with svn 2025-03-17 01:34:34 +00:00
Oliver Kellogg
0493203cee data/effects/avfilter/avfilter_yadif.xml : fix typo in paramlistdisplay of av.mode and av.parity 2025-03-16 15:59:57 +00:00
Yuri Chornoivan
58560d3fd8 Fix minor typos 2025-03-16 16:18:08 +02:00
Jean-Baptiste Mardelle
4ea0ba3a58 Merge branch 'release/25.04' 2025-03-16 11:32:50 +01:00
Jean-Baptiste Mardelle
1aa7778301 Fix speed dialog mnemonics and tab order
BUG: 501565
FIXED-IN: 25.04.0
2025-03-16 11:31:45 +01:00
Jean-Baptiste Mardelle
d878548134 Several monitor qml overlay fixes
Fix crash exiting mask mode and resize on show hide audio thumbs
2025-03-16 10:28:31 +00:00
l10n daemon script
bf3fc5ffd5 GIT_SILENT Sync po/docbooks with svn 2025-03-16 03:14:37 +00:00
l10n daemon script
7166d84b41 GIT_SILENT Sync po/docbooks with svn 2025-03-16 01:37:19 +00:00
Yuri Chornoivan
d83db8defc Fix tag 2025-03-15 22:16:29 +02:00
Yuri Chornoivan
4521e4c741 Fix minor typos 2025-03-15 19:02:34 +02:00
l10n daemon script
32c1cf7c03 GIT_SILENT Sync po/docbooks with svn 2025-03-15 03:15:32 +00:00
l10n daemon script
5f78ca2928 GIT_SILENT Sync po/docbooks with svn 2025-03-15 01:37:21 +00:00
Jean-Baptiste Mardelle
c6947cbaec Merge branch 'release/25.04' 2025-03-14 17:37:01 +01:00
Jean-Baptiste Mardelle
b3afb024b7 Fix profile change aborted when switching from empty project
BUG: 500751
FIXED-IN: 25.04.0
2025-03-14 17:34:02 +01:00
Jean-Baptiste Mardelle
f62bcec44f Merge branch 'release/25.04' 2025-03-14 17:16:21 +01:00
Jean-Baptiste Mardelle
6bb2a28764 Insert space should move guides if they are not locked
BUG: 500773
FIXED-IN;: 25.04.0
2025-03-14 17:15:50 +01:00
Jean-Baptiste Mardelle
dd43263e3f Add keyboard shortut for render filename field
BUG: 500772
FIXED-IN: 25.04.0
2025-03-14 17:08:10 +01:00
Jean-Baptiste Mardelle
701e17d06a Fix rendering files with an ampersand in name is broken on linux
BUG: 500794
FIXED-IN: 25.04.0
2025-03-14 17:02:30 +01:00
Jean-Baptiste Mardelle
6d237e9a05 Remove link character that is missing in many fonts 2025-03-14 15:21:06 +01:00
Jean-Baptiste Mardelle
724d42fec4 Merge branch 'release/25.04' 2025-03-14 14:16:59 +01:00
Jean-Baptiste Mardelle
9dfaef6981 Motion tracker: create keyframes with smooth_natural type instead of the deprecated smooth that caused cusps and could lead to empty area causing crashes
CCBUG: 500850
2025-03-14 14:08:50 +01:00
Jean-Baptiste Mardelle
3f857e57a2 Merge branch 'release/25.04' 2025-03-14 07:01:10 +01:00
Jean-Baptiste Mardelle
3a495be063 Add missing subfolders for translations
CCBUG: 473086
2025-03-14 07:00:13 +01:00
l10n daemon script
49c6521c9e GIT_SILENT Sync po/docbooks with svn 2025-03-14 03:23:14 +00:00
l10n daemon script
eef4618aeb GIT_SILENT Sync po/docbooks with svn 2025-03-14 01:41:16 +00:00
Jean-Baptiste Mardelle
21c6c6610e Fix saved tracker effect doesn't work
BUG: 501227
FIXED-IN: 25.04.0
2025-03-13 19:03:29 +01:00
Darby Johnston
e22afe883c Add OTIO tests for transitions and missing media 2025-03-13 18:52:22 +01:00
Jean-Baptiste Mardelle
c61d301d00 Ensure Bin messages don't crash when running in headless mode (like tests) 2025-03-13 18:52:11 +01:00
Jean-Baptiste Mardelle
d643cb6a8b Fix project monitor ruler not updating correctly on scene change 2025-03-13 18:51:46 +01:00
Jean-Baptiste Mardelle
5fd6475c1e Display black frame when seeking after last clip in timeline 2025-03-13 18:51:33 +01:00
Jean-Baptiste Mardelle
c390b87c0f Display timecode in project monitor even if we are past the last clip 2025-03-13 18:51:20 +01:00
Darby Johnston
280abf9703 Add OTIO tests for transitions and missing media 2025-03-13 17:49:20 +00:00
Jean-Baptiste Mardelle
9388b110d4 Ensure Bin messages don't crash when running in headless mode (like tests) 2025-03-13 17:48:53 +00:00
Jean-Baptiste Mardelle
a085a1e481 Fix replacing color clip
BUG: 501394
FIXED-IN: 25.04.0
2025-03-13 12:48:00 +01:00
Jean-Baptiste Mardelle
ecfcc320b5 Reorganize timeline toolbar separators to be more coherent with feature
Related to #1972
2025-03-13 12:23:48 +01:00
Jean-Baptiste Mardelle
633eeee461 Merge branch 'release/25.04' 2025-03-13 12:13:04 +01:00
Jean-Baptiste Mardelle
501e45db12 Re-enable the keep source default size feature now that qtblend is fixed 2025-03-13 12:12:03 +01:00
Jean-Baptiste Mardelle
e5bceed37e Add some context info for built-in effects 2025-03-13 12:11:29 +01:00
Jean-Baptiste Mardelle
46e6d4bb77 Fix project monitor ruler not updating correctly on scene change 2025-03-13 12:10:32 +01:00
Jean-Baptiste Mardelle
e1e2d594d8 Merge branch 'release/25.04' 2025-03-13 11:14:44 +01:00
Jean-Baptiste Mardelle
4e97fdf00c Fix crash on close with mask task running 2025-03-13 11:13:18 +01:00
Jean-Baptiste Mardelle
94b2346709 Display black frame when seeking after last clip in timeline 2025-03-13 04:52:11 +01:00
l10n daemon script
cc2dfac3ac GIT_SILENT Sync po/docbooks with svn 2025-03-13 03:13:18 +00:00
l10n daemon script
8f510d20e6 GIT_SILENT Sync po/docbooks with svn 2025-03-13 01:37:34 +00:00
Bernd Jordan
054d0e92c8 XML effect file corrections
- Added suffix, one decimal point, translated planes from numbers to plain text and changed type to "list"
- Added parameters for alpha channel, added comments with explanation
- Corrected max values, added alpha channel, added comments
2025-03-12 23:35:06 +01:00
Jean-Baptiste Mardelle
0b7d72da94 Display timecode in project monitor even if we are past the last clip 2025-03-12 20:19:12 +01:00
Bernd Jordan
5a7e93863e XML effect file corrections
- Added suffix, one decimal point, translated planes from numbers to plain text and changed type to "list"
- Added parameters for alpha channel, added comments with explanation
- Corrected max values, added alpha channel, added comments
2025-03-12 17:20:53 +00:00
Jean-Baptiste Mardelle
d771e1e6bb Merge branch 'release/25.04' 2025-03-12 13:37:50 +01:00
Jean-Baptiste Mardelle
c9272e0e58 Add some contextual info buttons to plugins 2025-03-12 13:37:04 +01:00
Jean-Baptiste Mardelle
49286f99e2 Fix transcoding and proxying of clips with cover art
BUG: 496599
FIXED-IN: 25.04.0
2025-03-12 13:36:18 +01:00
Jean-Baptiste Mardelle
a9cda0406b Merge branch 'release/25.04' 2025-03-12 07:59:46 +01:00
Jean-Baptiste Mardelle
b7c388fda7 Add info message about SAM2's high memory usage 2025-03-12 07:58:49 +01:00
Jean-Baptiste Mardelle
d8b272e4d5 Hide some built-in effects on color clips 2025-03-12 07:58:47 +01:00
l10n daemon script
b22117db33 GIT_SILENT Sync po/docbooks with svn 2025-03-12 03:15:05 +00:00
l10n daemon script
b07e8b56e2 GIT_SILENT Sync po/docbooks with svn 2025-03-12 01:38:07 +00:00
Jean-Baptiste Mardelle
7d1f1ce210 Merge branch 'release/25.04' 2025-03-11 11:26:20 +01:00
Jean-Baptiste Mardelle
115a8827ce Fix incorrect properties keyword 2025-03-11 11:25:39 +01:00
Jean-Baptiste Mardelle
c353374683 Merge branch 'release/25.04' 2025-03-11 11:23:11 +01:00
Jean-Baptiste Mardelle
72021098ae Disable exception handling to fix CD builds 2025-03-11 11:19:23 +01:00
Jean-Baptiste Mardelle
161b0b6c14 Clazy fixes 2025-03-11 10:35:05 +01:00
Jean-Baptiste Mardelle
293d0d0fb6 Allow installing specific CUDA version for Whisper and SAM2 2025-03-11 10:33:57 +01:00
Darby Johnston
4ea348d614 Add OTIO support for color clips
This adds OTIO support for exporting and importing color clips.

I implemented the OTIO metadata a bit different from the kdenlinve Python adapter, by adding a "kdenlive" namespace/prefix. Since OTIO doesn't specify what the metadata should be, it seemed like a good idea to mark it as kdenlive specific (they also recommend this in the developer documentation).

I am currently seeing a segfault in the tests with these changes, it looks like it is happening when the test application is shutting down. Doing a similar import/export test in the kdenlive application works OK though.

```
libQt6Core.so.6!QUuid::isNull() const (Unknown Source:0)
libQt6Core.so.6!QUuid::variant() const (Unknown Source:0)
libQt6Core.so.6!QUuid::operator<(QUuid const&) const (Unknown Source:0)
std::less<QUuid>::operator()(const std::less<QUuid> * const this, const QUuid & __x, const QUuid & __y) (/usr/include/c++/14/bits/stl_function.h:405)
std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::_M_lower_bound(const std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > > * const this, std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::_Const_Link_type __x, std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::_Const_Base_ptr __y, const QUuid & __k) (/usr/include/c++/14/bits/stl_tree.h:1964)
std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::find(const std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > > * const this, const QUuid & __k) (/usr/include/c++/14/bits/stl_tree.h:2541)
std::map<QUuid, std::shared_ptr<TimelineItemModel>, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::find(const std::map<QUuid, std::shared_ptr<TimelineItemModel>, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > > * const this, const std::map<QUuid, std::shared_ptr<TimelineItemModel>, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::key_type & __x) (/usr/include/c++/14/bits/stl_map.h:1244)
QMap<QUuid, std::shared_ptr<TimelineItemModel> >::contains(const QMap<QUuid, std::shared_ptr<TimelineItemModel> > * const this, const QUuid & key) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qmap.h:344)
KdenliveDoc::getTimeline(KdenliveDoc * const this, const QUuid & uuid, bool allowEmpty) (src/doc/kdenlivedoc.cpp:2311)
ProjectClip::selfSoftDelete(ProjectClip * const this, Fun & undo, Fun & redo) (src/bin/projectclip.cpp:2480)
ProjectItemModel::requestBinClipDeletion(ProjectItemModel * const this, const std::shared_ptr<AbstractProjectItem> & clip, Fun & undo, Fun & redo) (src/bin/projectitemmodel.cpp:776)
ProjectItemModel::clean(ProjectItemModel * const this, bool quit) (src/bin/projectitemmodel.cpp:631)
main(int argc, char ** argv) (tests/TestMain.cpp:41)
```
2025-03-11 10:33:42 +01:00
Jean-Baptiste Mardelle
bd91b63f69 Allow installing specific CUDA version for Whisper and SAM2 2025-03-11 09:32:42 +00:00
Darby Johnston
3f328288b8 Add OTIO support for color clips
This adds OTIO support for exporting and importing color clips.

I implemented the OTIO metadata a bit different from the kdenlinve Python adapter, by adding a "kdenlive" namespace/prefix. Since OTIO doesn't specify what the metadata should be, it seemed like a good idea to mark it as kdenlive specific (they also recommend this in the developer documentation).

I am currently seeing a segfault in the tests with these changes, it looks like it is happening when the test application is shutting down. Doing a similar import/export test in the kdenlive application works OK though.

```
libQt6Core.so.6!QUuid::isNull() const (Unknown Source:0)
libQt6Core.so.6!QUuid::variant() const (Unknown Source:0)
libQt6Core.so.6!QUuid::operator<(QUuid const&) const (Unknown Source:0)
std::less<QUuid>::operator()(const std::less<QUuid> * const this, const QUuid & __x, const QUuid & __y) (/usr/include/c++/14/bits/stl_function.h:405)
std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::_M_lower_bound(const std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > > * const this, std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::_Const_Link_type __x, std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::_Const_Base_ptr __y, const QUuid & __k) (/usr/include/c++/14/bits/stl_tree.h:1964)
std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::find(const std::_Rb_tree<QUuid, std::pair<QUuid const, std::shared_ptr<TimelineItemModel> >, std::_Select1st<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > >, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > > * const this, const QUuid & __k) (/usr/include/c++/14/bits/stl_tree.h:2541)
std::map<QUuid, std::shared_ptr<TimelineItemModel>, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::find(const std::map<QUuid, std::shared_ptr<TimelineItemModel>, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > > * const this, const std::map<QUuid, std::shared_ptr<TimelineItemModel>, std::less<QUuid>, std::allocator<std::pair<QUuid const, std::shared_ptr<TimelineItemModel> > > >::key_type & __x) (/usr/include/c++/14/bits/stl_map.h:1244)
QMap<QUuid, std::shared_ptr<TimelineItemModel> >::contains(const QMap<QUuid, std::shared_ptr<TimelineItemModel> > * const this, const QUuid & key) (/usr/include/x86_64-linux-gnu/qt6/QtCore/qmap.h:344)
KdenliveDoc::getTimeline(KdenliveDoc * const this, const QUuid & uuid, bool allowEmpty) (src/doc/kdenlivedoc.cpp:2311)
ProjectClip::selfSoftDelete(ProjectClip * const this, Fun & undo, Fun & redo) (src/bin/projectclip.cpp:2480)
ProjectItemModel::requestBinClipDeletion(ProjectItemModel * const this, const std::shared_ptr<AbstractProjectItem> & clip, Fun & undo, Fun & redo) (src/bin/projectitemmodel.cpp:776)
ProjectItemModel::clean(ProjectItemModel * const this, bool quit) (src/bin/projectitemmodel.cpp:631)
main(int argc, char ** argv) (tests/TestMain.cpp:41)
```
2025-03-11 09:31:49 +00:00
l10n daemon script
63915cff3f GIT_SILENT Sync po/docbooks with svn 2025-03-11 03:15:38 +00:00
l10n daemon script
41fc40c6f3 GIT_SILENT Sync po/docbooks with svn 2025-03-11 01:36:26 +00:00
Darby Johnston
4e754eb04c Add progress dialogs 2025-03-10 06:34:53 +01:00
Darby Johnston
62713e8f21 Add progress dialogs 2025-03-10 05:31:25 +00:00
l10n daemon script
0aff21133f GIT_SILENT Sync po/docbooks with svn 2025-03-10 03:47:10 +00:00
l10n daemon script
b45546d4eb GIT_SILENT Sync po/docbooks with svn 2025-03-10 01:40:15 +00:00
Julius Künzel
8c30021686 Revert "Allow testing checkerboard with MLT 7.30"
This reverts commit 1f3ffe3b74.
2025-03-09 19:25:58 +01:00
Jean-Baptiste Mardelle
ef61674e95 Merge branch 'release/25.04' 2025-03-09 15:47:43 +01:00
Jean-Baptiste Mardelle
78940d8476 Improve error log on venv setup error 2025-03-09 15:32:55 +01:00
l10n daemon script
7c72682d7e GIT_SILENT Sync po/docbooks with svn 2025-03-09 03:10:05 +00:00
l10n daemon script
09e4270c49 GIT_SILENT Sync po/docbooks with svn 2025-03-09 01:35:20 +00:00
Albert Astals Cid
6c7c73914c GIT_SILENT Upgrade release service version to 25.07.70. 2025-03-08 19:05:05 +01:00
Albert Astals Cid
f8ccdfe0ca GIT_SILENT Upgrade release service version to 25.03.80. 2025-03-08 18:21:25 +01:00
Julius Künzel
a03de7916f Work around for header oddity with OTIO and Imath 2025-03-08 12:25:50 +00:00
Julius Künzel
51588b9fe9 Update nightly Flatpak deps for OpenTimelineIO 2025-03-08 12:25:50 +00:00
Julius Künzel
59503e1274 Fix OpenTimelineIO target names 2025-03-08 12:25:50 +00:00
Jean-Baptiste Mardelle
ea4c140d55 Ensure Bin effects keep their in/out when clip is inserted in timeline, like shape filter 2025-03-08 07:38:22 +01:00
l10n daemon script
654f992cc0 GIT_SILENT Sync po/docbooks with svn 2025-03-08 01:42:02 +00:00
Jean-Baptiste Mardelle
72bc8fba1e Fix alpha mask keyframes
Related to #1964
2025-03-07 18:39:19 +01:00
Jean-Baptiste Mardelle
a3bb0b2dcc Fix startup crash 2025-03-07 18:27:20 +01:00
Jean-Baptiste Mardelle
62d70427ba Fix mask not created on request 2025-03-07 17:46:53 +01:00
Jean-Baptiste Mardelle
d3338dced4 Fix effectstack not showing up for color/image bin clips 2025-03-07 17:01:44 +01:00
Jean-Baptiste Mardelle
917b6b11c2 Misc Mask fixes, allow editing a missing mask to recreate it 2025-03-07 14:49:23 +01:00
l10n daemon script
0db7ab0211 GIT_SILENT Sync po/docbooks with svn 2025-03-07 01:38:11 +00:00
Jean-Baptiste Mardelle
113e54ccc1 temporarily disable otio test 2025-03-06 18:52:21 +01:00
Darby Johnston
9fb0c29a16 Test fix 2025-03-06 08:20:49 +00:00
Darby Johnston
769a1b503e Add guides and markers test 2025-03-06 08:20:49 +00:00
Darby Johnston
6bd5e55b2d Refactoring 2025-03-06 08:20:49 +00:00
Darby Johnston
d4d75f5959 Add more tests 2025-03-06 08:20:49 +00:00
Darby Johnston
734184f933 Wait for clips to load 2025-03-06 08:20:49 +00:00
Darby Johnston
ee40dfcbdb Add messages boxes for errors 2025-03-06 08:20:49 +00:00
Darby Johnston
f10a678733 Add asserts
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
8db62302f7 WIP import transitions
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
7f88bc3bd6 Remove old code
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
1c34328fdd WIP support for exporting mixes as OTIO transitions
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
7dca8b7bf9 Set the profile
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
29c6c87fa9 Add basic test
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
c1d64876c7 Add copyright header
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
213a3d8054 Move OTIO dependency into a subdirectory
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
8ac9baa91d Add test file
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
782a436820 Refactoring
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
38506ebccc Remove TODOs
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
38cdbe846b Get the resolution from the first video clip
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
af7d2edbfa Update notes
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
b281f1cc52 Use AV libs for timecode
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
ab2790d77a CMake fixes
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
658fa8ab68 Add notes
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
69b10470b0 Refactoring
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
70b443505a Add guides support
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
b62a8f76b5 Refactoring
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
070b4c1696 Refactoring
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
b67255db56 Import markers
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
a3e02d6b40 Better profile handling
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
84d7c63f71 Export markers
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
31129385c0 Account for gaps
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
fed51ef75e Remove QModelIndex traversal
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
78f3de305f Use start time code from media
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
d964d0dda2 Add FETCH_OTIO option
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
fb244172c1 Create a new document when importing
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
5ffab980dc Do not translate the file extension
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
1fac81f4c8 WIP import
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
c6e182316b Add comment
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
0f63210aab Initial attempt at importing
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
dccbe04997 Add basic OTIO export
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
afc0b9f83a Try using kde_target_enable_exceptions() for OTIO
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
fe43be77b9 Use FetchContent for OTIO
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Darby Johnston
ad40f9372b Initial check-in
Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
2025-03-06 08:20:49 +00:00
Jean-Baptiste Mardelle
e74a8296c1 Multiple fixes for background removal (you can now continue working while mask is being created) 2025-03-06 08:48:29 +01:00
l10n daemon script
01cd56e360 GIT_SILENT Sync po/docbooks with svn 2025-03-06 01:38:25 +00:00
l10n daemon script
10d09680e7 GIT_SILENT Sync po/docbooks with svn 2025-03-05 01:51:55 +00:00
Jean-Baptiste Mardelle
c3527ca31e Timeline highlight: switch from stylesheet to palette roles 2025-03-04 17:44:27 +01:00
Jean-Baptiste Mardelle
79a7e6fe6b Get rid of focus timer hack breaking stuff 2025-03-04 17:21:02 +01:00
Jean-Baptiste Mardelle
8cdd8ad489 Revamp python plugins install, fix downloading whisper model on first run if model folder does not exist 2025-03-04 17:09:42 +01:00
l10n daemon script
e16f32f1a3 GIT_SILENT Sync po/docbooks with svn 2025-03-04 01:36:58 +00:00
Jean-Baptiste Mardelle
a3581c05e7 Fix invert mask button
Related to #1976
2025-03-03 08:41:19 +01:00
l10n daemon script
2f2d7b9fd7 GIT_SILENT Sync po/docbooks with svn 2025-03-03 01:35:58 +00:00
Jean-Baptiste Mardelle
d0953aa91d Fix audio playback breaks when switching between bin clips
CCBUG: 500491
Related to #1963
2025-03-02 21:31:53 +01:00
Jean-Baptiste Mardelle
690d344210 remove debug 2025-03-02 21:25:36 +01:00
Jean-Baptiste Mardelle
7a41d722e8 Various fixes for background removal 2025-03-02 17:50:48 +01:00
l10n daemon script
3fbfa5ac63 GIT_SILENT Sync po/docbooks with svn 2025-03-02 01:34:58 +00:00
l10n daemon script
9c796e9fa4 GIT_SILENT Sync po/docbooks with svn 2025-03-01 01:47:20 +00:00
Jean-Baptiste Mardelle
42ed556191 Fix playlist alpha proxy
Related to #1556
2025-02-28 13:09:59 +01:00
Jean-Baptiste Mardelle
d67e0fb6b1 Don't allow changing zone when monitor is in mask creation mode 2025-02-28 11:44:25 +01:00
Jean-Baptiste Mardelle
8bf8e921b5 Fix coding style 2025-02-28 11:37:25 +01:00
Jean-Baptiste Mardelle
c71f999b2f Fix seeking to zone start in bin clip when starting a mask 2025-02-28 11:36:58 +01:00
Jean-Baptiste Mardelle
ec02a93809 Make proxy profile for clips with alpha configurable (globaly not per project)
Add a flag to library clips created from bin drop to correctly identify alpha channel
Related to #1556
2025-02-28 10:30:54 +01:00
Jean-Baptiste Mardelle
424edee936 Enforce libvpx decoders when transcoding a file with alpha
Related to #1556
2025-02-28 09:02:18 +01:00
l10n daemon script
d2108de0e4 GIT_SILENT Sync po/docbooks with svn 2025-02-28 01:35:34 +00:00
Jean-Baptiste Mardelle
66b262e5e4 Add basic alpha detection for playlist clips to disable automatic proxies
Related to #1556
2025-02-27 21:56:48 +01:00
Heiko Becker
46599f2f57 GIT_SILENT Update Appstream for new release
(cherry picked from commit 3ee06ea514)
2025-02-27 21:12:22 +01:00
l10n daemon script
2f51bb1304 GIT_SILENT Sync po/docbooks with svn 2025-02-27 01:34:33 +00:00
l10n daemon script
e2f22afa0e GIT_SILENT made messages (after extraction) 2025-02-27 00:40:36 +00:00
Jean-Baptiste Mardelle
107ae8e009 Try to fix CI tests freeze 2025-02-26 13:20:27 +01:00
Jean-Baptiste Mardelle
21f06a0a2d Cleanup built-in Mask task 2025-02-26 08:45:40 +01:00
l10n daemon script
048396d0cb GIT_SILENT Sync po/docbooks with svn 2025-02-26 01:37:04 +00:00
Jean-Baptiste Mardelle
5823f4dc2f Ensure we don't add 2 mask effects 2025-02-25 20:38:54 +01:00
Jean-Baptiste Mardelle
00a976b624 Show mask progress and stop button in build-in widget 2025-02-25 16:53:44 +01:00
Jean-Baptiste Mardelle
4a0bd815f3 Add remove background button in built-in effects 2025-02-25 11:26:00 +01:00
Jean-Baptiste Mardelle
97a5ff2d3c Use deleteLater when switching monitor scene to avoid possible crash if a switch occurs while a qml action happens like mouse click 2025-02-25 08:55:37 +00:00
Jean-Baptiste Mardelle
f529f5d168 Object masks: allow selecting mask color and adding a border 2025-02-25 09:53:46 +01:00
l10n daemon script
99de537753 GIT_SILENT Sync po/docbooks with svn 2025-02-24 10:27:56 +00:00
Jean-Baptiste Mardelle
d745a3b49f Fix ClipLoadtask usage in tests 2025-02-24 11:16:08 +01:00
l10n daemon script
6bbe7707c8 GIT_SILENT Sync po/docbooks with svn 2025-02-24 01:34:53 +00:00
Julius Künzel
8a3ae8d4bf Add a few tests for Timecode and GenTime
There is more that can be tested, eg. drop-frame timecodes
2025-02-23 22:33:56 +01:00
Julius Künzel
3ecc942a16 Improve code to get start timecode of a clip
- Better detect start timecode without mediainfo. Inspired by work done
by Palmer Dabbelt
- Cleanup code
2025-02-23 18:31:59 +01:00
Julius Künzel
c344614214 Add scaleTimecode helper to deduplicate code 2025-02-23 18:30:55 +01:00
l10n daemon script
2007642a88 GIT_SILENT Sync po/docbooks with svn 2025-02-23 01:33:52 +00:00
Julius Künzel
5b0cf9607a Change icon for speech recogniation in subtitle trackhead
It was the same as the effects icon for AV tracks before which is
confusing
2025-02-22 12:58:46 +01:00
l10n daemon script
4213b3178d GIT_SILENT Sync po/docbooks with svn 2025-02-22 01:35:01 +00:00
l10n daemon script
8398dd223f GIT_SILENT Sync po/docbooks with svn 2025-02-21 01:34:55 +00:00
l10n daemon script
b3b61e1cb8 GIT_SILENT Sync po/docbooks with svn 2025-02-20 01:35:59 +00:00
l10n daemon script
1e64b0d9fb GIT_SILENT Sync po/docbooks with svn 2025-02-19 01:36:35 +00:00
Jean-Baptiste Mardelle
f5c6ffa505 Make active monitor timecode font bold 2025-02-18 12:19:24 +01:00
Jean-Baptiste Mardelle
84240a980e Make monitor timecode color different if monitor is active
CCBUG: 471086
2025-02-18 12:02:42 +01:00
l10n daemon script
e23730ac0a GIT_SILENT Sync po/docbooks with svn 2025-02-18 01:35:49 +00:00
Jean-Baptiste Mardelle
180d4fb805 Fix align audio to reference always using first stream
Fixes #1968
2025-02-17 22:48:19 +01:00
Jean-Baptiste Mardelle
b129d92dc8 Fix audio stream index indicator in timeline clips 2025-02-17 22:36:38 +01:00
Jean-Baptiste Mardelle
dcfa293af6 Don't output hundreds of useless avformat warnings 2025-02-17 16:53:01 +01:00
Jean-Baptiste Mardelle
8d64165d57 SAM: Add option to offload memory to CPU, allowing to create longer masks, useful for GPU with low VRAM.
Switch all MLT tasks to loglevel error, since the log overflow sometimes caused freezes
2025-02-17 16:14:05 +01:00
Scarlett Moore
e3e7915798 snapcraft: Use ffmpeg sdk for building. 2025-02-17 07:17:52 -07:00
Jean-Baptiste Mardelle
7c2a52db43 Fix compilation 2025-02-17 13:51:51 +01:00
Jean-Baptiste Mardelle
858afad9e7 SAM segmentation: Allow creating include / exclude points later in the video, display keyframes in monitor ruler
Allow editing a mask to refine it
2025-02-17 12:34:18 +00:00
Jean-Baptiste Mardelle
a8f39133e6 Ask for confirmation when closing a project with running mask task.
Correctly display log on mask task crash
2025-02-17 12:34:18 +00:00
Jean-Baptiste Mardelle
64130223b5 Ensure shape masks gets correct parameters on start 2025-02-17 12:34:18 +00:00
Jean-Baptiste Mardelle
0581cdf4cb Remove useless debug 2025-02-17 12:34:18 +00:00
Jean-Baptiste Mardelle
69cd1f37d8 Make sam2 process stay alive during mask creation
Improve user feedback during process
2025-02-17 12:34:18 +00:00
Jean-Baptiste Mardelle
a601b241b3 Don't draw audio channel name if we merge channels 2025-02-17 05:32:42 +01:00
l10n daemon script
5b721fd137 GIT_SILENT Sync po/docbooks with svn 2025-02-17 01:34:05 +00:00
Jean-Baptiste Mardelle
970839c02f Fix audiothumbs disappear on high zoom
Fixes #1969
2025-02-16 22:29:27 +01:00
l10n daemon script
53e447abdc GIT_SILENT Sync po/docbooks with svn 2025-02-16 01:37:00 +00:00
l10n daemon script
48e0db83f4 GIT_SILENT Sync po/docbooks with svn 2025-02-15 01:46:54 +00:00
Jean-Baptiste Mardelle
3ef8a8f38d Fix dragging from clip monitor becomes audio or video only when passing over the buttons 2025-02-14 13:00:19 +01:00
Jean-Baptiste Mardelle
0f329ee781 Use current stream for audio matching
Related to #1968
2025-02-14 12:46:06 +01:00
Farid Abdelnour
2d4c869e35 Fix compile issue with fakeit template
Based on this: https://github.com/eranpeer/FakeIt/issues/348
2025-02-14 10:09:55 +00:00
Jean-Baptiste Mardelle
f80f40ca76 Fix effects with analysis step like loudness 2 pass and tracker broken on cut clips or on tracks
BUG: 492729
BUG: 441451
Fixes #1789
2025-02-14 10:57:54 +01:00
l10n daemon script
f04e9ef797 GIT_SILENT Sync po/docbooks with svn 2025-02-14 01:39:30 +00:00
l10n daemon script
84b4aca33b GIT_SILENT made messages (after extraction) 2025-02-14 00:42:55 +00:00
l10n daemon script
70f3b75927 GIT_SILENT Sync po/docbooks with svn 2025-02-13 01:41:56 +00:00
Julius Künzel
eff2ed2187 [CI] Dependencies for @all 2025-02-12 17:37:49 +00:00
Albert Astals Cid
aedd83df8c CI: Add linux-qt6-next build 2025-02-12 01:20:22 +01:00
l10n daemon script
f1f85c4144 GIT_SILENT Sync po/docbooks with svn 2025-02-11 01:36:29 +00:00
Jean-Baptiste Mardelle
1abb92a1b2 remove dead code to trigger rebuild 2025-02-10 09:33:04 +01:00
l10n daemon script
29daa6c794 GIT_SILENT Sync po/docbooks with svn 2025-02-10 01:32:27 +00:00
Jean-Baptiste Mardelle
950aa8d830 Titler: fix horizontal center of text with letter spacing > 0 2025-02-09 14:06:12 +01:00
Jean-Baptiste Mardelle
d82a04084c Fix crash pasting clips with a same track transition (like dissolve) 2025-02-09 14:00:45 +01:00
l10n daemon script
4d80cbb7cb GIT_SILENT Sync po/docbooks with svn 2025-02-09 01:33:17 +00:00
l10n daemon script
e3a6eea5a8 GIT_SILENT Sync po/docbooks with svn 2025-02-08 01:32:50 +00:00
Jean-Baptiste Mardelle
1f3ffe3b74 Allow testing checkerboard with MLT 7.30 2025-02-07 19:55:07 +00:00
Jean-Baptiste Mardelle
81defea1b5 Ensure proxy clips have a fixed frame rate (using vsync 1)
BUG: 499559
2025-02-07 17:30:45 +01:00
Jean-Baptiste Mardelle
924a294f65 Fix Clip Monitor audi/video drag buttons 2025-02-07 12:42:28 +01:00
Jean-Baptiste Mardelle
dcf44db242 Shift+Click to collapse/expand all effects 2025-02-07 10:52:01 +01:00
Jean-Baptiste Mardelle
60abdb9680 Fix rotoscoping shape sometimes jumps to unexpected location when drag while playing 2025-02-07 10:30:49 +01:00
l10n daemon script
3a473d6e3c GIT_SILENT Sync po/docbooks with svn 2025-02-07 01:39:26 +00:00
Jean-Baptiste Mardelle
e0ad3acd12 Fix incorrect behavior / crash on single item deletion
BUG: 499570
2025-02-06 22:55:17 +01:00
Jean-Baptiste Mardelle
77ec6bab5d Fix crash trying to import invalid keyframe data from clipboard
BUG: 499531
2025-02-06 22:09:20 +01:00
Jean-Baptiste Mardelle
056bc0f3a8 Fix keyboard focus lost on fullscreen monitor with rotoscoping and maybe other effect overlays 2025-02-06 21:39:42 +01:00
Julius Künzel
8a0d13af8c Clip Monitor Background: add checkerboard option
Fixes #833
2025-02-06 18:25:01 +01:00
Jean-Baptiste Mardelle
0e6abb01fb Fix resetting rotoscoping effect is broken 2025-02-06 12:54:16 +01:00
l10n daemon script
4e3a626208 GIT_SILENT Sync po/docbooks with svn 2025-02-05 01:35:42 +00:00
Jean-Baptiste Mardelle
b9e2625e8a Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-02-03 18:33:06 +01:00
Jean-Baptiste Mardelle
32fde5671b Don't try to update monitor overlay if effect is disabled 2025-02-03 18:32:13 +01:00
l10n daemon script
d2c12af6d5 GIT_SILENT Sync po/docbooks with svn 2025-02-03 01:32:52 +00:00
Jean-Baptiste Mardelle
5fc2aa0953 Report proxy failure if process exit code != 0 2025-02-02 13:49:55 +01:00
Jean-Baptiste Mardelle
c44832975f Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-02-02 13:41:11 +01:00
Jean-Baptiste Mardelle
fd70658e30 Hide split screen from 3 point balance (option is available from Kdenlive effect stack button) 2025-02-02 13:40:57 +01:00
Jean-Baptiste Mardelle
c8f19c5682 Try having double and integer params have the same size in effects,
Allow word wrap on long param names
2025-02-02 13:40:12 +01:00
l10n daemon script
2bc756451e GIT_SILENT Sync po/docbooks with svn 2025-02-02 01:38:02 +00:00
Yuri Chornoivan
ebb1af084f Fix minor typo 2025-02-01 09:50:59 +02:00
l10n daemon script
fe5d50311c GIT_SILENT Sync po/docbooks with svn 2025-02-01 01:34:02 +00:00
Jean-Baptiste Mardelle
32087eb592 remove unused qml param 2025-02-01 00:02:46 +01:00
Jean-Baptiste Mardelle
2a305263fa Add option to zoom audio waveforms. From the timeline menu or button in the first audio track header
Relate to #1961
2025-01-31 23:55:51 +01:00
Jean-Baptiste Mardelle
423b5eca52 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-31 20:22:32 +01:00
Jean-Baptiste Mardelle
05ad55c79c Fix clip monitor selection invisible on audio frame
CCBUG: 499365
2025-01-31 20:21:46 +01:00
Jean-Baptiste Mardelle
5beafbc6ab Fix crash setting empty name for folder
BUG: 499070
FIXED-IN: 24.12.2
2025-01-31 18:11:23 +01:00
Jean-Baptiste Mardelle
88c39ca937 Fixes to rectangle keyframes (fix possible crash) and add configurable limit to automatic keyframes, for example only every 10 frames. 2025-01-31 17:02:28 +01:00
Jean-Baptiste Mardelle
07d8f061f2 Ensure the keyframe position is correct in case we move a rectangle over monitor while playing 2025-01-31 12:53:41 +01:00
Jean-Baptiste Mardelle
3ee58841f7 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-31 12:34:37 +01:00
Jean-Baptiste Mardelle
4bdc2e1caf Cleanup communication with qml monitor rectangle 2025-01-31 12:34:20 +01:00
l10n daemon script
1d2a69c0fa GIT_SILENT Sync po/docbooks with svn 2025-01-31 01:34:56 +00:00
Heiko Becker
80f98525a9 GIT_SILENT Update Appstream for new release
(cherry picked from commit a6b708c777)
2025-01-31 01:01:16 +01:00
Jean-Baptiste Mardelle
f4bd5f9312 Better fix for expand library clips broken with proxies
BUG: 499171
FIXED-IN: 24.12.2
2025-01-30 21:49:53 +01:00
Jean-Baptiste Mardelle
5eec9158d2 Revert "Correctly fix path for proxied clip inside a playlist clip like in library"
This reverts commit e3eace2ab1
2025-01-30 13:46:31 +00:00
Jean-Baptiste Mardelle
e3eace2ab1 Correctly fix path for proxied clip inside a playlist clip like in library
Existing playlist clip will still have the bug, only newly created playlist clips will work fine
CCBUG: 499171
2025-01-30 13:24:07 +01:00
Jean-Baptiste Mardelle
8dc0e7792b Fix clip monitor default zone does not include last frame 2025-01-30 11:37:54 +01:00
Jean-Baptiste Mardelle
e176514b67 Try to fix Whisper models folder on Flatpak
CCBUG: 499012
2025-01-30 10:56:57 +01:00
Jean-Baptiste Mardelle
231db5c4b8 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-30 10:11:13 +01:00
Jean-Baptiste Mardelle
f5147241d1 Ensure CTRL+end goes after the last frame to allow inserting new clips 2025-01-30 10:08:07 +01:00
Jean-Baptiste Mardelle
df723e645c Fix effect param slider misbehaving after effect reset 2025-01-30 10:06:51 +01:00
l10n daemon script
a4c0b4bb72 GIT_SILENT Sync po/docbooks with svn 2025-01-30 01:35:11 +00:00
l10n daemon script
d1fbdc95d7 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2025-01-30 01:28:08 +00:00
Jean-Baptiste Mardelle
b391a6591c Don't try to delete ui file elements on subtitlemanager close 2025-01-29 15:06:35 +00:00
Josep M. Ferrer
0e30692564 Fix minor typo (remove an extra period) 2025-01-29 11:37:40 +00:00
Yuri Chornoivan
34e83e5865 Fix tags 2025-01-29 11:14:03 +02:00
Jean-Baptiste Mardelle
4e8d17072e Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-29 08:25:18 +01:00
Jean-Baptiste Mardelle
3899e90b49 Object mask: fix minor monitor overlay issues (rectangle selection incorrect when zoomed) 2025-01-29 08:25:01 +01:00
l10n daemon script
d1c7ec68e2 GIT_SILENT Sync po/docbooks with svn 2025-01-29 01:34:49 +00:00
Jean-Baptiste Mardelle
4f4cc37a4b Add shortcut to focus bin search 2025-01-28 22:56:21 +01:00
Jean-Baptiste Mardelle
fc70f87956 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-28 11:44:51 +01:00
Jean-Baptiste Mardelle
864d7a0373 Fix effect stack widget not properly resizing.
Related to #1957
2025-01-28 11:44:35 +01:00
Bernd Jordan
d1f1cbe0b0 New XML files, updates, fixes, UI improvements
Updated XML files for
- qtblend (allow 2 decimals for rotation)
- chroma_hold (added keyframes, detailed comments)
- avfilter_chromahold (added keyframes, detailed comments)
- avfilter_fftdnoiz (UI improvements, fixes, detailed comments)
- avfilter_median (UI improvements, fixes, detailed comments)
- avfilter_scroll (UI improvements, fixes)
- avfilter_waveform (UI improvements, fixes, detailed comments)
- avfilter_drawgrid (UI improvements, fixes, added alpha, detailed comments)
- avfilter_drawbox (UI improvements, fixes, added alpha, detailed comments)
- avfilter_shear (UI improvements)
- avfilter_pixelize (fixes)
- frei0r_cairogradient (UI improvements, fixes)
- frei0r_alphagrad (UI improvements, fixes, detailed comments)
- frei0r_alpha0ps_alphagrad (UI improvements, fixes, detailed comments)
- frei0r_c0rners (UI improvements)
- frei0r_profile (UI improvements, fixes, detailed comments)

New XML files for
- dropshadow (working now, added alpha, UI improvements, shadow can go either direction)
- 3-way-rotate (replacing rotation_keyframable.xml)
- shear (replacing rotation.xml)
- frei0r_aech0r
- frei0r_posterize
- avfilter_oscilloscope
- avfilter_gradfun

CMAKE files updated accordingly
2025-01-28 09:58:48 +00:00
Jean-Baptiste Mardelle
a3e07d0507 Fix whisper not working if device is empty. Don't unnecessarily reset monitor scene when changing monitor preview resolution, fix progress in frame export 2025-01-28 09:10:48 +00:00
Jean-Baptiste Mardelle
55c562b893 Add a proper meltjob class to handle SAM2 frame export 2025-01-28 09:10:48 +00:00
Jean-Baptiste Mardelle
b33c4ba878 Fix crash on some systems while extracting frames for a mask 2025-01-28 09:10:48 +00:00
Jean-Baptiste Mardelle
42e8890060 testing some sam2 fixes 2025-01-28 09:10:48 +00:00
l10n daemon script
8dcc17e217 GIT_SILENT Sync po/docbooks with svn 2025-01-28 01:35:30 +00:00
l10n daemon script
2f59c8bf7e GIT_SILENT Sync po/docbooks with svn 2025-01-27 01:36:09 +00:00
l10n daemon script
74f9aeb50c GIT_SILENT Sync po/docbooks with svn 2025-01-26 01:34:14 +00:00
Eugen Mohr
f3c763f49d Update config tooltip 2025-01-25 11:21:22 +00:00
Jean-Baptiste Mardelle
5bf7cc1fbd Fix compilation with Qt < 6.7 2025-01-25 12:05:09 +01:00
l10n daemon script
092eea0be0 GIT_SILENT Sync po/docbooks with svn 2025-01-25 01:35:21 +00:00
Jean-Baptiste Mardelle
f80bae64eb Fix whisper/sam system python not correctly stored
related to #1944
2025-01-24 11:39:06 +01:00
Jean-Baptiste Mardelle
9f4db37000 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-24 11:02:58 +01:00
Jean-Baptiste Mardelle
5b2f1ff7fa Improve control points visibility for object masks, allow moving a point 2025-01-24 11:02:42 +01:00
l10n daemon script
1a844fd9e4 GIT_SILENT Sync po/docbooks with svn 2025-01-24 01:35:26 +00:00
Jean-Baptiste Mardelle
9ac1bcc5cf Fix SAM rect selection 2025-01-23 18:42:47 +01:00
Jean-Baptiste Mardelle
62ff3d00e1 Fix remaining incorrect ffmpeg path on Mac 2025-01-23 15:59:33 +00:00
Jean-Baptiste Mardelle
97e494b8fb Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-23 13:21:17 +01:00
Jean-Baptiste Mardelle
59e0293ec1 Cleanup speech scripts, fix hardcoded ffmpeg path breaking whisper and vosk on Mac, add system packages checkbox
CCBUG: 498949
2025-01-23 13:21:05 +01:00
l10n daemon script
85501db45c GIT_SILENT Sync po/docbooks with svn 2025-01-23 01:32:41 +00:00
Jean-Baptiste Mardelle
98cb25a4e5 Update automask tooltip to say you can also draw a box 2025-01-22 08:18:43 +01:00
Jean-Baptiste Mardelle
33c9ab853e Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-22 08:17:15 +01:00
Jean-Baptiste Mardelle
ea990d0cbc SAM segmentation: allow drawing a rectangle on monitor to select object, fix system python package, related to #1944 2025-01-22 08:16:52 +01:00
l10n daemon script
f94d2c3c1b GIT_SILENT Sync po/docbooks with svn 2025-01-22 01:33:37 +00:00
Jean-Baptiste Mardelle
c45fed88d0 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-21 11:40:35 +01:00
Jean-Baptiste Mardelle
36f23c6765 Add option to use system packages for SAM (Whisper will come later)
Related to #1944
2025-01-21 11:39:37 +01:00
Jean-Baptiste Mardelle
211d095e42 Another round of clazy fixes 2025-01-21 10:01:49 +01:00
l10n daemon script
aadbc071e1 GIT_SILENT Sync po/docbooks with svn 2025-01-21 01:34:25 +00:00
Eugen Mohr
b35d38f709 Change icon back from "red trash can" to "red X"
#1947
2025-01-20 20:44:02 +01:00
l10n daemon script
f9eb594757 GIT_SILENT Sync po/docbooks with svn 2025-01-20 01:37:50 +00:00
l10n daemon script
a2c9f5b33a GIT_SILENT Sync po/docbooks with svn 2025-01-19 01:33:59 +00:00
Jean-Baptiste Mardelle
ed76fcf2aa Another round of Clazy fixes 2025-01-18 18:07:30 +01:00
Jean-Baptiste Mardelle
67938726b6 Clazy fixes 2025-01-18 17:26:19 +01:00
Jean-Baptiste Mardelle
6103dbb5a0 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-18 16:28:08 +01:00
Jean-Baptiste Mardelle
5417b17f1b Ensure built-in effects reset button is enabled 2025-01-18 16:27:56 +01:00
Ron El
4b6838e480 Typo fix in setTimelineProperty method name
No functional change (other than it being found when grepping the source
for property).
2025-01-18 22:35:54 +10:30
l10n daemon script
0965b8c49c GIT_SILENT Sync po/docbooks with svn 2025-01-18 01:40:50 +00:00
Jean-Baptiste Mardelle
93acc71452 Ensure vidstab external files are correctly listed and archived 2025-01-17 18:00:26 +01:00
Jean-Baptiste Mardelle
348ff2e895 Ensure mask files are correctly listed in Project settings / Archive widget 2025-01-17 17:51:19 +01:00
Bernd Jordan
90b68dea91 Added 2 decimals for the rotation parameter (addresses bug #498586) 2025-01-17 15:58:23 +00:00
Ron El
b4e80aafa1 Rescale 48-apps-kdenlive.png to 48x48
It's installed to /usr/share/icons/hicolor/48x48/ but it was 64x64
2025-01-17 13:48:22 +00:00
Jean-Baptiste Mardelle
b64d4cb787 Fix effects layout broken on resize
BUG: 498749
2025-01-17 14:01:28 +01:00
l10n daemon script
2d09ff7fa4 GIT_SILENT Sync po/docbooks with svn 2025-01-17 01:33:59 +00:00
Jean-Baptiste Mardelle
cc2fcceb6f Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-16 08:29:40 +01:00
Jean-Baptiste Mardelle
55519d85fd Fix possible crash on exit 2025-01-16 08:29:18 +01:00
l10n daemon script
1a3372c1bd GIT_SILENT Sync po/docbooks with svn 2025-01-16 01:34:21 +00:00
Ron El
4670ea8841 Reassemble proxy profile elements in the correct order after validation
The external proxy preset strings consist of sets of 6 elements:
path clip->proxy;proxy prefix;proxy suffix;path proxy->clip;clip prefix;clip suffix
appended sequentially for each 'profile' that the preset describes.

When we import those into the proxy profiles edit dialog, we deconstruct
that and regroup them so that all the clip->proxy paths (etc.) are together
in a single QLineEdit widget for each element type.

Which means we need to reverse that process and re-interleave them in
profile groups after validating those fields.  If we just concatenate
the contents of the edit widgets all the elements end up in the wrong
order.

BUG: 485356
2025-01-15 12:26:09 +00:00
Ron El
57055cabdc Fix the spinbox range for title position and size
Large animated titles (like credits) can easily extend past the default
spinbox maximum of 5000.  You could still place them outside that range
but you then get no feedback or fine control via the spinbox of their
precise position.

Increasing it to 99999 is still a bit arbitrary, but that value will
fit without making the box physically larger, and INT_MAX seems a bit
overkill.  We can always bump it again if a real user needs that.

Cap the width and height minimum at 0 - negative size doesn't make
a lot of sense here.

BUG: 487950
2025-01-15 12:19:43 +00:00
Étienne André
86eb34eff7 Fix handling of null frames in audiolevels generation
Fixes crash mentioned in https://invent.kde.org/multimedia/kdenlive/-/merge_requests/562#note_1110834 .

- Skips null buffers in generateMLT;
- Allow the waveform renderer to work even if the requested outPoint is out of range.
- Adds a unit test for audiolevels generation using a MLT noise generator;
2025-01-15 08:00:33 +00:00
l10n daemon script
e0dfb651a8 GIT_SILENT Sync po/docbooks with svn 2025-01-15 01:34:57 +00:00
l10n daemon script
eb9d99c8f0 GIT_SILENT Sync po/docbooks with svn 2025-01-14 01:35:33 +00:00
Étienne André
8875406255 remove debug print 2025-01-13 09:56:13 +00:00
Étienne André
30037f89dd fix memory leaks in generatelibav 2025-01-13 09:56:13 +00:00
Étienne André
fa2a23058b fix crash on audio zoomed in view with merged channels
cause: incorrect calculation of output points in mid operation
2025-01-13 09:56:13 +00:00
l10n daemon script
92ccc708ad GIT_SILENT Sync po/docbooks with svn 2025-01-13 01:37:07 +00:00
Eugen Mohr
ab898bf2be Change: Whisper, «Uninstall model» to «Remove model» 2025-01-12 14:05:05 +01:00
l10n daemon script
7db8e1db90 GIT_SILENT Sync po/docbooks with svn 2025-01-12 01:38:54 +00:00
Eugen Mohr
a449955e0d Fix: Make more delete icon consistent 2025-01-11 20:21:49 +01:00
Jean-Baptiste Mardelle
033fa25810 Workaround crash switching or zooming in merged audio channel view 2025-01-11 15:31:56 +01:00
Étienne André
32da1cef78 audio waveform (audiolevels) rewrite
# Rewrite Audio Waveform generation + drawing

Addresses #1888.

This work is done as part of contract work with KDE e.V.

# Summary
## Waveform generation performance improvements

The original MLT method has been improved and a faster libav* -based one is used when possible. The original method used the "audiolevel" MLT filter, which only supported 1 point per frame and was quite slow.

Measured time taken for audio levels generation in release builds on my machine (AMD Ryzen 7 3700U with SSD).
 - _original MLT_ is before these changes, with one point per frame;
 - _new MLT_ is the improved method, with 5 points per frame;
 - _new libav_ is the method using libav directly, with 5 points per frame.

| file                                    | new libav (s) | new MLT (s) | original MLT (s) |
|-----------------------------------------|---------------|-------------|------------------|
| 1h 20min of stereo uncompressed WAV     | 2.477         | 5.187       | 8.131            |
| 1h 20min of stereo max-compressed FLAC  | 6.818         | 9.03        | 12.513           |
| 26min of OPUS audio in a MKV video file | 4.774         | 6.86        | 8.614            |

## Better waveform resolution
This merge requests brings better waveform temporal resolution (1 -> N points per frame) and better vertical resolution (256 -> 65,535 levels).

**Before changes (KDenlive 24.08.3):**

![before](/uploads/c11313b83005508c002550db1c71f45d/before.png)

**After changes:**

![after](/uploads/6e1c12bb9c14875f1dfbba4ced503900/after.png)

## Fix incorrect waveform drawing function
When drawing the waveform, the current implementation samples the audio levels at points corresponding to the pixels to draw. This is incorrect and results in distorted waveforms, missing peaks, and visual artifacts. The new implementations uses a slower but correct max-based resampling method.


**Before changes (KDenlive 24.08.3)**

![ref-before](/uploads/d40c5b0467fc12dd4326cea825639097/ref-before.png)

**After changes:**

![ref-after](/uploads/c7218be75a820b730fa7339d2080bfdb/ref-after.png)

**Reference (audacity)**

![ref-audacity](/uploads/b0ff3407954e5493a604ded56fcde564/ref-audacity.png)

**Stretching a waveform, before changes:**
![stretch-before](/uploads/465ae44c0a4afafa5f493ccda738a1dc/stretch-before.mp4)

**Stretching a waveform, after changes:**

![stretch-after](/uploads/fe86a61411834951384c87fc9c37f690/stretch-after.mp4)


# Detailed changes
- Change audiolevels sample format to uint16_t for increased precision
- Add support for N points per frame, currently set to 5
- projectclip.cpp:
  - Use TimelineWaveform to render the audio clip thumbnails
  - do not store audiolevels in object
  - generate larger thumbnails
- Change audio max property key from "kdenlive:audio_max%1" to "_kdenlive:audio_max%1"
- audiolevelstask.cpp: major refactor
  - Replace audiolevels PNG (de)serializer with a dumber one
  - add fast libav-based generation
  - simplify and improve MLT-based generation
    - disable caching
    - disable resampling
    - remove useless audiochannels filter
    - remove redundant stream selection
    - replace audiolevel filter with direct levels calculation
    - add generic computePeaks() function
- kdenliveclipmonitor.qml: fix incorrect clip duration passed to waveform renderer
- timelineitems.cpp: separated items into their own source/header files (timelineplayhead, timelinerecwaveform, timelinetriangle, timelinewaveform)
- timelinewaveform.cpp: simplify and improve waveform rendering
  - add support for N points per frame
  - add support for fractional in and outpoints
  - replace incorrect sampling drawing function with correct max-based one
  - remove unused properties
  - add even and odd color properties
- Add tests
  - Add tests for computePeaks and both generation methods
  - Add audio tests files + script to generate them
2025-01-11 14:03:39 +00:00
Eugen Mohr
4d41ad10c8 Fix typo builtin to built-in 2025-01-11 13:52:50 +00:00
Eugen Mohr
eadec351b1 Update to icon "edit-delete" 2025-01-10 20:49:29 +01:00
l10n daemon script
5498ddc1dd GIT_SILENT Sync po/docbooks with svn 2025-01-10 10:23:27 +00:00
Jean-Baptiste Mardelle
488bb52d85 Make monitor opengl interpolation independant for clip and project monitors 2025-01-10 10:05:19 +01:00
Jean-Baptiste Mardelle
04ac151963 When zooming in the monitor view, use linear scaling so we can see individual pixels (linux only for now) 2025-01-10 09:51:06 +01:00
Jean-Baptiste Mardelle
db87eb236b Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-09 11:14:17 +01:00
Jean-Baptiste Mardelle
45589d153e Fix rendering progress not shown when rendering a zone 2025-01-09 11:13:52 +01:00
l10n daemon script
ae7d4a182e GIT_SILENT Sync po/docbooks with svn 2025-01-09 01:35:21 +00:00
Scarlett Moore
5524e5fd2d snapcraft: symbolic link to proper home in packaging dir. 2025-01-08 03:26:25 -07:00
Scarlett Moore
8c552a5cd2 Merge branch kdenlive:master into master 2025-01-08 10:25:54 +00:00
l10n daemon script
5bb70c41b2 GIT_SILENT Sync po/docbooks with svn 2025-01-08 01:35:58 +00:00
Julius Künzel
2f1bf0e1de Nightly Flatpak: Add inih dep for exiv2 2025-01-08 00:50:59 +01:00
Julius Künzel
a26a19701f Nightly Flatpak: remove movit dependency
It has been disabled in Kdenlive some time ago and the server is unreliable
2025-01-08 00:00:25 +01:00
Julius Künzel
c7e959af78 Nightly Flatpak: update deps 2025-01-07 22:57:04 +01:00
Julius Künzel
4584275a56 Nightly Flatpak: don't install srt and vosk anymore
Now that we use venvs it is possible to install it through the settings like on other systems
2025-01-07 22:44:43 +01:00
Julius Künzel
8f9c0e89c0 SAM-2: pull as archive, not from git
Most users don't have git installed and eg. in our Flatpak it isn't available either
2025-01-07 22:41:20 +01:00
Julius Künzel
9ca91a41be AbstractPythonInterface: cleanup venv check
Make code better readable and fix several bugs:
- We do not need to check for pip on the system anymore because we always use pip from the venv
- The warning messages talk about system python, while they check the  venv python
2025-01-07 21:51:32 +01:00
Julius Künzel
31ff50eee9 GIT_SILENT AbstractPythonInterface: better function name 2025-01-07 21:15:32 +01:00
Julius Künzel
7314c8b6aa GIT_SILENT PluginSettings: better member name 2025-01-07 21:05:45 +01:00
Julius Künzel
563cf4e516 PythonInterface: remove unused installDisabled option 2025-01-07 20:39:35 +01:00
Julius Künzel
8910d43056 GIT_SILENT Minor cleanup for pythonExecs function 2025-01-07 20:09:06 +01:00
Jean-Baptiste Mardelle
ba8d80f718 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-07 10:48:44 +01:00
Jean-Baptiste Mardelle
9b9a2267a7 Small tweaks to timeline resize handles and fix subtitles track head anchor issue 2025-01-07 10:48:20 +01:00
Jean-Baptiste Mardelle
2610e298fe Timeline: make resize handle slightly larger 2025-01-07 09:31:06 +01:00
l10n daemon script
f6cbb4eb1f GIT_SILENT Sync po/docbooks with svn 2025-01-07 01:34:45 +00:00
Jean-Baptiste Mardelle
7c6e65d1bd Fix error in last commit breaking tests and more 2025-01-06 18:32:23 +01:00
Jean-Baptiste Mardelle
704e988262 Work/sequenceresize
Fix size issue when a sequence clip is made shorter
2025-01-06 12:31:28 +00:00
l10n daemon script
52b8b5e19c GIT_SILENT Sync po/docbooks with svn 2025-01-06 01:35:57 +00:00
Jean-Baptiste Mardelle
feb2028c0a Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-05 17:47:36 +01:00
Jean-Baptiste Mardelle
42e12551eb Ensure sequence clips in timeline are not resized to smaller when hiding a track
BUG: 498178
FIXED-IN: 24.12.1
2025-01-05 17:45:43 +01:00
Scarlett Moore
dbbacc1390 Merge branch kdenlive:master into master 2025-01-05 10:09:42 +00:00
Scarlett Moore
a801ed6512 snapcraft: Move to core24. 2025-01-05 03:08:53 -07:00
l10n daemon script
a9caaf9839 GIT_SILENT Sync po/docbooks with svn 2025-01-05 01:35:00 +00:00
l10n daemon script
d60a48dcbf GIT_SILENT Sync po/docbooks with svn 2025-01-04 01:33:09 +00:00
l10n daemon script
0739f9d999 GIT_SILENT made messages (after extraction) 2025-01-04 00:40:46 +00:00
Jean-Baptiste Mardelle
4edb7352f4 Merge branch 'release/24.12' 2025-01-03 23:37:22 +01:00
Jean-Baptiste Mardelle
7f1d83c218 Merge branch 'release/24.12' of invent.kde.org:multimedia/kdenlive into release/24.12 2025-01-03 23:35:08 +01:00
Jean-Baptiste Mardelle
185bbd3c35 Fix crash moving build-in effect with feature disabled 2025-01-03 23:34:53 +01:00
l10n daemon script
40982c157c GIT_SILENT Sync po/docbooks with svn 2025-01-03 03:11:58 +00:00
l10n daemon script
87029cc04d GIT_SILENT Sync po/docbooks with svn 2025-01-03 01:34:03 +00:00
l10n daemon script
9d0bed6bdb GIT_SILENT made messages (after extraction) 2025-01-03 00:41:09 +00:00
Jean-Baptiste Mardelle
c5a4cc3a0a Allow more than 9 layouts 2025-01-02 16:34:06 +01:00
Jean-Baptiste Mardelle
df78e4d743 Fix crash saving effect stack
BUG: 498124
FIXED-IN: 24.12.1
2025-01-02 15:17:43 +01:00
Jean-Baptiste Mardelle
194abb6c66 Fix layout order with > 9 layouts 2025-01-02 15:17:31 +01:00
Jean-Baptiste Mardelle
6824fcf11c Fix crash saving effect stack
BUG: 498124
FIXED-IN: 24.12.1
2025-01-02 15:16:37 +01:00
Jean-Baptiste Mardelle
7980763a71 Fix layout order with > 9 layouts 2025-01-02 14:55:57 +01:00
Heiko Becker
0405022bd6 GIT_SILENT Update Appstream for new release
(cherry picked from commit 0765525ce3)
2025-01-02 14:23:57 +01:00
Heiko Becker
0765525ce3 GIT_SILENT Update Appstream for new release 2025-01-02 14:23:48 +01:00
Heiko Becker
e421558e4b GIT_SILENT Upgrade release service version to 24.12.1. 2025-01-02 13:53:51 +01:00
l10n daemon script
49b00925c2 GIT_SILENT Sync po/docbooks with svn 2025-01-02 03:10:49 +00:00
Jean-Baptiste Mardelle
d8a10d0066 Fix use after free from last commit 2025-01-02 03:13:14 +01:00
Jean-Baptiste Mardelle
0bbb496947 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2025-01-02 03:12:02 +01:00
Jean-Baptiste Mardelle
9ec409c83d Fix use after free from last commit 2025-01-02 03:11:38 +01:00
l10n daemon script
b7f9124772 GIT_SILENT Sync po/docbooks with svn 2025-01-02 01:32:46 +00:00
Jean-Baptiste Mardelle
a55916bb13 Fix reload or proxy clip losing tags, markers, force aspect ratio
BUG: 498014
FIXED-IN: 24.12.1
2025-01-02 02:30:03 +01:00
Jean-Baptiste Mardelle
671cb1ffdd Fix reload or proxy clip losing tags, markers, force aspect ratio
BUG: 498014
FIXED-IN: 24.12.1
2025-01-02 02:28:35 +01:00
Jean-Baptiste Mardelle
79272005dc Some mask fixes, including error reporting 2025-01-01 14:35:50 +01:00
Jean-Baptiste Mardelle
9a82035f2c Show log on mask creation error 2025-01-01 11:31:28 +01:00
l10n daemon script
a95fed252c GIT_SILENT Sync po/docbooks with svn 2025-01-01 03:08:58 +00:00
l10n daemon script
008ae7df9e GIT_SILENT Sync po/docbooks with svn 2025-01-01 01:33:56 +00:00
l10n daemon script
fd320baeaf GIT_SILENT Sync po/docbooks with svn 2024-12-31 01:35:26 +00:00
l10n daemon script
4cff27237a GIT_SILENT Sync po/docbooks with svn 2024-12-30 03:19:59 +00:00
l10n daemon script
c2253b2fe9 GIT_SILENT Sync po/docbooks with svn 2024-12-30 01:39:47 +00:00
Jean-Baptiste Mardelle
d5535d1032 Fix mask creation on Windows 2024-12-29 08:37:40 +01:00
Jean-Baptiste Mardelle
3f9f388c56 Fix label without layout 2024-12-29 08:13:25 +01:00
l10n daemon script
d0c690c82c GIT_SILENT Sync po/docbooks with svn 2024-12-29 03:19:02 +00:00
l10n daemon script
7d7d6e678c GIT_SILENT Sync po/docbooks with svn 2024-12-29 01:40:00 +00:00
Jean-Baptiste Mardelle
0247732d34 Fix bin clips effects sometimes incorrectly applied to timeline instance 2024-12-28 18:50:03 +01:00
Jean-Baptiste Mardelle
ef17a1e107 Show notification in mask manager when creating a mask 2024-12-28 18:37:32 +01:00
Jean-Baptiste Mardelle
ad92e93751 Merge branch 'master' of invent.kde.org:multimedia/kdenlive 2024-12-28 18:36:11 +01:00
Jean-Baptiste Mardelle
787d8e8b0d Fix bin clips effects sometimes incorrectly applied to timeline instance 2024-12-28 18:35:35 +01:00
Yuri Chornoivan
a0a01f1b10 Fix minor typos 2024-12-28 09:02:30 +02:00
l10n daemon script
26e50fe5f2 GIT_SILENT Sync po/docbooks with svn 2024-12-28 03:26:49 +00:00
l10n daemon script
2e28f864c0 GIT_SILENT Sync po/docbooks with svn 2024-12-28 01:44:03 +00:00
Jean-Baptiste Mardelle
970525e7d5 Don't enable vos_optimized on CUDA < 8 2024-12-27 23:03:05 +01:00
Jean-Baptiste Mardelle
b47f8ddb5f Fix sam config layout issue 2024-12-27 22:37:45 +01:00
Jean-Baptiste Mardelle
34140ad840 * Fix image mask creation after first install
* Allow selecting a device (GPU/CPU) to perform object segmentation
2024-12-27 22:30:08 +01:00
Jean-Baptiste Mardelle
af0d0eb02a Don't move selection when dropping a bin clip on another bin 2024-12-27 12:48:45 +01:00
Jean-Baptiste Mardelle
3c64ab60f3 Merge branch 'release/24.12' 2024-12-27 11:43:55 +01:00
Jean-Baptiste Mardelle
73d32a83c5 Fix typo
BUG: 497932
2024-12-27 10:51:24 +01:00
Jean-Baptiste Mardelle
43e8fc2d87 Automatic object segmentation
This implements an interface with SAM2 to detect objects in a video and create masks
Related to #1919
![object-mask-demo](/uploads/40107453963062ea49955b419891fcdc/object-mask-demo.mp4)

Which then allows to do this:

![Screencast_20241220_052248](/uploads/676c5894d774b604d8b782812919299b/Screencast_20241220_052248.mp4)
2024-12-27 09:43:58 +00:00
l10n daemon script
9610f1233d GIT_SILENT Sync po/docbooks with svn 2024-12-27 03:12:40 +00:00
l10n daemon script
2d0afcdb44 GIT_SILENT Sync po/docbooks with svn 2024-12-27 01:36:18 +00:00
Jean-Baptiste Mardelle
b937e269a4 Fix title widget braking text shadow and typewriter settings.
BUG: 476885
2024-12-26 16:05:08 +01:00
Jean-Baptiste Mardelle
3c87235f64 Update message when trying to proxy a clip with alpha 2024-12-26 15:11:29 +01:00
l10n daemon script
984c3671a4 GIT_SILENT Sync po/docbooks with svn 2024-12-26 01:37:19 +00:00
l10n daemon script
0efd19fb80 GIT_SILENT Sync po/docbooks with svn 2024-12-25 01:47:29 +00:00
l10n daemon script
161a0ef691 GIT_SILENT Sync po/docbooks with svn 2024-12-24 01:32:15 +00:00
Jean-Baptiste Mardelle
e7c4e106c9 Merge branch 'release/24.12' 2024-12-23 10:44:29 +01:00
Jean-Baptiste Mardelle
abc7fe554d Math operators not supported in xml params
BUG:  497796
FIXED-IN: 24.12.1
2024-12-23 10:43:41 +01:00
l10n daemon script
cff123e21e GIT_SILENT Sync po/docbooks with svn 2024-12-21 01:43:20 +00:00
Jean-Baptiste Mardelle
e0720e6f3b Fix track resizing 2024-12-20 12:03:34 +01:00
Jean-Baptiste Mardelle
8ecfcdde8e Fix track resizing 2024-12-20 12:02:49 +01:00
l10n daemon script
63dbfd9133 GIT_SILENT Sync po/docbooks with svn 2024-12-20 03:17:33 +00:00
l10n daemon script
c2771d200c GIT_SILENT Sync po/docbooks with svn 2024-12-20 01:34:44 +00:00
l10n daemon script
3d277e3b95 GIT_SILENT Sync po/docbooks with svn 2024-12-18 03:18:47 +00:00
l10n daemon script
07435a5001 GIT_SILENT Sync po/docbooks with svn 2024-12-18 01:34:08 +00:00
l10n daemon script
a85ba68739 GIT_SILENT Sync po/docbooks with svn 2024-12-16 03:57:37 +00:00
l10n daemon script
69a68d12ac GIT_SILENT Sync po/docbooks with svn 2024-12-16 02:01:13 +00:00
l10n daemon script
27c76fbb3e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-12-16 01:36:49 +00:00
l10n daemon script
983b12e4ca GIT_SILENT made messages (after extraction) 2024-12-16 00:42:01 +00:00
Jean-Baptiste Mardelle
a308060cf1 Merge branch 'release/24.12' 2024-12-15 17:44:32 +01:00
Jean-Baptiste Mardelle
1917dadb7a Fix bin effects cannot be removed from timeline instance 2024-12-15 17:01:15 +01:00
Jean-Baptiste Mardelle
f4df94f882 Fix crash trying to move bin effect before builtin effect 2024-12-15 11:12:06 +01:00
l10n daemon script
da80df611c GIT_SILENT Sync po/docbooks with svn 2024-12-15 03:52:48 +00:00
l10n daemon script
727320532e GIT_SILENT Sync po/docbooks with svn 2024-12-15 02:01:25 +00:00
l10n daemon script
564b083d17 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-12-15 01:34:20 +00:00
l10n daemon script
e0990c56fc GIT_SILENT made messages (after extraction) 2024-12-15 00:40:38 +00:00
Jean-Baptiste Mardelle
0237dcc6d5 Merge branch 'release/24.12' 2024-12-14 17:56:26 +01:00
Jean-Baptiste Mardelle
e9f4bdc68d Fix venv packages install on some distros 2024-12-14 17:38:07 +01:00
l10n daemon script
b1834c3363 GIT_SILENT Sync po/docbooks with svn 2024-12-14 04:01:16 +00:00
l10n daemon script
866258a6fa GIT_SILENT Sync po/docbooks with svn 2024-12-14 02:04:37 +00:00
l10n daemon script
5831111c57 GIT_SILENT made messages (after extraction) 2024-12-14 00:47:53 +00:00
Jean-Baptiste Mardelle
464448f602 Merge branch 'release/24.12' 2024-12-13 18:26:47 +01:00
Jean-Baptiste Mardelle
38136c9afb Fix Whisper models download 2024-12-13 18:23:01 +01:00
l10n daemon script
d9918b9fb8 GIT_SILENT Sync po/docbooks with svn 2024-12-13 12:13:31 +00:00
l10n daemon script
b81574b9f4 GIT_SILENT Sync po/docbooks with svn 2024-12-13 10:38:18 +00:00
l10n daemon script
e056918c80 GIT_SILENT Sync po/docbooks with svn 2024-12-13 03:09:16 +00:00
l10n daemon script
22fb54a5c9 GIT_SILENT Sync po/docbooks with svn 2024-12-13 01:30:44 +00:00
Jean-Baptiste Mardelle
b5e832d0ff Add MAC videotoolbox HW rendering profiles 2024-12-11 16:28:13 +00:00
l10n daemon script
1559db6d4f GIT_SILENT Sync po/docbooks with svn 2024-12-10 03:17:07 +00:00
l10n daemon script
a6b89e41f2 GIT_SILENT Sync po/docbooks with svn 2024-12-10 01:33:00 +00:00
Jean-Baptiste Mardelle
114618350a Fix delta display when resizing clip, add duration info when resizing from start 2024-12-09 12:13:38 +01:00
Jean-Baptiste Mardelle
27e4850cb6 Fix line return when pasting text with timecodes inside project notes 2024-12-09 12:12:46 +01:00
Jean-Baptiste Mardelle
93731dc0db Fix transparent rendering ffv1 profile 2024-12-09 12:12:29 +01:00
Jean-Baptiste Mardelle
3ed05ebe2a Bring back presets to build in effects 2024-12-09 12:06:43 +01:00
l10n daemon script
6a83d3885a GIT_SILENT Sync po/docbooks with svn 2024-12-09 03:21:37 +00:00
l10n daemon script
b8c5f70779 GIT_SILENT Sync po/docbooks with svn 2024-12-09 01:34:38 +00:00
l10n daemon script
a036315fbd GIT_SILENT Sync po/docbooks with svn 2024-12-08 03:06:59 +00:00
l10n daemon script
6b92a9fde8 GIT_SILENT Sync po/docbooks with svn 2024-12-08 01:29:02 +00:00
l10n daemon script
5db17507fc GIT_SILENT Sync po/docbooks with svn 2024-12-07 03:10:11 +00:00
l10n daemon script
4e95c138f8 GIT_SILENT Sync po/docbooks with svn 2024-12-07 01:31:16 +00:00
Jean-Baptiste Mardelle
82cce69ff3 Fix line return when pasting text with timecodes inside project notes 2024-12-06 18:15:30 +01:00
Jean-Baptiste Mardelle
a2c4546309 Warn and fix proxying of alpha clips
When automatic proxying is enabled, don't proxy clips with an alpha channel. On manual trigger, warn user, and if proxying is requested, transcode to FFV1
2024-12-06 13:15:00 +00:00
Jean-Baptiste Mardelle
710ed556e4 Fix delta display when resizing clip, add duration info when resizing from start 2024-12-06 13:12:33 +01:00
Jean-Baptiste Mardelle
3ec3bcc042 Fix transparent rendering ffv1 profile 2024-12-06 11:14:37 +01:00
Jean-Baptiste Mardelle
5274c83174 Add ripple checkbox to clip duration dialog 2024-12-06 10:56:47 +01:00
Jean-Baptiste Mardelle
d0ad8d0f69 Save effect preset screen positions in percents 2024-12-06 10:56:16 +01:00
Jean-Baptiste Mardelle
be4232033c Bring back presets to build in effects 2024-12-06 07:59:24 +01:00
l10n daemon script
5b3f39747f GIT_SILENT Sync po/docbooks with svn 2024-12-06 03:08:13 +00:00
l10n daemon script
4fcd6729c2 GIT_SILENT Sync po/docbooks with svn 2024-12-06 01:30:31 +00:00
Jean-Baptiste Mardelle
9f197a8303 Merge branch 'release/24.12' 2024-12-05 23:24:49 +01:00
Jean-Baptiste Mardelle
ff4d608846 Merge branch 'release/24.12' 2024-12-05 12:45:15 +01:00
l10n daemon script
447bed7b0c GIT_SILENT Sync po/docbooks with svn 2024-12-05 01:30:26 +00:00
Jean-Baptiste Mardelle
55e75da816 Merge branch 'release/24.12' 2024-12-04 13:32:07 +01:00
l10n daemon script
a7e37c99fd GIT_SILENT Sync po/docbooks with svn 2024-12-04 01:31:12 +00:00
Jean-Baptiste Mardelle
9252672f01 Merge branch 'release/24.12' 2024-12-03 17:06:17 +01:00
Jean-Baptiste Mardelle
0c41ad1a03 Fix titlewidget animation tab layout 2024-12-03 10:04:37 +01:00
Jean-Baptiste Mardelle
76385ee79a clazy fixes part two 2024-12-03 10:01:17 +01:00
Jean-Baptiste Mardelle
ed6338ec8f clazy fixes part one 2024-12-03 09:03:27 +01:00
Raresh Rus
bed184d986 assetlistwidget buildLink use const ref for argument 'id'
Fix issue "src/assets/assetlist/view/assetlistwidget.cpp:418:
Function parameter 'id' should be passed by const reference.".
2024-12-03 07:38:05 +00:00
l10n daemon script
1671eaf6ee GIT_SILENT Sync po/docbooks with svn 2024-12-03 01:30:30 +00:00
Heiko Becker
5ada4554ac GIT_SILENT Update Appstream for new release
(cherry picked from commit bd1a05fd54)
2024-12-03 00:31:35 +01:00
l10n daemon script
dcd977c518 GIT_SILENT Sync po/docbooks with svn 2024-12-02 01:52:26 +00:00
l10n daemon script
c3dba764d4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2024-12-02 01:28:34 +00:00
l10n daemon script
6e608c7828 GIT_SILENT made messages (after extraction) 2024-12-02 00:40:58 +00:00
l10n daemon script
3bbbda09bb GIT_SILENT Sync po/docbooks with svn 2024-12-01 01:30:38 +00:00
l10n daemon script
155409045c GIT_SILENT Sync po/docbooks with svn 2024-11-30 01:30:01 +00:00
Jean-Baptiste Mardelle
88cd171b5d Don't allow adding master only effect to timeline clips/tracks 2024-11-29 15:21:56 +01:00
Jean-Baptiste Mardelle
8e8c9d4e2f Add small transform button in top left timeline monitor when build-in effects enabled to easily trigger a resize 2024-11-29 13:47:13 +01:00
Jean-Baptiste Mardelle
cf0467ce49 Merge branch 'release/24.12' 2024-11-29 09:56:54 +01:00
l10n daemon script
b7102ce91c GIT_SILENT Sync po/docbooks with svn 2024-11-29 01:33:35 +00:00
Jean-Baptiste Mardelle
13dfa9c1ed Fix incorrect code change that broke tests 2024-11-28 13:19:38 +01:00
Jean-Baptiste Mardelle
30b11b42cd Merge branch 'release/24.12' 2024-11-28 12:32:58 +01:00
l10n daemon script
7b0b9dc1fd GIT_SILENT Sync po/docbooks with svn 2024-11-28 01:29:15 +00:00
l10n daemon script
c8658ed0cf GIT_SILENT Sync po/docbooks with svn 2024-11-27 01:31:16 +00:00
Jean-Baptiste Mardelle
560d2dc05d Merge branch 'release/24.12' 2024-11-26 22:17:30 +01:00
Jean-Baptiste Mardelle
d1e34117c0 Merge branch 'release/24.12' 2024-11-26 21:48:32 +01:00
Jean-Baptiste Mardelle
1dae9e5d03 Merge branch 'release/24.12' 2024-11-26 17:19:21 +01:00
Camille Moulin
34d5133576 Add shortcut to extract clip from timeline 2024-11-26 16:17:47 +00:00
Jean-Baptiste Mardelle
e0a7304fa9 Merge branch 'release/24.12' 2024-11-26 10:38:15 +01:00
Jean-Baptiste Mardelle
1dc3da702d Merge branch 'release/24.12' 2024-11-26 10:10:19 +01:00
Jean-Baptiste Mardelle
7508e80e71 Merge branch 'release/24.12' 2024-11-26 09:12:53 +01:00
l10n daemon script
ad2d5bd999 GIT_SILENT Sync po/docbooks with svn 2024-11-26 01:29:57 +00:00
Jean-Baptiste Mardelle
e69e3da42c Merge branch 'release/24.12' 2024-11-25 13:12:35 +01:00
l10n daemon script
e1f13a9a0e GIT_SILENT Sync po/docbooks with svn 2024-11-25 01:31:54 +00:00
l10n daemon script
5d0ddc8924 GIT_SILENT Sync po/docbooks with svn 2024-11-24 01:31:23 +00:00
l10n daemon script
592fa69de4 GIT_SILENT Sync po/docbooks with svn 2024-11-23 01:28:50 +00:00
Jean-Baptiste Mardelle
d823daab10 Merge branch 'release/24.12' 2024-11-22 13:11:06 +01:00
Jean-Baptiste Mardelle
8d964cd144 Merge branch 'release/24.12' 2024-11-22 12:51:39 +01:00
Jean-Baptiste Mardelle
1ff83e2410 Merge branch 'release/24.12' 2024-11-22 11:53:41 +01:00
Jean-Baptiste Mardelle
f474d942b2 Merge branch 'release/24.12' 2024-11-22 11:28:27 +01:00
Jean-Baptiste Mardelle
5c2128d74e Merge branch 'release/24.12' 2024-11-22 10:13:56 +01:00
Jean-Baptiste Mardelle
407bba81b6 Merge branch 'release/24.12' 2024-11-22 09:45:58 +01:00
l10n daemon script
162f7c2c4f GIT_SILENT Sync po/docbooks with svn 2024-11-22 01:32:02 +00:00
Jean-Baptiste Mardelle
447b36bb0e Add some debug info for random failing tests 2024-11-21 08:19:02 +01:00
l10n daemon script
5bf80fcc09 GIT_SILENT Sync po/docbooks with svn 2024-11-21 01:29:47 +00:00
Jean-Baptiste Mardelle
e0bd543e61 Merge branch 'release/24.12' 2024-11-20 13:04:25 +01:00
l10n daemon script
94956a99aa GIT_SILENT Sync po/docbooks with svn 2024-11-20 01:30:32 +00:00
Jean-Baptiste Mardelle
4040678719 Merge branch 'release/24.12' 2024-11-19 15:18:22 +01:00
l10n daemon script
a7a5be719f GIT_SILENT Sync po/docbooks with svn 2024-11-19 01:30:16 +00:00
Jean-Baptiste Mardelle
e8c9d51e39 Merge branch 'release/24.12' 2024-11-18 13:10:52 +01:00
l10n daemon script
ff1914a119 GIT_SILENT Sync po/docbooks with svn 2024-11-18 01:32:41 +00:00
Jean-Baptiste Mardelle
60d406092a Merge branch 'release/24.12' 2024-11-17 15:57:11 +01:00
Jean-Baptiste Mardelle
045980bfc6 Merge branch 'release/24.12' 2024-11-16 21:45:37 +01:00
Jean-Baptiste Mardelle
748d9bca49 Merge branch 'release/24.12' 2024-11-16 07:40:10 +01:00
l10n daemon script
4e74cf394f GIT_SILENT Sync po/docbooks with svn 2024-11-16 01:33:06 +00:00
Yuri Chornoivan
6a3de42860 Fix minor typo: you -> your 2024-11-15 21:51:34 +02:00
Jean-Baptiste Mardelle
b466adf419 Merge branch 'release/24.12' 2024-11-15 15:28:49 +01:00
Jean-Baptiste Mardelle
d3d895da60 Fix crash loading project with effect zone 2024-11-15 15:15:42 +01:00
Julius Künzel
95879d1f52 Fix placeholder 2024-11-15 14:46:59 +01:00
Julius Künzel
0905fa5177 Add campaign infos to our website links 2024-11-15 14:28:42 +01:00
Jean-Baptiste Mardelle
f29f941d40 Merge branch 'release/24.12' 2024-11-15 14:01:22 +01:00
Jean-Baptiste Mardelle
5dd2c9357f Merge branch 'release/24.12' 2024-11-15 12:19:18 +01:00
Jean-Baptiste Mardelle
de26def20b Merge branch 'release/24.12' 2024-11-15 09:54:47 +01:00
l10n daemon script
6dc51e7d69 GIT_SILENT Sync po/docbooks with svn 2024-11-15 01:31:18 +00:00
Jean-Baptiste Mardelle
e5f2716bf0 Drop useless CMAKE stuff from kiss_fft 2024-11-14 21:29:57 +00:00
Jean-Baptiste Mardelle
ca4530828e Merge branch 'release/24.12' 2024-11-14 22:29:35 +01:00
Jean-Baptiste Mardelle
540516fa9d Merge branch 'release/24.12' 2024-11-14 22:12:54 +01:00
Jean-Baptiste Mardelle
9bd97a53dc Merge branch 'release/24.12' 2024-11-14 22:07:03 +01:00
Jean-Baptiste Mardelle
233720da9e Merge branch 'release/24.12' 2024-11-14 21:39:30 +01:00
Julius Künzel
964713c9ea Merge branch 'release/24.12' 2024-11-14 20:20:20 +01:00
Bernd Jordan
c58b48785c Effects XML changes to include keyframes
Add keyframe capabilities to certain effects
Added frei0r.kaleid0sc0pe, frei0r.pixs0r and gpsgraphic
2024-11-14 19:07:02 +00:00
Camille Moulin
1565006cc1 docs: Add some Qtmodules as deps for building
Signed-off-by: Camille Moulin <camille.moulin@free.fr>
2024-11-14 19:45:53 +01:00
Camille Moulin
ce5d2595d7 Update build.md with dependencies for Ubuntu 24.10 2024-11-14 19:45:53 +01:00
Jean-Baptiste Mardelle
37e4932b03 Merge branch 'release/24.12' 2024-11-14 16:39:42 +01:00
Jean-Baptiste Mardelle
75b0c16e88 Merge branch 'release/24.12' 2024-11-14 16:35:17 +01:00
l10n daemon script
3c8c15001a GIT_SILENT Sync po/docbooks with svn 2024-11-14 01:30:26 +00:00
Jean-Baptiste Mardelle
c19b3820e0 Fix effect value comparison now that sepia is keyframable 2024-11-13 08:38:17 +01:00
l10n daemon script
902b3ed5fb GIT_SILENT Sync po/docbooks with svn 2024-11-13 01:29:40 +00:00
l10n daemon script
df4ccd0ca1 GIT_SILENT Sync po/docbooks with svn 2024-11-12 01:32:40 +00:00
l10n daemon script
19f4189172 GIT_SILENT Sync po/docbooks with svn 2024-11-11 01:34:06 +00:00
Julius Künzel
03a1ea6edb Make multiple effect parameters keyframable 2024-11-11 00:11:58 +01:00
l10n daemon script
9a3a1dcdab GIT_SILENT Sync po/docbooks with svn 2024-11-10 01:33:41 +00:00
l10n daemon script
8a0bd32169 GIT_SILENT Sync po/docbooks with svn 2024-11-09 01:29:24 +00:00
Albert Astals Cid
1961f4b6ea GIT_SILENT Upgrade release service version to 25.03.70. 2024-11-08 19:20:24 +01:00
546 changed files with 812782 additions and 254220 deletions

View File

@@ -73,7 +73,8 @@
"config-opts": [
"-DCMAKE_BUILD_TYPE=RelWithDebInfo",
"-DRELEASE_BUILD=OFF",
"-DBUILD_TESTING=OFF"
"-DBUILD_TESTING=OFF",
"-DFETCH_OTIO=OFF"
],
"post-install": [
"install -d /app/extensions/Plugins"

View File

@@ -9,6 +9,7 @@ include:
- /gitlab-templates/xml-lint.yml
# CI Qt6
- /gitlab-templates/linux-qt6.yml
- /gitlab-templates/linux-qt6-next.yml
- /gitlab-templates/freebsd-qt6.yml
# CD Qt6
- /gitlab-templates/flatpak.yml

View File

@@ -2,7 +2,7 @@
# SPDX-License-Identifier: CC0-1.0
Dependencies:
- 'on': ['Linux/Qt6', 'FreeBSD/Qt6', 'Windows/Qt6', 'macOS/Qt6']
- 'on': ['@all']
'require':
'frameworks/extra-cmake-modules': '@latest-kf6'
'frameworks/breeze-icons' : '@latest-kf6'

View File

@@ -7,9 +7,9 @@ cmake_minimum_required(VERSION 3.16)
# stable release. An additional number can be used for bugfix-only releases.
# KDE Application Version, managed by release script
set (RELEASE_SERVICE_VERSION_MAJOR "24")
set (RELEASE_SERVICE_VERSION_MINOR "12")
set (RELEASE_SERVICE_VERSION_MICRO "0")
set (RELEASE_SERVICE_VERSION_MAJOR "25")
set (RELEASE_SERVICE_VERSION_MINOR "07")
set (RELEASE_SERVICE_VERSION_MICRO "70")
set(KDENLIVE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
@@ -25,6 +25,7 @@ option(CRASH_AUTO_TEST "Auto-generate testcases upon some crashes (uses RTTR lib
option(BUILD_FUZZING "Build fuzzing target" OFF)
option(BUILD_QCH "Build source code documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
add_feature_info(QCH ${BUILD_QCH} "Source code documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
option(FETCH_OTIO "Use CMake FetchContent to download and build the OpenTimelineIO dependency" ON)
# shall we use DBus?
# enabled per default on Linux & BSD systems
@@ -53,6 +54,13 @@ if (NOT DEFINED QT_MAJOR_VERSION)
set(QT_MAJOR_VERSION 6)
endif()
# The dependencies (currently only OpenTimelineIO) are located in a
# subdirectory so their CMake variables are not exposed to the main project.
#
# Note that this needs to come before the KDECompilerSettings. OTIO is not
# compatible with the KDE compiler flag "-fno-operator-names".
add_subdirectory(deps)
## include ECM Modules
include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMInstallIcons)
@@ -65,6 +73,7 @@ include(ECMQtDeclareLoggingCategory)
include(ECMEnableSanitizers)
include(ECMAddQch)
include(ECMDeprecationSettings)
include(ECMQmlModule)
remove_definitions(-DQT_NO_CAST_FROM_ASCII) # Defined in KDECompilerSettings, but we don't want that yet
# MLT uses variadic macros upstream and hence the build log gets spamed, so disable the warning
if(NOT MSVC)
@@ -79,6 +88,7 @@ endif()
add_definitions(-DTRANSLATION_DOMAIN=\"kdenlive\")
find_package(KF${KF_MAJOR} ${KF_DEP_VERSION}
REQUIRED COMPONENTS
I18n
Archive
Bookmarks
Codecs
@@ -120,6 +130,8 @@ find_package(Qt${QT_MAJOR_VERSION}
Multimedia
NetworkAuth
SvgWidgets
Xml
# Test
)
if(USE_DBUS)
@@ -136,6 +148,34 @@ set_package_properties(MLT PROPERTIES DESCRIPTION "Multimedia framework"
PURPOSE "Required to do video processing")
message(STATUS "Found MLT++: ${MLTPP_LIBRARIES}")
# LibAV
find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBAV REQUIRED IMPORTED_TARGET
libavformat
libavcodec
libswresample
libavutil
)
# OpenTimelineIO
if(FETCH_OTIO)
include_directories(${otio_SOURCE_DIR}/src)
# Enable exceptions for OTIO and dependencies.
kde_target_enable_exceptions(opentime PUBLIC)
kde_target_enable_exceptions(opentimelineio PUBLIC)
kde_target_enable_exceptions(Imath PUBLIC)
else()
find_package(OpenTimelineIO REQUIRED)
# Work around for header oddity with OTIO and Imath
find_package(Imath REQUIRED)
get_target_property(IMATH_INCLUDE_DIRS Imath::Imath INTERFACE_INCLUDE_DIRECTORIES)
include_directories("${IMATH_INCLUDE_DIRS}/Imath")
set_package_properties(OpenTimelineIO PROPERTIES
DESCRIPTION "API and interchange format for editorial timeline information"
URL "http://opentimeline.io/"
PURPOSE "Required for OpenTimelineIO import and export")
endif()
# Windows
include(CheckIncludeFiles)
check_include_files(malloc.h HAVE_MALLOC_H)

View File

@@ -4,7 +4,7 @@
kdenlive_subdirs="plugins renderer data src src/ui"
$EXTRACTRC --tag=name --tag=description --tag=label --tag=comment --tag=paramlistdisplay data/transitions/*.xml data/effects/*.xml data/generators/*.xml data/kdenliveeffectscategory.rc >> rc.cpp
$EXTRACTRC --tag=name --tag=description --tag=label --tag=comment --tag=paramlistdisplay data/transitions/*.xml data/transitions/frei0r/*.xml data/effects/*.xml data/effects/frei0r/*.xml data/effects/avfilter/*.xml data/effects/ladspa/*.xml data/effects/sox/*.xml data/generators/*.xml data/kdenliveeffectscategory.rc >> rc.cpp
$EXTRACTRC `find $kdenlive_subdirs -name \*.rc -a ! -name encodingprofiles.rc -a ! -name camcorderfilters.rc -a ! -name externalproxies.rc -o -name \*.ui` >> rc.cpp
$XGETTEXT `find $kdenlive_subdirs -name \*.cpp -o -name \*.h -o -name \*.qml` *.cpp -o $podir/kdenlive.pot

View File

@@ -85,7 +85,7 @@ SPDX-FileCopyrightText = "Marco Gittler"
SPDX-License-Identifier = "CC0-1.0"
[[annotations]]
path = ["data/Info.plist", "data/camcorderfilters.rc", "data/clipjobsettings.rc", "data/encodingprofiles.rc", "data/externalproxies.rc", "data/westley.xml"]
path = ["data/Info.plist", "data/camcorderfilters.rc", "data/clipjobsettings.rc", "data/encodingprofiles.rc", "data/externalproxies.rc", "data/westley.xml", "data/scripts/automask/sammodelsinfo.rc"]
precedence = "aggregate"
SPDX-FileCopyrightText = "Jean-Baptiste Mardelle"
SPDX-License-Identifier = "CC0-1.0"
@@ -205,7 +205,7 @@ SPDX-FileCopyrightText = "2020 Kdenlive contributors"
SPDX-License-Identifier = "CC-BY-SA-4.0"
[[annotations]]
path = ["src/qml/qmldir", "src/kdenlivesettings.kcfgc"]
path = ["src/qml/qmldir"]
precedence = "aggregate"
SPDX-FileCopyrightText = "None"
SPDX-License-Identifier = "CC0-1.0"

View File

@@ -20,6 +20,7 @@ chroma_hold.xml
chroma.xml
crop.xml
dance.xml
dropshadow.xml
dust.xml
dynamic_loudness.xml
dynamictext.xml
@@ -59,13 +60,16 @@ qtcrop.xml
rboctaveshift.xml
rbpitchscale.xml
rotation_keyframable.xml
rotate-3-way.xml
rotation.xml
rotoscoping.xml
scratchlines.xml
sepia.xml
shape.xml
shear.xml
speed.xml
spot_remover.xml
strobe.xml
swapchannels.xml
timer.xml
tcolor.xml

View File

@@ -72,6 +72,7 @@ avfilter_flanger.xml
avfilter_framestep.xml
avfilter_fspp.xml
avfilter_gblur.xml
avfilter_gradfun.xml
avfilter_graphmonitor.xml
avfilter_haas.xml
avfilter_hflip.xml
@@ -98,8 +99,10 @@ avfilter_monochrome.xml
avfilter_negate.xml
avfilter_noise.xml
avfilter_normalize.xml
avfilter_oscilloscope.xml
avfilter_phase.xml
avfilter_photosensitivity.xml
avfilter_pixelize.xml
avfilter_prewitt.xml
avfilter_random.xml
avfilter_removegrain.xml

View File

@@ -8,7 +8,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Method</name>
</parameter>
<parameter type="constant" name="av.w" default="707.1" min="1" max="9999" decimals="2">

View File

@@ -11,7 +11,7 @@
<name>Constant skirt gain</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Method</name>
</parameter>
<parameter type="constant" name="av.w" default="0.5" min="1" max="9999" decimals="1">

View File

@@ -8,7 +8,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Method</name>
</parameter>
<parameter type="constant" name="av.w" default="0.5" min="0.1" max="9999" decimals="1">

View File

@@ -11,7 +11,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Method</name>
</parameter>
<parameter type="constant" name="av.w" default="0.5" min="1" max="9999" decimals="2">

View File

@@ -4,16 +4,22 @@
<name>Chroma Hold</name>
<description>Remove all color information for all colors except for certain one. </description>
<author>libavfilter</author>
<parameter type="fixedcolor" name="av.color">
<parameter type="color" name="av.color" notintimeline="1">
<name>Color key</name>
<comment>The color which will not be replaced with neutral chroma</comment>
</parameter>
<parameter type="constant" name="av.similarity" default="1" max="1" min="0" decimals="2">
<parameter type="animated" name="av.similarity" default="0.01" max="1.00" min="0.01" decimals="2" notintimeline="1">
<name>Similarity</name>
<comment><![CDATA[Similarity percentage with the select color<br>
0.01 matches only the exact key color, while 1.0 matches everything.]]></comment>
</parameter>
<parameter type="constant" name="av.blend" default="0" max="1" min="0" decimals="2">
<parameter type="animated" name="av.blend" default="0" max="1" min="0" decimals="2" notintimeline="1">
<name>Blend</name>
<comment><![CDATA[Blend percentage. 0.0 makes pixels either fully grey, or not grey at all.<br>
Higher values result in more preserved color.]]></comment>
</parameter>
<parameter type="bool" name="av.yuv" default="false">
<name>for YUV color</name>
<name>YUV color</name>
<comment><![CDATA[Select this if the clip has YUV data instead of RGB.]]></comment>
</parameter>
</effect>

View File

@@ -14,10 +14,10 @@
</parameter>
<parameter type="list" name="av.trc" default="bt709" paramlist="bt709;bt470m;bt470bg;gamma22;gamma28;smpte170m;smpte240m;srgb;iec61966-2-1;iec61966-2-4;xvycc;bt2020-10;bt2020-12">
<paramlistdisplay>BT.709,BT.470M,BT.470BG,Constant gamma of 2.2,Constant gamma of 2.8,SMPTE-170M,SMPTE-240M,SRGB,iec61966-2-1,iec61966-2-4,xvycc,BT.2020 for 10-bits content, BT.2020 for 12-bits content</paramlistdisplay>
<name>Output transfer characteristicse</name>
<name>Output transfer characteristics</name>
</parameter>
<parameter type="list" name="av.primaries" default="bt709" paramlist="bt709;bt470m;bt470bg;smpte170m;smpte240m;film;smpte431;smpte432;bt2020;jedec-p22">
<paramlistdisplay>BT.709,BT.470M,BT.470BG,SMPTE-170M,SMPTE-240M,Film,Smpte-431,SMPTE-432,BT.2020,JEDEC P22 phsphors</paramlistdisplay>
<paramlistdisplay>BT.709,BT.470M,BT.470BG,SMPTE-170M,SMPTE-240M,Film,Smpte-431,SMPTE-432,BT.2020,JEDEC P22 phosphors</paramlistdisplay>
<name>Output Color Primaries</name>
</parameter>
<parameter type="list" name="av.range" default="pc" paramlist="tv;mpeg;pc;jpeg">
@@ -48,7 +48,7 @@
<name>Override input colorspace</name>
</parameter>
<parameter type="list" name="av.iprimaries" default="bt709" paramlist="bt709;bt470m;bt470bg;smpte170m;smpte240m;film;smpte431;smpte432;bt2020;jedec-p22">
<paramlistdisplay>BT.709,BT.470M,BT.470BG,SMPTE-170M,SMPTE-240M,Film,Smpte-431,SMPTE-432,BT.2020,JEDEC P22 phsphors</paramlistdisplay>
<paramlistdisplay>BT.709,BT.470M,BT.470BG,SMPTE-170M,SMPTE-240M,Film,Smpte-431,SMPTE-432,BT.2020,JEDEC P22 phosphors</paramlistdisplay>
<name>Override input color primaries</name>
</parameter>
<parameter type="list" name="av.itrc" default="bt709" paramlist="bt709;bt470m;bt470bg;gamma22;gamma28;smpte170m;smpte240m;srgb;iec61966-2-1;iec61966-2-4;xvycc;bt2020-10;bt2020-12">

View File

@@ -6,11 +6,11 @@
<author>libavfilter</author>
<parameter type="constant" name="av.attacks" default="0" min="0" max="3" decimals="3" suffix="sec">
<name>Attacks</name>
<comment>A list of times in seconds for each channel over which the instantaneous level of the input signal is averaged to determine its volume. attacks refers to increase of volume and decays refers to decrease of volume. For most situations, the attack time (response to the audio getting louder) should be shorter than the decay time, because the human ear is more sensitive to sudden loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and a typical value for decay is 0.8 seconds. If specified number of attacks and decays is lower than number of channels, the last set attack/decay will be used for all remaining channels.</comment>
<comment>A list of times in seconds for each channel over which the instantaneous level of the input signal is averaged to determine its volume. Attacks refers to increase of volume and decays refers to decrease of volume. For most situations, the attack time (response to the audio getting louder) should be shorter than the decay time, because the human ear is more sensitive to sudden loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and a typical value for decay is 0.8 seconds. If specified number of attacks and decays is lower than number of channels, the last set attack/decay will be used for all remaining channels.</comment>
</parameter>
<parameter type="constant" name="av.decays" default="0.8" min="0" max="3" decimals="3" suffix="sec">
<name>Decays</name>
<comment>A list of times in seconds for each channel over which the instantaneous level of the input signal is averaged to determine its volume. attacks refers to increase of volume and decays refers to decrease of volume. For most situations, the attack time (response to the audio getting louder) should be shorter than the decay time, because the human ear is more sensitive to sudden loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and a typical value for decay is 0.8 seconds. If specified number of attacks and decays is lower than number of channels, the last set attack/decay will be used for all remaining channels.</comment>
<comment>A list of times in seconds for each channel over which the instantaneous level of the input signal is averaged to determine its volume. Attacks refers to increase of volume and decays refers to decrease of volume. For most situations, the attack time (response to the audio getting louder) should be shorter than the decay time, because the human ear is more sensitive to sudden loud audio than sudden soft audio. A typical value for attack is 0.3 seconds and a typical value for decay is 0.8 seconds. If specified number of attacks and decays is lower than number of channels, the last set attack/decay will be used for all remaining channels.</comment>
</parameter>
<parameter type="constant" name="av.soft-knee" default="0.01" min="0.01" max="90" decimals="2" suffix="dB">
<name>Soft-Knee</name>
@@ -22,6 +22,6 @@
</parameter>
<parameter type="constant" name="av.volume" default="0" min="-90" max="0" decimals="2" suffix="dB">
<name>Initial volume</name>
<comment>et an initial volume, in dB, to be assumed for each channel when filtering starts. This permits the user to supply a nominal level initially, so that, for example, a very large gain is not applied to initial signal levels before the companding has begun to operate. A typical value for audio which is initially quiet is -90 dB.</comment>
<comment>Set an initial volume, in dB, to be assumed for each channel when filtering starts. This permits the user to supply a nominal level initially, so that, for example, a very large gain is not applied to initial signal levels before the companding has begun to operate. A typical value for audio which is initially quiet is -90 dB.</comment>
</parameter>
</effect>

View File

@@ -8,7 +8,7 @@ For example, you have recorded guitar with two microphones placed in different l
The best result can be reached when you take one track as base and synchronize other tracks one by one with it. Remember that synchronization/delay tolerance depends on sample rate, too. Higher sample rates will give more tolerance. </description>
<author>libavfilter</author>
<parameter type="constant" name="av.mm" default="0" min="0" max="10" suffix="mm">
<name>Millimiter distance</name>
<name>Millimeter distance</name>
<comment>Set millimeters distance. This is compensation distance for fine tuning.</comment>
</parameter>
<parameter type="constant" name="av.cm" default="0" min="0" max="100" suffix="cm">

View File

@@ -3,7 +3,7 @@
<effect tag="avfilter.crystalizer" id="avfilter.crystalizer" type="audio">
<name>Crystalizer</name>
<description>Simple algorithm for audio noise sharpening.
This filter linearly increases differences betweeen each audio sample.</description>
This filter linearly increases differences between each audio sample.</description>
<author>libavfilter</author>
<parameter type="constant" name="av.i" default="2" min="-10" max="10" decimals="2">
<name>Intensity</name>

View File

@@ -1,16 +1,20 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="avfilter.dblur" id="avfilter.dblur">
<name>DBlur</name>
<description>Apply Directional Blur filter</description>
<name>Directional Blur</name>
<description>Apply directional blur filter</description>
<author>libavfilter</author>
<parameter type="animated" name="av.angle" max="360" min="0" default="45">
<parameter type="animated" name="av.angle" max="360" min="0" decimals="1" default="45" suffix=">
<name>Angle</name>
<comment><![CDATA[Sets the angle for the direction]]></comment>
</parameter>
<parameter type="animated" name="av.radius" max="400" min="0" default="5">
<parameter type="animated" name="av.radius" max="8192" min="0" default="5">
<name>Radius</name>
<comment><![CDATA[Sets the radius for the direction]]></comment>
</parameter>
<parameter type="animated" name="av.planes" max="15" min="0" default="15">
<parameter type="list" name="av.planes" default="7" paramlist="0;1;2;3;4;5;6;7">
<paramlistdisplay>Alpha,Luminance (Y plane),Chroma (U plane),Chroma (V plane),Red,Green,Blue,All</paramlistdisplay>
<name>Planes to filter</name>
<comment><![CDATA[Sets the color space plane the effect is applied to]]></comment>
</parameter>
</effect>

View File

@@ -4,22 +4,37 @@
<name>Draw Box</name>
<description>Draw a colored box on the input video</description>
<author>libavfilter</author>
<parameter type="animated" name="av.x" default="0" min="0" max="%width" factor="1">
<name>X</name>
<parameter type="animated" name="av.x" default="100" min="0" max="%width" factor="1">
<name>Top-left X</name>
<comment><![CDATA[X coordinate of top-left corner]]></comment>
</parameter>
<parameter type="animated" name="av.y" default="0" min="0" max="%height" factor="1">
<name>Y</name>
<parameter type="animated" name="av.y" default="100" min="0" max="%height" factor="1">
<name>Top-left Y</name>
<comment><![CDATA[Y coordinate of top-left corner]]></comment>
</parameter>
<parameter type="animated" name="av.w" default="0" min="0" max="%width" factor="1">
<name>Width</name>
<parameter type="animated" name="av.w" default="100" min="1" max="%width" factor="1">
<name>Width (px)</name>
<comment><![CDATA[Width of the box in pixel.<br>
A width of <em>1</em> does not draw a line]]></comment>
</parameter>
<parameter type="animated" name="av.h" default="0" min="0" max="%height" factor="1">
<name>Height</name>
<parameter type="animated" name="av.h" default="100" min="1" max="%height" factor="1">
<name>Height (px)</name>
<comment><![CDATA[Height of the box in pixel.<br>
A height of <em>1</em> does not draw a line]]></comment>
</parameter>
<parameter type="fixedcolor" name="av.color" default="black">
<parameter type="fixedcolor" name="av.color" default="0x0000FF" alpha="1">
<name>Color</name>
<comment><![CDATA[Select a color for the line.<br>
Use the <em>Alpha</em> value to make the line semi-transparent.]]></comment>
</parameter>
<parameter type="animated" name="av.t" default="3" min="0" max="%height" factor="1">
<name>Thickness</name>
<name>Thickness (px)</name>
<comment><![CDATA[Sets the thickness for the line in pixels]]></comment>
</parameter>
<parameter type="bool" name="av.replace " default="0" min="0" max="1">
<name>Replace color and alpha</name>
<comment><![CDATA[If the input has alpha, checking this<br>
will overwrite the video's color and alpha pixels with the pixels of the painted box.<br>
By default, the box will be composited onto the input, leaving the video's alpha intact.]]></comment>
</parameter>
</effect>

View File

@@ -6,20 +6,33 @@
<author>libavfilter</author>
<parameter type="animated" name="av.x" default="0" min="0" max="%width" factor="1">
<name>X Offset</name>
<comment><![CDATA[Distance from the left edge in pixel]]></comment>
</parameter>
<parameter type="animated" name="av.y" default="0" min="0" max="%height" factor="1">
<name>Y Offset</name>
<comment><![CDATA[Distance from the top edge in pixel]]></comment>
</parameter>
<parameter type="animated" name="av.w" default="0" min="0" max="%width" factor="1">
<name>Width</name>
<comment><![CDATA[Distance between vertical lines in pixel]]></comment>
</parameter>
<parameter type="animated" name="av.h" default="0" min="0" max="%height" factor="1">
<name>Height</name>
<comment><![CDATA[Distance between horizontal lines in pixel]]></comment>
</parameter>
<parameter type="fixedcolor" name="av.color" default="black">
<parameter type="fixedcolor" name="av.color" default="0x0000FF" alpha="1">
<name>Color</name>
<comment><![CDATA[Select a color for the grid lines.<br>
Use the <em>Alpha</em> value to make the grid semi-transparent.]]></comment>
</parameter>
<parameter type="animated" name="av.t" default="3" min="0" max="%height" factor="1">
<name>Thickness</name>
<name>Thickness (px)</name>
<comment><![CDATA[Sets the thickness for the grid lines in pixels]]></comment>
</parameter>
<parameter type="bool" name="av.replace " default="0" min="0" max="1">
<name>Replace color and alpha</name>
<comment><![CDATA[If the input has alpha, checking this<br>
will overwrite the video's color and alpha pixels with the pixels of the grid lines.<br>
By default, the grid lines will be composited onto the input, leaving the video's alpha intact.]]></comment>
</parameter>
</effect>

View File

@@ -6,24 +6,37 @@
<author>libavfilter</author>
<parameter type="constant" name="av.sigma" default="1" min="0" max="30" factor="1">
<name>Sigma</name>
<comment><![CDATA[Set the noise sigma constant.<br>
This sets denoising strength. Using very high sigma with low overlap may give blocking artifacts.]]></comment>
</parameter>
<parameter type="constant" name="av.amount" default="1" min="0.01" max="1" decimals="3">
<parameter type="constant" name="av.amount" default="1" min="0" max="100" factor="100" decimals="1" suffix="%">
<name>Amount</name>
<comment><![CDATA[Set the amount of denoising.<br>
By default all detected noise is reduced.]]></comment>
</parameter>
<parameter type="constant" name="av.block" default="4" min="3" max="6" factor="1">
<parameter type="constant" name="av.block" default="32" min="8" max="256" factor="1">
<name>Block</name>
<comment><![CDATA[Set size of block in pixels]]></comment>
</parameter>
<parameter type="constant" name="av.overlap" default="0.5" min="0.2" max="0.8" decimals="3">
<name>Overlap</name>
<comment><![CDATA[Set block overlap]]></comment>
</parameter>
<parameter type="list" name="av.method" default="0" paramlist="0;1">
<paramlistdisplay>wiener,hard</paramlistdisplay>
<name>Method</name>
<comment><![CDATA[Set denoising method]]></comment>
</parameter>
<parameter type="bool" name="av.prev" default="0">
<name>Add previous frame to temporal denoise</name>
<name><![CDATA[Add <em>previous</em> frame<br>
for temporal denoising]]></name>
</parameter>
<parameter type="bool" name="av.next" default="0">
<name>Add next frame to temporal denoise</name>
<name><![CDATA[Add <em>next</em> frame<br>
for temporal denoising]]></name>
</parameter>
<parameter type="list" name="av.planes" default="7" paramlist="0;1;2;3;4;5;6;7;8">
<paramlistdisplay>None,Y,U,YU,V,YV,UV,YUV,Alpha</paramlistdisplay>
<parameter type="list" name="av.planes" default="7" paramlist="0;1;2;3;4;5;6;7">
<paramlistdisplay>None,Y,U,YU,V,YV,UV,YUV</paramlistdisplay>
<name>Planes</name>
</parameter>
</effect>

View File

@@ -4,16 +4,16 @@
<name>Fill borders</name>
<description>Fill borders of the input video, without changing video stream dimensions. Sometimes video can have garbage at the four edges and you may not want to crop video input to keep size multiple of some number</description>
<author>libavfilter</author>
<parameter type="animated" name="av.left" default="0" min="0" max="%width/2" factor="1">
<parameter type="animated" name="av.left" default="0" min="0" max="%width" factor="1">
<name>Left</name>
</parameter>
<parameter type="animated" name="av.right" default="0" min="0" max="%width/2" factor="1">
<parameter type="animated" name="av.right" default="0" min="0" max="%width" factor="1">
<name>Right</name>
</parameter>
<parameter type="animated" name="av.top" default="0" min="0" max="%height/2" factor="1">
<parameter type="animated" name="av.top" default="0" min="0" max="%height" factor="1">
<name>Top</name>
</parameter>
<parameter type="animated" name="av.bottom" default="0" min="0" max="%height/2" factor="1">
<parameter type="animated" name="av.bottom" default="0" min="0" max="%height" factor="1">
<name>Bottom</name>
</parameter>
<parameter type="list" name="av.mode" default="smear" paramlist="smear;mirror;fixed;reflect;wrap;fade;margins">

View File

@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="avfilter.gradfun" id="avfilter.gradfun">
<name>gradfun</name>
<description><![CDATA[Debands video quickly using gradients.<br>
Fix the banding artifacts that are sometimes introduced into nearly flat regions by truncation to 8-bit color depth.<br>
Interpolate the gradients that should go where the bands are, and dither them.<br>
<b>It is designed for playback only. Do not use it prior to lossy compression, because compression tends to lose the dither and bring back the bands</b>.]]></description>
<author>libavfilter</author>
<parameter type="animated" name="av.strength" min="0.51" max="64" default="1.2" decimals="2">
<name>Strength</name>
<comment><![CDATA[The maximum amount by which the filter will change any one pixel.<br>
This is also the threshold for detecting nearly flat regions.]]></comment>
</parameter>
<parameter type="animated" name="av.radius" min="4" max="32" default="16" decimals="0">
<name>Radius</name>
<comment><![CDATA[The neighborhood to fit the gradient to.<br>
A larger radius makes for smoother gradients, but also prevents the filter from modifying the pixels near detailed regions.]]></comment>
</parameter>
</effect>

View File

@@ -8,7 +8,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Type</name>
</parameter>
<parameter type="constant" name="av.w" default="707" min="100" max="99999" decimals="3">

View File

@@ -8,7 +8,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Type</name>
</parameter>
<parameter type="constant" name="av.w" default="0.5" min="0.1" max="9999" decimals="1">

View File

@@ -2,7 +2,7 @@
<!DOCTYPE kpartgui>
<effect tag="avfilter.inflate" id="avfilter.inflate">
<name>Inflate</name>
<description>Rreplaces the pixel by the local(3x3) average by taking into account only values higher than the pixel. </description>
<description>Replaces the pixel by the local(3x3) average by taking into account only values higher than the pixel. </description>
<author>libavfilter</author>
<parameter type="constant" name="av.threshold0" default="65535" min="0" max="65535" factor="1">
<name>threshold0</name>

View File

@@ -5,10 +5,10 @@
<description>Correct radial lens distortion </description>
<author>libavfilter</author>
<parameter type="float" name="av.cx" default="0.5" min="0" max="1" format="double" decimals="2">
<name>Focal point relative-X cord</name>
<name>Focal point relative-X coord</name>
</parameter>
<parameter type="float" name="av.cy" default="0.5" min="0" max="1" format="double" decimals="2">
<name>Focal point relative-Y cord</name>
<name>Focal point relative-Y coord</name>
</parameter>
<parameter type="float" name="av.k1" default="0" min="-1" max="1" format="double" decimals="2">
<name>Quadratic correction coeff.</name>

View File

@@ -8,7 +8,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Type</name>
</parameter>
<parameter type="constant" name="av.w" default="0.707" min="0.001" max="9999" decimals="3">

View File

@@ -8,7 +8,7 @@
<name>Central frequency</name>
</parameter>
<parameter type="list" name="av.t" default="h" paramlist="h;q;o;s;k">
<paramlistdisplay>Hz,Q-FActor,Octave,Slope,KHz</paramlistdisplay>
<paramlistdisplay>Hz,Q-Factor,Octave,Slope,KHz</paramlistdisplay>
<name>Type</name>
</parameter>
<parameter type="constant" name="av.w" default="0.5" min="0.1" max="9999" decimals="1">

View File

@@ -2,8 +2,7 @@
<!DOCTYPE kpartgui>
<effect tag="avfilter.lut3d" id="avfilter.lut3d">
<name>Apply LUT</name>
<description>Apply a Look Up Table (LUT) to the video.
<full><![CDATA[A LUT is an easy way to correct the color of a video. Supported formats: .3dl (AfterEffects), .cube (Iridas), .dat(DaVinci), .m3d (Pandora)]]></full></description>
<description>Apply a Look Up Table (LUT) to the video. A LUT is an easy way to correct the color of a video. Supported formats: .3dl (AfterEffects), .cube (Iridas), .dat (DaVinci), .m3d (Pandora)</description>
<author>libavfilter</author>
<parameter type="urllist" name="av.file" paramlist="%lutPaths" filter="LUT files (*.cube *.3dl *.dat *.m3d)" newstuff=":data/kdenlive_luts.knsrc">
<name>LUT file to apply</name>

View File

@@ -4,18 +4,23 @@
<name>Median</name>
<description>Pick median pixel from certain rectangle defined by radius.</description>
<author>libavfilter</author>
<parameter type="animated" name="av.radius" min="1" max="127" default="1" decimals="3">
<name>Spatial sigma</name>
<comment>Median radius</comment>
<parameter type="animated" name="av.radius" min="1" max="127" default="1">
<name>Horizontal radius</name>
<comment><![CDATA[Set median radius]]></comment>
</parameter>
<parameter type="animated" name="av.radiusV" min="0" max="127" default="0" decimals="3">
<name>Median vertical radius</name>
<parameter type="animated" name="av.radiusV" min="0" max="127" default="0">
<name>Vertical radius</name>
<comment><![CDATA[Set median vertical radius.<br>
If it is 0, value will be picked from <em>Horizontal radius</em> parameter.]]></comment>
</parameter>
<parameter type="animated" name="av.percentile" min="0" max="1" default="0.5" decimals="3">
<parameter type="animated" name="av.percentile" min="0" max="100" default="0.5" factor="100">
<name>Median percentile</name>
<comment><![CDATA[Default value of 50 will pick always median values,<br>
while 0 will pick minimum values, and 100 maximum values.]]></comment>
</parameter>
<parameter type="list" name="av.planes" default="1" paramlist="0;1;2;3;4;5;6;7;">
<paramlistdisplay>Alpha,Y,U,V,Red,Green,Blue,All,</paramlistdisplay>
<parameter type="list" name="av.planes" default="7" paramlist="0;1;2;3;4;5;6;7">
<paramlistdisplay>None,Y,U,YU,V,YV,UV,YUV</paramlistdisplay>
<name>Planes</name>
<comment><![CDATA[Select which planes to process]]></comment>
</parameter>
</effect>

View File

@@ -0,0 +1,60 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect LC_NUMERIC="C" tag="avfilter.oscilloscope" id="avfilter.oscilloscope">
<name>Oscilloscope (avfilter)</name>
<description>2D video oscilloscope</description>
<author>libavfilter maintainers</author>
<parameter type="animated" name="av.x" default="0.5" min="0" max="%width" factor="%width">
<name>Trace X position</name>
<comment><![CDATA[X position of the trace profile]]></comment>
</parameter>
<parameter type="animated" name="av.y" default="0.5" min="0" max="%height" factor="%height">
<name>Trace Y position</name>
<comment><![CDATA[Y position of the trace profile]]></comment>
</parameter>
<parameter type="animated" name="av.s" default="0.5" min="0" max="%width" factor="%width">
<name>Size</name>
<comment><![CDATA[Size/length of the trace profile in pixel]]></comment>
</parameter>
<parameter type="animated" name="av.t" default="0.5" min="0" max="1000" factor="1000">
<name>Tilt</name>
<comment><![CDATA[Tilting of the trace profile]]></comment>
</parameter>
<parameter type="animated" name="av.o" default="0.5" min="0" max="1000" factor="1000">
<name>Opacity</name>
<comment><![CDATA[Opacity of the scope display]]></comment>
</parameter>
<parameter type="animated" name="av.tx" default="0.5" min="0" max="%width" factor="%width">
<name>Scope X position</name>
<comment><![CDATA[X position of the scope display]]></comment>
</parameter>
<parameter type="animated" name="av.ty" default="0.9" min="0" max="%height" factor="%height">
<name>Scope Y position</name>
<comment><![CDATA[Y position of the scope display]]></comment>
</parameter>
<parameter type="animated" name="av.tw" default="0.8" min="0" max="%height" factor="%height">
<name>Scope width</name>
<comment><![CDATA[Width of the scope display]]></comment>
</parameter>
<parameter type="animated" name="av.th" default="0.3" min="0" max="%height" factor="%height">
<name>Scope height</name>
<comment><![CDATA[Height of the scope display]]></comment>
</parameter>
<parameter type="list" name="av.c" default="7" paramlist="0;1;2;3;4;5;6;7">
<paramlistdisplay>None,Y,U,YU,V,YV,UV,YUV</paramlistdisplay>
<name>Components</name>
<comment><![CDATA[Select the components to be traced]]></comment>
</parameter>
<parameter type="bool" name="av.g" default="1" min="0" max="1">
<name>Draw scope grid</name>
<comment><![CDATA[Switch grid on or off]]></comment>
</parameter>
<parameter type="bool" name="av.st" default="1" min="0" max="1">
<name>Print statistics</name>
<comment><![CDATA[Switch statistics on or off]]></comment>
</parameter>
<parameter type="bool" name="av.sc" default="1" min="0" max="1">
<name>Draw trace profile line</name>
<comment><![CDATA[Switch drawing the trace profile line on or off]]></comment>
</parameter>
</effect>

View File

@@ -9,7 +9,7 @@
<comment>Set how many frames to use.</comment>
</parameter>
<parameter type="animated" name="av.t" min="0.1" max="10" default="1" decimals="3">
<name>Theshold</name>
<name>Threshold</name>
<comment>Set detection threshold factor, lower is stricter</comment>
</parameter>
<parameter type="animated" name="av.skip" min="1" max="1024" default="1" decimals="0">

View File

@@ -0,0 +1,21 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="avfilter.pixelize" id="avfilter.pixelize">
<name>Pixelize (avfilter)</name>
<description>Pixelize video</description>
<author>libavfilter maintainers</author>
<parameter type="animated" name="av.width" default="16" min="1" max="1024">
<name>Block width</name>
</parameter>
<parameter type="animated" name="av.height" default="16" min="1" max="1024">
<name>Block height</name>
</parameter>
<parameter type="list" name="av.mode" default="avg" paramlist="avg;min;max">
<name>Pixelize mode</name>
<paramlistdisplay>Average,Minimum,Maximum</paramlistdisplay>
</parameter>
<parameter type="list" name="av.planes" default="7" paramlist="0;1;2;3;4;5;6;7;8">
<paramlistdisplay>None,Y,U,YU,V,YV,UV,YUV,Alpha</paramlistdisplay>
<name>Planes</name>
</parameter>
</effect>

View File

@@ -4,16 +4,16 @@
<name>Scroll</name>
<description>Pick median pixel from certain rectangle defined by radius.</description>
<author>libavfilter</author>
<parameter type="animated" name="av.h" min="-1" max="1" default="0" decimals="3">
<parameter type="animated" name="av.h" min="-1000" max="1000" default="0" factor="1000">
<name>Horizontal scrolling speed</name>
</parameter>
<parameter type="animated" name="av.v" min="-1" max="1" default="0" decimals="3">
<parameter type="animated" name="av.v" min="-1000" max="1000" default="0" factor="1000">
<name>Vertical scrolling speed</name>
</parameter>
<parameter type="animated" name="av.hpos" min="0" max="1" default="0" decimals="3">
<parameter type="animated" name="av.hpos" min="0" max="%width" default="0" factor="%width">
<name>Initial horizontal position</name>
</parameter>
<parameter type="animated" name="av.vpos" min="0" max="1" default="0" decimals="3">
<parameter type="animated" name="av.vpos" min="0" max="%height" default="0" factor="%height">
<name>Initial vertical position</name>
</parameter>
</effect>

View File

@@ -6,20 +6,47 @@
<author>libavfilter</author>
<parameter type="constant" name="av.lr" default="1.0" min="0.1" max="5.0" decimals="1">
<name>Luma radius</name>
<comment><![CDATA[Set the luma radius.<br>
The value specifies the variance of the gaussian filter used to blur the image (slower if larger).]]></comment>
</parameter>
<parameter type="constant" name="av.ls" default="1.0" min="-1.0" max="1.0" decimals="1">
<name>Luma strength</name>
<comment><![CDATA[Set the luma strength.<br>
The value configures the blurring. A positive value will blur the image, whereas a negative value will sharpen the image.]]></comment>
</parameter>
<parameter type="constant" name="av.lt" default="0" min="-30" max="+30" factor="1">
<name>Luma Threshold</name>
<name>Luma threshold</name>
<comment><![CDATA[Set the luma threshold used as a coefficient<br>
to determine whether a pixel should be blurred or not. A value of 0 will filter all the image, positive values will filter flat areas, negative values will filter edges.]]></comment>
</parameter>
<parameter type="constant" name="av.cr" default="1.0" min="0.1" max="5.0" decimals="1">
<name>Chroma radius</name>
<comment><![CDATA[Set the chroma radius.<br>
The value specifies the variance of the gaussian filter used to blur the image (slower if larger). If not specified, it defaults to the value set for <em>Luma radius</em>]]></comment>
</parameter>
<parameter type="constant" name="av.cs" default="1.0" min="-1.0" max="1.0" decimals="1">
<name>Chroma strength</name>
<comment><![CDATA[Set the chroma strength.<br>
The value configures the blurring. A positive value will blur the image, whereas a negative value will sharpen the image. If not specified, it defaults to the value set for <em>Luma strength</em>.]]></comment>
</parameter>
<parameter type="constant" name="av.ct" default="0" min="-30" max="+30" factor="1">
<name>Chroma Threshold</name>
<name>Chroma threshold</name>
<comment><![CDATA[Set the chroma threshold used as a coefficient<br>
to determine whether a pixel should be blurred or not. A value of 0 will filter all the image, positive values will filter flat areas, negative values will filter edges. If not specified, it defaults to the value set for <em>Luma threshold</em>]]></comment>
</parameter>
<parameter type="constant" name="av.ar" default="1.0" min="0.1" max="5.0" decimals="1">
<name>Alpha radius</name>
<comment><![CDATA[Set the alpha radius.<br>
The value specifies the variance of the gaussian filter used to blur the image (slower if larger). If not specified, it defaults to the value set for <em>Luma radius</em>]]></comment>
</parameter>
<parameter type="constant" name="av.as" default="1.0" min="-1.0" max="1.0" decimals="1">
<name>Alpha strength</name>
<comment><![CDATA[Set the alpha strength.<br>
The value configures the blurring. A positive value will blur the image, whereas a negative value will sharpen the image. If not specified, it defaults to the value set for <em>Luma strength</em>.]]></comment>
</parameter>
<parameter type="constant" name="av.at" default="0" min="-30" max="+30" factor="1">
<name>Alpha threshold</name>
<comment><![CDATA[Set the alpha threshold used as a coefficient<br>
to determine whether a pixel should be blurred or not. A value of 0 will filter all the image, positive values will filter flat areas, negative values will filter edges. If not specified, it defaults to the value set for <em>Luma threshold</em>]]></comment>
</parameter>
</effect>

View File

@@ -9,7 +9,7 @@
<name>Input format</name>
</parameter>
<parameter type="list" name="av.out" default="arcd" paramlist="sbsl;sbsr;abl;abr;irl;irr;arbg;argg;arcg;arch;arcc;arcd;agmg;agmh;agmc;agmd;aybg;aybh;aybc;aybd;ml;mr;chl;chr;icl;icr;hdmi">
<paramlistdisplay>side by side parallel,side by side crosseye,above-below left top,above-below right top,interleaved rows (letf top),interleaved rows (right top),anaglyph red/blue gray,anaglyph red/green gray,anaglyph red/cyan gray,anaglyph red/cyan half colored,anaglyph red/cyan color,anaglyph red/cyan dubois,anaglyph green/magenta gray,anaglyph green/magenta half colored,anaglyph green/magenta colored,anaglyph green/magenta dubois,anaglyph yellow/blue gray,anaglyph yellow/blue half colored,anaglyph yellow/blue colored,anaglyph yellow/blue dubois,mono output left,mono output right,checkerboard left eye first,checkerboard right eye first,interleaved columns left eye first,interleaved columns right eye first,HDMI frame pack</paramlistdisplay>
<paramlistdisplay>side by side parallel,side by side crosseye,above-below left top,above-below right top,interleaved rows (left top),interleaved rows (right top),anaglyph red/blue gray,anaglyph red/green gray,anaglyph red/cyan gray,anaglyph red/cyan half colored,anaglyph red/cyan color,anaglyph red/cyan dubois,anaglyph green/magenta gray,anaglyph green/magenta half colored,anaglyph green/magenta colored,anaglyph green/magenta dubois,anaglyph yellow/blue gray,anaglyph yellow/blue half colored,anaglyph yellow/blue colored,anaglyph yellow/blue dubois,mono output left,mono output right,checkerboard left eye first,checkerboard right eye first,interleaved columns left eye first,interleaved columns right eye first,HDMI frame pack</paramlistdisplay>
<name>Output format</name>
</parameter>
</effect>

View File

@@ -1,25 +1,47 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="avfilter.unsharp">
<!-- ffmpeg documentation says range for matrix settings is 3-23 but the max value can only be 13 -->
<name>Sharp/Unsharp</name>
<description>Sharpen or blur your video</description>
<description>Sharpen or unsharpen/blur your video</description>
<author>libavfilter</author>
<parameter type="constant" name="av.lx" max="13" min="3" default="5" odd="1">
<name>Luma horizontal matrix</name>
<comment><![CDATA[Set the luma matrix horizontal size]]></comment>
</parameter>
<parameter type="constant" name="av.ly" max="13" min="3" default="5" odd="1">
<name>Luma vertical matrix</name>
<comment><![CDATA[Set the luma matrix vertical size]]></comment>
</parameter>
<parameter type="constant" name="av.la" max="5" min="-2" default="0" decimals="2">
<name>Luma strength</name>
<comment><![CDATA[Set the luma effect strength.<br>
Reasonable values are between -1.5 and 1.5. Negative values will blur the input video, while positive values will sharpen it, a value of 0 will disable the effect. ]]></comment>
</parameter>
<parameter type="constant" name="av.cx" max="13" min="3" default="5" odd="1">
<name>Chroma horizontal matrix</name>
<comment><![CDATA[Set the chroma matrix horizontal size]]></comment>
</parameter>
<parameter type="constant" name="av.cy" max="13" min="3" default="5" odd="1">
<name>Chroma vertical matrix</name>
<comment><![CDATA[Set the chroma matrix vertical size]]></comment>
</parameter>
<parameter type="constant" name="av.ca" max="5" min="-2" default="0" decimals="2">
<name>Chroma strength</name>
<comment><![CDATA[Set the chroma effect strength.<br>
Reasonable values are between -1.5 and 1.5. Negative values will blur the input video, while positive values will sharpen it, a value of zero will disable the effect. ]]></comment>
</parameter>
<parameter type="constant" name="av.ax" max="13" min="3" default="5" odd="1">
<name>Alpha horizontal matrix</name>
<comment><![CDATA[Set the alpha matrix horizontal size]]></comment>
</parameter>
<parameter type="constant" name="av.ay" max="13" min="3" default="5" odd="1">
<name>Alpha vertical matrix</name>
<comment><![CDATA[Set the alpha matrix vertical size]]></comment>
</parameter>
<parameter type="constant" name="av.aa" max="5" min="-2" default="0" decimals="2">
<name>Alpha strength</name>
<comment><![CDATA[Set the alpha effect strength.<br>
Reasonable values are between -1.5 and 1.5. Negative values will blur the input video, while positive values will sharpen it, a value of zero will disable the effect. ]]></comment>
</parameter>
</effect>

View File

@@ -15,7 +15,7 @@
<name>Y</name>
</parameter>
<parameter type="constant" name="av.i" default="0.004" min="0" max="1" decimals="3">
<name>Intenstiy</name>
<name>Intensity</name>
</parameter>
<parameter type="list" name="av.e" default="none" paramlist="none;instant;peak;peak+instant">
<paramlistdisplay>None,Instant,Peak,Peak+Instant</paramlistdisplay>

View File

@@ -7,44 +7,76 @@
<parameter type="list" name="av.m" default="column" paramlist="row;column">
<paramlistdisplay>Row,Column</paramlistdisplay>
<name>Mode</name>
<comment><![CDATA[In row mode, the graph on the left side represents<br>
color component value 0 and the right side represents value = 255.<br>
In column mode, the top side represents color component value = 0 and bottom side represents value = 255.]]></comment>
</parameter>
<parameter type="constant" name="av.i" default="0.04" min="0" max="1" decimals="2">
<name>Intenstiy</name>
<name>Intensity</name>
<comment><![CDATA[Smaller values are useful for finding out how many values<br>
of the same luminance are distributed across input rows/columns]]></comment>
</parameter>
<parameter type="bool" name="av.r" default="0 ">
<name>Mirror</name>
<comment><![CDATA[In mirrored mode, higher values will be represented<br>
on the left side for <em>row</em> mode and at the top for <em>column</em> mode.]]></comment>
</parameter>
<parameter type="list" name="av.d" default="stack" paramlist="overlay;stack;parade">
<paramlistdisplay>Overlay,Stack,Parade</paramlistdisplay>
<name>Display</name>
<comment><![CDATA[Set the display mode]]></comment>
</parameter>
<parameter type="constant" name="av.c" default="1" min="1" max="7" factor="1">
<parameter type="list" name="av.c" default="7" paramlist="0;1;2;3;4;5;6;7">
<paramlistdisplay>None,Y,U,YU,V,YV,UV,YUV</paramlistdisplay>
<name>Components</name>
<comment><![CDATA[Select the components to be displayed]]></comment>
</parameter>
<parameter type="list" name="av.e" default="none" paramlist="none;instant;peak;peak+instant">
<paramlistdisplay>None,Instant,Peak,Peak+Instant</paramlistdisplay>
<name>Envelope</name>
<comment><![CDATA[Set the envelope mode]]></comment>
</parameter>
<parameter type="list" name="av.f" default="lowpass" paramlist="lowpass;flat;aflat;xflat;yflat;chroma;color;acolor">
<paramlistdisplay>lowpass,flat,aflat,xflat,yflat,chroma,color,acolor</paramlistdisplay>
<paramlistdisplay>Lowpass,Flat,A-flat,X-flat,Y-flat,Chroma,Color,acolor</paramlistdisplay>
<name>Filter</name>
<comment><![CDATA[Set the filter mode]]></comment>
</parameter>
<parameter type="list" name="av.g" default="green" paramlist="none;green;orange;invert">
<paramlistdisplay>none,green,orange,invert</paramlistdisplay>
<paramlistdisplay>None,Green,Orange,Invert</paramlistdisplay>
<name>Graticule</name>
<comment><![CDATA[Set which graticule to display]]></comment>
</parameter>
<parameter type="constant" name="av.o" default="0.75" min="0" max="1" decimals="2">
<name>Graticule Opacity</name>
<comment><![CDATA[Set the opacity of the graticule]]></comment>
</parameter>
<parameter type="list" name="av.fl" default="numbers" paramlist="numbers;dots">
<paramlistdisplay>numbers,dots</paramlistdisplay>
<paramlistdisplay>Numbers,Dots</paramlistdisplay>
<comment><![CDATA[Set graticule flags]]></comment>
<name>Flags</name>
</parameter>
<parameter type="list" name="av.s" default="digital" paramlist="digital;millivolts;ire">
<paramlistdisplay>digital,millivolts,ire</paramlistdisplay>
<paramlistdisplay>Digital,Millivolts,Ire</paramlistdisplay>
<name>Scale</name>
<comment><![CDATA[Set scale used for displaying graticule]]></comment>
</parameter>
<parameter type="constant" name="av.b" default="0.75" min="0" max="1" decimals="2">
<name>Background Opacity</name>
<comment><![CDATA[Set the background opacity]]></comment>
</parameter>
<parameter type="constant" name="av.t0" default="0" min="-1" max="1" decimals="2">
<name>Tint 0</name>
<comment><![CDATA[Only used with <em>lowpass</em> filter and when display<br>
is not <em>overlay</em> and input pixel formats are not <em>RGB</em>]]></comment>
</parameter>
<parameter type="constant" name="av.t1" default="0" min="-1" max="1" decimals="2">
<name>Tint 1</name>
<comment><![CDATA[Only used with <em>lowpass</em> filter and when display<br>
is not <em>overlay</em> and input pixel formats are not <em>RGB</em>]]></comment>
</parameter>
<parameter type="list" name="av.fm" default="none" paramlist="none;size">
<paramlistdisplay>None,Size</paramlistdisplay>
<name>Fit mode</name>
<comment><![CDATA[Set the fit mode]]></comment>
</parameter>
</effect>

View File

@@ -5,11 +5,11 @@
<description>Deinterlace the input video ("yadif" means "yet another deinterlacing filter")</description>
<author>libavfilter</author>
<parameter type="list" name="av.mode" default="0" paramlist="0;1;2;3">
<paramlistdisplay>Send frame,Send field,Send frame nospatial,Send field nospatil</paramlistdisplay>
<paramlistdisplay>Send frame,Send field,Send frame nospatial,Send field nospatial</paramlistdisplay>
<name>Mode</name>
</parameter>
<parameter type="list" name="av.parity" default="-1" paramlist="0;1;-1">
<paramlistdisplay>Top field first,Bottomfield first,Auto</paramlistdisplay>
<paramlistdisplay>Top field first,Bottom field first,Auto</paramlistdisplay>
<name>Parity</name>
</parameter>
<parameter type="list" name="av.deint" default="0" paramlist="0;1">

View File

@@ -5,10 +5,10 @@
<name>BoxBlur</name>
<description>Box blur (separate horizontal and vertical blur)</description>
<author>Meltytech, LLC</author>
<parameter type="animated" name="hradius" max="1000" min="0" default="1" suffix="%">
<parameter type="animated" name="hradius" max="1000" min="0" default="1" suffix="%" decimals="1">
<name>Horizontal multiplicator</name>
</parameter>
<parameter type="animated" name="vradius" max="1000" min="0" default="1" suffix="%">
<parameter type="animated" name="vradius" max="1000" min="0" default="1" suffix="%" decimals="1">
<name>Vertical multiplicator</name>
</parameter>
<parameter type="bool" name="preserve_alpha" default="0" min="0" max="1">

View File

@@ -7,7 +7,7 @@
<parameter type="color" name="key" default="0x0000ffff">
<name>Color key</name>
</parameter>
<parameter type="constant" name="variance" max="1000" min="0" factor="1000" default="0.15">
<parameter type="keyframe" name="variance" max="1000" min="0" factor="1000" default="0.15">
<name>Variance</name>
</parameter>
</effect>

View File

@@ -4,10 +4,12 @@
<name>Chroma Keep</name>
<description>Make image greyscale except for chosen color</description>
<author>Charles Yates</author>
<parameter type="color" name="key" default="0x000000ff">
<parameter type="color" name="key" default="0x000000ff" notintimeline="1">
<name>Color key</name>
</parameter>
<parameter type="constant" name="variance" max="100" min="0" factor="100" default="15">
<parameter type="animated" name="variance" max="1.00" min="0.01" decimals="2" default="0.01" notintimeline="1">
<name>Variance</name>
<comment><![CDATA[Percentage of deviation from the selected color value.<br>
Lower values keep the colors closer to the selected one; higher values include more colors.]]></comment>
</parameter>
</effect>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="dropshadow" id="dropshadow">
<name>Drop Shadow</name>
<description>Create a shadow effect from the alpha channel</description>
<author>Meltytech, LLC</author>
<parameter type="animated" name="radius" max="100" min="0" default="1">
<name>Blur Radius</name>
<comment>The amount in pixel to blur the edge of the shadow</comment>
</parameter>
<parameter type="animated" name="x" max="100" min="-100" default="8">
<name>X Offset</name>
<comment>The relative horizontal position of the shadow</comment>
</parameter>
<parameter type="animated" name="y" max="100" min="-100" default="8">
<name>Y Offset</name>
<comment>The relative vertical position of the shadow</comment>
</parameter>
<parameter type="color" name="color" default="#b4636363" alpha="1">
<name>Color</name>
<comment>The color of the shadow including alpha</comment>
</parameter>
</effect>

View File

@@ -3,6 +3,7 @@
INSTALL (FILES
frei0r_aech0r.xml
frei0r_alpha0ps.xml
frei0r_alphagrad.xml
frei0r_alphaspot.xml
@@ -65,6 +66,7 @@ frei0r_nervous.xml
frei0r_nosync0r.xml
frei0r_pixeliz0r.xml
frei0r_pixs0r.xml
frei0r_posterize.xml
frei0r_pr0be.xml
frei0r_pr0file.xml
frei0r_primaries.xml

View File

@@ -0,0 +1,31 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="frei0r.aech0r" id="frei0r.aech0r" type="video">
<name>Aech0r</name>
<description>Create an analog video echo</description>
<author>d-j-a-y + vloop</author>
<parameter type="constant" name="0" default="0" min="0" max="100" decimals="0" factor="100">
<name>Fade factor</name>
<comment><![CDATA[Disappearance Rate of the echo]]></comment>
</parameter>
<parameter type="bool" name="1" default="1" min="0" max="1">
<name>Direction</name>
<comment><![CDATA[Darker or Brighter echo]]></comment>
</parameter>
<parameter type="bool" name="2" default="1" min="0" max="1">
<name>Keep RED</name>
<comment><![CDATA[Influence on Red channel]]></comment>
</parameter>
<parameter type="bool" name="3" default="1" min="0" max="1">
<name>Keep GREEN</name>
<comment><![CDATA[Influence on Green channel]]></comment>
</parameter>
<parameter type="bool" name="4" default="1" min="0" max="1">
<name>Keep BLUE</name>
<comment><![CDATA[Influence on Blue channel]]></comment>
</parameter>
<parameter type="constant" name="5" default="0" min="0" max="8" decimals="0" factor="8">
<name>Strobe period</name>
<comment><![CDATA[Rate of the stroboscope (from 0 to 8 frames)]]></comment>
</parameter>
</effect>

View File

@@ -4,23 +4,29 @@
<name>Alpha gradient</name>
<description>Fill the alpha channel with a specified gradient</description>
<author>Marko Cebokli</author>
<parameter type="animated" name="Position" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Position" default="0.5" min="0" max="%height" factor="%height">
<name>Position</name>
<comment><![CDATA[Define where the gradient starts.]]></comment>
</parameter>
<parameter type="animated" name="Transition width" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Transition width" default="0.5" min="0" max="100" factor="100" suffix="%">
<name>Transition width</name>
<comment><![CDATA[Define the width of the transition between the densities.]]></comment>
</parameter>
<parameter type="animated" name="Tilt" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Tilt" default="0" min="0" max="360" factor="360" decimals="1" suffix=">
<name>Tilt</name>
<comment><![CDATA[Angle for the gradient.]]></comment>
</parameter>
<parameter type="animated" name="Min" default="0" min="0" max="1000" factor="1000">
<parameter type="animated" name="Min" default="1" min="0" max="100" factor="100" suffix="%">
<name>Min</name>
<comment><![CDATA[Define the transparency at the top of the gradient.]]></comment>
</parameter>
<parameter type="animated" name="Max" default="1" min="0" max="1000" factor="1000">
<parameter type="animated" name="Max" default="0" min="0" max="100" factor="100" suffix="%">
<name>Max</name>
<comment><![CDATA[Define the transparency at the bottom of the gradient.]]></comment>
</parameter>
<parameter type="list" name="Operation" default="0" paramlist="0;0.3;0.5;0.7;1">
<paramlistdisplay>Write on clear,Max,Min,Add,Subtract</paramlistdisplay>
<name>Operation</name>
<comment><![CDATA[Define the alpha operation for compositing.]]></comment>
</parameter>
</effect>

View File

@@ -4,23 +4,29 @@
<name>Alpha gradient</name>
<description>Fill the alpha channel with a specified gradient</description>
<author>Marko Cebokli</author>
<parameter type="animated" name="Position" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Position" default="0.5" min="0" max="%height" factor="%height">
<name>Position</name>
<comment><![CDATA[Define where the gradient starts.]]></comment>
</parameter>
<parameter type="animated" name="Transition width" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Transition width" default="0.5" min="0" max="100" factor="100" decimals="1" suffix="%">
<name>Transition width</name>
<comment><![CDATA[Define the width of the transition between the densities.]]></comment>
</parameter>
<parameter type="animated" name="Tilt" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Tilt" default="0" min="0" max="360" factor="360" decimals="1" suffix=">
<name>Tilt</name>
<comment><![CDATA[Angle for the gradient.]]></comment>
</parameter>
<parameter type="animated" name="Min" default="0" min="0" max="1000" factor="1000">
<name>Min</name>
<parameter type="animated" name="Min" default="1" min="0" max="100" factor="100" decimals="1" suffix="%">
<name>Transparency top</name>
<comment><![CDATA[Define the transparency at the top of the gradient.]]></comment>
</parameter>
<parameter type="animated" name="Max" default="1" min="0" max="1000" factor="1000">
<name>Max</name>
<parameter type="animated" name="Max" default="0" min="0" max="100" factor="100" decimals="1" suffix="%">
<name>Transparency bottom</name>
<comment><![CDATA[Define the transparency at the bottom of the gradient.]]></comment>
</parameter>
<parameter type="list" name="Operation" default="0" paramlist="0;0.3;0.5;0.7;1">
<paramlistdisplay>Write on clear,Max,Min,Add,Subtract</paramlistdisplay>
<name>Operation</name>
<comment><![CDATA[Define the alpha operation for compositing.]]></comment>
</parameter>
</effect>

View File

@@ -5,28 +5,28 @@
<description>Four corners geometry engine</description>
<author>Marko Cebokli</author>
<parameter type="animated" widget="corners" name="0" default="0.333333333333333" min="0" max="6000" factor="6000">
<name>Corner 1 X</name>
<name>Top-left X</name>
</parameter>
<parameter type="animated" widget="corners" name="1" default="0.333333333333333" min="0" max="6000" factor="6000">
<name>Corner 1 Y</name>
<name>Top-left Y</name>
</parameter>
<parameter type="animated" widget="corners" name="2" default="0.666666666666667" min="0" max="6000" factor="6000">
<name>Corner 2 X</name>
<name>Top-right X</name>
</parameter>
<parameter type="animated" widget="corners" name="3" default="0.333333333333333" min="0" max="6000" factor="6000">
<name>Corner 2 Y</name>
<name>Top-right Y</name>
</parameter>
<parameter type="animated" widget="corners" name="4" default="0.666666666666667" min="0" max="6000" factor="6000">
<name>Corner 3 X</name>
<name>Bottom-right X</name>
</parameter>
<parameter type="animated" widget="corners" name="5" default="0.666666666666667" min="0" max="6000" factor="6000">
<name>Corner 3 Y</name>
<name>Bottom-right Y</name>
</parameter>
<parameter type="animated" widget="corners" name="6" default="0.333333333333333" min="0" max="6000" factor="6000">
<name>Corner 4 X</name>
<name>Bottom-left X</name>
</parameter>
<parameter type="animated" widget="corners" name="7" default="0.666666666666667" min="0" max="6000" factor="6000">
<name>Corner 4 Y</name>
<name>Bottom-left Y</name>
</parameter>
<parameter type="animated" widget="corners" name="9" default="0.5" min="0" max="2000" factor="2000">
<name>Stretch X</name>

View File

@@ -11,32 +11,32 @@
<parameter type="color" name="1" default="#000000">
<name>Start Color</name>
</parameter>
<parameter type="animated" name="2" max="1" min="0" default="0.5" decimals="3">
<parameter type="animated" name="2" max="100" min="0" default="0.5" factor="100" decimals="1" suffix="%">
<name>Start Opacity</name>
</parameter>
<parameter type="color" name="3" default="#ffffff">
<name>End Color</name>
</parameter>
<parameter type="animated" name="4" max="1" min="0" default="0.5" decimals="3">
<parameter type="animated" name="4" max="100" min="0" default="0.5" factor="100" decimals="1" suffix="%">
<name>End Opacity</name>
</parameter>
<parameter type="animated" name="5" max="1" min="0" default="0.5" decimals="3">
<parameter type="animated" name="5" max="100" min="0" default="0.5" factor="100" decimals="1" suffix="%">
<name>Start X</name>
</parameter>
<parameter type="animated" name="6" max="1" min="0" default="0.5" decimals="3">
<parameter type="animated" name="6" max="100" min="0" default="0.5" factor="100" decimals="1" suffix="%">
<name>Start Y</name>
</parameter>
<parameter type="animated" name="7" max="1" min="0" default="0.5" decimals="3">
<parameter type="animated" name="7" max="100" min="0" default="0.5" factor="100" decimals="1" suffix="%">
<name>End X</name>
</parameter>
<parameter type="animated" name="8" max="1" min="0" default="0.5" decimals="3">
<parameter type="animated" name="8" max="100" min="0" default="0.5" factor="100" decimals="1" suffix="%">
<name>End Y</name>
</parameter>
<parameter type="animated" name="9" max="1" min="0" default="0" decimals="3">
<parameter type="animated" name="9" max="100" min="0" default="0" factor="100" decimals="1" suffix="%">
<name>Offset</name>
</parameter>
<parameter type="list" name="10" default="1" paramlist="normal;add;saturate;multiply;screen;overlay;darken;lighten;colordodge;colorburn;hardlight;softlight;difference;exclusion;hslhue;hslsaturation;hslcolor;hslluminosity">
<paramlistdisplay>normal,add,saturate,multiply,screen,overlay,darken,lighten,colordodge,colorburn,hardlight,softlight,difference,exclusion,hslhue,hslsaturation,hslcolor,hslluminosity</paramlistdisplay>
<paramlistdisplay>Normal,Add,Saturate,Multiply,Screen,Overlay,Darken,Lighten,Color dodge,Color burn,Hard light,Soft light,Difference,Exclusion,HSL hue,HSL saturation,HSL color,HSL luminosity</paramlistdisplay>
<name>Blend Mode</name>
</parameter>
</effect>

View File

@@ -3,8 +3,8 @@
<effect tag="frei0r.d90stairsteppingfix" id="frei0r.d90stairsteppingfix">
<name>Nikon D90 Stairstepping fix</name>
<description>Removes stairstepping artifacts from Nikon D90's 720p videos.
<full><![CDATA[Sharp lines in videos from the Nikon D90 show steps each 8th or 9th line, assumedly
due to poor downsampling. These can be smoothed out with this filter if they become too annoying.]]></full>
Sharp lines in videos from the Nikon D90 show steps each 8th or 9th line, assumedly
due to poor downsampling. These can be smoothed out with this filter if they become too annoying.
</description>
<author>Simon A. Eugster (Granjow)</author>
</effect>

View File

@@ -4,8 +4,8 @@
<effect tag="frei0r.lightgraffiti" id="frei0r.lightgraffiti">
<name>Light Graffiti</name>
<description>Light Graffiti effect.
<full><![CDATA[This effect allows one to do Light Painting (i.e. painting with light sources on a photo by keeping the shutter
opened for a while), but for video.]]></full></description>
This effect allows one to do Light Painting (i.e. painting with light sources on a photo by keeping the shutter
opened for a while), but for video.</description>
<author>Simon A. Eugster (Granjow)</author>
<parameter type="animated" name="thresholdBrightness" default="450" min="0" max="765">
<name>Brightness Threshold</name>
@@ -76,8 +76,8 @@
<effect LC_NUMERIC="C" tag="frei0r.lightgraffiti" id="frei0r.lightgraffiti" version="0.2">
<name>Light Graffiti</name>
<description>Light Graffiti effect.
<full><![CDATA[This effect allows to do Light Painting (i.e. painting with light sources on a photo by keeping the shutter
opened for a while), but for video.]]></full></description>
This effect allows to do Light Painting (i.e. painting with light sources on a photo by keeping the shutter
opened for a while), but for video.</description>
<author>Simon A. Eugster (Granjow)</author>
<parameter type="animated" name="thresholdBrightness" default="0.588235294117647" min="0" max="765" factor="765">
<name>Brightness Threshold</name>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="frei0r.posterize" id="frei0r.posterize">
<name>Posterize</name>
<description>Posterizes image by reducing the number of colors used in image</description>
<author>Janne Liljeblad</author>
<parameter type="animated" name="0" default="0.104167" min="0" max="1000" factor="1000">
<name>Levels</name>
<comment>Number of (color) values per channel</comment>
</parameter>
</effect>

View File

@@ -4,69 +4,90 @@
<name>Oscilloscope (Advanced)</name>
<description>2D video oscilloscope</description>
<author>Marko Cebokli</author>
<parameter type="animated" name="X" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="X" default="0.5" min="0" max="%width" factor="%width">
<name>X</name>
<comment><![CDATA[X coordinate of the profile]]></comment>
</parameter>
<parameter type="animated" name="Y" default="0.5" min="0" max="1000" factor="1000">
<parameter type="animated" name="Y" default="0.5" min="0" max="%height" factor="%height">
<name>Y</name>
<comment><![CDATA[Y coordinate of the profile]]></comment>
</parameter>
<parameter type="animated" name="Tilt" default="0.5" min="0" max="1000" factor="1000">
<name>Tilt</name>
<comment><![CDATA[Tilting of the profile]]></comment>
</parameter>
<parameter type="animated" name="Length" default="0.65" min="0" max="1000" factor="1000">
<parameter type="animated" name="Length" default="0.5" min="0" max="%width" factor="%width">
<name>Length</name>
<comment><![CDATA[Length of the profile in pixel]]></comment>
</parameter>
<parameter type="list" name="Channel" default="0.5" paramlist="0;0.2;0.4;0.5;0.6;0.8;1">
<paramlistdisplay>R,G,B,Y',Pr,Pb,Alpha</paramlistdisplay>
<name>Channel</name>
<comment><![CDATA[Channel to numerically display]]></comment>
</parameter>
<parameter type="animated" name="Marker 1" default="0" min="0" max="1000" factor="1000">
<parameter type="animated" name="Marker 1" default="0" min="0" max="%width" factor="%width">
<name>Marker 1</name>
<comment><![CDATA[Position of marker 1]]></comment>
</parameter>
<parameter type="animated" name="Marker 2" default="0" min="0" max="1000" factor="1000">
<parameter type="animated" name="Marker 2" default="0" min="0" max="%width" factor="%width">
<name>Marker 2</name>
<comment><![CDATA[Position of marker 2]]></comment>
</parameter>
<parameter type="bool" name="R trace" default="1">
<name>R trace</name>
<comment><![CDATA[Show R trace (red) on scope]]></comment>
</parameter>
<parameter type="bool" name="G trace" default="1">
<name>G trace</name>
<comment><![CDATA[Show G trace (green) on scope]]></comment>
</parameter>
<parameter type="bool" name="B trace" default="1">
<name>B trace</name>
<comment><![CDATA[Show B trace (blue) on scope]]></comment>
</parameter>
<parameter type="bool" name="Y trace" default="0">
<name>Y trace</name>
<comment><![CDATA[Show Y trace (luma) on scope]]></comment>
</parameter>
<parameter type="bool" name="Pr trace" default="0">
<name>Pr trace</name>
<comment><![CDATA[Show Pr trace (red-difference) on scope]]></comment>
</parameter>
<parameter type="bool" name="Pb trace" default="0">
<name>Pb trace</name>
<comment><![CDATA[Show Pb trace (blue_difference) on scope]]></comment>
</parameter>
<parameter type="bool" name="Alpha trace" default="0">
<name>Alpha trace</name>
<comment><![CDATA[Show Alpha trace on scope]]></comment>
</parameter>
<parameter type="bool" name="Display average" default="1">
<name>Display average</name>
<comment><![CDATA[Show average on scope]]></comment>
</parameter>
<parameter type="bool" name="Display RMS" default="1">
<name>Display RMS</name>
<comment><![CDATA[Show RMS (root mean square) on scope]]></comment>
</parameter>
<parameter type="bool" name="Display minimum" default="0">
<name>Display minimum</name>
<comment><![CDATA[Show minimum on scope]]></comment>
</parameter>
<parameter type="bool" name="Display maximum" default="0">
<name>Display maximum</name>
<comment><![CDATA[Show maximum on scope]]></comment>
</parameter>
<parameter type="bool" name="256 scale" default="0">
<name>256 scale</name>
<comment><![CDATA[Use a scale of 0-255 instead of 0.0-1.0]]></comment>
</parameter>
<parameter type="list" name="Color" default="0" paramlist="0;1">
<paramlistdisplay>CCIR rec. 601,CCIR rec. 709</paramlistdisplay>
<name>Color</name>
<name>Color encoding</name>
<comment><![CDATA[Select between interlaced (601) or progressive (709)]]></comment>
</parameter>
<parameter type="animated" name="Crosshair color" default="0" min="0" max="7" factor="7">
<parameter type="animated" name="Crosshair color" default="0" min="0" max="1000" factor="1000">
<name>Crosshair color</name>
<comment><![CDATA[Choose a color for the crosshair/profile line]]></comment>
</parameter>
</effect>

View File

@@ -13,10 +13,10 @@
<parameter type="color" name="White color" default="0xffffffff">
<name>White color</name>
</parameter>
<parameter type="bool" name="Split preview" default="0">
<parameter type="fixed" name="Split preview" default="0">
<name>Split screen preview</name>
</parameter>
<parameter type="bool" name="Source image on left side" default="1">
<parameter type="fixed" name="Source image on left side" default="0">
<name>Source image on left side</name>
</parameter>
</effect>

View File

@@ -183,7 +183,7 @@ but if changing <em>Legend unit</em> to feet it will mean 10 feet).]]></comment>
</parameter>
<parameter type="fixed" name="auto_gps_offset_now">
<name>Auto offset now</name>
<comment>Provides a helper offset to sync the first GPS point to current video time (it is updated every second). Correctly sets the offset if you video record the moment GPS starts.</comment>
<comment>Provides a helper offset to sync the first GPS point to current video time (it is updated every second). Correctly sets the offset if your video record the moment GPS starts.</comment>
</parameter>
<parameter type="fixed" name="map_coords_hint">
<name>Map hint</name>

View File

@@ -7,10 +7,10 @@
<parameter type="fixed" name="filter" value="shape">
<name>Filter</name>
</parameter>
<parameter type="url" name="filter.resource" filter="Video files (*)">
<parameter type="urllist" paramlist="%maskPaths" name="filter.resource" filter="Video files (*)">
<name>Image or video resource</name>
</parameter>
<parameter type="constant" name="filter.mix" max="100" min="0" default="100" suffix="%">
<parameter type="keyframe" name="filter.mix" max="100" min="0" default="70" suffix="%" relative="true">
<name>Threshold</name>
<comment>Convert alpha or luma values below this level as opaque and above this level as transparent. This is mostly useful for luma wipe images.</comment>
</parameter>
@@ -20,7 +20,7 @@
</parameter>
<parameter type="bool" name="filter.invert" default="0" min="0" max="1">
<name>Invert</name>
<comment>Use the inverse of the alpha or luma value.</comment>
<comment>Use the inverse of the alpha channel.</comment>
</parameter>
<parameter type="bool" name="filter.use_luminance" default="0" min="0" max="1">
<name>Use Luma</name>
@@ -30,5 +30,13 @@
<name>Use Threshold</name>
<comment>Whether to apply a threshold filter to the luma or alpha or not. If not, luma or alpha value of the resource (File) is copied to the alpha channel.</comment>
</parameter>
<parameter type="position" name="in" default="%in" min="0" max="1000000">
<name>Offset</name>
<comment>Start position for the mask file.</comment>
</parameter>
<parameter type="position" name="out" default="-1" min="-1" max="1000000">
<name>Out</name>
<comment>End position for the mask file.</comment>
</parameter>
<parameter type="fixed" name="filter.audio_match" default="0" />
</effect>

View File

@@ -7,7 +7,7 @@
<parameter type="animatedrect" name="rect" default="adjustcenter" fixed="1" opacity="false">
<name>Rectangle</name>
</parameter>
<parameter type="constant" name="blur" max="50" min="0" default="4" suffix="%">
<parameter type="keyframe" name="blur" max="50" min="0" default="4" suffix="%">
<name>Blur</name>
</parameter>
</effect>

View File

@@ -8,7 +8,7 @@
<parameter type="animatedrect" name="rect" default="0 0 %width %height 1">
<name>Rectangle</name>
</parameter>
<parameter type="animated" name="rotation" max="360" min="-360" default="0" notintimeline="1">
<parameter type="animated" name="rotation" max="360" min="-360" default="0" decimals="2" notintimeline="1">
<name>Rotation</name>
</parameter>
<parameter type="list" name="compositing" default="0" paramlist="0;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;6;8">
@@ -36,7 +36,7 @@
<parameter type="animatedrect" name="rect" default="0 0 %width %height 1">
<name>Rectangle</name>
</parameter>
<parameter type="animated" name="rotation" max="360" min="-360" default="0" notintimeline="1" suffix="°" compact="1">
<parameter type="animated" name="rotation" max="360" min="-360" default="0" decimals="2" notintimeline="1" suffix="°" compact="1">
<name>Rotation</name>
</parameter>
</effect>

View File

@@ -0,0 +1,55 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="affine" id="3wayrotate">
<name context="Affine Transform Effect Name">3-way Rotate</name>
<description>Rotate clip in any 3 directions</description>
<author>Charles Yates</author>
<parameter type="fixed" name="transition.keyed" max="1" min="1" default="1">
</parameter>
<parameter type="bool" name="transition.repeat_off" default="1">
<name>Disable repeat</name>
<comment><![CDATA[When animating properties with keyframes,<br>
whether to repeat the animation after it reaches the last key frame.]]></comment>
</parameter>
<parameter type="bool" name="transition.mirror_off" default="1">
<name>Disable mirror</name>
<comment><![CDATA[When animating properties with keyframes and <em>Disable repeat</em> is off,<br>
whether the animation alternates between reverses and forwards for each repetition.]]></comment>
</parameter>
<parameter type="bool" name="transition.invert_scale" default="1">
<name>Invert scale</name>
<comment><![CDATA[Whether to invert the <em>Scale X</em> and <em>Scale Y</em> values.<br>
This is helpful to make animation interpolation sane because otherwise the scale values do not animate linearly.]]></comment>
</parameter>
<parameter type="animated" name="transition.rotate_x" max="360" min="-360" default="0" decimals="2" suffix="°" notintimeline="1">
<name>Rotate X</name>
<comment><![CDATA[Angle of rotation along the X axis]]></comment>
</parameter>
<parameter type="animated" name="transition.rotate_y" max="360" min="-360" default="0" decimals="2" suffix="°" notintimeline="1">
<name>Rotate Y</name>
<comment><![CDATA[Angle of rotation along the Y axis]]></comment>
</parameter>
<parameter type="animated" name="transition.rotate_z" max="360" min="-360" default="0" decimals="2" suffix="°" notintimeline="1">
<name>Rotate Z</name>
<comment><![CDATA[Angle of rotation along the Z axis]]></comment>
</parameter>
<parameter type="animated" name="transition.ox" max="%width" min="-%width" default="0" notintimeline="1">
<name>Offset X</name>
<comment><![CDATA[Offset along the X axis]]></comment>
</parameter>
<parameter type="animated" name="transition.oy" max="%height" min="-%height" default="0" notintimeline="1">
<name>Offset Y</name>
<comment><![CDATA[Offset along the Y axis]]></comment>
</parameter>
<parameter type="color" name="producer.resource" default="0x00000000" alpha="1">
<name>Background Color</name>
</parameter>
<parameter type="animated" name="transition.scale_x" max="10" min="0" default="1" decimals="2" notintimeline="1">
<name>Scale X</name>
<comment><![CDATA[Scale factor applied to the X axis]]></comment>
</parameter>
<parameter type="animated" name="transition.scale_y" max="10" min="0" default="1" decimals="2" notintimeline="1">
<name>Scale Y</name>
<comment><![CDATA[Scale factor applied to the Y axis]]></comment>
</parameter>
</effect>

View File

@@ -1,16 +1,16 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="affine" id="affine">
<name>Rotate and Shear</name>
<name>Rotate and Shear (deprecated)</name>
<description>Rotate clip in any 3 directions</description>
<author>Charles Yates</author>
<parameter type="constant" name="transition.fix_rotate_x" max="1800" min="-1800" default="0" factor="10">
<parameter type="keyframe" name="transition.fix_rotate_x" max="1800" min="-1800" default="0" factor="10">
<name>Rotate X</name>
</parameter>
<parameter type="constant" name="transition.fix_rotate_y" max="1800" min="-1800" default="0" factor="10">
<parameter type="keyframe" name="transition.fix_rotate_y" max="1800" min="-1800" default="0" factor="10">
<name>Rotate Y</name>
</parameter>
<parameter type="constant" name="transition.fix_rotate_z" max="1800" min="-1800" default="0" factor="10">
<parameter type="keyframe" name="transition.fix_rotate_z" max="1800" min="-1800" default="0" factor="10">
<name>Rotate Z</name>
</parameter>
<parameter type="constant" name="transition.rotate_x" max="200" min="-200" default="0" factor="10">
@@ -22,10 +22,10 @@
<parameter type="constant" name="transition.rotate_z" max="200" min="-200" default="0" factor="10">
<name>Animate Rotate Z</name>
</parameter>
<parameter type="constant" name="transition.fix_shear_x" max="1800" min="-1800" default="0" factor="10">
<parameter type="keyframe" name="transition.fix_shear_x" max="1800" min="-1800" default="0" factor="10">
<name>Shear X</name>
</parameter>
<parameter type="constant" name="transition.fix_shear_y" max="1800" min="-1800" default="0" factor="10">
<parameter type="keyframe" name="transition.fix_shear_y" max="1800" min="-1800" default="0" factor="10">
<name>Shear Y</name>
</parameter>
<parameter type="constant" name="transition.shear_x" max="200" min="-200" default="0" factor="10">

View File

@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="affine" id="affinerotate">
<name>Rotate (keyframable)</name>
<name>Rotate (deprecated)</name>
<description>Rotate clip in any 3 directions</description>
<author>Charles Yates</author>
<parameter type="simplekeyframe" name="transition.rotate_x" max="1800" min="-1800" default="0" factor="10">

View File

@@ -4,10 +4,10 @@
<name context="Sepia Effect Name">Sepia</name>
<description>Turn clip colors to sepia</description>
<author>Charles Yates</author>
<parameter type="constant" name="u" max="255" min="0" default="75">
<parameter type="keyframe" name="u" max="255" min="0" default="75">
<name>Chrominance U</name>
</parameter>
<parameter type="constant" name="v" max="255" min="0" default="150">
<parameter type="keyframe" name="v" max="255" min="0" default="150">
<name>Chrominance V</name>
</parameter>
</effect>

View File

@@ -4,10 +4,10 @@
<name>Shape Alpha</name>
<description>Create an alpha channel (transparency) based on another resource</description>
<author>Charles Yates</author>
<parameter type="url" name="resource" filter="Video files (*)">
<parameter type="urllist" paramlist="%maskPaths" name="resource" filter="Video files (*)">
<name>Image or video resource</name>
</parameter>
<parameter type="constant" name="mix" max="100" min="0" default="100" suffix="%">
<parameter type="keyframe" name="mix" max="100" min="0" default="100" suffix="%" relative="true">
<name>Threshold</name>
<comment>Convert alpha or luma values below this level as opaque and above this level as transparent. This is mostly useful for luma wipe images.</comment>
</parameter>
@@ -17,7 +17,7 @@
</parameter>
<parameter type="bool" name="invert" default="0" min="0" max="1">
<name>Invert</name>
<comment>Use the inverse of the alpha or luma value.</comment>
<comment>Use the inverse of the alpha channel.</comment>
</parameter>
<parameter type="bool" name="use_luminance" default="0" min="0" max="1">
<name>Use Luma</name>
@@ -27,5 +27,13 @@
<name>Use Threshold</name>
<comment>Whether to apply a threshold filter to the luma or alpha or not. If not, luma or alpha value of the resource (File) is copied to the alpha channel.</comment>
</parameter>
<parameter type="position" name="in" default="%in" min="0" max="1000000">
<name>Offset</name>
<comment>Start position for the mask file.</comment>
</parameter>
<parameter type="position" name="out" default="-1" min="-1" max="1000000">
<name>Out</name>
<comment>End position for the mask file.</comment>
</parameter>
<parameter type="fixed" name="audio_match" default="0" />
</effect>

52
data/effects/shear.xml Normal file
View File

@@ -0,0 +1,52 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="affine" id="affineshear">
<name context="Affine Transform Effect Name">Shear</name>
<description>Shear a clip along the 3 axes</description>
<author>Charles Yates</author>
<parameter type="fixed" name="keyed" default="1">
</parameter>
<parameter type="bool" name="transition.repeat_off" default="1">
<name>Disable repeat</name>
<comment><![CDATA[When animating properties with keyframes,<br>
whether to repeat the animation after it reaches the last key frame.]]></comment>
</parameter>
<parameter type="bool" name="transition.mirror_off" default="1">
<name>Disable mirror</name>
<comment><![CDATA[When animating properties with keyframes and <em>Disable repeat</em> is off,<br>
whether the animation alternates between reverses and forwards for each repetition.]]></comment>
</parameter>
<parameter type="bool" name="transition.invert_scale" default="1">
<name>Invert scale</name>
<comment><![CDATA[Whether to invert the <em>Scale X</em> and <em>Scale Y</em> values.<br>
This is helpful to make animation interpolation sane because otherwise the scale values do not animate linearly.]]></comment>
</parameter>
<parameter type="animated" name="transition.fix_shear_x" max="360" min="-360" default="0" decimals="1" notintimeline="1" suffix="°">
<name>Shear X</name>
<comment><![CDATA[Shear angle around the X axis]]></comment>
</parameter>
<parameter type="animated" name="transition.fix_shear_y" max="360" min="-360" default="0" decimals="1" notintimeline="1" suffix="°">
<name>Shear Y</name>
<comment><![CDATA[Shear angle around the Y axis]]></comment>
</parameter>
<parameter type="animated" name="transition.fix_shear_z" max="360" min="-360" default="0" decimals="1" notintimeline="1" suffix="°">
<name>Shear Z</name>
<comment><![CDATA[Shear angle around the Z axis]]></comment>
</parameter>
<parameter type="animated" name="transition.ox" max="%width" min="-%width" default="0" factor="-1" notintimeline="1">
<name>Offset X</name>
<comment><![CDATA[Offset along the X axis]]></comment>
</parameter>
<parameter type="animated" name="transition.oy" max="%height" min="-%height" default="0" notintimeline="1">
<name>Offset Y</name>
<comment><![CDATA[Offset along Y axis]]></comment>
</parameter>
<parameter type="animated" name="transition.scale_x" max="10" min="0" default="1" decimals="2" notintimeline="1">
<name>Scale X</name>
<comment><![CDATA[Scale factor applied to the X axis]]></comment>
</parameter>
<parameter type="animated" name="transition.scale_y" max="10" min="0" default="1" decimals="2" notintimeline="1">
<name>Scale Y</name>
<comment><![CDATA[Scale factor applied to the Y axis]]></comment>
</parameter>
</effect>

15
data/effects/strobe.xml Normal file
View File

@@ -0,0 +1,15 @@
<?xml version="1.0"?>
<!DOCTYPE kpartgui>
<effect tag="strobe" id="strobe">
<name>Alpha strobing</name>
<description>Strobes the alpha channel to 0. Many other filters overwrite the alpha channel, in that case this needs to be last.</description>
<author> Martin Sandsmark</author>
<parameter type="bool" name="strobe_invert" default="0" min="0" max="1">
<name>Invert</name>
<comment>Whether to invert which frames are on and which is off</comment>
</parameter>
<parameter type="keyframe" name="interval" max="100" min="1" default="1">
<name>Interval</name>
<comment>Duration of strobe</comment>
</parameter>
</effect>

View File

@@ -6,19 +6,22 @@ MPEG=qscale=4 ab=192k vcodec=mpeg2video acodec=mp2 threads=%threads;mpg
[proxy]
# proxy settings should be FFmpeg type parameters, like: -vcodec libx264
x264=-vf scale=%width:-2 -vcodec libx264 -g 1 -bf 0 -vb 0 -crf 20 -preset veryfast -acodec aac -ab 128k;mov
x264-vaapi=-init_hw_device vaapi=vaapi0: -filter_hw_device vaapi0 -i -vf scale=%width:-2,format=nv12,hwupload -codec:v h264_vaapi -g 1 -bf 0 -qp 26 -acodec ac3 -ab 128k;mov
x264-amf=-f mp4 -codec:v h264_amf -g 1 -bf 0 -qp 26 -acodec ac3 -ab 128k;mp4
x264-qsv=-f mp4 -codec:v h264_qsv -g 1 -bf 0 -qp 26 -acodec ac3 -ab 128k;mp4
x264-videotoolbox=-f mp4 -codec:v h264_videotoolbox -g 1 -bf 0 -qp 26 -acodec ac3 -ab 128k;mp4
x264-vaapi-scale=-hwaccel vaapi -hwaccel_output_format vaapi -i -vf scale_vaapi=w=%width:h=-2:format=nv12,hwupload -codec:v h264_vaapi -g 1 -bf 0 -qp 26 -acodec ac3 -ab 128k;mov
x264-nvenc=-vsync 0 -c:v %nvcodec -resize %frameSize -i -vcodec h264_nvenc -g 2 -bf 0 -acodec copy;mov
MPEG2=-vf scale=%width:-2 -g 1 -bf 0 -vb 0 -qscale 6 -ab 128k -vcodec mpeg2video -acodec ac3;mpg
MJPEG=-vf yadif,scale=%width:-2 -qscale 3 -vcodec mjpeg -acodec pcm_s16le;mkv
MJPEG-vaapi=-init_hw_device vaapi=vaapi0:,connection_type=x11 -filter_hw_device vaapi0 -vf format=nv12,hwupload -codec:v mjpeg_vaapi -codec:a copy;mkv
ProRes=-vf scale=%width:-2 -vcodec prores_ks -vb 0 -g 1 -bf 0 -vprofile 0 -vendor ap10 -qscale 11;mov
NVENC H264=-vcodec h264_nvenc -vb 30000k -rc cbr -acodec aac -ab 192k;mp4
NVENC H265=-vcodec hevc_nvenc -vb 30000k -acodec aac -ab 192k;mp4
x264=-vf scale=%width:-2 -vsync 1 -c:v libx264 -g 1 -bf 0 -vb 0 -crf 20 -preset veryfast -c:a aac -ab 128k;mov
x264-vaapi=-init_hw_device vaapi=vaapi0: -filter_hw_device vaapi0 -i -vf scale=%width:-2,format=nv12,hwupload -vsync 1 -c:v h264_vaapi -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mov
x264-amf=-f mp4 -vsync 1 -c:v h264_amf -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
x264-qsv=-f mp4 -vsync 1 -c:v h264_qsv -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
x264-videotoolbox=-f mp4 -vsync 1 -c:v h264_videotoolbox -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mp4
x264-vaapi-scale=-hwaccel vaapi -hwaccel_output_format vaapi -i -vf scale_vaapi=w=%width:h=-2:format=nv12,hwupload -vsync 1 -c:v h264_vaapi -g 1 -bf 0 -qp 26 -c:a aac -ab 128k;mov
x264-nvenc=-vsync 1 -c:v %nvcodec -resize %frameSize -i -c:v h264_nvenc -g 2 -bf 0 -c:a aac -ab 128k;mov
MPEG2=-vf scale=%width:-2 -g 1 -bf 0 -vb 0 -qscale 6 -ab 128k -c:v mpeg2video -c:a ac3;mpg
MJPEG=-vf yadif,scale=%width:-2 -qscale 3 -c:v mjpeg -c:a pcm_s16le;mkv
MJPEG-vaapi=-init_hw_device vaapi=vaapi0:,connection_type=x11 -filter_hw_device vaapi0 -vf format=nv12,hwupload -c:v mjpeg_vaapi -codec:a copy;mkv
ProRes=-vf scale=%width:-2 -c:v prores_ks -vb 0 -g 1 -bf 0 -vprofile 0 -vendor ap10 -qscale 11;mov
NVENC H264=-vsync 1 -c:v h264_nvenc -vb 30000k -rc cbr -c:a aac -ab 128k;mp4
NVENC H265=-c:v hevc_nvenc -vb 30000k -c:a aac -ab 128k;mp4
[proxy-alpha]
FFV1=-vf scale=%width:-2 -f mov -vcodec ffv1 -pix_fmt bgra -c:a aac -ab 128k;mkv
[screengrab]
# proxy settings should be FFmpeg type parameters, like: -vcodec libx264

View File

@@ -13,7 +13,7 @@
<paramlistdisplay>Seconds to 0,Seconds to 1,Frames,Timecode,Clock</paramlistdisplay>
<name>Counter Style</name>
</parameter>
<parameter type="list" name="sound" default="silent" paramlist="silent;2pop;frame0">
<parameter type="list" name="sound" default="silent" paramlist="silent;2pop;frame0" audio="2pop;frame0">
<paramlistdisplay>Silent,1kHz beep before end,1kHz beep each second</paramlistdisplay>
<name>Sound</name>
</parameter>

View File

@@ -1,5 +1,5 @@
<!DOCTYPE kpartgui>
<generator tag="noise" id="noise">
<generator tag="noise" id="noise" type="audio;video">
<name>White Noise</name>
<description>White noise producer</description>
<author>Charles Yates</author>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -22,6 +22,7 @@ Comment[fr]=Kdenlive
Comment[ga]=Kdenlive
Comment[gl]=Kdenlive
Comment[he]=Kdenlive
Comment[hi]=केडेनलाइव
Comment[hu]=Kdenlive
Comment[id]=Kdenlive
Comment[it]=Kdenlive
@@ -41,6 +42,7 @@ Comment[pt]=Kdenlive
Comment[pt_BR]=Kdenlive
Comment[ro]=Kdenlive
Comment[ru]=Kdenlive
Comment[sa]=क्डेन्लिव्
Comment[sk]=Kdenlive
Comment[sl]=Kdenlive
Comment[sv]=Kdenlive
@@ -72,6 +74,7 @@ Name[fi]=Renderöinti valmistui
Name[fr]=Rendu terminé
Name[gl]=Rematou a renderización
Name[he]=הצלימה הושלמה
Name[hi]=रेंडरिंग समाप्त
Name[hu]=A renderelés befejeződött
Name[id]=Perenderan selesai
Name[it]=Esportazione terminata
@@ -90,6 +93,7 @@ Name[pt]=A geração terminou
Name[pt_BR]=A renderização terminou
Name[ro]=Randare încheiată
Name[ru]=Сборка завершена
Name[sa]=प्रतिपादनं समाप्तम्
Name[sk]=Renderovanie ukončené
Name[sl]=Izrisovanje končano
Name[sv]=Återgivning klar
@@ -118,6 +122,7 @@ Comment[fi]=Renderöinti on tehty
Comment[fr]=Le rendu est terminé
Comment[gl]=Rematou a renderización
Comment[he]=הצלימה הסתיימה
Comment[hi]=रेंडरिंग समाप्त हो गया है
Comment[hu]=A renderelésnek vége
Comment[id]=Perenderan telah usai
Comment[it]=L'esportazione è terminata
@@ -136,6 +141,7 @@ Comment[pt]=A geração terminou
Comment[pt_BR]=A renderização foi terminada
Comment[ro]=Randarea s-a încheiat
Comment[ru]=Сборка завершена
Comment[sa]=प्रतिपादनं समाप्तम् अस्ति
Comment[sk]=Renderovanie je skončené
Comment[sl]=Izrisovanje je poteklo
Comment[sv]=Återgivningen är gjord
@@ -167,6 +173,7 @@ Name[fi]=Renderöinti aloitettu
Name[fr]=Rendu démarré
Name[gl]=Comezou a renderización
Name[he]=הצלימה החלה
Name[hi]=रेंडरिंग शुरू हुई
Name[hu]=A renderelés elkezdődött
Name[id]=Perenderan dimulai
Name[it]=Esportazione avviata
@@ -185,6 +192,7 @@ Name[pt]=A geração foi iniciada
Name[pt_BR]=A renderização iniciou
Name[ro]=Randarea începută
Name[ru]=Сборка запущена
Name[sa]=प्रतिपादनं आरब्धम्
Name[sk]=Renderovanie spustené
Name[sl]=Izrisovanje začeto
Name[sv]=Återgivning startad
@@ -213,6 +221,7 @@ Comment[fi]=Renderöinti aloitettiin
Comment[fr]=Le rendu a démarré
Comment[gl]=Comezou a renderización
Comment[he]=הצלימה החלה
Comment[hi]=रेंडरिंग शुरू हो गई
Comment[hu]=A renderelés elkezdődött
Comment[id]=Perenderan telah dimulai
Comment[it]=L'esportazione è stata avviata
@@ -231,6 +240,7 @@ Comment[pt]=A geração foi iniciada
Comment[pt_BR]=A renderização foi iniciada
Comment[ro]=Randarea a început
Comment[ru]=Сборка запущена
Comment[sa]=प्रतिपादनं आरब्धम् आसीत्
Comment[sk]=Renderovanie bolo spustené
Comment[sl]=Izrisovanje se je začelo
Comment[sv]=Återgivningen har startats
@@ -262,6 +272,7 @@ Name[fi]=Ruutu kaapattu
Name[fr]=Cadre capturé
Name[gl]=Fotograma capturado
Name[he]=התמונית נלכדה
Name[hi]=फ़्रेम कैप्चर किया गया
Name[hu]=Képkocka rögzítve
Name[id]=Frame ditangkap
Name[it]=Fotogramma acquisito
@@ -280,6 +291,7 @@ Name[pt]=Imagem capturada
Name[pt_BR]=Imagem capturada
Name[ro]=Cadru captat
Name[ru]=Кадр получен
Name[sa]=फ्रेमः गृहीतः
Name[sk]=Snímka zachytená
Name[sl]=Sličica zajeta
Name[sv]=Ram lagrad
@@ -308,6 +320,7 @@ Comment[fi]=Ruutu kaapattiin levylle
Comment[fr]=Un cadre a été capturé sur le disque
Comment[gl]=Capturouse un fotograma para o disco
Comment[he]=תמונית נלכדה לכונן
Comment[hi]=एक फ्रेम डिस्क पर कैप्चर किया गया
Comment[hu]=Egy képkocka rögzítésre került a lemezre
Comment[id]=Sebuah frame telah ditangkap ke disk
Comment[it]=È stato acquisito un fotogramma sul disco
@@ -326,6 +339,7 @@ Comment[pt]=Foi capturada uma imagem para o disco
Comment[pt_BR]=Foi capturada uma imagem para o disco
Comment[ro]=Un cadru a fost captat pe disc
Comment[ru]=Выполнен захват кадра с сохранением на диск
Comment[sa]=एकः फ्रेमः डिस्कं प्रति गृहीतः आसीत्
Comment[sk]=Snímka bola uložená na disk
Comment[sl]=Sličica je bila zajeta na disk
Comment[sv]=En ram har lagrats på disk
@@ -358,6 +372,7 @@ Name[fi]=Valmiina kaappaamaan
Name[fr]=Prêt pour la capture
Name[gl]=Listo para a captura
Name[he]=בהמתנה ללכידה
Name[hi]=कब्जा करने के लिए तैयार
Name[hu]=Kezdődhet a rögzítés
Name[id]=Siap menangkap
Name[it]=Pronto per la registrazione
@@ -376,6 +391,7 @@ Name[pt]=Pronto para capturar
Name[pt_BR]=Pronto para capturar
Name[ro]=Gata de captare
Name[ru]=Готов к захвату
Name[sa]=गृहीतुं सज्जः
Name[sk]=Pripravené na zachytenie
Name[sl]=Pripravljen na zajem
Name[sv]=Klar att lagra
@@ -410,6 +426,7 @@ Name[fr]=Erreur
Name[ga]=Earráid
Name[gl]=Erro
Name[he]=שגיאה
Name[hi]=गलती
Name[hu]=Hiba
Name[id]=Kesalahan
Name[it]=Errore
@@ -429,6 +446,7 @@ Name[pt]=Erro
Name[pt_BR]=Erro
Name[ro]=Eroare
Name[ru]=Ошибка
Name[sa]=त्रुटि
Name[sk]=Chyba
Name[sl]=Napaka
Name[sv]=Fel
@@ -459,6 +477,7 @@ Comment[fr]=Une erreur est survenue dans Kdenlive
Comment[ga]=Tharla earráid in Kdenlive
Comment[gl]=Produciuse un erro en Kdenlive
Comment[he]=אירעה שגיאה ב־Kdenlive
Comment[hi]=Kdenlive में एक त्रुटि घटित हुई
Comment[hu]=Hiba történt a Kdenlive-ban
Comment[id]=Sebuah kesalahan terjadi di Kdenlive
Comment[it]=Si è verificato un errore in Kdenlive
@@ -477,6 +496,7 @@ Comment[pt]=Ocorreu um erro no Kdenlive
Comment[pt_BR]=Ocorreu um erro no Kdenlive
Comment[ro]=În Kdenlive a intervenit o eroare
Comment[ru]=В Kdenlive произошла ошибка
Comment[sa]=Kdenlive इत्यत्र त्रुटिः अभवत्
Comment[sk]=Nastala chyba v Kdenlive
Comment[sl]=V Kdenlive je prišlo do napake
Comment[sv]=Ett fel uppstod i Kdenlive
@@ -491,7 +511,7 @@ Action=Sound
[Event/SaveSuccess]
Name=Saving successful
Name[ar]=نحج الحفظ
Name[ar]=نجح الحفظ
Name[ca]=S'ha desat correctament
Name[ca@valencia]=S'ha guardat correctament
Name[cs]=Ukládání bylo úspěšné
@@ -503,6 +523,7 @@ Name[fi]=Tallennus onnistui
Name[fr]=Enregistrement effectué avec succès
Name[gl]=Completouse a garda
Name[he]=השמירה הצליחה
Name[hi]=सहेजना सफल रहा
Name[hu]=A mentés sikeres
Name[it]=Salvataggio riuscito
Name[ja]=保存に成功
@@ -512,6 +533,7 @@ Name[nl]=Opslaan is gelukt
Name[pl]=Pomyślne zapisano
Name[pt_BR]=Salvo com sucesso
Name[ru]=Успешное сохранение
Name[sa]=रक्षणं सफलम्
Name[sl]=Shranjevanje je uspelo
Name[sv]=Spara lyckades
Name[tok]=awen li pona

View File

@@ -22,6 +22,7 @@ Comment[fr]=Kdenlive
Comment[ga]=Kdenlive
Comment[gl]=Kdenlive
Comment[he]=Kdenlive
Comment[hi]=केडेनलाइव
Comment[hu]=Kdenlive
Comment[id]=Kdenlive
Comment[it]=Kdenlive
@@ -41,6 +42,7 @@ Comment[pt]=Kdenlive
Comment[pt_BR]=Kdenlive
Comment[ro]=Kdenlive
Comment[ru]=Kdenlive
Comment[sa]=क्डेन्लिव्
Comment[sk]=Kdenlive
Comment[sl]=Kdenlive
Comment[sv]=Kdenlive
@@ -72,6 +74,7 @@ Name[fi]=Renderöinti valmistui
Name[fr]=Rendu terminé
Name[gl]=Rematou a renderización
Name[he]=הצלימה הושלמה
Name[hi]=रेंडरिंग समाप्त
Name[hu]=A renderelés befejeződött
Name[id]=Perenderan selesai
Name[it]=Esportazione terminata
@@ -90,6 +93,7 @@ Name[pt]=A geração terminou
Name[pt_BR]=A renderização terminou
Name[ro]=Randare încheiată
Name[ru]=Сборка завершена
Name[sa]=प्रतिपादनं समाप्तम्
Name[sk]=Renderovanie ukončené
Name[sl]=Izrisovanje končano
Name[sv]=Återgivning klar
@@ -118,6 +122,7 @@ Comment[fi]=Renderöinti on tehty
Comment[fr]=Le rendu est terminé
Comment[gl]=Rematou a renderización
Comment[he]=הצלימה הסתיימה
Comment[hi]=रेंडरिंग समाप्त हो गया है
Comment[hu]=A renderelésnek vége
Comment[id]=Perenderan telah usai
Comment[it]=L'esportazione è terminata
@@ -136,6 +141,7 @@ Comment[pt]=A geração terminou
Comment[pt_BR]=A renderização foi terminada
Comment[ro]=Randarea s-a încheiat
Comment[ru]=Сборка завершена
Comment[sa]=प्रतिपादनं समाप्तम् अस्ति
Comment[sk]=Renderovanie je skončené
Comment[sl]=Izrisovanje je poteklo
Comment[sv]=Återgivningen är gjord
@@ -167,6 +173,7 @@ Name[fi]=Renderöinti aloitettu
Name[fr]=Rendu démarré
Name[gl]=Comezou a renderización
Name[he]=הצלימה החלה
Name[hi]=रेंडरिंग शुरू हुई
Name[hu]=A renderelés elkezdődött
Name[id]=Perenderan dimulai
Name[it]=Esportazione avviata
@@ -185,6 +192,7 @@ Name[pt]=A geração foi iniciada
Name[pt_BR]=A renderização iniciou
Name[ro]=Randarea începută
Name[ru]=Сборка запущена
Name[sa]=प्रतिपादनं आरब्धम्
Name[sk]=Renderovanie spustené
Name[sl]=Izrisovanje začeto
Name[sv]=Återgivning startad
@@ -213,6 +221,7 @@ Comment[fi]=Renderöinti aloitettiin
Comment[fr]=Le rendu a démarré
Comment[gl]=Comezou a renderización
Comment[he]=הצלימה החלה
Comment[hi]=रेंडरिंग शुरू हो गई
Comment[hu]=A renderelés elkezdődött
Comment[id]=Perenderan telah dimulai
Comment[it]=L'esportazione è stata avviata
@@ -231,6 +240,7 @@ Comment[pt]=A geração foi iniciada
Comment[pt_BR]=A renderização foi iniciada
Comment[ro]=Randarea a început
Comment[ru]=Сборка запущена
Comment[sa]=प्रतिपादनं आरब्धम् आसीत्
Comment[sk]=Renderovanie bolo spustené
Comment[sl]=Izrisovanje se je začelo
Comment[sv]=Återgivningen har startats
@@ -262,6 +272,7 @@ Name[fi]=Ruutu kaapattu
Name[fr]=Cadre capturé
Name[gl]=Fotograma capturado
Name[he]=התמונית נלכדה
Name[hi]=फ़्रेम कैप्चर किया गया
Name[hu]=Képkocka rögzítve
Name[id]=Frame ditangkap
Name[it]=Fotogramma acquisito
@@ -280,6 +291,7 @@ Name[pt]=Imagem capturada
Name[pt_BR]=Imagem capturada
Name[ro]=Cadru captat
Name[ru]=Кадр получен
Name[sa]=फ्रेमः गृहीतः
Name[sk]=Snímka zachytená
Name[sl]=Sličica zajeta
Name[sv]=Ram lagrad
@@ -308,6 +320,7 @@ Comment[fi]=Ruutu kaapattiin levylle
Comment[fr]=Un cadre a été capturé sur le disque
Comment[gl]=Capturouse un fotograma para o disco
Comment[he]=תמונית נלכדה לכונן
Comment[hi]=एक फ्रेम डिस्क पर कैप्चर किया गया
Comment[hu]=Egy képkocka rögzítésre került a lemezre
Comment[id]=Sebuah frame telah ditangkap ke disk
Comment[it]=È stato acquisito un fotogramma sul disco
@@ -326,6 +339,7 @@ Comment[pt]=Foi capturada uma imagem para o disco
Comment[pt_BR]=Foi capturada uma imagem para o disco
Comment[ro]=Un cadru a fost captat pe disc
Comment[ru]=Выполнен захват кадра с сохранением на диск
Comment[sa]=एकः फ्रेमः डिस्कं प्रति गृहीतः आसीत्
Comment[sk]=Snímka bola uložená na disk
Comment[sl]=Sličica je bila zajeta na disk
Comment[sv]=En ram har lagrats på disk
@@ -358,6 +372,7 @@ Name[fi]=Valmiina kaappaamaan
Name[fr]=Prêt pour la capture
Name[gl]=Listo para a captura
Name[he]=בהמתנה ללכידה
Name[hi]=कब्जा करने के लिए तैयार
Name[hu]=Kezdődhet a rögzítés
Name[id]=Siap menangkap
Name[it]=Pronto per la registrazione
@@ -376,6 +391,7 @@ Name[pt]=Pronto para capturar
Name[pt_BR]=Pronto para capturar
Name[ro]=Gata de captare
Name[ru]=Готов к захвату
Name[sa]=गृहीतुं सज्जः
Name[sk]=Pripravené na zachytenie
Name[sl]=Pripravljen na zajem
Name[sv]=Klar att lagra
@@ -410,6 +426,7 @@ Name[fr]=Erreur
Name[ga]=Earráid
Name[gl]=Erro
Name[he]=שגיאה
Name[hi]=गलती
Name[hu]=Hiba
Name[id]=Kesalahan
Name[it]=Errore
@@ -429,6 +446,7 @@ Name[pt]=Erro
Name[pt_BR]=Erro
Name[ro]=Eroare
Name[ru]=Ошибка
Name[sa]=त्रुटि
Name[sk]=Chyba
Name[sl]=Napaka
Name[sv]=Fel
@@ -459,6 +477,7 @@ Comment[fr]=Une erreur est survenue dans Kdenlive
Comment[ga]=Tharla earráid in Kdenlive
Comment[gl]=Produciuse un erro en Kdenlive
Comment[he]=אירעה שגיאה ב־Kdenlive
Comment[hi]=Kdenlive में एक त्रुटि घटित हुई
Comment[hu]=Hiba történt a Kdenlive-ban
Comment[id]=Sebuah kesalahan terjadi di Kdenlive
Comment[it]=Si è verificato un errore in Kdenlive
@@ -477,6 +496,7 @@ Comment[pt]=Ocorreu um erro no Kdenlive
Comment[pt_BR]=Ocorreu um erro no Kdenlive
Comment[ro]=În Kdenlive a intervenit o eroare
Comment[ru]=В Kdenlive произошла ошибка
Comment[sa]=Kdenlive इत्यत्र त्रुटिः अभवत्
Comment[sk]=Nastala chyba v Kdenlive
Comment[sl]=V Kdenlive je prišlo do napake
Comment[sv]=Ett fel uppstod i Kdenlive
@@ -487,11 +507,11 @@ Comment[x-test]=xxAn error occurred in Kdenlivexx
Comment[zh_CN]=Kdenlive 发生错误
Comment[zh_TW]=Kdenlive 中發生錯誤
Sound=dialog-error
Action=Sound
Action=Sound|Popup
[Event/SaveSuccess]
Name=Saving successful
Name[ar]=نحج الحفظ
Name[ar]=نجح الحفظ
Name[ca]=S'ha desat correctament
Name[ca@valencia]=S'ha guardat correctament
Name[cs]=Ukládání bylo úspěšné
@@ -503,6 +523,7 @@ Name[fi]=Tallennus onnistui
Name[fr]=Enregistrement effectué avec succès
Name[gl]=Completouse a garda
Name[he]=השמירה הצליחה
Name[hi]=सहेजना सफल रहा
Name[hu]=A mentés sikeres
Name[it]=Salvataggio riuscito
Name[ja]=保存に成功
@@ -512,6 +533,7 @@ Name[nl]=Opslaan is gelukt
Name[pl]=Pomyślne zapisano
Name[pt_BR]=Salvo com sucesso
Name[ru]=Успешное сохранение
Name[sa]=रक्षणं सफलम्
Name[sl]=Shranjevanje je uspelo
Name[sv]=Spara lyckades
Name[tok]=awen li pona

View File

@@ -26,7 +26,7 @@
<text>Generate</text>
</group>
<group list="audiowave,dance,lightshow,audiospectrum,audiowaveform,audiolevelgraph">
<group list="audiowave,dance,lightshow,audiospectrum,audiowaveform,audiolevelgraph" category="master">
<text>On Master</text>
</group>
@@ -134,7 +134,7 @@
<text>Calf Plugins</text>
</group>
<group list="avfilter.dctdnoiz,avfilter.delogo,avfilter.pixscope,avfilter.vaguedenoiser,boxblur,BurningTV,frei0r.cluster,frei0r.dither,frei0r.IIRblur,frei0r.medians,frei0r.rgbnoise,frei0r.sharpness,grain,wave">
<group list="avfilter.dctdnoiz,avfilter.delogo,avfilter.pixscope,avfilter.vaguedenoiser,boxblur,BurningTV,frei0r.cluster,frei0r.dither,frei0r.IIRblur,frei0r.medians,frei0r.rgbnoise,frei0r.sharpness,grain,wave,rotation">
<text>Deprecated</text>
</group>

View File

@@ -14,6 +14,7 @@ Name[fi]=Kdenliven tehostemallit
Name[fr]=Modèles d'effets pour Kdenlive
Name[gl]=Modelos de efectos de Kdenlive
Name[he]=תבניות אפקטים של Kdenlive
Name[hi]=Kdenlive प्रभाव टेम्पलेट्स
Name[hu]=Kdenlive hatássablon
Name[id]=Templat Efek Kdenlive
Name[it]=Modelli di effetto di Kdenlive
@@ -26,6 +27,7 @@ Name[pl]=Szablony efektów Kdenlive
Name[pt]=Modelos de Efeitos do Kdenlive
Name[pt_BR]=Modelos de efeito do Kdenlive
Name[ru]=Шаблоны эффектов Kdenlive
Name[sa]=Kdenlive प्रभाव टेम्पलेट्स
Name[sl]=Predloge učinkov za Kdenlive
Name[sv]=Kdenlive-effektmallar
Name[tok]=lipu sitelen pi ilo Kdenlive

View File

@@ -17,6 +17,7 @@ Name[fi]=Kdenliven näppäimistöteemat
Name[fr]=Raccourcis claviers Kdenlive
Name[gl]=Esquemas de teclado de Kdenlive
Name[he]=ערכות קיצורי מקלדת של Kdenlive
Name[hi]=Kdenlive कीबोर्ड योजनाएं
Name[hu]=Kdenlive billentyűzetséma
Name[id]=Skema Keyboard Kdenlive
Name[it]=Schemi da tastiera di Kdenlive
@@ -30,6 +31,7 @@ Name[pl]=Układy klawiatur Kdenlive
Name[pt]=Esquemas de Teclado do Kdenlive
Name[pt_BR]=Esquemas de teclado do Kdenlive
Name[ru]=Схемы горячих клавиш
Name[sa]=Kdenlive कीबोर्ड योजनाएँ
Name[sk]=Schémy klávesnice Kdenlive
Name[sl]=Sheme tipkovnic Kdenlive
Name[sv]=Kdenlive-tangentbordsinställningar

View File

@@ -14,6 +14,7 @@ Name[fi]=Värien hakutaulukko (LUT)
Name[fr]=Table de recherche de couleurs (LUT « Look-Up Table »)
Name[gl]=Táboa de busca de cores (LUT)
Name[he]=טבלת חיפוש צבעים (LUT)
Name[hi]=रंग लुकअप तालिका (LUT)
Name[hu]=Színkeresési táblázat (LUT)
Name[id]=Tabel Pencarian Warna (LUT)
Name[it]=Tabella di ricerca del colore (LUT)
@@ -26,6 +27,7 @@ Name[pl]=Tablica wyszukiwania barw (LUT)
Name[pt]=Tabela de Pesquisa de Cores (LUT)
Name[pt_BR]=Tabela de consulta de cores (LUT)
Name[ru]=Таблица поиска цвета (LUT)
Name[sa]=रङ्ग-अवलोकन-सारणी (LUT) .
Name[sl]=Barvna iskalna tabela (LUT)
Name[sv]=Färguppslagningstabell (LUT)
Name[tok]=lipu kule (LUT)

View File

@@ -17,6 +17,7 @@ Name[fi]=Kdenliven renderöintiprofiilit
Name[fr]=Profils de rendu Kdenlive
Name[gl]=Perfís de renderización de Kdenlive
Name[he]=פרופילי צלימה של Kdenlive
Name[hi]=Kdenlive रेंडर प्रोफाइल
Name[hu]=Kdenlive renderelési profilok
Name[id]=Profil Render Kdenlive
Name[it]=Profilo di resa di Kdenlive
@@ -30,6 +31,7 @@ Name[pl]=Profile renderowania Kdenlive
Name[pt]=Perfis de Visualização do Kdenlive
Name[pt_BR]=Perfis de visualização do Kdenlive
Name[ru]=Профили сборки Kdenlive
Name[sa]=Kdenlive प्रोफाइल प्रस्तुत करें
Name[sk]=Vykresľovacie profily Kdenline
Name[sl]=Izrisovalni profili za Kdenlive
Name[sv]=Kdenlive-återgivningsprofiler

View File

@@ -17,6 +17,7 @@ Name[fi]=Kdenliven otsikkopohjat
Name[fr]=Modèles de titre Kdenlive
Name[gl]=Modelos de título de Kdenlive
Name[he]=תבניות כותר של Kdenlive
Name[hi]=Kdenlive शीर्षक टेम्पलेट्स
Name[hu]=Kdenlive címsablonok
Name[id]=Templat Judul Kdenlive
Name[it]=Modelli di titolo di Kdenlive
@@ -30,6 +31,7 @@ Name[pl]=Szablony tytułów Kdenlive
Name[pt]=Perfis de Títulos do Kdenlive
Name[pt_BR]=Modelos de títulos do Kdenlive
Name[ru]=Шаблоны титров Kdenlive
Name[sa]=Kdenlive शीर्षक टेम्पलेट्स
Name[sk]=Šablóny dlaždíc Kdenlive
Name[sl]=Predloge naslovov za Kdenlive
Name[sv]=Kdenlive-titelmallar

View File

@@ -17,6 +17,7 @@ Name[fi]=Kdenliven siirtymäpyyhkäisyt
Name[fr]=Transitions par balayage de Kdenlive
Name[gl]=Borrados de transición de Kdenlive
Name[he]=ניגובי מעברונים של Kdenlive
Name[hi]=Kdenlive संक्रमण वाइप्स
Name[hu]=Kdenlive átmenettörlések
Name[id]=Usapan Transisi Kdenlive
Name[it]=Tendine di transizione di Kdenlive
@@ -30,6 +31,7 @@ Name[pl]=Przejścia Kdenlive
Name[pt]=Varrimentos de Transição do Kdenlive
Name[pt_BR]=Limpeza de transição do Kdenlive
Name[ru]=Файлы вытеснения Kdenlive
Name[sa]=Kdenlive संक्रमण पोंछे
Name[sk]=Zahladenia prechodov Kdenlive
Name[sl]=Obrisi prehodov za Kdenlive
Name[sv]=Kdenlive-övergångar

View File

@@ -28,6 +28,7 @@
<name xml:lang="fr">Kdenlive</name>
<name xml:lang="gl">Kdenlive</name>
<name xml:lang="he">Kdenlive</name>
<name xml:lang="hi">केडेनलाइव</name>
<name xml:lang="id">Kdenlive</name>
<name xml:lang="it">Kdenlive</name>
<name xml:lang="ja">Kdenlive</name>
@@ -40,6 +41,7 @@
<name xml:lang="pt">Kdenlive</name>
<name xml:lang="pt-BR">Kdenlive</name>
<name xml:lang="ru">Kdenlive</name>
<name xml:lang="sa">क्डेन्लिव्</name>
<name xml:lang="sk">Kdenlive</name>
<name xml:lang="sl">Kdenlive</name>
<name xml:lang="sv">Kdenlive</name>
@@ -60,8 +62,9 @@
<summary xml:lang="eu">Bideo editorea</summary>
<summary xml:lang="fi">Videomuokkain</summary>
<summary xml:lang="fr">Éditeur vidéo</summary>
<summary xml:lang="gl">Editor de vídeo.</summary>
<summary xml:lang="gl">Editor de vídeo</summary>
<summary xml:lang="he">עורך וידאו</summary>
<summary xml:lang="hi">वीडियो संपादक</summary>
<summary xml:lang="id">Editor video</summary>
<summary xml:lang="it">Editor video</summary>
<summary xml:lang="ka">ვიდეორედაქტორი</summary>
@@ -70,6 +73,7 @@
<summary xml:lang="pl">Edytor wideo</summary>
<summary xml:lang="pt-BR">Editor de Vídeo</summary>
<summary xml:lang="ru">Видеоредактор</summary>
<summary xml:lang="sa">विडियो सम्पादक</summary>
<summary xml:lang="sl">Program za videomontažo</summary>
<summary xml:lang="sv">Videoeditor</summary>
<summary xml:lang="tr">Video Düzenleyicisi</summary>
@@ -90,13 +94,16 @@
<p xml:lang="fr">Kdenlive est une application de montage vidéo prenant en charge de nombreux formats audio et vidéo. Il offre des fonctionnalités d'édition avancées, une variété d'effets et de transitions, une correction des couleurs, une post-production audio et des outils de sous-titrage. En outre, il offre la flexibilité de faire un rendu dans pratiquement n'importe quel format de votre choix.</p>
<p xml:lang="gl">Kdenlive é unha aplicación de edición de vídeo para moitos formatos de son e de vídeo. Fornece funcionalidades avanzadas de edición, varios efectos e transicións, corrección de cor, post-produción de son e ferramentas de subtítulos. Ademais, fornece a flexibilidade de renderizar en calquera formato da súa escolla.</p>
<p xml:lang="he">Kdenlive הוא יישום לעריכת וידאו עם תמיכה במגוון סוגים של וידאו ושמע. הוא מציע יכולות עריכה מתקדמות, שלל אפקטים ומעברונים, תיקון צבע, הפקת פוסט של שמע וכלי כתוביות. בנוסף, הוא מספק את הגמישות לעבד לכמעט כל סוג אפשרי שיש לבחירתך.</p>
<p xml:lang="hi">Kdenlive एक वीडियो संपादन एप्लिकेशन है जो कई ऑडियो और वीडियो प्रारूपों के लिए समर्थन प्रदान करता है। यह उन्नत संपादन सुविधाएँ, विभिन्न प्रकार के प्रभाव और संक्रमण, रंग सुधार, ऑडियो पोस्ट-प्रोडक्शन और उपशीर्षक उपकरण प्रदान करता है। इसके अतिरिक्त, यह आपकी पसंद के व्यावहारिक रूप से किसी भी प्रारूप में रेंडर करने की सुविधा प्रदान करता है।</p>
<p xml:lang="id">Kdenlive adalah aplikasi pengeditan video yang mendukung banyak format audio dan video. Aplikasi ini menawarkan fitur pengeditan tingkat lanjut, berbagai efek dan transisi, koreksi warna, pascaproduksi audio, dan alat subtitel. Selain itu, aplikasi ini menyediakan fleksibilitas untuk melakukan render ke hampir semua format pilihan Anda.</p>
<p xml:lang="it">Kdenlive è un'applicazione di editing video che supporta molti formati audio e video. Offre funzionalità avanzate di modifica, un assortimento di effetti e transizioni, correzione del colore, strumenti per la post-produzione audio e la sottotitolazione. In aggiunta, fornisce la flessibilità di produrre praticamente in qualsiasi formato tu desideri.</p>
<p xml:lang="ka">Kdenlive ვიდეორედაქტორია ბევრი აუდიო და ვიდეოფორმატების მხარდაჭერით. ის გთავაზობთ დამატებითი ჩასწორების ფუნქციებს, მრავალ ეფექტსა და გადასვლას, ფერის შესწორებას, აუდიოს პოსტ-პროდაქშენს და სუბტიტრების მორგებას. დამატებით, ის გაძლევთ საშუალებას, დაარენდეროთ პრაქტიკულად ნებისმიერ ფორმატში, რომელსაც აირჩევთ.</p>
<p xml:lang="lv">„Kdenlive“ ir video rediģēšanas programma ar daudzu audio un video formātu atbalstu. Tā sniedz plašas rediģēšanas iespējas, dažādus efektus un pārejas, krāsu korekcijas iespējas, skaņas pēcapstrādes un subtitru rīkus. Turklāt „Kdenlive“ ļauj renderēt praktiski jebkurā formātā pēc jūsu izvēles.</p>
<p xml:lang="nl">Kdenlive is een toepassing voor video bewerken met ondersteuning voor vele audio- en videoformaten. Het biedt geavanceerde bewerkingsfuncties, een verscheidenheid aan effecten en transities, kleurcorrectie, audio nabewerking en hulpmiddelen voor ondertiteling. Bovendien levert het de flexibiliteit om te renderen in praktisch elk formaat van uw keuze.</p>
<p xml:lang="pl">Kdenlive jest aplikacją do edytowania wideo z obsługą wielu formatów dźwięku i obrazu. Daje rozbudowane możliwości, wiele efektów i przejść, poprawianie barw, po-produkcję dźwięki oraz narzędzia do napisów. Dodatkowo, zapewnia możliwość zapisania do właściwie dowolnego formatu jaki sobie wybierzesz.</p>
<p xml:lang="pt-BR">Kdenlive é um aplicativo de edição de vídeo com suporte para vários formatos de áudio e vídeo. Ele oferece recursos avançados de edição, uma variedade de efeitos e transições, correção de cores, pós-produção de áudio e ferramentas de legenda. Além disso, fornece a flexibilidade para renderizar em praticamente qualquer formato que você escolher.</p>
<p xml:lang="ru">Kdenlive — видеоредактор, поддерживающий различные форматы аудио- и видеозаписей. Программа предоставляет расширенные возможности редактирования, широкий ряд эффектов и переходов, инструменты цветокоррекции, окончательного монтажа аудио и наложения субтитров. Кроме того, гибкость настройки программы позволяет получить на выходе файл практически любого формата.</p>
<p xml:lang="sa">Kdenlive इति एकः विडियो सम्पादन-अनुप्रयोगः अस्ति यस्य समर्थनं बहुषु श्रव्य-वीडियो-स्वरूपेषु भवति । अस्मिन् उन्नतसम्पादनविशेषताः, विविधाः प्रभावाः संक्रमणाः च, वर्णशुद्धिः, श्रव्य-उत्तरनिर्माणं, उपशीर्षकसाधनं च प्राप्यते । तदतिरिक्तं, भवतः पसन्दस्य व्यावहारिकरूपेण कस्मिन् अपि प्रारूपे प्रतिपादयितुं लचीलापनं प्रदाति ।</p>
<p xml:lang="sl">Kdenlive je program za montažo videoposnetkov s podporo za številne zvokovne in video zapise. Ponuja napredne funkcije montaže, urejanja, različne učinke in prehode, korekcijo barv, poprodukcijo zvoka in orodja za podnaslavljanje. Poleg tega zagotavlja prilagodljivost za izrisovanje v praktično poljuben zapis po vašem izboru.</p>
<p xml:lang="sv">Kdenlive är ett videoredigeringsprogram med stöd för många ljud- och videoformat. Det erbjuder avancerade redigeringsfunktioner, en mängd olika effekter och övergångar, färgkorrigering, efterproduktion av ljud och textningsverktyg. Dessutom ger det flexibiliteten att återge till praktiskt taget vilket format som helst.</p>
<p xml:lang="tr">Kdenlive, birçok ses ve video biçimini destekleyen bir video düzenleme uygulamasıdır. Gelişmiş düzenleme özellikleri, çeşitli efektler ve geçişler, renk düzeltme, ses post prodüksiyon ve altyazı araçları sunar. Ek olarak, neredeyse seçtiğiniz herhangi bir biçime dönüştürme esnekliği de sağlar.</p>
@@ -123,6 +130,7 @@
<p xml:lang="fr">Fonctionnalités :</p>
<p xml:lang="gl">Funcionalidades:</p>
<p xml:lang="he">יכולות:</p>
<p xml:lang="hi">विशेषताएँ:</p>
<p xml:lang="id">Fitur:</p>
<p xml:lang="it">Funzionalità:</p>
<p xml:lang="ja">特徴:</p>
@@ -135,6 +143,7 @@
<p xml:lang="pt">Funcionalidades:</p>
<p xml:lang="pt-BR">Funcionalidades:</p>
<p xml:lang="ru">Возможности:</p>
<p xml:lang="sa">गुणाः:</p>
<p xml:lang="sk">Funkcie:</p>
<p xml:lang="sl">Zmožnosti:</p>
<p xml:lang="sv">Funktioner:</p>
@@ -156,13 +165,16 @@
<li xml:lang="fr">Séquences imbriquées</li>
<li xml:lang="gl">Secuencias aniñadas.</li>
<li xml:lang="he">רצפים מקוננים</li>
<li xml:lang="hi">नेस्टेड अनुक्रम</li>
<li xml:lang="id">Urutan Bersarang</li>
<li xml:lang="it">Sequenze annidate</li>
<li xml:lang="ka">ერთმანეთში ჩალაგებული მიმდევრობები</li>
<li xml:lang="lv">Ievietotas sekvences</li>
<li xml:lang="nl">Geneste sequenties</li>
<li xml:lang="pl">Osadzone odcinki</li>
<li xml:lang="pt-BR">Sequências aninhadas</li>
<li xml:lang="ru">Вложенные последовательности</li>
<li xml:lang="sa">नेस्टेड अनुक्रम</li>
<li xml:lang="sl">Ugnezdena zaporedja</li>
<li xml:lang="sv">Nästlade sekvenser</li>
<li xml:lang="tr">İç içe geçmiş sekanslar</li>
@@ -182,13 +194,16 @@
<li xml:lang="fr">Interface et raccourcis configurables</li>
<li xml:lang="gl">Interface e atallos configurábeis.</li>
<li xml:lang="he">ממשק וקיצורי דרך גמישים</li>
<li xml:lang="hi">कॉन्फ़िगर करने योग्य इंटरफ़ेस और शॉर्टकट</li>
<li xml:lang="id">Pintasan dan antarmuka yang dapat dikonfigurasi</li>
<li xml:lang="it">Scorciatoie e interfaccia configurabili</li>
<li xml:lang="ka">მორგებადი ინტერფეისი და მალსახმობები</li>
<li xml:lang="lv">Konfigurējama saskarne un saīsnes</li>
<li xml:lang="nl">Te configureren interface en sneltoetsen</li>
<li xml:lang="pl">Interfejs i skróty dające się dostosować</li>
<li xml:lang="pt-BR">Interface e atalhos configuráveis</li>
<li xml:lang="ru">Настраиваемые интерфейс и комбинации клавиш</li>
<li xml:lang="sa">विन्यासयोग्यं अन्तरफलकं शॉर्टकट् च</li>
<li xml:lang="sl">Nastavljiv vmesnik in bližnjice</li>
<li xml:lang="sv">Anpassningsbart gränssnitt och genvägar</li>
<li xml:lang="tr">Yapılandırılabilir arayüz ve kısayollar</li>
@@ -207,13 +222,16 @@
<li xml:lang="fr">Oscilloscopes : histogramme, oscilloscope vectoriel, défilé RVB, mesure de signaux et audiomètre</li>
<li xml:lang="gl">Ámbitos: histograma, vectorscopio, desfile RGB, forma de onda e medidor de son.</li>
<li xml:lang="he">טווחים: היסטוגרמה, וקטורסקופ, צורת גל ומד עוצמת שמע</li>
<li xml:lang="hi">कार्यक्षेत्र: हिस्टोग्राम, वेक्टरस्कोप, आरजीबी परेड, वेवफॉर्म और ऑडियो मीटर</li>
<li xml:lang="id">Cakupan: Histogram, Vectorscope, RGB Parade, Bentuk Gelombang, dan Pengukur Audio</li>
<li xml:lang="it">Diagrammi: istogramma, Evidenza le punte massime, Esibizione RGB, Forma d'onda e Misuratore audio</li>
<li xml:lang="ka">მზომები: ჰისტოგრამა, ვექტორსკოპი, RGB პარადი, Waveform და აუდიომეტრი</li>
<li xml:lang="lv">Tvērumi: histogramma, vektorskops, RGB parāde, viļņformas un audio mērītājs</li>
<li xml:lang="nl">Scopes: Histogram, Vectorscope, RGB Parade, golfvorm en Audio-meter</li>
<li xml:lang="pl">Widoki: Histogram, Wektoroskop, Parada RGB, Kształt Fali oraz Miernik Dźwięku</li>
<li xml:lang="pt-BR">Escopos: Histograma, Vetorescópio, Desfile RGB, Forma de onda e Medidor de áudio</li>
<li xml:lang="ru">Отображение: гистограмма, вектороскоп, парад RGB, звуковой спектр и уровень звука</li>
<li xml:lang="sa">व्याप्तिः : हिस्टोग्राम, वेक्टरस्कोप, आरजीबी परेड, तरङ्गरूप तथा ऑडियो मीटर्</li>
<li xml:lang="sl">Merilniki: histogram, vektroskop, parada RGB, signalna oblika in merilnik jakosti zvoka</li>
<li xml:lang="sv">Oscilloskop: Histogram, vektoroscilloskop, RGB-parad, vågform och ljudmätare</li>
<li xml:lang="tr">Kapsamlar: Histogram, Vektörskop, RGB Geçidi, Dalga Biçimi ve Ses Ölçeri</li>
@@ -233,13 +251,16 @@
<li xml:lang="fr">Modification du serveur mandataire</li>
<li xml:lang="gl">Edición intermediaria.</li>
<li xml:lang="he">עריכת תיווך</li>
<li xml:lang="hi">प्रॉक्सी संपादन</li>
<li xml:lang="id">Pengeditan proksi</li>
<li xml:lang="it">Modifica del proxy</li>
<li xml:lang="ka">პროქსი ჩასწორება</li>
<li xml:lang="lv">Rediģēšana caur starpniekvideo un starpniekattēliem</li>
<li xml:lang="nl">Proxy-bewerking</li>
<li xml:lang="pl">Edytowanie pośredników</li>
<li xml:lang="pt-BR">Edição com proxy</li>
<li xml:lang="ru">Редактирование с промежуточными клипами</li>
<li xml:lang="sa">प्रॉक्सी सम्पादनम्</li>
<li xml:lang="sl">Montaža posrednih posnetkov</li>
<li xml:lang="sv">Ersättningsredigering</li>
<li xml:lang="tr">Vekilli düzenleme</li>
@@ -249,8 +270,8 @@
<li xml:lang="zh-TW">代理編輯</li>
<li>Free online assets and templates</li>
<li xml:lang="ar">موارد وقوالب مجانية على الإنترنت</li>
<li xml:lang="ca">Recursos i plantilles lliures en línia</li>
<li xml:lang="ca-valencia">Recursos i plantilles lliures en línia</li>
<li xml:lang="ca">Actius i plantilles lliures en línia</li>
<li xml:lang="ca-valencia">Actius i plantilles lliures en línia</li>
<li xml:lang="en-GB">Free online assets and templates</li>
<li xml:lang="eo">Liberaj enretaj valoraĵoj kaj ŝablonoj</li>
<li xml:lang="es">Recursos y plantillas libres en línea</li>
@@ -258,13 +279,16 @@
<li xml:lang="fr">Produits et modèles en ligne gratuits</li>
<li xml:lang="gl">Recursos e modelos libres por Internet.</li>
<li xml:lang="he">משאבים ותבניות מקוונים בחינם</li>
<li xml:lang="hi">निःशुल्क ऑनलाइन परिसंपत्तियाँ और टेम्पलेट्स</li>
<li xml:lang="id">Templat dan aset gratis online</li>
<li xml:lang="it">Risorse e modelli in linea gratuiti</li>
<li xml:lang="ka">უფასო მასალები და ნიმუშები ინტერნეტში</li>
<li xml:lang="lv">Bezmaksas tiešsaistes resursi un veidnes</li>
<li xml:lang="nl">Vrij online bezit en sjablonen</li>
<li xml:lang="pl">Darmowe zasoby i wzorce z sieci</li>
<li xml:lang="pt-BR">Recursos e modelos online gratuitos</li>
<li xml:lang="ru">Бесплатные ресурсы и шаблоны в Интернете</li>
<li xml:lang="sa">निःशुल्क ऑनलाइन सम्पत्तिः टेम्पलेट् च</li>
<li xml:lang="sl">Brezplačna spletna sredstva in predloge</li>
<li xml:lang="sv">Fria tillgångar och mallar på nätet</li>
<li xml:lang="tr">Ücretsiz çevrimiçi kaynaklar ve şablonlar</li>
@@ -284,6 +308,7 @@
<li xml:lang="fr">Suivi de déplacement</li>
<li xml:lang="gl">Seguimento de movemento.</li>
<li xml:lang="he">מעקב אחר תנועה</li>
<li xml:lang="hi">मोशन ट्रेकिंग</li>
<li xml:lang="id">Pelacakan gerakan</li>
<li xml:lang="it">Tracciatore di movimento</li>
<li xml:lang="ka">მოძრაობის ტრეკინგი</li>
@@ -292,6 +317,7 @@
<li xml:lang="pl">Śledzenie ruchu</li>
<li xml:lang="pt-BR">Rastreamento de movimento</li>
<li xml:lang="ru">Отслеживание движения</li>
<li xml:lang="sa">गतिनिरीक्षणम्</li>
<li xml:lang="sl">Sledenje gibanju</li>
<li xml:lang="sv">Rörelseföljning</li>
<li xml:lang="tr">Hareket izlemesi</li>
@@ -311,6 +337,7 @@
<li xml:lang="fr">Outils alimentés par l'intelligence artificielle</li>
<li xml:lang="gl">Ferramentas que usan intelixencia artificial.</li>
<li xml:lang="he">כלים מחוזקי בינה מלאכותית</li>
<li xml:lang="hi">एआई संचालित उपकरण</li>
<li xml:lang="id">Alat bertenaga AI</li>
<li xml:lang="it">Strumenti alimentati dalla IA</li>
<li xml:lang="ka">ფუნქციები AI-ით</li>
@@ -319,6 +346,7 @@
<li xml:lang="pl">Narzędzia wspomagane SI</li>
<li xml:lang="pt-BR">Ferramentas com IA</li>
<li xml:lang="ru">Инструменты на основе ИИ</li>
<li xml:lang="sa">एआइ-सञ्चालित-उपकरणम्</li>
<li xml:lang="sl">Orodja, ki jih poganja umetna inteligenca</li>
<li xml:lang="sv">AI-drivna verktyg</li>
<li xml:lang="tr">Yapay Zeka destekli araçlar</li>
@@ -329,6 +357,10 @@
</ul>
</description>
<releases>
<release version="25.04.0" date="2025-04-17"/>
<release version="24.12.3" date="2025-03-06"/>
<release version="24.12.2" date="2025-02-06"/>
<release version="24.12.1" date="2025-01-09"/>
<release version="24.12.0" date="2024-12-12"/>
<release version="24.08.3" date="2024-11-07"/>
<release version="24.08.2" date="2024-10-10"/>
@@ -355,12 +387,12 @@
<release version="24.02.0" date="2024-02-28"/>
<release version="23.08.5" date="2024-02-15"/>
</releases>
<url type="homepage">https://kdenlive.org/</url>
<url type="homepage">https://kdenlive.org/?mtm_campaign=appstream_data&amp;mtm_kwd=homepage</url>
<url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?product=kdenlive</url>
<url type="help">https://docs.kdenlive.org</url>
<url type="help">https://docs.kdenlive.org/?mtm_campaign=appstream_data&amp;mtm_kwd=help</url>
<url type="donation">https://www.kde.org/community/donations/?app=kdenlive&amp;source=appdata</url>
<url type="contact">https://kdenlive.org/contact/</url>
<url type="contribute">https://kdenlive.org/developers-welcome/</url>
<url type="contact">https://kdenlive.org/contact/?mtm_campaign=appstream_data&amp;mtm_kwd=contact</url>
<url type="contribute">https://kdenlive.org/developers-welcome/?mtm_campaign=appstream_data&amp;mtm_kwd=contribute</url>
<url type="translate">https://l10n.kde.org/</url>
<url type="vcs-browser">https://invent.kde.org/multimedia/kdenlive</url>
<screenshots>
@@ -378,6 +410,7 @@
<caption xml:lang="fr">Thème sombre</caption>
<caption xml:lang="gl">Tema escuro.</caption>
<caption xml:lang="he">ערכת צבעים כהה</caption>
<caption xml:lang="hi">डार्क थीम</caption>
<caption xml:lang="id">Tema gelap</caption>
<caption xml:lang="it">Tema scuro</caption>
<caption xml:lang="ka">ბნელი თემა</caption>
@@ -386,6 +419,7 @@
<caption xml:lang="pl">Ciemny wygląd</caption>
<caption xml:lang="pt-BR">Tema escuro</caption>
<caption xml:lang="ru">Тёмная тема</caption>
<caption xml:lang="sa">अन्धकारमयः विषयः</caption>
<caption xml:lang="sl">Temna tema</caption>
<caption xml:lang="sv">Mörkt tema</caption>
<caption xml:lang="tr">Koyu tema</caption>
@@ -408,6 +442,7 @@
<caption xml:lang="fr">Interface par défaut</caption>
<caption xml:lang="gl">Interface predeterminada.</caption>
<caption xml:lang="he">ממשק ברירת מחדל</caption>
<caption xml:lang="hi">डिफ़ॉल्ट इंटरफ़ेस</caption>
<caption xml:lang="id">Antarmuka baku</caption>
<caption xml:lang="it">Interfaccia predefinita</caption>
<caption xml:lang="ka">ნაგულისხმევი ინტერფეისი</caption>
@@ -416,6 +451,7 @@
<caption xml:lang="pl">Domyślny interfejs</caption>
<caption xml:lang="pt-BR">Interface padrão</caption>
<caption xml:lang="ru">Интерфейс по умолчанию</caption>
<caption xml:lang="sa">पूर्वनिर्धारित अन्तरफलक</caption>
<caption xml:lang="sl">Privzeti vmesnik</caption>
<caption xml:lang="sv">Standardgränssnitt</caption>
<caption xml:lang="tr">Öntanımlı arayüz</caption>
@@ -439,6 +475,7 @@
<caption xml:lang="fr">Correction de couleurs</caption>
<caption xml:lang="gl">Corrección de cor.</caption>
<caption xml:lang="he">תיקון צבע</caption>
<caption xml:lang="hi">रंग सुधार</caption>
<caption xml:lang="id">Koreksi warna</caption>
<caption xml:lang="it">Correzione del colore</caption>
<caption xml:lang="ka">ფერების კორექცია</caption>
@@ -447,6 +484,7 @@
<caption xml:lang="pl">Poprawki barw</caption>
<caption xml:lang="pt-BR">Correção de cores</caption>
<caption xml:lang="ru">Цветокоррекция</caption>
<caption xml:lang="sa">वर्णशुद्धिकरणम्</caption>
<caption xml:lang="sl">Korekcija barv</caption>
<caption xml:lang="sv">Färgkorrektion</caption>
<caption xml:lang="tr">Renk düzeltmesi</caption>
@@ -469,6 +507,7 @@
<caption xml:lang="fr">Interface configurable</caption>
<caption xml:lang="gl">Interface configurábel.</caption>
<caption xml:lang="he">ממשק גמיש</caption>
<caption xml:lang="hi">कॉन्फ़िगर करने योग्य इंटरफ़ेस</caption>
<caption xml:lang="id">Antarmuka dapat dikonfigurasi</caption>
<caption xml:lang="it">Interfaccia configurabile</caption>
<caption xml:lang="ka">მორგებადი ინტერფეისი</caption>
@@ -477,6 +516,7 @@
<caption xml:lang="pl">Interfejs dający się dostosować</caption>
<caption xml:lang="pt-BR">Interface configurável</caption>
<caption xml:lang="ru">Настраиваемый интерфейс</caption>
<caption xml:lang="sa">विन्यासयोग्यं अन्तरफलकं</caption>
<caption xml:lang="sl">Nastavljiv vmesnik</caption>
<caption xml:lang="sv">Anpassningsbart gränssnitt</caption>
<caption xml:lang="tr">Yapılandırılabilir arayüz</caption>
@@ -499,6 +539,7 @@
<caption xml:lang="fr">Titrage</caption>
<caption xml:lang="gl">Titulación.</caption>
<caption xml:lang="he">מתן כותרות</caption>
<caption xml:lang="hi">शीर्षक</caption>
<caption xml:lang="id">Pemberian teks</caption>
<caption xml:lang="it">Titolazione</caption>
<caption xml:lang="ka">დასათაურება</caption>
@@ -507,6 +548,7 @@
<caption xml:lang="pl">Nadawanie tytułów</caption>
<caption xml:lang="pt-BR">Gerador de caracteres</caption>
<caption xml:lang="ru">Наложение субтитров</caption>
<caption xml:lang="sa">उपाधिकरणम्</caption>
<caption xml:lang="sl">Naslavljanje</caption>
<caption xml:lang="sv">Textning</caption>
<caption xml:lang="tr">Başlıklandırma</caption>
@@ -528,13 +570,16 @@
<caption xml:lang="fr">Nouvelle cartographie du temps et transitions sur la même piste</caption>
<caption xml:lang="gl">Cambio de asociación de tempos e transicións nunha mesma pista.</caption>
<caption xml:lang="he">מיפוי זמן מחדש ומעברונים באותה הרצועה</caption>
<caption xml:lang="hi">समय पुनर्निर्धारण और समान-ट्रैक संक्रमण</caption>
<caption xml:lang="id">Pemetaan ulang waktu dan transisi trek yang sama</caption>
<caption xml:lang="it">Modifica del tempo e transizioni nella stessa traccia</caption>
<caption xml:lang="ka">დროის თავიდან ასახვა და გადასვლები იგივე ტრეკში</caption>
<caption xml:lang="lv">Laika pārkartēšana ar viena celiņa pārejām</caption>
<caption xml:lang="nl">Snelheid van video wijzigen (time remapping) en overgangen in dezelfde track</caption>
<caption xml:lang="pl">Przemapowywanie czasu oraz przejścia w obrębie jednej ścieżki</caption>
<caption xml:lang="pt-BR">Remapeamento de tempo e transições na mesma trilha</caption>
<caption xml:lang="ru">Переназначение времени и переходы в одной и той же дорожке</caption>
<caption xml:lang="sa">समयस्य पुनः मानचित्रणं तथा समान-पट्टिका-संक्रमणम्</caption>
<caption xml:lang="sl">Preslikava časa in prehodi na isti stezi</caption>
<caption xml:lang="sv">Tidsomvandling och övergångar i samma spår</caption>
<caption xml:lang="tr">Zaman eşlemlemesi ve aynı izde geçişler</caption>

View File

@@ -21,6 +21,7 @@ Name[fr]=Kdenlive
Name[ga]=Kdenlive
Name[gl]=Kdenlive
Name[he]=Kdenlive
Name[hi]=केडेनलाइव
Name[hu]=Kdenlive
Name[id]=Kdenlive
Name[it]=Kdenlive
@@ -40,6 +41,7 @@ Name[pt]=Kdenlive
Name[pt_BR]=Kdenlive
Name[ro]=Kdenlive
Name[ru]=Kdenlive
Name[sa]=क्डेन्लिव्
Name[sk]=Kdenlive
Name[sl]=Kdenlive
Name[sv]=Kdenlive
@@ -70,6 +72,7 @@ GenericName[fr]=Éditeur vidéo
GenericName[ga]=Eagarthóir Físe
GenericName[gl]=Editor de vídeo
GenericName[he]=עורך וידאו
GenericName[hi]=वीडियो संपादक
GenericName[hu]=Videoszerkesztő
GenericName[id]=Pengedit Video
GenericName[it]=Editor video
@@ -88,6 +91,7 @@ GenericName[pt]=Editor de Vídeo
GenericName[pt_BR]=Editor de Vídeo
GenericName[ro]=Redactor de imagini
GenericName[ru]=Видеоредактор
GenericName[sa]=विडियो सम्पादक
GenericName[sk]=Editor videa
GenericName[sl]=Program za videomontažo
GenericName[sv]=Videoeditor
@@ -115,6 +119,7 @@ Comment[fi]=KDE:n epälineaarinen videomuokkain
Comment[fr]=Éditeur vidéo non linéaire par KDE
Comment[gl]=Editor de vídeo non lineal por KDE
Comment[he]=עורך וידאו א־לינארי מבית KDE
Comment[hi]=केडीई द्वारा नॉनलाइनियर वीडियो संपादक
Comment[hu]=Nemlineáris videoszerkesztő a KDE-től
Comment[id]=Pengedit video nonlinier oleh KDE
Comment[it]=Editor di video non lineare di KDE
@@ -128,6 +133,7 @@ Comment[pl]=Nieliniowy edytor wideo w ramach KDE
Comment[pt]=Editor de vídeo não-linear do KDE
Comment[pt_BR]=Editor de vídeo não-linear do KDE
Comment[ru]=Нелинейный видеоредактор от KDE
Comment[sa]=KDE द्वारा अरैखिक विडियो सम्पादक
Comment[sk]=Nelineárny editor videa pre KDE
Comment[sl]=Program za nelinearno montažo videa KDE
Comment[sv]=Icke-linjär videoeditor av KDE
@@ -162,6 +168,7 @@ Keywords[fi]=editing;video;audio;mlt;kde;editointi;ääni;
Keywords[fr]=montage;vidéo;audio;mlt;kde;
Keywords[gl]=editing;edición;video;vídeo;audio;son;mlt;kde;
Keywords[he]=עריכה;וידאו;סרטון;שמע;אודיו;kde;mlt;
Keywords[hi]=संपादन; ऑडियो;
Keywords[hu]=szerkesztés;videó;hang;mlt;kde;
Keywords[id]=pengeditan;video;audio;mlt;kde;
Keywords[it]=editing;video;audio;mlt;kde;
@@ -175,6 +182,7 @@ Keywords[pl]=edytowanie;video;wideo;filmy;audio;dźwięk;mlt;kde;
Keywords[pt]=edição;vídeo;áudio;MLT;kde;
Keywords[pt_BR]=edição;vídeo;áudio;mlt;kde;
Keywords[ru]=editing;video;audio;редактирование;видео;аудио;mlt;kde;
Keywords[sa]=सम्पादनम्;
Keywords[sk]=editovanie;video;audio;mlt;kde;
Keywords[sl]=montaža;video;film;zvok;mlt;kde;
Keywords[sv]=redigering;video;ljud;mlt;kde;

View File

@@ -18,6 +18,7 @@
<comment xml:lang="fr">Document de projet vidéo pour Kdenlive</comment>
<comment xml:lang="gl">Documento dun proxecto de vídeo de Kdenlive.</comment>
<comment xml:lang="he">מסמך מיזם וידאו של Kdenlive</comment>
<comment xml:lang="hi">Kdenlive वीडियो परियोजना दस्तावेज़</comment>
<comment xml:lang="hu">Kdenlive videóprojekt-dokumentum</comment>
<comment xml:lang="id">Dokumen proyek video Kdenlive</comment>
<comment xml:lang="it">Progetto video di Kdenlive</comment>
@@ -32,6 +33,7 @@
<comment xml:lang="pt">Documento de projecto de vídeo do Kdenlive</comment>
<comment xml:lang="pt_BR">Documento de projeto de vídeo do Kdenlive</comment>
<comment xml:lang="ru">Видеопроект Kdenlive</comment>
<comment xml:lang="sa">Kdenlive विडियो परियोजना दस्तावेज</comment>
<comment xml:lang="sl">Dokument video projekta Kdenlive</comment>
<comment xml:lang="sv">Kdenlive-videoprojektdokument</comment>
<comment xml:lang="tr">Kdenlive video proje belgesi</comment>
@@ -59,6 +61,7 @@
<comment xml:lang="fr">Titre de vidéo pour Kdenlive</comment>
<comment xml:lang="gl">Título de vídeo de Kdenlive.</comment>
<comment xml:lang="he">כותרת וידאו של Kdenlive</comment>
<comment xml:lang="hi">Kdenlive वीडियो शीर्षक</comment>
<comment xml:lang="hu">Kdenlive videófelirat</comment>
<comment xml:lang="id">Judul video Kdenlive</comment>
<comment xml:lang="it">Titolo video di Kdenlive</comment>
@@ -72,6 +75,7 @@
<comment xml:lang="pt">Título de vídeo do Kdenlive</comment>
<comment xml:lang="pt_BR">Título de vídeo do Kdenlive</comment>
<comment xml:lang="ru">Видеотитры Kdenlive</comment>
<comment xml:lang="sa">Kdenlive विडियो शीर्षक</comment>
<comment xml:lang="sl">Naslov videa Kdenlive</comment>
<comment xml:lang="sv">Kdenlive-video</comment>
<comment xml:lang="tr">Kdenlive video başlığı</comment>
@@ -97,6 +101,7 @@
<comment xml:lang="fr">Mise en page de l'application Kdenlive</comment>
<comment xml:lang="gl">Disposición de aplicación de Kdenlive.</comment>
<comment xml:lang="he">פריסת יישום Kdenlive</comment>
<comment xml:lang="hi">Kdenlive अनुप्रयोग लेआउट</comment>
<comment xml:lang="hu">Kdenlive alkalmazáselrendezés</comment>
<comment xml:lang="id">Tata letak aplikasi Kdenlive</comment>
<comment xml:lang="it">Disposizione dell'applicazione Kdenlive</comment>
@@ -109,6 +114,7 @@
<comment xml:lang="pt">Disposição da aplicação Kdenlive</comment>
<comment xml:lang="pt_BR">Layout de aplicativo do Kdenlive</comment>
<comment xml:lang="ru">Макет приложения Kdenlive</comment>
<comment xml:lang="sa">Kdenlive अनुप्रयोग विन्यास</comment>
<comment xml:lang="sl">Postavitev programa Kdenlive</comment>
<comment xml:lang="sv">Kdenlive programlayout</comment>
<comment xml:lang="tr">Kdenlive uygulama yerleşimi</comment>

View File

@@ -48,7 +48,7 @@
<profile name="Alpha MOV" extension="mov"
args="f=mov vcodec=qtrle mlt_image_format=rgba pix_fmt=argb"/>
<profile name="FFmpeg FFV1" extension="mkv"
args="f=mov vcodec=ffv1 mlt_image_format=rgba pix_fmt=argb"/>
args="f=mov vcodec=ffv1 mlt_image_format=rgba pix_fmt=bgra"/>
</group>
<group name="Old-TV definition (DVD...)" renderer="avformat" type="av">
<profile name="VOB (DVD)" extension="vob"
@@ -83,6 +83,20 @@
bitrates="30000,1000" defaultbitrate="6000"
audiobitrates="256,64" defaultaudiobitrate="160"
args="f=mp4 vcodec=hevc_nvenc vb=%bitrate+'k' acodec=aac ab=%audiobitrate+'k'"/>
<profile name="VideoToolBox H264 ABR" extension="mp4"
bitrates="30000,1000" defaultbitrate="6000"
audiobitrates="256,64" defaultaudiobitrate="160"
args="f=mp4 vcodec=h264_videotoolbox pix_fmt=yuv420p vb=%bitrate+'k' acodec=aac ab=%audiobitrate+'k'"/>
<profile name="VideoToolBox H265 ABR" extension="mp4"
bitrates="30000,1000" defaultbitrate="6000"
audiobitrates="256,64" defaultaudiobitrate="160"
args="f=mp4 vcodec=hevc_videotoolbox pix_fmt=yuv420p vb=%bitrate+'k' acodec=aac ab=%audiobitrate+'k'"/>
<profile name="Quick Sync Intel H264" extension="mp4" bitrates="30000,1000" defaultbitrate="20000"
audiobitrates="256,64" defaultaudiobitrate="192"
args="f=mp4 vcodec=h264_qsv vbr=off vb=%bitrate+'k' acodec=aac ab=%audiobitrate+'k'"/>
<profile name="Quick Sync Intel H265" extension="mp4" bitrates="30000,1000" defaultbitrate="20000"
audiobitrates="256,64" defaultaudiobitrate="192"
args="f=mp4 load_plugin=hevc_hw vcodec=hevc_qsv vbr=off vtag=hvc1 qscale=29 acodec=aac ab=%audiobitrate+'k'"/>
<profile name="VAAPI Intel H264" extension="mp4"
args="f=mp4 vaapi_device=/dev/dri/renderD128 vf=format=nv12,hwupload vcodec=h264_vaapi vb=30000k acodec=aac ab=192k"/>
<profile name="VAAPI AMD H264" extension="mp4"

View File

@@ -1,18 +1,13 @@
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: Jean-Baptiste Mardelle <jb@kdenlive.org>
add_subdirectory(automask)
add_subdirectory(vosk)
add_subdirectory(whisper)
INSTALL(FILES
checkpackages.py
otiointerface.py
vosk/speech.py
vosk/speechtotext.py
whisper/whispertotext.py
whisper/whispertosrt.py
checkgpu.py
whisper/requirements-whisper.txt
whisper/requirements-whisper-windows.txt
whisper/requirements-seamless.txt
DESTINATION ${KDE_INSTALL_DATADIR}${DATA_INSTALL_PREFIX}/scripts)

View File

@@ -0,0 +1,14 @@
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: Jean-Baptiste Mardelle <jb@kdenlive.org>
INSTALL(FILES
sam-objectmask.py
requirements-sam.txt
requirements-cuda118.txt
requirements-cuda124.txt
requirements-cuda126.txt
DESTINATION ${KDE_INSTALL_DATADIR}${DATA_INSTALL_PREFIX}/scripts/automask)
install(FILES
sammodelsinfo.rc
DESTINATION ${KDE_INSTALL_DATADIR}${DATA_INSTALL_PREFIX})

View File

@@ -0,0 +1,4 @@
--index-url https://download.pytorch.org/whl/cu118
torch
torchvision
torchaudio

View File

@@ -0,0 +1,4 @@
--index-url https://download.pytorch.org/whl/cu124
torch
torchvision
torchaudio

View File

@@ -0,0 +1,4 @@
--index-url https://download.pytorch.org/whl/cu126
torch
torchvision
torchaudio

View File

@@ -0,0 +1,4 @@
# Pull SAM-2 as archive, it is not officaly available on PyPi
# Don't use git because most users don't have it installed
https://github.com/facebookresearch/sam2/archive/refs/heads/main.zip # SAM-2
opencv-python

View File

@@ -0,0 +1,293 @@
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2024 Jean-Baptiste Mardelle <jb@kdenlive.org>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import os
# if using Apple MPS, fall back to CPU for unsupported ops
# os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
import numpy as np
import torch
import sys
import argparse
from PIL import Image
def process_list(list_string):
array_data = np.fromstring(list_string, dtype=int, sep=',')
return array_data
def process_csv(array_data, csv_string, resize):
# Convert the CSV string back to a NumPy array
vals_list = csv_string.split(';')
for vals in vals_list:
frame, csv_data = vals.split("=")
np_array = np.fromstring(csv_data, dtype=int, sep=',')
# Reshape the array if necessary (e.g., if it was a 2D array)
if resize > 1:
cols = int((np.shape(np_array)[0])/resize)
np_array = np_array.reshape(cols, resize)
array_data[int(frame)] = np_array
#return array_data
if __name__ == "__main__":
parser = argparse.ArgumentParser("SAM Object Mask Creator")
parser.add_argument("-P", "--point_coordinates", help="Points coordinates with frame, like '0=200,250,300,255;100=10,50' for 2 points at frame 0 and one at frame 100")
parser.add_argument("-F", "--preview_frame", help="The frame index for preview", default=-1)
parser.add_argument("-L", "--labels", help="Points labels, 1 for include, 0 for exclude, like '0=1,0;100=1' for frame 0 and 100")
parser.add_argument("-B", "--box_coordinates", help="Box coordinates with frame, like '0=10,20,150,255'")
parser.add_argument("-I", "--inputFolder", help="folder where input jpg files are stored", default="/tmp/src-frames")
parser.add_argument("-O", "--output", help="folder for rendered png image for preview of folder for rendering", default="/tmp/")
parser.add_argument("-M", "--model", help="path for the model")
parser.add_argument("-C", "--config", help="config for the model")
parser.add_argument("-D", "--device", help="enforce a device: cuda, cpu")
parser.add_argument("--color", help="mask color", default="255,100,100,180")
parser.add_argument("--bordercolor", help="mask border color", default="255,100,100,100")
parser.add_argument("--border", help="mask border width", default="0")
parser.add_argument('--offload', help="offload memory to CPU", action='store_true')
args = parser.parse_args()
#if (args.point_coordinates is None or args.labels is None) and args.box_coordinates is None:
# config = vars(args)
# print(config)
# sys.exit()
box = {}
points = {}
labels = {}
mask_color = {}
border_color = {}
requestedDevice = "cpu"
if args.point_coordinates != None:
process_csv(points, args.point_coordinates, 2)
process_csv(labels, args.labels, 1)
if args.box_coordinates != None:
process_csv(box, args.box_coordinates, 4)
preview_frame = int(args.preview_frame)
if args.output != None:
output_frame = args.output
if args.inputFolder != None:
inputFolder = args.inputFolder
if args.model != None:
modelFile = args.model
if args.config != None:
configFile = args.config
if args.device != None:
requestedDevice = args.device
borders = int(args.border)
mask_color = process_list(args.color)
border_color = process_list(args.bordercolor)
# select the device for computation
if requestedDevice != None:
device = torch.device(requestedDevice)
#if requestedDevice.startswith("cuda"):
#print(f"Using CUDA version: {torch.version.cuda}")
elif torch.cuda.is_available():
device = torch.device("cuda")
#print(f"Using CUDA version: {torch.version.cuda}")
elif torch.backends.mps.is_available():
device = torch.device("mps")
else:
device = torch.device("cpu")
if device.type == "cuda":
# Check available memory
memInfo = torch.cuda.mem_get_info()
print(f"GPU MEMINFO: {memInfo[0]} - {memInfo[1]}", file=sys.stdout, flush=True)
# use bfloat16 for the entire notebook
torch.autocast("cuda", dtype=torch.bfloat16).__enter__()
# turn on tfloat32 for Ampere GPUs (https://pytorch.org/docs/stable/notes/cuda.html#tensorfloat-32-tf32-on-ampere-devices)
if torch.cuda.get_device_properties(0).major >= 8:
torch.backends.cuda.matmul.allow_tf32 = True
torch.backends.cudnn.allow_tf32 = True
elif device.type == "mps":
print(
"\nSupport for MPS devices is preliminary. SAM 2 is trained with CUDA and might "
"give numerically different outputs and sometimes degraded performance on MPS. "
"See e.g. https://github.com/pytorch/pytorch/issues/84936 for a discussion."
)
from sam2.build_sam import build_sam2, build_sam2_video_predictor
from sam2.sam2_image_predictor import SAM2ImagePredictor
scriptFolder = os.path.dirname(os.path.abspath(__file__))
sam2_checkpoint = modelFile
model_cfg = configFile
sam2_model = build_sam2(model_cfg, sam2_checkpoint, device=device)
predictor = SAM2ImagePredictor(sam2_model)
def save_mask(mask, filename, obj_id=None):
h, w = mask.shape[-2:]
mask_image = mask.reshape(h, w, 1) * mask_color.reshape(1, 1, -1)
if borders > 0:
import cv2
mask = mask.astype(np.uint8)
#contours = cv2.findContours(mask,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)[-2]
contours = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
# Try to smooth contours
#contours = [cv2.approxPolyDP(contour, epsilon=0.01, closed=True) for contour in contours]
mask_image = cv2.drawContours(mask_image.astype(np.uint8),contours,-1,border_color.tolist(),borders)
#contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
# Try to smooth contours
#contours = [cv2.approxPolyDP(contour, epsilon=0.01, closed=True) for contour in contours]
pil_img = Image.fromarray(np.uint8(mask_image))
pil_img.save(filename)
def show_points(coords, labels, ax, marker_size=200):
pos_points = coords[labels == 1]
neg_points = coords[labels == 0]
ax.scatter(pos_points[:, 0], pos_points[:, 1], color='green', marker='*', s=marker_size, edgecolor='white', linewidth=1.25)
ax.scatter(neg_points[:, 0], neg_points[:, 1], color='red', marker='*', s=marker_size, edgecolor='white', linewidth=1.25)
# scan all the JPEG frame names in this directory
frame_names = [
p for p in os.listdir(inputFolder)
if os.path.splitext(p)[-1] in [".jpg"]
]
frame_names.sort(key=lambda p: int(os.path.splitext(p)[0]))
def generate_preview(predictor):
if predictor == None:
predictor = SAM2ImagePredictor(sam2_model)
image = Image.open(os.path.join(inputFolder, frame_names[preview_frame]))
image = np.array(image.convert("RGB"))
predictor.set_image(image)
#mask_input = logits[np.argmax(scores), :, :]
masks, scores, logits = predictor.predict(
point_coords=None if not points else points[preview_frame],
point_labels=None if not labels else labels[preview_frame],
box=None if not box else box[preview_frame],
multimask_output=False)
filename = output_frame + '/preview-{:05d}'.format(preview_frame) + '.png'
save_mask((masks[0]), filename, ann_obj_id)
print(f"preview ok {preview_frame}", file=sys.stdout, flush=True)
def render_video():
# run propagation throughout the video and collect the results in a dict
video_segments = {} # video_segments contains the per-frame segmentation results
print("INFO:Propagating in video\n", file=sys.stdout, flush=True)
for out_frame_idx, out_obj_ids, out_mask_logits in videoPredictor.propagate_in_video(inference_state):
video_segments[out_frame_idx] = {
out_obj_id: (out_mask_logits[i] > 0.0).cpu().numpy()
for i, out_obj_id in enumerate(out_obj_ids)
}
# render the segmentation results every few frames
vis_frame_stride = 1
print("INFO:Exporting frames\n", file=sys.stdout, flush=True)
framesCount = len(frame_names)
for out_frame_idx in range(0, framesCount, vis_frame_stride):
#plt.figure(figsize=(6, 4))
#plt.title(f"frame {out_frame_idx}")
#plt.imshow(Image.open(os.path.join(inputFolder, frame_names[out_frame_idx])))
for out_obj_id, out_mask in video_segments[out_frame_idx].items():
filename = output_frame + '/{:05d}'.format(out_frame_idx) + '.png'
save_mask(out_mask[0], filename, obj_id=out_obj_id)
if framesCount > 100:
percent = int(100 * out_frame_idx / framesCount)
print(f"Export {percent}%|\n", file=sys.stderr, flush=True)
# take a look the first video frame
#frame_idx = 0
#plt.figure(figsize=(9, 6))
#plt.title(f"frame {frame_idx}")
#plt.imshow(Image.open(os.path.join(video_dir, frame_names[frame_idx])))
videoPredictor_initialized = False
ann_obj_id = 1 # give a unique id to each object we interact with (it can be any integers)
if device.type == "cuda" and torch.cuda.get_device_properties(0).major >= 8:
videoPredictor = build_sam2_video_predictor(model_cfg, sam2_checkpoint, device=device) #, vos_optimized=True)
else:
videoPredictor = build_sam2_video_predictor(model_cfg, sam2_checkpoint, device=device)
while 1:
line = sys.stdin.readline().rstrip()
if line.startswith("edit="):
inArgs = parser.parse_args(line[5:].split())
borders = int(args.border)
mask_color = process_list(args.color)
border_color = process_list(args.bordercolor)
continue
if line.startswith("preview="):
# Generate image preview
inArgs = parser.parse_args(line[8:].split())
if inArgs.point_coordinates != None:
process_csv(points, inArgs.point_coordinates, 2)
process_csv(labels, inArgs.labels, 1)
if inArgs.box_coordinates != None:
process_csv(box, inArgs.box_coordinates, 4)
preview_frame = int(inArgs.preview_frame)
borders = int(inArgs.border)
mask_color = process_list(inArgs.color)
border_color = process_list(inArgs.bordercolor)
generate_preview(predictor)
# get ready for rendering
if videoPredictor_initialized == False:
if args.offload:
print("Offloading video to CPU\n", file=sys.stdout, flush=True)
inference_state = videoPredictor.init_state(video_path=inputFolder, async_loading_frames=True, offload_video_to_cpu=args.offload)
videoPredictor_initialized = True
continue
if line.startswith("render="):
if videoPredictor_initialized == False:
print("INFO:Still loading frames\n", file=sys.stdout, flush=True)
continue
# Destroy image predictor
del predictor
predictor = None
# Generate output frames
output_frame = line[7:].rstrip()
first_list = list(points.keys())
in_first = set(first_list)
in_second = set(box.keys())
in_second_but_not_in_first = in_second - in_first
result = first_list + list(in_second_but_not_in_first)
for frame in result:
_, _, out_mask_logits = videoPredictor.add_new_points_or_box(
inference_state=inference_state,
frame_idx=frame,
obj_id=ann_obj_id,
box=None if not box else box[frame],
points=None if not points else points[frame],
labels=None if not labels else labels[frame]
)
render_video()
print("mask ok", file=sys.stdout, flush=True)
del videoPredictor
videoPredictor_initialized = False
sys.exit()
if line == "q":
print("CLOSING...\n", file=sys.stdout, flush=True)
sys.exit()
#with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):
# Let's add a positive click at (x, y) = (210, 350) to get started
#points = np.array([[423, 556], [250, 220]], dtype=np.float32)
# for labels, `1` means positive click and `0` means negative click
#labels = np.array([1, 1], np.int32)
# show the results on the current (interacted) frame
# plt.figure(figsize=(9, 6))
# plt.title(f"frame {frame}")
# plt.imshow(Image.open(os.path.join(inputFolder, frame_names[frame])))
#show_points(points, labels, plt.gca())
#plt.show()
# Transform output png into video with alpha:
# ffmpeg -framerate 25 -pattern_type glob -i '*.png' -c:v ffv1 -pix_fmt yuva420p output.mkv

View File

@@ -0,0 +1,6 @@
[models]
# a list of config file = download url
configs/sam2.1/sam2.1_hiera_t.yaml=https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_tiny.pt
configs/sam2.1/sam2.1_hiera_s.yaml=https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_small.pt
configs/sam2.1/sam2.1_hiera_b+.yaml=https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_base_plus.pt
configs/sam2.1/sam2.1_hiera_l.yaml=https://dl.fbaipublicfiles.com/segment_anything_2/092824/sam2.1_hiera_large.pt

View File

@@ -2,14 +2,10 @@
# SPDX-FileCopyrightText: 2023 Jean-Baptiste Mardelle <jb@kdenlive.org>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import sys
import subprocess
import torch
if torch.cuda.is_available() and torch.cuda.device_count() > 0:
for i in range(torch.cuda.device_count()):
print ('cuda:' + str(i) + '#' + torch.cuda.get_device_name(i))
print ('cpu')
print('cuda:' + str(i) + '#' + torch.cuda.get_device_name(i))
print('cpu')

View File

@@ -4,9 +4,11 @@
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
import sys
import os
import subprocess
import importlib.metadata
import importlib.util
from pathlib import Path
def print_help():
@@ -62,12 +64,35 @@ elif '--install' in sys.argv and len(sys.argv) > 1:
python = sys.executable
if len(missing) > 0:
print("Installing missing packages: ", missing)
tmpFolder = os.path.join(Path.home(), ".cache/pip-kdenlive-tmp-folder")
print("Using tmp folder: ", tmpFolder)
os.makedirs(tmpFolder, exist_ok=True)
my_env = os.environ.copy()
my_env["TMPDIR"] = tmpFolder
for m in missing:
try:
if m.endswith(".txt"):
subprocess.check_call([python, '-m', 'pip', 'install', '-r', m])
subprocess.check_call([python, '-m', 'pip', 'install', '-r', m, '--no-cache-dir'], env=my_env)
else:
subprocess.check_call([python, '-m', 'pip', 'install', m])
subprocess.check_call([python, '-m', 'pip', 'install', m, '--no-cache-dir'], env=my_env)
except:
print("failed installing ", m)
elif '--force-install' in sys.argv and len(sys.argv) > 1:
# install missing modules
python = sys.executable
if len(missing) > 0:
print("Installing missing packages: ", missing)
tmpFolder = os.path.join(Path.home(), ".cache/pip-kdenlive-tmp-folder")
print("Using tmp folder: ", tmpFolder)
os.makedirs(tmpFolder, exist_ok=True)
my_env = os.environ.copy()
my_env["TMPDIR"] = tmpFolder
for m in missing:
try:
if m.endswith(".txt"):
subprocess.check_call([python, '-m', 'pip', 'install', '--force-reinstall', '-r', m, '--no-cache-dir'], env=my_env)
else:
subprocess.check_call([python, '-m', 'pip', 'install', '--force-reinstall', m, '--no-cache-dir'], env=my_env)
except:
print("failed installing ", m)
elif '--upgrade' in sys.argv:

View File

@@ -3,73 +3,93 @@
# SPDX-FileCopyrightText: 2021 Jean-Baptiste Mardelle <jb@kdenlive.org>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
#pip3 install vosk
#pip3 install srt
from vosk import Model, KaldiRecognizer, SetLogLevel
import sys
import os
import wave
import subprocess
import srt
import json
import datetime
import argparse
SetLogLevel(-1)
os.chdir(sys.argv[1])
if not os.path.exists(sys.argv[2]):
print ("Please download the model from https://alphacephei.com/vosk/models and unpack as ", sys.argv[2]," in the current folder.")
exit (1)
def main():
parser = argparse.ArgumentParser("VOSK to text script")
parser.add_argument("-S", "--src", help="source audio file")
parser.add_argument("-M", "--model", help="model name")
parser.add_argument("-D", "--model_directory", help="the folder where the model is")
parser.add_argument("-I", "--in_point", help="in point if not starting from 0", default="0")
parser.add_argument("-O", "--out_point", help="out point if not operating on full file", default="0")
parser.add_argument("-F", "--ffmpeg_path", help="path for ffmpeg")
parser.add_argument("--output", help="output file")
args = parser.parse_args()
if sys.platform == 'darwin':
from os.path import abspath, dirname, join
path = abspath(join(dirname(__file__), '../../MacOS/ffmpeg'))
else:
path = 'ffmpeg'
src = args.src
sample_rate=16000
model = Model(sys.argv[2])
rec = KaldiRecognizer(model, sample_rate)
rec.SetWords(True)
if src is None:
config = vars(args)
print(config)
sys.exit()
process = subprocess.Popen([path, '-loglevel', 'quiet', '-i',
sys.argv[3],
'-ar', str(sample_rate) , '-ac', '1', '-f', 's16le', '-'],
stdout=subprocess.PIPE)
WORDS_PER_LINE = 7
source = src.replace('"', '')
print(f"ANALYSING SOURCE FILE: {source}.")
if not os.path.exists(source):
print(f"Source file does not exist: {source}.")
sys.exit()
def transcribe():
results = []
subs = []
progress = 0
while True:
data = process.stdout.read(4000)
print("progress:" + str(progress), file = sys.stdout, flush=True)
progress += 1
if len(data) == 0:
break
if rec.AcceptWaveform(data):
results.append(rec.Result())
results.append(rec.FinalResult())
model = args.model
ffmpeg_path = args.ffmpeg_path
for i, res in enumerate(results):
jres = json.loads(res)
if not 'result' in jres:
continue
words = jres['result']
for j in range(0, len(words), WORDS_PER_LINE):
line = words[j : j + WORDS_PER_LINE]
s = srt.Subtitle(index=len(subs),
content=" ".join([l['word'] for l in line]),
start=datetime.timedelta(seconds=line[0]['start']),
os.chdir(args.model_directory)
if not os.path.exists(model):
print(f"Please download the model from https://alphacephei.com/vosk/models and unpack as {model} in the current folder.")
exit(1)
sample_rate = 16000
voskModel = Model(model)
rec = KaldiRecognizer(voskModel, sample_rate)
rec.SetWords(True)
process = subprocess.Popen([ffmpeg_path, '-loglevel', 'quiet', '-i', source,
'-ar', str(sample_rate), '-ac', '1', '-f', 's16le', '-'], stdout=subprocess.PIPE)
WORDS_PER_LINE = 7
def transcribe():
results = []
subs = []
progress = 0
while True:
data = process.stdout.read(4000)
print("progress:" + str(progress), file=sys.stdout, flush=True)
progress += 1
if len(data) == 0:
break
if rec.AcceptWaveform(data):
results.append(rec.Result())
results.append(rec.FinalResult())
for i, res in enumerate(results):
jres = json.loads(res)
if 'result' not in jres:
continue
words = jres['result']
for j in range(0, len(words), WORDS_PER_LINE):
line = words[j: j + WORDS_PER_LINE]
s = srt.Subtitle(index=len(subs),
content=" ".join([ln['word'] for ln in line]),
start=datetime.timedelta(seconds=line[0]['start']),
end=datetime.timedelta(seconds=line[-1]['end']))
subs.append(s)
return subs
subs.append(s)
return subs
subtitle = srt.compose(transcribe())
#print (subtitle, flush=True)
with open(sys.argv[4], 'w',encoding='utf8') as f:
f.writelines(subtitle)
f.close()
subtitle = srt.compose(transcribe())
#print (subtitle, flush=True)
with open(args.output, 'w', encoding='utf8') as f:
f.writelines(subtitle)
f.close()
if __name__ == "__main__":
sys.exit(main())

View File

@@ -8,55 +8,76 @@
from vosk import Model, KaldiRecognizer, SetLogLevel
import sys
import os
import wave
import subprocess
import codecs
import datetime
import argparse
SetLogLevel(-1)
os.chdir(sys.argv[1])
if not os.path.exists(sys.argv[2]):
print ("Please download the model from https://alphacephei.com/vosk/models and unpack as ",sys.argv[2]," in the current folder.")
exit (1)
def main():
if sys.platform == 'darwin':
from os.path import abspath, dirname, join
path = abspath(join(dirname(__file__), '../../MacOS/ffmpeg'))
else:
path = 'ffmpeg'
parser = argparse.ArgumentParser("VOSK to text script")
parser.add_argument("-S", "--src", help="source audio file")
parser.add_argument("-M", "--model", help="model name")
parser.add_argument("-D", "--model_directory", help="the folder where the model is")
parser.add_argument("-I", "--in_point", help="in point if not starting from 0", default="0")
parser.add_argument("-O", "--out_point", help="out point if not operating on full file", default="0")
parser.add_argument("-F", "--ffmpeg_path", help="path for ffmpeg", default="ffmpeg")
args = parser.parse_args()
sample_rate=16000
model = Model(sys.argv[2])
rec = KaldiRecognizer(model, sample_rate)
rec.SetWords(True)
src = args.src
# zone rendering
if len(sys.argv) > 4 and (float(sys.argv[4])>0 or float(sys.argv[5])>0):
process = subprocess.Popen([path, '-loglevel', 'quiet', '-i',
sys.argv[3], '-ss', sys.argv[4], '-t', sys.argv[5],
'-ar', str(sample_rate) , '-ac', '1', '-f', 's16le', '-'],
if src is None:
config = vars(args)
print(config)
sys.exit()
source = src.replace('"', '')
print(f"ANALYSING SOURCE FILE: {source}.")
if not os.path.exists(source):
print(f"Source file does not exist: {source}.")
sys.exit()
model = args.model
ffmpeg_path = args.ffmpeg_path
os.chdir(args.model_directory)
if not os.path.exists(model):
print(f"Please download the model from https://alphacephei.com/vosk/models and unpack as {model} in the current folder.")
exit (1)
sample_rate=16000
voskModel = Model(model)
rec = KaldiRecognizer(voskModel, sample_rate)
rec.SetWords(True)
# zone rendering
if (float(args.in_point)>0 or float(args.out_point)>0):
process = subprocess.Popen([ffmpeg_path, '-loglevel', 'quiet', '-i',
source, '-ss', args.in_point, '-t', args.out_point,
'-ar', str(sample_rate), '-ac', '1', '-f', 's16le', '-'],
stdout=subprocess.PIPE)
else:
process = subprocess.Popen([path, '-loglevel', 'quiet', '-i',
sys.argv[3],
'-ar', str(sample_rate) , '-ac', '1', '-f', 's16le', '-'],
else:
process = subprocess.Popen([ffmpeg_path, '-loglevel', 'quiet', '-i',
source,
'-ar', str(sample_rate), '-ac', '1', '-f', 's16le', '-'],
stdout=subprocess.PIPE)
WORDS_PER_LINE = 7
WORDS_PER_LINE = 7
def transcribe():
while True:
data = process.stdout.read(4000)
if len(data) == 0:
sys.stdout.buffer.write(rec.FinalResult().encode('utf-8'))
sys.stdout.flush()
break
if rec.AcceptWaveform(data):
sys.stdout.buffer.write(rec.Result().encode('utf-8'))
sys.stdout.flush()
def transcribe():
while True:
data = process.stdout.read(4000)
if len(data) == 0:
sys.stdout.buffer.write(rec.FinalResult().encode('utf-8'))
sys.stdout.flush()
break
if rec.AcceptWaveform(data):
sys.stdout.buffer.write(rec.Result().encode('utf-8'))
sys.stdout.flush()
transcribe()
#with open(sys.argv[3], 'w') as f:
# f.writelines(subtitle)
#f.close()
transcribe()
if __name__ == "__main__":
sys.exit(main())

View File

@@ -9,5 +9,8 @@ INSTALL(FILES
requirements-whisper.txt
requirements-whisper-windows.txt
requirements-seamless.txt
requirements-cuda118.txt
requirements-cuda124.txt
requirements-cuda126.txt
DESTINATION ${KDE_INSTALL_DATADIR}${DATA_INSTALL_PREFIX}/scripts/whisper)

View File

@@ -0,0 +1,5 @@
--index-url https://download.pytorch.org/whl/cu118
torch
torchvision
triton
torchaudio

View File

@@ -0,0 +1,5 @@
--index-url https://download.pytorch.org/whl/cu124
torch
torchvision
triton
torchaudio

View File

@@ -0,0 +1,5 @@
--index-url https://download.pytorch.org/whl/cu126
torch
torchvision
triton
torchaudio

Some files were not shown because too many files have changed in this diff Show More