[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [krita/video-export-rebased] /: Pass the override export configuration to the animation exporter.
From:       Boudewijn Rempt <boud () valdyas ! org>
Date:       2016-06-30 19:06:32
Message-ID: E1bIhIG-0002TF-FS () code ! kde ! org
[Download RAW message or body]

Git commit 7acb2a2fec6d99c100c7a00d9ddf62d9df5e6f4b by Boudewijn Rempt.
Committed on 30/06/2016 at 19:06.
Pushed by rempt into branch 'video-export-rebased'.

Pass the override export configuration to the animation exporter.

M  +26   -16   libs/ui/kis_animation_exporter.cpp
M  +4    -3    libs/ui/kis_animation_exporter.h
M  +1    -1    plugins/extensions/animationrenderer/AnimationRenderer.cpp

http://commits.kde.org/krita/7acb2a2fec6d99c100c7a00d9ddf62d9df5e6f4b

diff --git a/libs/ui/kis_animation_exporter.cpp b/libs/ui/kis_animation_exporter.cpp
index 0f412ee..1b04cf6 100644
--- a/libs/ui/kis_animation_exporter.cpp
+++ b/libs/ui/kis_animation_exporter.cpp
@@ -84,6 +84,19 @@ KisImportExportFilter::ConversionStatus \
KisAnimationExporterUI::exportSequence(K  
 struct KisAnimationExporter::Private
 {
+    Private(KisDocument *document, int fromTime, int toTime)
+        : document(document)
+        , image(document->image())
+        , firstFrame(fromTime)
+        , lastFrame(toTime)
+        , currentFrame(-1)
+        , batchMode(document->fileBatchMode())
+        , isCancelled(false)
+        , status(KisImportExportFilter::OK)
+        , tmpDevice(new KisPaintDevice(image->colorSpace()))
+    {
+    }
+
     KisDocument *document;
     KisImageWSP image;
 
@@ -100,18 +113,8 @@ struct KisAnimationExporter::Private
 
     KisPaintDeviceSP tmpDevice;
 
-    Private(KisDocument *document, int fromTime, int toTime)
-        : document(document),
-          image(document->image()),
-          firstFrame(fromTime),
-          lastFrame(toTime),
-          currentFrame(-1),
-          batchMode(document->fileBatchMode()),
-          isCancelled(false),
-          status(KisImportExportFilter::OK),
-          tmpDevice(new KisPaintDevice(image->colorSpace()))
-    {
-    }
+    KisPropertiesConfigurationSP exportConfiguration;
+
 };
 
 KisAnimationExporter::KisAnimationExporter(KisDocument *document, int fromTime, int \
toTime) @@ -128,6 +131,11 @@ KisAnimationExporter::~KisAnimationExporter()
 {
 }
 
+void KisAnimationExporter::setExportConfiguration(KisPropertiesConfigurationSP \
exportConfiguration) +{
+    m_d->exportConfiguration = exportConfiguration;
+}
+
 void KisAnimationExporter::setSaveFrameCallback(SaveFrameCallback func)
 {
     m_d->saveFrameCallback = func;
@@ -159,6 +167,7 @@ KisImportExportFilter::ConversionStatus \
                KisAnimationExporter::exportAnimation()
      *             nasty.
      */
     KisImageLockHijacker badGuy(m_d->image);
+    Q_UNUSED(badGuy);
 
     KIS_ASSERT_RECOVER(!m_d->image->locked()) { return \
KisImportExportFilter::InternalError; }  
@@ -213,7 +222,7 @@ void KisAnimationExporter::frameReadyToSave()
         KisImportExportFilter::OK;
     int time = m_d->currentFrame;
 
-    result = m_d->saveFrameCallback(time, m_d->tmpDevice);
+    result = m_d->saveFrameCallback(time, m_d->tmpDevice, m_d->exportConfiguration);
 
     if (!m_d->batchMode) {
         emit m_d->document->sigProgress((time - m_d->firstFrame) * 100 /
@@ -293,19 +302,20 @@ KisAnimationExportSaver::KisAnimationExportSaver(KisDocument \
*document, const QS  m_d->tmpDoc->setFileBatchMode(true);
 
     using namespace std::placeholders; // For _1 placeholder
-    m_d->exporter.setSaveFrameCallback(std::bind(&KisAnimationExportSaver::saveFrameCallback, \
this, _1, _2)); +    \
m_d->exporter.setSaveFrameCallback(std::bind(&KisAnimationExportSaver::saveFrameCallback, \
this, _1, _2, _3));  }
 
 KisAnimationExportSaver::~KisAnimationExportSaver()
 {
 }
 
-KisImportExportFilter::ConversionStatus KisAnimationExportSaver::exportAnimation()
+KisImportExportFilter::ConversionStatus \
KisAnimationExportSaver::exportAnimation(KisPropertiesConfigurationSP cfg)  {
+    m_d->exporter.setExportConfiguration(cfg);
     return m_d->exporter.exportAnimation();
 }
 
-KisImportExportFilter::ConversionStatus \
KisAnimationExportSaver::saveFrameCallback(int time, KisPaintDeviceSP frame) \
+KisImportExportFilter::ConversionStatus \
KisAnimationExportSaver::saveFrameCallback(int time, KisPaintDeviceSP frame, \
KisPropertiesConfigurationSP exportConfiguration)  {
     KisImportExportFilter::ConversionStatus status =
         KisImportExportFilter::OK;
diff --git a/libs/ui/kis_animation_exporter.h b/libs/ui/kis_animation_exporter.h
index 8227464..101b24f 100644
--- a/libs/ui/kis_animation_exporter.h
+++ b/libs/ui/kis_animation_exporter.h
@@ -53,11 +53,12 @@ class KRITAUI_EXPORT KisAnimationExporter : public QObject
 {
     Q_OBJECT
 public:
-    typedef std::function<KisImportExportFilter::ConversionStatus (int , \
KisPaintDeviceSP)> SaveFrameCallback; +    typedef \
std::function<KisImportExportFilter::ConversionStatus (int , KisPaintDeviceSP, \
KisPropertiesConfigurationSP)> SaveFrameCallback;  public:
     KisAnimationExporter(KisDocument *document, int fromTime, int toTime);
     ~KisAnimationExporter();
 
+    void setExportConfiguration(KisPropertiesConfigurationSP exportConfiguration);
     KisImportExportFilter::ConversionStatus exportAnimation();
 
     void setSaveFrameCallback(SaveFrameCallback func);
@@ -87,12 +88,12 @@ public:
     KisAnimationExportSaver(KisDocument *document, const QString &baseFilename, int \
fromTime, int toTime, int sequenceNumberingOffset = 0);  ~KisAnimationExportSaver();
 
-    KisImportExportFilter::ConversionStatus exportAnimation();
+    KisImportExportFilter::ConversionStatus \
exportAnimation(KisPropertiesConfigurationSP cfg = 0);  
     QString savedFilesMask() const;
 
 private:
-    KisImportExportFilter::ConversionStatus saveFrameCallback(int time, \
KisPaintDeviceSP frame); +    KisImportExportFilter::ConversionStatus \
saveFrameCallback(int time, KisPaintDeviceSP frame, KisPropertiesConfigurationSP \
exportConfiguration = 0);  
 private:
     struct Private;
diff --git a/plugins/extensions/animationrenderer/AnimationRenderer.cpp \
b/plugins/extensions/animationrenderer/AnimationRenderer.cpp index 9e8cd30..8ebb519 \
                100644
--- a/plugins/extensions/animationrenderer/AnimationRenderer.cpp
+++ b/plugins/extensions/animationrenderer/AnimationRenderer.cpp
@@ -88,7 +88,7 @@ void AnimaterionRenderer::slotRenderAnimation()
                 .arg(sequencecfg->getString("basename"))
                 .arg(extension);
         KisAnimationExportSaver exporter(doc, baseFileName, \
sequencecfg->getInt("first_frame"), sequencecfg->getInt("last_frame"), \
                sequencecfg->getInt("sequence_start"));
-        bool success = exporter.exportAnimation();
+        bool success = \
exporter.exportAnimation(dlgAnimaterionRenderer.getFrameExportConfiguration());  \
Q_ASSERT(success);  }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic