#include "model_options.h"
#include "global.h"
+#include "model_sysinfo.h"
#include <QDesktopServices>
#include <QSettings>
#define COMPARE_STR(OTHER, NAME) ((this->NAME).compare((model->NAME), Qt::CaseInsensitive) == 0)
#define ASSIGN_FROM(OTHER, NAME) ((this->NAME) = (OTHER.NAME))
-OptionsModel::OptionsModel(void)
+OptionsModel::OptionsModel(const SysinfoModel *sysinfo)
{
m_encoderType = EncType_X264;
- m_encoderArch = EncArch_x32;
+ m_encoderArch = sysinfo->hasX64Support() ? EncArch_x64 : EncArch_x32;
m_encoderVariant = EncVariant_LoBit;
m_rcMode = RCMode_CRF;
m_bitrate = 1200;
return complete;
}
-QMap<QString, OptionsModel*> OptionsModel::loadAllTemplates(void)
+QMap<QString, OptionsModel*> OptionsModel::loadAllTemplates(const SysinfoModel *sysinfo)
{
QMap<QString, OptionsModel*> list;
const QString appDir = x264_data_path();
QString name = allTemplates.takeFirst();
if(!(name.contains('<') || name.contains('>') || name.contains('\\') || name.contains('/')))
{
- OptionsModel *options = new OptionsModel();
+ OptionsModel *options = new OptionsModel(sysinfo);
if(loadTemplate(options, name))
{
list.insert(name, options);
#include <QString>
#include <QMap>
+class SysinfoModel;
+
class OptionsModel
{
public:
- OptionsModel(void);
+ OptionsModel(const SysinfoModel *sysinfo);
OptionsModel(const OptionsModel &rhs);
~OptionsModel(void);
static QString rcMode2String(RCMode mode);
static bool saveTemplate(OptionsModel *model, const QString &name);
static bool loadTemplate(OptionsModel *model, const QString &name);
- static QMap<QString, OptionsModel*> loadAllTemplates(void);
+ static QMap<QString, OptionsModel*> loadAllTemplates(const SysinfoModel *sysinfo);
static bool templateExists(const QString &name);
static bool deleteTemplate(const QString &name);
#define VER_X264_MAJOR 2
#define VER_X264_MINOR 3
#define VER_X264_PATCH 1
-#define VER_X264_BUILD 771
+#define VER_X264_BUILD 772
#define VER_X264_MINIMUM_REV 2380
#define VER_X264_CURRENT_API 142
m_recentlyUsed(recentlyUsed),
m_sysinfo(sysinfo),
m_preferences(preferences),
- m_defaults(new OptionsModel()),
+ m_defaults(new OptionsModel(sysinfo)),
ui(new Ui::AddJobDialog())
{
//Init the dialog, from the .ui file
{
if((o == ui->labelHelpScreenX264) && (e->type() == QEvent::MouseButtonPress))
{
- OptionsModel options; saveOptions(&options);
+ OptionsModel options(m_sysinfo); saveOptions(&options);
HelpDialog *helpScreen = new HelpDialog(this, false, m_sysinfo, &options, m_preferences);
helpScreen->exec();
X264_DELETE(helpScreen);
name = tr("New Template (%1)").arg(QString::number(n++));
}
- OptionsModel *options = new OptionsModel();
+ OptionsModel *options = new OptionsModel(m_sysinfo);
saveOptions(options);
if(options->equals(m_defaults))
ui->cbxTemplate->addItem(tr("<Default>"), QVariant::fromValue<const void*>(m_defaults));
ui->cbxTemplate->setCurrentIndex(0);
- QMap<QString, OptionsModel*> templates = OptionsModel::loadAllTemplates();
+ QMap<QString, OptionsModel*> templates = OptionsModel::loadAllTemplates(m_sysinfo);
QStringList templateNames = templates.keys();
templateNames.sort();
RecentlyUsed::loadRecentlyUsed(m_recentlyUsed);
//Create options object
- m_options = new OptionsModel();
+ m_options = new OptionsModel(m_sysinfo);
OptionsModel::loadTemplate(m_options, QString::fromLatin1(tpl_last));
//Freeze minimum size
{
if(QFileInfo(args[0]).exists() && QFileInfo(args[0]).isFile())
{
- OptionsModel options;
+ OptionsModel options(m_sysinfo);
bool runImmediately = (countRunningJobs() < (m_preferences->getAutoRunNextJob() ? m_preferences->getMaxRunningJobCount() : 1));
if(!(args[2].isEmpty() || X264_STRCMP(args[2], "-")))
{