[vlmc-devel] TrackWorkflow: Remove dependency on EffectUser

Yikai Lu git at videolan.org
Mon Jul 4 15:33:58 CEST 2016


vlmc | branch: medialibrary | Yikai Lu <luyikei.qmltu at gmail.com> | Thu Jun 23 17:11:41 2016 +0900| [883dbeaadcf6d8ac30815fe2b397ceed0c5b6072] | committer: Yikai Lu

TrackWorkflow: Remove dependency on EffectUser

> https://code.videolan.org/videolan/vlmc/commit/883dbeaadcf6d8ac30815fe2b397ceed0c5b6072
---

 src/CMakeLists.txt             |  1 -
 src/Workflow/TrackWorkflow.cpp | 20 ++++----------------
 src/Workflow/TrackWorkflow.h   | 14 ++++++++------
 3 files changed, 12 insertions(+), 23 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 3cd8375..c57bbe4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -75,7 +75,6 @@ SET(VLMC_SRCS
     Backend/MLT/MLTFilter.cpp
     Backend/MLT/MLTTransition.cpp
     Backend/MLT/MLTTractor.cpp
-    EffectsEngine/EffectUser.cpp
     EffectsEngine/EffectHelper.cpp
     Library/Library.cpp
     Library/MediaContainer.cpp
diff --git a/src/Workflow/TrackWorkflow.cpp b/src/Workflow/TrackWorkflow.cpp
index 6c71eaf..ea97f58 100644
--- a/src/Workflow/TrackWorkflow.cpp
+++ b/src/Workflow/TrackWorkflow.cpp
@@ -380,10 +380,10 @@ TrackWorkflow::initRender( quint32 width, quint32 height )
     QReadLocker     lock( m_clipsLock );
 
     m_mixerBuffer->resize( width * height * Workflow::Depth );
+    /* TODO
     m_width = width;
     m_height = height;
     m_isRendering = true;
-    /* TODO
     auto       it = m_clips.begin();
     auto       end = m_clips.end();
     while ( it != end )
@@ -444,18 +444,6 @@ TrackWorkflow::trackId() const
     return m_trackId;
 }
 
-EffectsEngine::EffectList*
-TrackWorkflow::filters()
-{
-    return &m_filters;
-}
-
-EffectsEngine::EffectList*
-TrackWorkflow::mixers()
-{
-    return &m_mixers;
-}
-
 void
 TrackWorkflow::__effectAdded( EffectHelper* helper, qint64 pos )
 {
@@ -496,10 +484,10 @@ TrackWorkflow::length() const
     return m_length;
 }
 
-EffectUser::Type
-TrackWorkflow::effectType() const
+Backend::IProducer*
+TrackWorkflow::producer()
 {
-    return TrackEffectUser;
+    return m_track;
 }
 
 Backend::IProducer*
diff --git a/src/Workflow/TrackWorkflow.h b/src/Workflow/TrackWorkflow.h
index c5bf05f..830f461 100644
--- a/src/Workflow/TrackWorkflow.h
+++ b/src/Workflow/TrackWorkflow.h
@@ -24,7 +24,6 @@
 #ifndef TRACKWORKFLOW_H
 #define TRACKWORKFLOW_H
 
-#include "EffectsEngine/EffectUser.h"
 #include "Types.h"
 
 #include <QObject>
@@ -36,6 +35,8 @@ class   Clip;
 class   ClipWorkflow;
 class   MainWorkflow;
 
+class   EffectHelper;
+
 namespace   Backend
 {
 class ITrack;
@@ -54,7 +55,7 @@ class   QMutex;
 class   QReadWriteLock;
 class   QWaitCondition;
 
-class   TrackWorkflow : public EffectUser
+class   TrackWorkflow : public QObject
 {
     Q_OBJECT
 
@@ -101,11 +102,7 @@ class   TrackWorkflow : public EffectUser
         void                                    stopFrameComputing();
         bool                                    hasNoMoreFrameToRender( qint64 currentFrame ) const;
         quint32                                 trackId() const;
-        //FIXME: this is not thread safe if the list gets modified (but it can't be const, as it is intended to be modified...)
-        EffectsEngine::EffectList               *filters();
-        EffectsEngine::EffectList               *mixers();
         virtual qint64                          length() const;
-        virtual Type                            effectType() const;
 
         Backend::IProducer*                     producer();
 
@@ -148,6 +145,11 @@ class   TrackWorkflow : public EffectUser
         void                effectAdded( TrackWorkflow*, Workflow::Helper*, qint64 );
         void                effectRemoved( TrackWorkflow*, const QUuid& );
         void                effectMoved( TrackWorkflow*, const QUuid&, qint64 );
+
+        void                effectAdded( EffectHelper *helper, qint64 pos );
+        void                effectMoved( EffectHelper *helper, qint64 newPos );
+        void                effectRemoved( const QUuid& );
+
 };
 
 #endif // TRACKWORKFLOW_H



More information about the Vlmc-devel mailing list