#include <qmap.h>
#include <QList>
#include <QEvent>
-
+#include <QMutex>
class QTimer;
class QPixmap;
* The speed is relative to normal playback, e.g. 1.0 is normal speed, 0.0
* is paused, -1.0 means play backwards. It does not specify start/stop */
void play(double speed);
- void switchPlay();
+ void switchPlay(bool play);
void pause();
/** @brief Stops playing.
/** @brief Turns on or off on screen display. */
void refreshDisplay();
- int resetProfile(const QString profileName);
+ /** @brief Change the Mlt PROFILE
+ * @param profileName The MLT profile name
+ * @param dropSceneList If true, the current playlist will be deleted
+ * . */
+ int resetProfile(const QString profileName, bool dropSceneList = false);
double fps() const;
/** @brief Returns the width of a frame for this profile. */
bool mltRemoveClip(int track, GenTime position);
/** @brief Deletes an effect from a clip in MLT's playlist. */
- bool mltRemoveEffect(int track, GenTime position, QString index, bool updateIndex, bool doRefresh = true);
- bool mltRemoveTrackEffect(int track, QString index, bool updateIndex);
+ bool mltRemoveEffect(int track, GenTime position, int index, bool updateIndex, bool doRefresh = true);
+ bool mltRemoveTrackEffect(int track, int index, bool updateIndex);
/** @brief Adds an effect to a clip in MLT's playlist. */
bool mltAddEffect(int track, GenTime position, EffectsParameterList params, bool doRefresh = true);
QString m_activeProfile;
QTimer *m_osdTimer;
+ QMutex m_mutex;
/** @brief A human-readable description of this renderer. */
int m_winid;
+ QLocale m_locale;
+
void closeMlt();
void mltCheckLength(Mlt::Tractor *tractor);
void mltPasteEffects(Mlt::Producer *source, Mlt::Producer *dest);
* @param durationError Should be set to true if the proxy failed because it has not same length as original clip
*/
void removeInvalidProxy(const QString &id, bool durationError);
- void refreshDocumentProducers(bool displayRatioChanged);
+ void refreshDocumentProducers(bool displayRatioChanged, bool fpsChanged);
+
+ /** @brief If we will delete the producer, make sure to pause the monitor */
+ void blockClipMonitor(const QString);
/** @brief A frame's image has to be shown.
*