#include <QEvent>
#include <QTimer>
#include <QShortcut>
+#include <QMap>
+#include <QString>
+#include <QImage>
#include <KXmlGuiWindow>
#include <KTextEdit>
static EffectsList audioEffects;
static EffectsList customEffects;
static EffectsList transitions;
+
+ /** @brief Cache for luma files thumbnails. */
+ static QMap <QString,QImage> m_lumacache;
+
protected:
/** @brief Closes the window.
QUndoView *m_undoView;
QUndoGroup *m_commandStack;
- KComboBox *m_timecodeFormat;
+ KSelectAction *m_timeFormatButton;
/** This list holds all the scopes used in Kdenlive, allowing to manage some global settings */
QList <QDockWidget *> m_gfxScopesList;
QStringList m_pluginFileNames;
QByteArray m_timelineState;
void loadTranscoders();
- void loadStabilize();
+ void loadClipActions();
QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
/** @brief Checks that the Kdenlive mime type is correctly installed.
StopmotionWidget *m_stopmotion;
QTime m_timer;
-
+ /** @brief The last selected clip in timeline. */
+ ClipItem *m_mainClip;
/** @brief Update statusbar stylesheet (in case of color theme change). */
void setStatusBarStyleSheet(const QPalette &p);
*
* Checks if already open and whether backup exists */
void openFile(const KUrl &url);
- void slotGotProgressInfo(const QString &message, int progress);
+ void slotGotProgressInfo(const QString &message, int progress, MessageType type = DefaultMessage);
void slotReloadEffects();
Q_SCRIPTABLE void setRenderingProgress(const QString &url, int progress);
Q_SCRIPTABLE void setRenderingFinished(const QString &url, int status, const QString &error);
void slotConnectMonitors();
void slotUpdateClip(const QString &id);
void slotUpdateMousePosition(int pos);
+ void slotUpdateProjectDuration(int pos);
void slotAddEffect(const QDomElement effect);
void slotEditProfiles();
void slotDetectAudioDriver();
void slotSelectAddTimelineTransition();
void slotAddVideoEffect(QAction *result);
void slotAddTransition(QAction *result);
- void slotAddProjectClip(KUrl url, const QString &comment = QString());
+ void slotAddProjectClip(KUrl url, stringMap data = stringMap());
void slotAddProjectClipList(KUrl::List urls);
void slotShowClipProperties(DocClipBase *clip);
void slotShowClipProperties(QList <DocClipBase *>cliplist, QMap<QString, QString> commonproperties);
/** @brief Lets the sampleplugin create a generator. */
void generateClip();
void slotZoneMoved(int start, int end);
- void slotDvdWizard(const QString &url = QString(), const QString &profile = "dv_pal");
+ void slotDvdWizard(const QString &url = QString());
void slotGroupClips();
void slotUnGroupClips();
void slotEditItemDuration();
void slotShowTimeline(bool show);
void slotMaximizeCurrent(bool show);
void slotTranscode(KUrl::List urls = KUrl::List());
- void slotStabilize();
+ void slotStartClipAction();
void slotTranscodeClip();
/** @brief Archive project: creates a copy of the project file with all clips in a new folder. */
void slotArchiveProject();
void slotChangePalette();
/** @brief Save current timeline clip as mlt playlist. */
void slotSaveTimelineClip();
+ /** @brief Process keyframe data sent from a clip to effect / transition stack. */
+ void slotProcessImportKeyframes(GRAPHICSRECTITEM type, const QString& data, int maximum);
+ /** @brief Move playhead to mouse curser position if defined key is pressed */
+ void slotAlignPlayheadToMousePos();
+ /** @brief Set MLT's consumer deinterlace method */
+ void slotSetDeinterlacer(int ix);
+ /** @brief Set MLT's consumer interpolation method */
+ void slotSetInterpolation(int ix);
signals:
Q_SCRIPTABLE void abortRenderJob(const QString &url);