X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.h;h=34a516ab56af55baf6f413648c65f839ae171e14;hb=bdd05090054b10dc93f0d9e2de9edbf262d06a07;hp=a8de89ea711acb77f1565e0e81867f81de9fea76;hpb=5a403d4a2689486dbdef95fb4c529a44636e8753;p=kdenlive diff --git a/src/renderer.h b/src/renderer.h index a8de89ea..34a516ab 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -32,7 +32,8 @@ #include "gentime.h" #include "definitions.h" #include "abstractmonitor.h" -#include "mlt/framework/mlt_types.h" + +#include #include @@ -59,6 +60,7 @@ class Producer; class Filter; class Profile; class Service; +class Event; }; struct requestClipInfo { @@ -158,7 +160,7 @@ Q_OBJECT public: /** @brief Returns the speed at which the renderer is currently playing. * * It returns 0.0 when the renderer is not playing anything. */ - double playSpeed(); + double playSpeed() const; /** @brief Returns the current seek position of the renderer. */ GenTime seekPosition() const; @@ -179,8 +181,11 @@ Q_OBJECT public: /** @brief Change the Mlt PROFILE * @param profileName The MLT profile name * @param dropSceneList If true, the current playlist will be deleted + * @return true if the profile was changed * . */ int resetProfile(const QString& profileName, bool dropSceneList = false); + /** @brief Returns true if the render uses profileName as current profile. */ + bool hasProfile(const QString& profileName) const; double fps() const; /** @brief Returns the width of a frame for this profile. */ @@ -281,7 +286,7 @@ Q_OBJECT public: /** @brief Returns a pointer to the main producer. */ Mlt::Producer *getProducer(); /** @brief Returns the number of clips to process (When requesting clip info). */ - int processingItems() const; + int processingItems(); /** @brief Force processing of clip with selected id. */ void forceProcessing(const QString &id); /** @brief Are we currently processing clip with selected id. */ @@ -309,6 +314,8 @@ private: Mlt::Consumer * m_mltConsumer; Mlt::Producer * m_mltProducer; Mlt::Profile *m_mltProfile; + Mlt::Event *m_showFrameEvent; + Mlt::Event *m_pauseEvent; double m_fps; bool m_externalConsumer; @@ -328,6 +335,7 @@ private: QString m_activeProfile; QTimer *m_osdTimer; + QTimer m_refreshTimer; QMutex m_mutex; QMutex m_infoMutex; @@ -365,14 +373,13 @@ private slots: /** @brief Refreshes the monitor display. */ void refresh(); void slotOsdTimeout(); - int connectPlaylist(); /** @brief Process the clip info requests (in a separate thread). */ void processFileProperties(); signals: /** @brief The renderer received a reply to a getFileProperties request. */ - void replyGetFileProperties(const QString &clipId, Mlt::Producer*, const stringMap &, const stringMap &, bool replaceProducer, bool refreshThumbnail = false); + void replyGetFileProperties(const QString &clipId, Mlt::Producer*, const stringMap &, const stringMap &, bool replaceProducer); /** @brief The renderer received a reply to a getImage request. */ void replyGetImage(const QString &, const QString &, int, int);