void VideoEditor::setSourceFileName(QString sourceFileName) { if (sourceFileName.startsWith("file:")) sourceFileName = QUrl(sourceFileName).toLocalFile(); if (m_video == NULL || m_video->sourceUrl() == sourceFileName) return; Tardis::instance()->enqueueAction(Tardis::VideoSetSource, m_video->id(), m_video->sourceUrl(), sourceFileName); m_video->setSourceUrl(sourceFileName); if (m_video->isPicture()) { QPixmap img(sourceFileName); if (!img.isNull()) { m_video->setResolution(img.size()); m_video->setTotalDuration(1000); slotMetaDataChanged("Resolution", QVariant(img.size())); slotMetaDataChanged("Duration", 1000); } } else { if (sourceFileName.contains("://")) m_mediaPlayer->setMedia(QUrl(sourceFileName)); else m_mediaPlayer->setMedia(QUrl::fromLocalFile(sourceFileName)); } emit sourceFileNameChanged(sourceFileName); emit mediaInfoChanged(); emit functionNameChanged(m_video->name()); emit loopedChanged(); }
void AudioEditor::setFunctionID(quint32 ID) { m_audio = qobject_cast<Audio *>(m_doc->function(ID)); FunctionEditor::setFunctionID(ID); if (m_audio != nullptr) connect(m_audio, SIGNAL(totalDurationChanged()), this, SIGNAL(mediaInfoChanged())); }
void AudioEditor::setSourceFileName(QString sourceFileName) { if (sourceFileName.startsWith("file:")) sourceFileName = QUrl(sourceFileName).toLocalFile(); if (m_audio == nullptr || m_audio->getSourceFileName() == sourceFileName) return; Tardis::instance()->enqueueAction(Tardis::AudioSetSource, m_audio->id(), m_audio->getSourceFileName(), sourceFileName); m_audio->setSourceFileName(sourceFileName); emit sourceFileNameChanged(sourceFileName); emit mediaInfoChanged(); emit functionNameChanged(m_audio->name()); emit loopedChanged(); }
void VideoEditor::slotMetaDataChanged(QString key, QVariant data) { qDebug() << "Got meta data:" << key; infoMap.insert(key, data); emit mediaInfoChanged(); }
void VideoEditor::slotDurationChanged(qint64 duration) { infoMap.insert("Duration",Function::speedToString(duration)); m_video->setTotalDuration(duration); emit mediaInfoChanged(); }