Commit a2073931 authored by Jean-Baptiste Mardelle's avatar Jean-Baptiste Mardelle
Browse files

Merge branch 'master' of invent.kde.org:multimedia/kdenlive

parents 6848e265 531a886a
Pipeline #57989 passed with stage
in 8 minutes and 53 seconds
......@@ -16,6 +16,7 @@
"--filesystem=host",
"--filesystem=xdg-config/kdeglobals:ro",
"--env=TMPDIR=/var/tmp",
"--env=QT_ENABLE_HIGHDPI_SCALING=1",
"--env=FREI0R_PATH=/app/lib/frei0r-1",
"--env=LADSPA_PATH=/app/lib/ladspa"
],
......@@ -168,19 +169,6 @@
}
]
},
{
"name": "movit",
"make-args": [
"libmovit.la"
],
"sources": [
{
"type": "git",
"url": "https://github.com/ddennedy/movit.git",
"commit": "3e8b4ebb796bcbe7e9727a2d7f2d0ba8f0170dfa"
}
]
},
{
"name": "sox",
"config-opts": [
......@@ -200,6 +188,23 @@
}
]
},
{
"name": "zimg",
"sources": [
{
"type": "git",
"url": "https://github.com/sekrit-twc/zimg.git",
"commit": "e17ee6cf72509c32c15067b32615849e69486367"
},
{
"type": "script",
"dest-filename": "autogen.sh",
"commands": [
"autoreconf -vfi"
]
}
]
},
{
"name": "vidstab",
"buildsystem": "cmake-ninja",
......@@ -377,6 +382,29 @@
}
]
},
{
"name": "aom",
"buildsystem": "cmake-ninja",
"builddir": true,
"config-opts": [
"-DCMAKE_BUILD_TYPE=Release",
"-DCMAKE_INSTALL_PREFIX=/app",
"-DBUILD_SHARED_LIBS=1",
"-DENABLE_DOCS=0",
"-DENABLE_EXAMPLES=0",
"-DENABLE_TESTDATA=0",
"-DENABLE_TESTS=0",
"-DENABLE_TOOLS=0"
],
"sources": [
{
"type": "git",
"url": "https://aomedia.googlesource.com/aom.git",
"commit": "d853caa2ab62d161e5edf344ffee7b597449dc0d",
"tag": "v3.0.0"
}
]
},
{
"name": "nv-codec-headers",
"cleanup": [
......@@ -390,11 +418,31 @@
{
"type": "git",
"url": "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git",
"commit": "a99740a84b49fd609e04b03279e66c5a8b767440",
"tag": "n10.0.26.1"
"commit": "7a81595786463d1c7efcb03aa85def69fc2cad41",
"tag": "n11.0.10.0"
}
]
},
{
"name": "mediasdk",
"buildsystem": "cmake-ninja",
"builddir": true,
"config-opts": [
"-DCMAKE_BUILD_TYPE=Release",
"-DBUILD_SAMPLES=OFF",
"-DBUILD_TESTS=OFF",
"-DBUILD_TOOLS=OFF",
"-DBUILD_TESTS=OFF",
"-DMFX_ENABLE_SW_FALLBACK=OFF"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-20.1.1.tar.gz",
"sha256": "44300c0f068f6d018d182455dd9c2f48db1e85fe0b38fcd60d0353bd145923dc"
}
]
},
{
"name": "ffmpeg",
"config-opts": [
......@@ -418,13 +466,22 @@
"--enable-libmp3lame",
"--enable-vaapi",
"--enable-libass",
"--enable-gnutls"
"--enable-gnutls",
"--enable-libzimg",
"--enable-libaom",
"--enable-libvidstab",
"--enable-libmfx"
],
"build-options": {
"arch": {
"x86_64": {
"config-opts": [
"--enable-nvenc"
"--enable-ffnvcodec",
"--enable-cuda-llvm",
"--enable-nvenc",
"--enable-vdpau",
"--enable-nvdec",
"--enable-cuvid"
]
}
}
......@@ -435,8 +492,8 @@
"sources": [
{
"type": "archive",
"url": "https://www.ffmpeg.org/releases/ffmpeg-4.3.2.tar.xz",
"sha256": "46e4e64f1dd0233cbc0934b9f1c0da676008cad34725113fb7f802cfa84ccddb"
"url": "https://www.ffmpeg.org/releases/ffmpeg-4.4.tar.xz",
"sha256": "06b10a183ce5371f915c6bb15b7b1fffbe046e8275099c96affc29e17645d909"
}
]
},
......@@ -483,11 +540,25 @@
}
]
},
{
"name": "movit",
"make-args": [
"libmovit.la"
],
"sources": [
{
"type": "git",
"url": "http://git.sesse.net/movit",
"commit": "f0c77209245aa206996c7ef5395888e2859ff4bf"
}
]
},
{
"name": "mlt",
"config-opts": [
"--enable-gpl",
"--enable-gpl3",
"--enable-opengl",
"--enable-opencv"
],
"sources": [
......
......@@ -27,7 +27,8 @@
#include <memory>
#include <unordered_map>
/** @brief This class represents a generic tree hierarchy
/** @class AbstractTreeModel
@brief This class represents a generic tree hierarchy
*/
class TreeItem;
class AbstractTreeModel : public QAbstractItemModel, public std::enable_shared_from_this<AbstractTreeModel>
......
......@@ -28,7 +28,11 @@
#include <memory>
#include <unordered_map>
/** @brief This class is a generic class to represent items of a tree-like model
class AbstractTreeModel;
/** @class TreeItem
@brief This class is a generic class to represent items of a tree-like model.
It works in tandem with AbstractTreeModel or one of its derived classes.
There is a registration mechanism that takes place: each TreeItem holds a unique Id
that can allow to retrieve it directly from the model.
......@@ -41,8 +45,6 @@
Note that the root is a special object. In particular, it must stay at the root and
must not be declared as the child of any other item.
*/
class AbstractTreeModel;
class TreeItem : public enable_shared_from_this_virtual<TreeItem>
{
public:
......
......@@ -29,9 +29,9 @@
#include <mutex>
#include <unordered_map>
/** @brief This class is the base class for assets (transitions or effets) repositories
/** @class AbstractAssetsRepository
@brief This class is the base class for assets (transitions or effets) repositories
*/
template <typename AssetType> class AbstractAssetsRepository
{
......
......@@ -26,13 +26,14 @@
#include <QQuickWidget>
#include <memory>
/** @brief This class is a generic widget that display the list of available assets
*/
class AssetIconProvider;
class AssetFilter;
class AssetTreeModel;
/** @class AssetListWidget
@brief This class is a generic widget that display the list of available assets
*/
class AssetListWidget : public QQuickWidget
{
Q_OBJECT
......
......@@ -27,6 +27,10 @@
#include <QQuickImageProvider>
#include <memory>
/** @class AssetIconProvider
@brief \@todo Describe class AssetIconProvider
@todo Describe class AssetIconProvider
*/
class AssetIconProvider : public QQuickImageProvider
{
public:
......
......@@ -35,9 +35,7 @@ class QToolButton;
class QComboBox;
class QScrollArea;
/** @brief This class is the widget that provides interaction with the asset currently selected.
That is, it either displays an effectStack or the parameters of a transition
*/
class AssetParameterModel;
class AssetParameterView;
......@@ -47,6 +45,11 @@ class TransitionStackView;
class MixStackView;
class QLabel;
/** @class AssetPanel
@brief This class is the widget that provides interaction with the asset currently selected.
That is, it either displays an effectStack or the parameters of a transition
*/
class AssetPanel : public QWidget
{
Q_OBJECT
......
......@@ -37,15 +37,16 @@ class AssetParameterModel;
class DocUndoStack;
class EffectItemModel;
/** @brief This class is the model for a list of keyframes.
A keyframe is defined by a time, a type and a value
We store them in a sorted fashion using a std::map
*/
enum class KeyframeType { Linear = mlt_keyframe_linear, Discrete = mlt_keyframe_discrete, Curve = mlt_keyframe_smooth };
Q_DECLARE_METATYPE(KeyframeType)
using Keyframe = std::pair<GenTime, KeyframeType>;
/** @class KeyframeModel
@brief This class is the model for a list of keyframes.
A keyframe is defined by a time, a type and a value
We store them in a sorted fashion using a std::map
*/
class KeyframeModel : public QAbstractListModel
{
Q_OBJECT
......
......@@ -37,11 +37,11 @@
class AssetParameterModel;
class DocUndoStack;
/** @brief This class is a container for the keyframe models.
/** @class KeyframeModelList
@brief This class is a container for the keyframe models.
If an asset has several keyframable parameters, each one has its own keyframeModel,
but we regroup all of these in a common class to provide unified access.
*/
class KeyframeModelList : public QObject
{
Q_OBJECT
......
......@@ -32,10 +32,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
class Monitor;
class AssetParameterModel;
/** @brief This class helps manage effects that receive data from the monitor's qml overlay to translate
the data and pass it to the model
*/
/** @class KeyframeMonitorHelper
@brief This class helps manage effects that receive data from the monitor's qml overlay to translate
the data and pass it to the model
*/
class KeyframeMonitorHelper : public QObject
{
Q_OBJECT
......
......@@ -21,10 +21,9 @@
#include <QPointF>
/**
/** @class BPoint
* @brief Represents a point in a cubic Bézier spline.
*/
class BPoint
{
public:
......
......@@ -29,6 +29,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
class Monitor;
/** @class RotoHelper
@brief \@todo Describe class RotoHelper
@todo Describe class RotoHelper
*/
class RotoHelper : public KeyframeMonitorHelper
{
Q_OBJECT
......
......@@ -27,6 +27,10 @@
#include <QTime>
#include <QUndoCommand>
/** @class AssetCommand
@brief \@todo Describe class AssetCommand
@todo Describe class AssetCommand
*/
class AssetCommand : public QUndoCommand
{
public:
......@@ -46,6 +50,10 @@ private:
QTime m_stamp;
};
/** @class AssetMultiCommand
@brief \@todo Describe class AssetMultiCommand
@todo Describe class AssetMultiCommand
*/
class AssetMultiCommand : public QUndoCommand
{
public:
......@@ -65,6 +73,10 @@ private:
QTime m_stamp;
};
/** @class AssetKeyframeCommand
@brief \@todo Describe class AssetKeyframeCommand
@todo Describe class AssetKeyframeCommand
*/
class AssetKeyframeCommand : public QUndoCommand
{
public:
......@@ -85,6 +97,10 @@ private:
QTime m_stamp;
};
/** @class AssetUpdateCommand
@brief \@todo Describe class AssetUpdateCommand
@todo Describe class AssetUpdateCommand
*/
class AssetUpdateCommand : public QUndoCommand
{
public:
......
......@@ -33,12 +33,6 @@
#include <mlt++/MltProperties.h>
class KeyframeModelList;
/** @brief This class is the model for a list of parameters.
The behaviour of a transition or an effect is typically controlled by several parameters. This class exposes this parameters as a list that can be rendered
using the relevant widgets.
Note that internally parameters are not sorted in any ways, because some effects like sox need a precise order
*/
enum class ParamType {
Double,
......@@ -67,6 +61,13 @@ enum class ParamType {
Hidden
};
Q_DECLARE_METATYPE(ParamType)
/** @class AssetParameterModel
@brief This class is the model for a list of parameters.
The behaviour of a transition or an effect is typically controlled by several parameters. This class exposes this parameters as a list that can be rendered
using the relevant widgets.
Note that internally parameters are not sorted in any ways, because some effects like sox need a precise order
*/
class AssetParameterModel : public QAbstractListModel, public enable_shared_from_this_virtual<AssetParameterModel>
{
Q_OBJECT
......
......@@ -29,9 +29,6 @@
#include <QWidget>
#include <memory>
/** @brief This class is the view for a list of parameters.
*/
class QVBoxLayout;
class QMenu;
class QActionGroup;
......@@ -39,6 +36,9 @@ class AbstractParamWidget;
class AssetParameterModel;
class KeyframeWidget;
/** @class AssetParameterView
@brief This class is the view for a list of parameters.
*/
class AssetParameterView : public QWidget
{
Q_OBJECT
......
......@@ -27,10 +27,11 @@
#include <QWidget>
#include <memory>
/** @brief Base class of all the widgets representing a parameter of an asset (effect or transition)
*/
class AssetParameterModel;
/** @class AbstractParamWidget
@brief Base class of all the widgets representing a parameter of an asset (effect or transition)
*/
class AbstractParamWidget : public QWidget
{
Q_OBJECT
......
......@@ -25,13 +25,11 @@
class KColorButton;
/**
* @class ColorEditWidget
* @brief Provides options to choose a color.
Two mechanisms are provided: color-picking directly on the screen and choosing from a list
* @author Till Theato
/** @class ColorEditWidget
@brief Provides options to choose a color.
Two mechanisms are provided: color-picking directly on the screen and choosing from a list
@author Till Theato
*/
class ColorEditWidget : public AbstractParamWidget
{
Q_OBJECT
......
......@@ -31,7 +31,8 @@
/** State of a point being moved */
enum class State_t { NORMAL, DRAG };
/** This class is a workaround to be able to use templating in the actual class
/** @class __dummy_AbstractCurveWidget
@brief This class is a workaround to be able to use templating in the actual class
Note that Qt doesn't support templated signals, so we have to define a signal for
all possible Point type
*/
......
......@@ -26,6 +26,10 @@
#include <QWidget>
/** @class BezierSplineEditor
@brief \@todo Describe class BezierSplineEditor
@todo Describe class BezierSplineEditor
*/
class BezierSplineEditor : public AbstractCurveWidget<CubicBezierSpline>
{
Q_OBJECT
......
......@@ -21,10 +21,9 @@
#include <QPointF>
/**
* @brief Represents a point in a cubic Bézier spline.
/** @class BPoint
* @brief Represents a point in a cubic Bézier spline.
*/
class BPoint
{
public:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment