svn path=/trunk/kdenlive/; revision=5423
#include <QProcess>
#include <QDBusConnectionInterface>
#include <QDBusInterface>
#include <QProcess>
#include <QDBusConnectionInterface>
#include <QDBusInterface>
const int GroupRole = Qt::UserRole;
const int ExtensionRole = GroupRole + 1;
const int GroupRole = Qt::UserRole;
const int ExtensionRole = GroupRole + 1;
m_view.proxy_render->setHidden(!enableProxy);
m_view.proxy_render->setHidden(!enableProxy);
+ m_view.encoder_threads->setMaximum(QThread::idealThreadCount());
+ m_view.encoder_threads->setValue(KdenliveSettings::encodethreads());
+ connect(m_view.encoder_threads, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateEncodeThreads(int)));
+
m_view.rescale_keep->setChecked(KdenliveSettings::rescalekeepratio());
connect(m_view.rescale_width, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateRescaleWidth(int)));
connect(m_view.rescale_height, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateRescaleHeight(int)));
m_view.rescale_keep->setChecked(KdenliveSettings::rescalekeepratio());
connect(m_view.rescale_width, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateRescaleWidth(int)));
connect(m_view.rescale_height, SIGNAL(valueChanged(int)), this, SLOT(slotUpdateRescaleHeight(int)));
// disable audio if requested
if (!exportAudio) renderArgs.append(" an=1 ");
// disable audio if requested
if (!exportAudio) renderArgs.append(" an=1 ");
+ // Set the thread counts
+ renderArgs.append(QString(" threads=%1").arg(KdenliveSettings::encodethreads()));
+ renderArgs.append(QString(" real_time=-%1").arg(KdenliveSettings::mltthreads()));
+
// Check if the rendering profile is different from project profile,
// in which case we need to use the producer_comsumer from MLT
QString std = renderArgs;
// Check if the rendering profile is different from project profile,
// in which case we need to use the producer_comsumer from MLT
QString std = renderArgs;
if (resizeProfile)
render_process_args << "consumer:" + (scriptExport ? "$SOURCE" : playlistPath);
else
if (resizeProfile)
render_process_args << "consumer:" + (scriptExport ? "$SOURCE" : playlistPath);
else
} else m_view.errorBox->setHidden(true);
}
} else m_view.errorBox->setHidden(true);
}
+void RenderWidget::slotUpdateEncodeThreads(int val)
+{
+ KdenliveSettings::setEncodethreads(val);
+}
+
void RenderWidget::slotUpdateRescaleWidth(int val)
{
KdenliveSettings::setDefaultrescalewidth(val);
void RenderWidget::slotUpdateRescaleWidth(int val)
{
KdenliveSettings::setDefaultrescalewidth(val);
void slotPlayRendering(QTreeWidgetItem *item, int);
void slotStartCurrentJob();
void slotCopyToFavorites();
void slotPlayRendering(QTreeWidgetItem *item, int);
void slotStartCurrentJob();
void slotCopyToFavorites();
+ void slotUpdateEncodeThreads(int);
void slotUpdateRescaleHeight(int);
void slotUpdateRescaleWidth(int);
void slotSwitchAspectRatio();
void slotUpdateRescaleHeight(int);
void slotUpdateRescaleWidth(int);
void slotSwitchAspectRatio();
- <width>391</width>
- <height>575</height>
+ <width>387</width>
+ <height>652</height>
</rect>
</property>
<property name="windowTitle">
</rect>
</property>
<property name="windowTitle">
</property>
</widget>
</item>
</property>
</widget>
</item>
- <item row="5" column="0" colspan="10">
+ <item row="6" column="0" colspan="10">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QCheckBox" name="rescale">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QCheckBox" name="rescale">
<property name="margin">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
- <item row="0" column="0">
- <widget class="KIntNumInput" name="rescale_width">
- <property name="minimum">
- <number>0</number>
- </property>
- </widget>
- </item>
<item row="0" column="1">
<widget class="QLabel" name="label_8">
<property name="text">
<item row="0" column="1">
<widget class="QLabel" name="label_8">
<property name="text">
</property>
</spacer>
</item>
</property>
</spacer>
</item>
+ <item row="0" column="0">
+ <widget class="KIntNumInput" name="rescale_width">
+ <property name="minimum">
+ <number>0</number>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
- <item row="6" column="0" colspan="10">
+ <item row="7" column="0" colspan="10">
<widget class="QCheckBox" name="open_dvd">
<property name="text">
<string>Open Dvd wizard after rendering</string>
</property>
</widget>
</item>
<widget class="QCheckBox" name="open_dvd">
<property name="text">
<string>Open Dvd wizard after rendering</string>
</property>
</widget>
</item>
- <item row="7" column="0" colspan="10">
+ <item row="8" column="0" colspan="10">
<widget class="QCheckBox" name="create_chapter">
<property name="text">
<string>Create chapter file based on guides</string>
</property>
</widget>
</item>
<widget class="QCheckBox" name="create_chapter">
<property name="text">
<string>Create chapter file based on guides</string>
</property>
</widget>
</item>
- <item row="8" column="0" colspan="10">
+ <item row="9" column="0" colspan="10">
<widget class="QCheckBox" name="open_browser">
<property name="text">
<string>Open browser window after export</string>
</property>
</widget>
</item>
<widget class="QCheckBox" name="open_browser">
<property name="text">
<string>Open browser window after export</string>
</property>
</widget>
</item>
- <item row="9" column="0" colspan="4">
+ <item row="10" column="0" colspan="4">
<widget class="QCheckBox" name="play_after">
<property name="text">
<string>Play after render</string>
</property>
</widget>
</item>
<widget class="QCheckBox" name="play_after">
<property name="text">
<string>Play after render</string>
</property>
</widget>
</item>
- <item row="9" column="4" colspan="6">
+ <item row="10" column="4" colspan="6">
<widget class="QCheckBox" name="tc_overlay">
<property name="text">
<string>Timecode overlay</string>
</property>
</widget>
</item>
<widget class="QCheckBox" name="tc_overlay">
<property name="text">
<string>Timecode overlay</string>
</property>
</widget>
</item>
- <item row="10" column="0" colspan="10">
+ <item row="11" column="0" colspan="10">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QRadioButton" name="render_full">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QRadioButton" name="render_full">
</item>
</layout>
</item>
</item>
</layout>
</item>
- <item row="11" column="0" colspan="10">
+ <item row="12" column="0" colspan="10">
<widget class="QGroupBox" name="guides_box">
<property name="title">
<string/>
<widget class="QGroupBox" name="guides_box">
<property name="title">
<string/>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
- <item row="14" column="0" colspan="3">
+ <item row="15" column="0" colspan="3">
<widget class="QPushButton" name="buttonRender">
<property name="text">
<string>Render to File</string>
</property>
</widget>
</item>
<widget class="QPushButton" name="buttonRender">
<property name="text">
<string>Render to File</string>
</property>
</widget>
</item>
- <item row="14" column="3" colspan="4">
+ <item row="15" column="3" colspan="4">
<widget class="QPushButton" name="buttonGenerateScript">
<property name="text">
<string>Generate Script</string>
</property>
</widget>
</item>
<widget class="QPushButton" name="buttonGenerateScript">
<property name="text">
<string>Generate Script</string>
</property>
</widget>
</item>
- <item row="14" column="7" colspan="2">
+ <item row="15" column="7" colspan="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</spacer>
</item>
</property>
</spacer>
</item>
- <item row="14" column="9">
+ <item row="15" column="9">
<widget class="KPushButton" name="buttonClose">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<widget class="KPushButton" name="buttonClose">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
- <item row="15" column="0" colspan="10">
+ <item row="16" column="0" colspan="10">
<widget class="QGroupBox" name="errorBox">
<property name="title">
<string/>
<widget class="QGroupBox" name="errorBox">
<property name="title">
<string/>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
- <item row="13" column="0" colspan="10">
+ <item row="14" column="0" colspan="10">
<widget class="QCheckBox" name="proxy_render">
<property name="text">
<string>Render using proxy clips</string>
</property>
</widget>
</item>
<widget class="QCheckBox" name="proxy_render">
<property name="text">
<string>Render using proxy clips</string>
</property>
</widget>
</item>
+ <item row="5" column="0" colspan="3">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Encoder threads</string>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="4" colspan="2">
+ <widget class="KIntNumInput" name="encoder_threads">
+ <property name="minimum">
+ <number>1</number>
+ </property>
+ <property name="maximum">
+ <number>999</number>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
</layout>
</widget>
<widget class="QWidget" name="tab_2">