#include "gentime.h"
#include "definitions.h"
+#include "mlt/framework/mlt_types.h"
#include <kurl.h>
/** @brief Seeks the renderer clip to the given time. */
void seek(GenTime time);
+ void seek(int time);
void seekToFrame(int pos);
void seekToFrameDiff(int diff);
int m_isBlocked;
/** @brief Returns display aspect ratio. */
double dar() const;
+ /** @brief Returns sample aspect ratio. */
+ double sar() const;
/*
* Playlist manipulation.
void mltCutClip(int track, GenTime position);
void mltInsertSpace(QMap <int, int> trackClipStartList, QMap <int, int> trackTransitionStartList, int track, const GenTime duration, const GenTime timeOffset);
int mltGetSpaceLength(const GenTime pos, int track, bool fromBlankStart);
+
+ /** @brief Returns the duration/length of @param track as reported by the track producer. */
int mltTrackDuration(int track);
+
bool mltResizeClipEnd(ItemInfo info, GenTime clipDuration);
bool mltResizeClipStart(ItemInfo info, GenTime diff);
bool mltResizeClipCrop(ItemInfo info, GenTime diff);
void showFrame(Mlt::Frame&);
void showAudio(Mlt::Frame&);
+ /** @brief This property is used to decide if the renderer should send audio data for monitoring. */
+ bool analyseAudio;
/** @brief This property is used to decide if the renderer should convert it's frames to QImage for use in other Kdenlive widgets. */
bool sendFrameForAnalysis;
QList <int> checkTrackSequence(int);
Mlt::Profile *m_mltProfile;
double m_framePosition;
double m_fps;
+ bool m_externalConsumer;
/** @brief True if we are playing a zone.
*
signals:
/** @brief The renderer received a reply to a getFileProperties request. */
- void replyGetFileProperties(const QString &clipId, Mlt::Producer*, const QMap < QString, QString > &, const QMap < QString, QString > &, bool);
+ void replyGetFileProperties(const QString &clipId, Mlt::Producer*, const QMap < QString, QString > &, const QMap < QString, QString > &, bool, bool);
/** @brief The renderer received a reply to a getImage request. */
void replyGetImage(const QString &, const QPixmap &);
void showAudioSignal(const QByteArray);
/** @brief The renderer refreshed the current frame, but no seeking was done. */
void frameUpdated(QImage);
+ /** @brief This signal contains the audio of the current frame. */
+ void audioSamplesSignal(const QVector<int16_t>&, int freq, int num_channels, int num_samples);
public slots:
bool isValid(KUrl url);
/** @brief Requests the file properties for the specified URL.
- *
+ @param xml The xml parameters for the clip
+ @param clipId The clip Id string
+ @param imageHeight The height (in pixels) of the returned thumbnail (height of a treewidgetitem in projectlist)
+ @param replaceProducer If true, the MLT producer will be recreated
+ @param selectClip If true, clip item will be selected in project view
* Upon return, the result will be emitted via replyGetFileProperties().
* Wraps the VEML command of the same name. */
- void getFileProperties(const QDomElement xml, const QString &clipId, int imageHeight, bool replaceProducer = true);
+ void getFileProperties(const QDomElement xml, const QString &clipId, int imageHeight, bool replaceProducer = true, bool selectClip = false);
void exportFileToFirewire(QString srcFileName, int port, GenTime startTime, GenTime endTime);
void mltSavePlaylist();