Pencil2D Animation
Download Community News Docs Contribute
  • Overview
  • Articles
  • Code
  •  
  • Class List
  • Class Index
  • Class Hierarchy
  • Class Members
  • File List
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MovieImporter Class Reference
+ Inheritance diagram for MovieImporter:
Inheritance graph
[legend]
+ Collaboration diagram for MovieImporter:
Collaboration graph
[legend]

Public Member Functions

 MovieImporter (QObject *parent)
 
void setCore (Editor *editor)
 
Status estimateFrames (const QString &filePath, int fps, int *frameEstimate)
 Attempts to load a video and determine it's duration.
 
Status run (const QString &filePath, int fps, FileType type, std::function< void(int)> progress, std::function< void(QString)> progressMessage, std::function< bool()> askPermission)
 
void cancel ()
 
- Public Member Functions inherited from QObject
virtual const QMetaObject * metaObject () const const
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThread * thread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
T findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectList & children () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArray > dynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObject * parent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
T qobject_cast (QObject *object)
 
T qobject_cast (const QObject *object)
 
T qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 

Private Member Functions

Status verifyFFmpegExists ()
 
Status importMovieVideo (const QString &filePath, int fps, int frameEstimate, std::function< bool(int)> progress, std::function< void(QString)> progressMessage)
 
Status importMovieAudio (const QString &filePath, std::function< bool(int)> progress)
 
Status generateFrames (std::function< bool(int)> progress)
 

Private Attributes

Editor * mEditor = nullptr
 
QTemporaryDir * mTempDir = nullptr
 
bool mCanceled = false
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
QObject * sender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Definition at line 29 of file movieimporter.h.

Constructor & Destructor Documentation

◆ MovieImporter()

MovieImporter::MovieImporter ( QObject *  parent)

Definition at line 38 of file movieimporter.cpp.

◆ ~MovieImporter()

MovieImporter::~MovieImporter ( )
virtual

Definition at line 42 of file movieimporter.cpp.

Member Function Documentation

◆ cancel()

void MovieImporter::cancel ( )
inline

Definition at line 64 of file movieimporter.h.

◆ estimateFrames()

Status MovieImporter::estimateFrames ( const QString &  filePath,
int  fps,
int *  frameEstimate 
)

Attempts to load a video and determine it's duration.

This will analyze the video to estimate how many frames will be imported and set frameEstimate to this value.

Parameters
[in]filePathPath to the video file.
[in]fpsFrames per second to import at.
[out]frameEstimateAn estimate of the number of frames if successful, unchanged otherwise.
Returns
Will FAIL if an error occurs during loading the video or calculating the duration, or OK if everything succeded.

Definition at line 46 of file movieimporter.cpp.

◆ generateFrames()

Status MovieImporter::generateFrames ( std::function< bool(int)>  progress)
private

Definition at line 275 of file movieimporter.cpp.

◆ importMovieAudio()

Status MovieImporter::importMovieAudio ( const QString &  filePath,
std::function< bool(int)>  progress 
)
private

Definition at line 309 of file movieimporter.cpp.

◆ importMovieVideo()

Status MovieImporter::importMovieVideo ( const QString &  filePath,
int  fps,
int  frameEstimate,
std::function< bool(int)>  progress,
std::function< void(QString)>  progressMessage 
)
private

Definition at line 238 of file movieimporter.cpp.

◆ run()

Status MovieImporter::run ( const QString &  filePath,
int  fps,
FileType  type,
std::function< void(int)>  progress,
std::function< void(QString)>  progressMessage,
std::function< bool()>  askPermission 
)
Parameters
filePathPath to the video file.
fpsFrames per second to import at.
typeFileType to import, should be either MOVIE or SOUND
progressa function that returns and notify the progress
progressMessagea function that returns and change the progress message
askPermissiona function that when called, could would be used to notify UI for permission
Returns
whether the run suceeded, failed or canceled

Definition at line 165 of file movieimporter.cpp.

◆ setCore()

void MovieImporter::setCore ( Editor *  editor)
inline

Definition at line 36 of file movieimporter.h.

◆ verifyFFmpegExists()

Status MovieImporter::verifyFFmpegExists ( )
private

Definition at line 367 of file movieimporter.cpp.

Member Data Documentation

◆ mCanceled

bool MovieImporter::mCanceled = false
private

Definition at line 80 of file movieimporter.h.

◆ mEditor

Editor* MovieImporter::mEditor = nullptr
private

Definition at line 76 of file movieimporter.h.

◆ mTempDir

QTemporaryDir* MovieImporter::mTempDir = nullptr
private

Definition at line 78 of file movieimporter.h.


The documentation for this class was generated from the following files:
  • core_lib/src/movieimporter.h
  • core_lib/src/movieimporter.cpp
Generated on Thu May 8 2025 04:47:54 for Pencil2D by doxygen 1.9.6 based on revision 4513250b1d5b1a3676ec0e67b06b7a885ceaae39