#include "kdenlivesettings.h"
#include "kthumb.h"
#include "markerdialog.h"
+#include "profilesdialog.h"
#include <KStandardDirs>
#include <KDebug>
static const int ADVANCEDTAB = 7;
ClipProperties::ClipProperties(DocClipBase *clip, Timecode tc, double fps, QWidget * parent) :
- QDialog(parent),
- m_clip(clip),
- m_tc(tc),
- m_fps(fps),
- m_count(0),
- m_clipNeedsRefresh(false),
- m_clipNeedsReLoad(false)
+ QDialog(parent),
+ m_clip(clip),
+ m_tc(tc),
+ m_fps(fps),
+ m_count(0),
+ m_clipNeedsRefresh(false),
+ m_clipNeedsReLoad(false)
{
setFont(KGlobalSettings::toolBarFont());
m_view.setupUi(this);
filters << "*.pgm" << "*.png";
QStringList customLumas = KGlobal::dirs()->findDirs("appdata", "lumas");
- foreach(const QString &folder, customLumas) {
+ foreach(const QString & folder, customLumas) {
QStringList filesnames = QDir(folder).entryList(filters, QDir::Files);
- foreach(const QString &fname, filesnames) {
+ foreach(const QString & fname, filesnames) {
QString filePath = KUrl(folder).path(KUrl::AddTrailingSlash) + fname;
m_view.luma_file->addItem(KIcon(filePath), fname, filePath);
}
folder.append("/lumas/PAL"); // TODO: cleanup the PAL / NTSC mess in luma files
QDir lumafolder(folder);
QStringList filesnames = lumafolder.entryList(filters, QDir::Files);
- foreach(const QString &fname, filesnames) {
+ foreach(const QString & fname, filesnames) {
QString filePath = KUrl(folder).path(KUrl::AddTrailingSlash) + fname;
m_view.luma_file->addItem(KIcon(filePath), fname, filePath);
}
m_view.clip_fps->setText(props.value("fps"));
if (!m_view.clip_framerate->isEnabled()) m_view.clip_framerate->setValue(props.value("fps").toDouble());
}
+ if (props.contains("pix_fmt")) {
+ m_view.clip_pixfmt->setText(props.value("pix_fmt"));
+ } else m_view.clip_pixfmt->setEnabled(false);
+
if (props.contains("aspect_ratio"))
m_view.clip_ratio->setText(props.value("aspect_ratio"));
int width = 180.0 * KdenliveSettings::project_display_ratio();
// Used for multiple clips editing
ClipProperties::ClipProperties(QList <DocClipBase *>cliplist, Timecode tc, QMap <QString, QString> commonproperties, QWidget * parent) :
- QDialog(parent),
- m_clip(NULL),
- m_tc(tc),
- m_fps(0),
- m_count(0),
- m_clipNeedsRefresh(false),
- m_clipNeedsReLoad(false)
+ QDialog(parent),
+ m_clip(NULL),
+ m_tc(tc),
+ m_fps(0),
+ m_count(0),
+ m_clipNeedsRefresh(false),
+ m_clipNeedsReLoad(false)
{
setFont(KGlobalSettings::toolBarFont());
m_view.setupUi(this);
if (m_old_props.value("fade") != value) props["fade"] = value;
value = QString::number((int) m_view.luma_softness->value());
if (m_old_props.value("softness") != value) props["softness"] = value;
-
- bool isMime = !(m_view.clip_path->text().contains('%'));
- if (isMime) {
- QString extension = "/.all." + m_view.image_type->itemData(m_view.image_type->currentIndex()).toString();
- QString new_path = m_view.clip_path->text() + extension;
- if (new_path != m_old_props.value("resource")) {
- m_clipNeedsReLoad = true;
- props["resource"] = new_path;
- kDebug() << "//// SLIDE EDIT, NEW:" << new_path << ", OLD; " << m_old_props.value("resource");
- }
- }
+
+ bool isMime = !(m_view.clip_path->text().contains('%'));
+ if (isMime) {
+ QString extension = "/.all." + m_view.image_type->itemData(m_view.image_type->currentIndex()).toString();
+ QString new_path = m_view.clip_path->text() + extension;
+ if (new_path != m_old_props.value("resource")) {
+ m_clipNeedsReLoad = true;
+ props["resource"] = new_path;
+ kDebug() << "//// SLIDE EDIT, NEW:" << new_path << ", OLD; " << m_old_props.value("resource");
+ }
+ }
int duration;
if (m_view.slide_duration_format->currentIndex() == 1) {
// we are in frames mode
QString regexp = "^" + filter + "\\d+\\." + ext + "$";
QRegExp rx(regexp);
QStringList entries;
- foreach(const QString &path, result) {
+ foreach(const QString & path, result) {
if (rx.exactMatch(path)) entries << path;
}
result = entries;
m_blackClip(NULL),
m_winid(winid)
{
- /*if (rendererName == "project") m_monitorId = 10000;
- else m_monitorId = 10001;*/
- /*m_osdTimer = new QTimer(this);
- connect(m_osdTimer, SIGNAL(timeout()), this, SLOT(slotOsdTimeout()));*/
if (profile.isEmpty()) profile = KdenliveSettings::current_profile();
buildConsumer(profile);
}
}
-
- filePropertyMap["fps"] = producer->get("source_fps");
+ if (producer->get_double("meta.media.frame_rate_den") > 0) {
+ filePropertyMap["fps"] = QString::number(producer->get_double("meta.media.frame_rate_num") / producer->get_double("meta.media.frame_rate_den"));
+ } else filePropertyMap["fps"] = producer->get("source_fps");
if (frame && frame->is_valid()) {
filePropertyMap["frame_size"] = QString::number(frame->get_int("width")) + 'x' + QString::number(frame->get_int("height"));
if (producer->get(property))
filePropertyMap["videocodec"] = producer->get(property);
}
+ QString query;
+ query = QString("meta.media.%1.codec.pix_fmt").arg(default_video);
+ filePropertyMap["pix_fmt"] = producer->get(query.toUtf8().constData());
if (KdenliveSettings::dropbframes()) {
kDebug() << "// LOOKING FOR H264 on: " << default_video;
if (m_isLoopMode) play(m_loopStart);
else if (m_isZoneMode) resetZoneMode();
emit rendererStopped((int) pos);
- //if (qApp->activeWindow()) QApplication::postEvent(qApp->activeWindow(), new PositionChangeEvent(GenTime((int) pos, m_fps), m_monitorId + 100));
- //new QCustomEvent(10002));
}
}
int16_t* data = (int16_t*)frame.get_audio(audio_format, freq, num_channels, samples);
if (!data)
return;
- int num_samples = samples>200?200:samples;
+ int num_samples = samples > 200 ? 200 : samples;
QByteArray channels;
for (int i = 0; i < num_channels; i++) {
long val = 0;
- for (int s = 0; s < num_samples; s ++ ) {
- val += abs(data[i+s*num_channels]/128);
+ for (int s = 0; s < num_samples; s ++) {
+ val += abs(data[i+s*num_channels] / 128);
}
- channels.append(val/num_samples);
+ channels.append(val / num_samples);
}
if (samples > 0)
emit showAudioSignal(channels);
- else
+ else
emit showAudioSignal(QByteArray());
}