X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderer.h;h=96e23dce9f03ef61c5927832d5d4c585cdbf24c4;hb=a3eee7be24126f5a3458d488f44cd61c66135e17;hp=0c6c46fa94257a3cafaedf05e1806cd21f34bf90;hpb=365e5880d7235999249df283930359533a3fcf1b;p=kdenlive diff --git a/src/renderer.h b/src/renderer.h index 0c6c46fa..96e23dce 100644 --- a/src/renderer.h +++ b/src/renderer.h @@ -31,15 +31,15 @@ #include "gentime.h" #include "definitions.h" -#include "abstractmonitor.h" +#include "widgets/abstractmonitor.h" #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -47,6 +47,7 @@ #include #include +class QGLWidget; class QPixmap; class KComboBox; @@ -109,7 +110,7 @@ class Render: public AbstractRender * @param rendererName A unique identifier for this renderer * @param winid The parent widget identifier (required for SDL display). Set to 0 for OpenGL rendering * @param profile The MLT profile used for the renderer (default one will be used if empty). */ - Render(Kdenlive::MONITORID rendererName, int winid, QString profile = QString(), QWidget *parent = 0); + Render(Kdenlive::MonitorId rendererName, int winid, QString profile = QString(), QWidget *parent = 0, QGLWidget *mainGLContext = 0); /** @brief Destroy the MLT Renderer. */ virtual ~Render(); @@ -250,25 +251,25 @@ class Render: public AbstractRender * @param position The start position of the clip * @param effectIndexes The list of effect indexes to enable / disable * @param disable True if effects should be disabled, false otherwise */ - bool mltEnableEffects(int track, GenTime position, QList effectIndexes, bool disable); + bool mltEnableEffects(int track, const GenTime &position, const QList &effectIndexes, bool disable); /** @brief Enable / disable track effects. * @param track The track where the effect is * @param effectIndexes The list of effect indexes to enable / disable * @param disable True if effects should be disabled, false otherwise */ - bool mltEnableTrackEffects(int track, QList effectIndexes, bool disable); + bool mltEnableTrackEffects(int track, const QList &effectIndexes, bool disable); /** @brief Edits an effect parameters in MLT's playlist. */ - bool mltEditEffect(int track, GenTime position, EffectsParameterList params); + bool mltEditEffect(int track, const GenTime &position, EffectsParameterList params); bool mltEditTrackEffect(int track, EffectsParameterList params); /** @brief Updates the "kdenlive_ix" (index) value of an effect. */ - void mltUpdateEffectPosition(int track, GenTime position, int oldPos, int newPos); + void mltUpdateEffectPosition(int track, const GenTime &position, int oldPos, int newPos); /** @brief Changes the order of effects in MLT's playlist. * * It switches effects from oldPos and newPos, updating the "kdenlive_ix" * (index) value. */ - void mltMoveEffect(int track, GenTime position, int oldPos, int newPos); + void mltMoveEffect(int track, const GenTime &position, int oldPos, int newPos); void mltMoveTrackEffect(int track, int oldPos, int newPos); /** @brief Enables/disables audio/video in a track. */ @@ -303,7 +304,7 @@ class Render: public AbstractRender void setDropFrames(bool show); /** @brief Sets an MLT consumer property. */ void setConsumerProperty(const QString &name, const QString &value); - QString updateSceneListFps(double current_fps, double new_fps, QString scene); + QString updateSceneListFps(double current_fps, double new_fps, const QString &scene); void showAudio(Mlt::Frame&); @@ -363,7 +364,7 @@ private: * * Useful to identify the renderers by what they do - e.g. background * rendering, workspace monitor, etc. */ - Kdenlive::MONITORID m_name; + Kdenlive::MonitorId m_name; Mlt::Consumer * m_mltConsumer; Mlt::Producer * m_mltProducer; Mlt::Profile *m_mltProfile; @@ -399,11 +400,14 @@ private: bool m_paused; /** @brief True if this monitor is active. */ bool m_isActive; + QGLWidget *m_mainGLContext; + QGLWidget *m_GLContext; + Mlt::Filter* m_glslManager; void closeMlt(); void mltCheckLength(Mlt::Tractor *tractor); void mltPasteEffects(Mlt::Producer *source, Mlt::Producer *dest); - QMap mltGetTransitionParamsFromXml(QDomElement xml); + QMap mltGetTransitionParamsFromXml(const QDomElement &xml); QMap m_slowmotionProducers; /** @brief The ids of the clips that are currently being loaded for info query */ QStringList m_processingClipId; @@ -432,7 +436,7 @@ private slots: /** @brief Process the clip info requests (in a separate thread). */ void processFileProperties(); /** @brief A clip with multiple video streams was found, ask what to do. */ - void slotMultiStreamProducerFound(const QString path, QList audio_list, QList video_list, stringMap data); + void slotMultiStreamProducerFound(const QString &path, QList audio_list, QList video_list, stringMap data); void showFrame(Mlt::Frame *); void slotCheckSeeking(); @@ -477,11 +481,12 @@ signals: * * Used in Mac OS X. */ void showImageSignal(QImage); + void showImageSignal(GLuint); void showAudioSignal(const QVector &); void addClip(const KUrl &, stringMap); void checkSeeking(); /** @brief Activate current monitor. */ - void activateMonitor(Kdenlive::MONITORID); + void activateMonitor(Kdenlive::MonitorId); void mltFrameReceived(Mlt::Frame *); public slots: