File indexing completed on 2023-11-26 04:48:45
0001 /* 0002 SPDX-FileCopyrightText: 2008 Jean-Baptiste Mardelle <jb@kdenlive.org> 0003 SPDX-FileCopyrightText: 2011 Marco Gittler <marco@gitma.de> 0004 0005 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0006 */ 0007 0008 #pragma once 0009 0010 #include "definitions.h" 0011 #include "utils/timecode.h" 0012 #include "ui_clipstabilize_ui.h" 0013 #include <QUrl> 0014 #include <unordered_map> 0015 0016 class AssetParameterModel; 0017 class AssetParameterView; 0018 0019 class ClipStabilize : public QDialog, public Ui::ClipStabilize_UI 0020 { 0021 Q_OBJECT 0022 0023 public: 0024 explicit ClipStabilize(const std::vector<QString> &binIds, QString filterName, QWidget *parent = nullptr); 0025 ~ClipStabilize() override; 0026 /** @brief Return the filter parameters, filter name as value of "filter" entry. */ 0027 std::unordered_map<QString, QVariant> filterParams() const; 0028 /** @brief Return the destination file or folder. */ 0029 QString destination() const; 0030 /** @brief Return the job description. */ 0031 QString desc() const; 0032 0033 /* Return the name of the actual mlt filter used */ 0034 QString filterName() const; 0035 0036 private: 0037 QString m_filtername; 0038 std::vector<QString> m_binIds; 0039 QVBoxLayout *m_vbox; 0040 Timecode m_tc; 0041 std::shared_ptr<AssetParameterModel> m_assetModel; 0042 std::unique_ptr<AssetParameterView> m_view; 0043 0044 Q_SIGNALS: 0045 void addClip(const QUrl &url); 0046 };