[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