Logo Search packages:      
Sourcecode: kdenlive version File versions  Download package

Public Types | Public Slots | Signals | Public Member Functions | Public Attributes | Private Slots | Private Member Functions | Private Attributes

Render Class Reference

Client side of the interface to a renderer. More...

#include <renderer.h>

Collaboration diagram for Render:
Collaboration graph
[legend]

List of all members.

Public Types

enum  FailStates { OK = 0, APP_NOEXIST }

Public Slots

void exportFileToFirewire (QString srcFileName, int port, GenTime startTime, GenTime endTime)
void getFileProperties (const QDomElement xml, const QString &clipId, int imageHeight, bool replaceProducer=true, bool selectClip=false)
 Requests the file properties for the specified URL.
int getLength ()
bool isValid (KUrl url)
 Checks if the file is readable by MLT.
void mltSavePlaylist ()
void slotSetVolume (int volume)
void slotSplitView (bool doit)
void slotSwitchFullscreen ()
void start ()
 Starts the consumer.
void stop ()
 Stops the consumer.

Signals

void audioSamplesSignal (const QVector< int16_t > &, int freq, int num_channels, int num_samples)
 This signal contains the audio of the current frame.
void durationChanged (int)
void error (const QString &, const QString &)
 An error occurred within this renderer.
void frameUpdated (QImage)
 The renderer refreshed the current frame, but no seeking was done.
void playing (double)
 The renderer started playing.
void refreshDocumentProducers ()
void removeInvalidClip (const QString &, bool replaceProducer)
 The clip is not valid, should be removed from project.
void removeInvalidProxy (const QString &id, bool durationError)
 The proxy is not valid, should be deleted.
void rendererPosition (int)
void rendererStopped (int)
void rendering (const GenTime &)
 The renderer started rendering.
void replyGetFileProperties (const QString &clipId, Mlt::Producer *, const QMap< QString, QString > &, const QMap< QString, QString > &, bool, bool)
 The renderer received a reply to a getFileProperties request.
void replyGetImage (const QString &, const QPixmap &)
 The renderer received a reply to a getImage request.
void showAudioSignal (const QByteArray)
void showImageSignal (QImage)
 A frame's image has to be shown.
void stopped ()
 The renderer stopped, either playing or rendering.

Public Member Functions

Mlt::Producer * checkSlowMotionProducer (Mlt::Producer *prod, QDomElement element)
QList< int > checkTrackSequence (int)
double consumerRatio () const
 Returns the aspect ratio of the consumer.
double dar () const
 Returns display aspect ratio.
void doRefresh ()
void emitConsumerStopped ()
void emitFrameNumber (double position)
void emitFrameUpdated (Mlt::Frame &)
void exportCurrentFrame (KUrl url, bool notify)
 Saves current producer frame as an image.
QImage extractFrame (int frame_position, QString path=QString(), int width=-1, int height=-1)
double fps () const
int frameRenderWidth () const
 Returns the width of a frame for this profile.
QPixmap getImageThumbnail (KUrl url, int width, int height)
Mlt::Producer * invalidProducer (const QString &id)
void loopZone (const GenTime &startTime, const GenTime &stopTime)
void mltAddClipTransparency (ItemInfo info, int transitiontrack, int id)
bool mltAddEffect (int track, GenTime position, EffectsParameterList params, bool doRefresh=true)
 Adds an effect to a clip in MLT's playlist.
bool mltAddEffect (Mlt::Service service, EffectsParameterList params, int duration, bool doRefresh)
bool mltAddTrackEffect (int track, EffectsParameterList params)
bool mltAddTransition (QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh=true)
int mltChangeClipSpeed (ItemInfo info, ItemInfo speedIndependantInfo, double speed, double oldspeed, int strobe, Mlt::Producer *prod)
 Changes the speed of a clip in MLT's playlist.
void mltChangeTrackState (int track, bool mute, bool blind)
 Enables/disables audio/video in a track.
void mltCutClip (int track, GenTime position)
void mltDeleteTrack (int ix)
void mltDeleteTransition (QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool refresh=true)
void mltDeleteTransparency (int pos, int track, int id)
bool mltEditEffect (int track, GenTime position, EffectsParameterList params)
 Edits an effect parameters in MLT's playlist.
bool mltEditTrackEffect (int track, EffectsParameterList params)
int mltGetSpaceLength (const GenTime pos, int track, bool fromBlankStart)
int mltInsertClip (ItemInfo info, QDomElement element, Mlt::Producer *prod, bool overwrite=false, bool push=false)
void mltInsertSpace (QMap< int, int > trackClipStartList, QMap< int, int > trackTransitionStartList, int track, const GenTime duration, const GenTime timeOffset)
void mltInsertTrack (int ix, bool videoTrack)
bool mltMoveClip (int startTrack, int endTrack, GenTime pos, GenTime moveStart, Mlt::Producer *prod, bool overwrite=false, bool insert=false)
bool mltMoveClip (int startTrack, int endTrack, int pos, int moveStart, Mlt::Producer *prod, bool overwrite=false, bool insert=false)
void mltMoveEffect (int track, GenTime position, int oldPos, int newPos)
 Changes the order of effects in MLT's playlist.
