X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fmainwindow.h;h=b7414b22e73605ce19207cf0359008f0803612fd;hb=3b8469402b87f4af7176e470536364f25af63618;hp=c54a2325de4dc1c564e9d21886ef88a00d16f812;hpb=e933226185ea6d8066da3def3312d9e68c714bf2;p=kdenlive diff --git a/src/mainwindow.h b/src/mainwindow.h index c54a2325..b7414b22 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -28,6 +28,9 @@ #include #include #include +#include +#include +#include #include #include @@ -109,6 +112,10 @@ public: static EffectsList audioEffects; static EffectsList customEffects; static EffectsList transitions; + + /** @brief Cache for luma files thumbnails. */ + static QMap m_lumacache; + protected: /** @brief Closes the window. @@ -197,7 +204,7 @@ private: 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 m_gfxScopesList; @@ -298,7 +305,7 @@ private: 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. @@ -311,7 +318,8 @@ private: 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); @@ -320,7 +328,7 @@ public slots: * * 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); @@ -357,6 +365,7 @@ private slots: void slotConnectMonitors(); void slotUpdateClip(const QString &id); void slotUpdateMousePosition(int pos); + void slotUpdateProjectDuration(int pos); void slotAddEffect(const QDomElement effect); void slotEditProfiles(); void slotDetectAudioDriver(); @@ -418,7 +427,7 @@ private slots: 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 cliplist, QMap commonproperties); @@ -478,18 +487,20 @@ private slots: /** @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 slotClipInProjectTree(); //void slotClipToProjectTree(); void slotSplitAudio(); + void slotSetAudioAlignReference(); + void slotAlignAudio(); void slotUpdateClipType(QAction *action); 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(); @@ -554,6 +565,16 @@ private slots: void slotDownloadResources(); 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);