18 #ifndef SLIDESHOWGENERATORWIDGET_H
19 #define SLIDESHOWGENERATORWIDGET_H
35 class ProducerPreviewWidget;
37 class 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;