18#ifndef SLIDESHOWGENERATORWIDGET_H
19#define SLIDESHOWGENERATORWIDGET_H
21#include <MltProducer.h>
35class ProducerPreviewWidget;
37class SlideshowGeneratorWidget :
public QWidget
42 SlideshowGeneratorWidget(Mlt::Playlist *clips, QWidget *parent = 0);
43 virtual ~SlideshowGeneratorWidget();
45 Mlt::Playlist *getSlideshow();
48 void on_parameterChanged();
51 struct SlideshowConfig
56 double transitionDuration;
58 int transitionSoftness;
61 void attachAffineFilter(SlideshowConfig &config, Mlt::Producer *producer,
int endPosition);
62 void attachBlurFilter(SlideshowConfig &config, Mlt::Producer *producer);
63 void applyLumaTransitionProperties(Mlt::Transition *luma, SlideshowConfig &config);
64 void generatePreviewSlideshow();
65 Q_INVOKABLE
void startPreview();
67 QDoubleSpinBox *m_clipDurationSpinner;
68 QComboBox *m_aspectConversionCombo;
69 QSpinBox *m_zoomPercentSpinner;
70 QDoubleSpinBox *m_transitionDurationSpinner;
71 QComboBox *m_transitionStyleCombo;
72 QSpinBox *m_softnessSpinner;
73 ProducerPreviewWidget *m_preview;
74 Mlt::Playlist *m_clips;
77 QFuture<void> m_future;
79 bool m_refreshPreview;
80 SlideshowConfig m_config;
81 Mlt::Producer m_previewProducer;