void mltMoveTrackEffect (int track, int oldPos, int newPos)
bool mltMoveTransition (QString type, int startTrack, int newTrack, int newTransitionTrack, GenTime oldIn, GenTime oldOut, GenTime newIn, GenTime newOut)
void mltMoveTransparency (int startTime, int endTime, int startTrack, int endTrack, int id)
void mltPlantTransition (Mlt::Field *field, Mlt::Transition &tr, int a_track, int b_track)
bool mltRemoveClip (int track, GenTime position)
bool mltRemoveEffect (int track, GenTime position, QString index, bool updateIndex, bool doRefresh=true)
 Deletes an effect from a clip in MLT's playlist.
bool mltRemoveTrackEffect (int track, QString index, bool updateIndex)
bool mltResizeClipCrop (ItemInfo info, GenTime diff)
bool mltResizeClipEnd (ItemInfo info, GenTime clipDuration)
bool mltResizeClipStart (ItemInfo info, GenTime diff)
void mltResizeTransparency (int oldStart, int newStart, int newEnd, int track, int id)
int mltTrackDuration (int track)
 Returns the duration/length of.
bool mltUpdateClip (ItemInfo info, QDomElement element, Mlt::Producer *prod)
bool mltUpdateClipProducer (int track, int pos, Mlt::Producer *prod)
void mltUpdateEffectPosition (int track, GenTime position, int oldPos, int newPos)
 Updates the "kdenlive_ix" (index) value of an effect.
void mltUpdateTransition (QString oldTag, QString tag, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml, bool force=false)
void mltUpdateTransitionParams (QString type, int a_track, int b_track, GenTime in, GenTime out, QDomElement xml)
void pause ()
void play (const GenTime &startTime)
 Plays the scene starting from a specific time.
void play (double speed)
 Tells the renderer to play the scene at the specified speed,.
double playSpeed ()
 Returns the speed at which the renderer is currently playing.
void playZone (const GenTime &startTime, const GenTime &stopTime)
const QList< Mlt::Producer * > producersList ()
void refreshDisplay ()
 Turns on or off on screen display.
 Render (const QString &rendererName, int winid, QString profile=QString(), QWidget *parent=0)
 Build a MLT Renderer.
const QString & rendererName () const
 Returns the name of the renderer.
int renderHeight () const
 Returns the height of a frame for this profile.
int renderWidth () const
 Returns the display width of a frame for this profile.
int resetProfile (const QString profileName)
double sar () const
 Returns sample aspect ratio.
bool saveSceneList (QString path, QDomElement kdenliveData=QDomElement())
void saveZone (KUrl url, QString desc, QPoint zone)
const QString sceneList ()
 Get the current MLT producer playlist.
void seek (int time)
void seek (GenTime time)
 Seeks the renderer clip to the given time.
int seekFramePosition () const
GenTime seekPosition () const
 Returns the current seek position of the renderer.
void seekToFrame (int pos)
void seekToFrameDiff (int diff)
void sendFrameUpdate ()
void setDropFrames (bool show)
int setProducer (Mlt::Producer *producer, int position)
int setSceneList (QDomDocument list, int position=0)
 Sets the current MLT producer playlist.
int setSceneList (QString playlist, int position=0)
 Sets the current MLT producer playlist.
void showAudio (Mlt::Frame &)
void showFrame (Mlt::Frame &)
void stop (const GenTime &startTime)
 Stops playing.
void switchPlay ()
void updatePreviewSettings ()
QString updateSceneListFps (double current_fps, double new_fps, QString scene)
int volume () const
 ~Render ()
 Destroy the MLT Renderer.

Public Attributes

bool analyseAudio
 This property is used to decide if the renderer should send audio data for monitoring.
int m_isBlocked
bool sendFrameForAnalysis
 This property is used to decide if the renderer should convert it's frames to QImage for use in other Kdenlive widgets.

Private Slots

int connectPlaylist ()
void refresh ()
 Refreshes the monitor display.
void slotOsdTimeout ()

Private Member Functions

void buildConsumer (const QString profileName)
 Build the MLT Consumer object with initial settings.
void closeMlt ()
void fillSlowMotionProducers ()
void fixAudioMixing (Mlt::Tractor tractor)
 Make sure our audio mixing transitions are applied to the lowest track.
int getLowestNonMutedAudioTrack (Mlt::Tractor tractor)
 Get the track number of the lowest audible (non muted) audio track.
void mltCheckLength (Mlt::Tractor *tractor)
QMap< QString, QString > mltGetTransitionParamsFromXml (QDomElement xml)
void mltPasteEffects (Mlt::Producer *source, Mlt::Producer *dest)
void resetZoneMode ()

Private Attributes

QString m_activeProfile
Mlt::Producer * m_blackClip
bool m_externalConsumer
double m_fps
double m_framePosition
bool m_isLoopMode
bool m_isSplitView
 True when the monitor is in split view.
bool m_isZoneMode
 True if we are playing a zone.
GenTime m_loopStart
Mlt::Consumer * m_mltConsumer
Mlt::Producer * m_mltProducer
Mlt::Profile * m_mltProfile
QString m_name
 The name of this renderer.
int m_originalOut
QTimer * m_osdTimer
QMap< QString, Mlt::Producer * > m_slowmotionProducers
int m_winid
 A human-readable description of this renderer.

Detailed Description

Client side of the interface to a renderer.

From Kdenlive's point of view, you treat the Render object as the renderer, and simply use it as if it was local. Calls are asynchronous - you send a call out, and then receive the return value through the relevant signal that get's emitted once the call completes.

Definition at line 76 of file renderer.h.


The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index