X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=src%2Fsource_avisynth.h;h=9bd48ab343024071c9330bfc2bbbe071148382ab;hb=e4253a7dc616b013ffea7d6659428b69cb32f8ad;hp=18cf45ed2523ff393b44411a43e25e5ee9dc3e58;hpb=834905abf9c70bd51f4a53c8c11cdcc702feb515;p=x264-launcher%2Fx264-launcher.git diff --git a/src/source_avisynth.h b/src/source_avisynth.h index 18cf45e..9bd48ab 100644 --- a/src/source_avisynth.h +++ b/src/source_avisynth.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // Simple x264 Launcher -// Copyright (C) 2004-2014 LoRd_MuldeR +// Copyright (C) 2004-2020 LoRd_MuldeR // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -22,6 +22,8 @@ #pragma once #include "source_abstract.h" +#include "model_sysinfo.h" +#include "model_preferences.h" class AvisynthSource : public AbstractSource { @@ -29,7 +31,7 @@ public: AvisynthSource(JobObject *jobObject, const OptionsModel *options, const SysinfoModel *const sysinfo, const PreferencesModel *const preferences, JobStatus &jobStatus, volatile bool *abort, volatile bool *pause, QSemaphore *semaphorePause, const QString &sourceFile); virtual ~AvisynthSource(void); - virtual const QString &getName(void); + virtual QString getName(void) const; virtual bool isSourceAvailable(void); virtual QString printVersion(const unsigned int &revision, const bool &modified); @@ -37,16 +39,17 @@ public: virtual void flushProcess(QProcess &processInput); + static const AbstractSourceInfo& getSourceInfo(void); + protected: virtual void checkVersion_init(QList &patterns, QStringList &cmdLine); - virtual void checkVersion_parseLine(const QString &line, QList &patterns, unsigned int &core, unsigned int &build, bool &modified); + virtual void checkVersion_parseLine(const QString &line, const QList &patterns, unsigned int &core, unsigned int &build, bool &modified); virtual bool checkVersion_succeeded(const int &exitCode); virtual void checkSourceProperties_init(QList &patterns, QStringList &cmdLine); - virtual void checkSourceProperties_parseLine(const QString &line, QList &patterns, unsigned int &frames, unsigned int &fSizeW, unsigned int &fSizeH, unsigned int &fpsNom, unsigned int &fpsDen); - virtual const QString &getBinaryPath() { return m_binaryFile; } - virtual void buildCommandLine(QStringList &cmdLine); + virtual void checkSourceProperties_parseLine(const QString &line, const QList &patterns, ClipInfo &clipInfo); - const QString m_sourceName; - const QString m_binaryFile; + virtual QString getBinaryPath(void) const { return getSourceInfo().getBinaryPath(m_sysinfo, m_sysinfo->getCPUFeatures(SysinfoModel::CPUFeatures_X64) && m_sysinfo->getAvisynth(SysinfoModel::Avisynth_X64) && (m_preferences->getPrefer64BitSource() || (!m_sysinfo->getAvisynth(SysinfoModel::Avisynth_X86)))); } + virtual QStringList getExtraPath(void) const { return getSourceInfo().getExtraPaths(m_sysinfo, m_sysinfo->getCPUFeatures(SysinfoModel::CPUFeatures_X64) && m_sysinfo->getAvisynth(SysinfoModel::Avisynth_X64) && (m_preferences->getPrefer64BitSource() || (!m_sysinfo->getAvisynth(SysinfoModel::Avisynth_X86)))); } + virtual void buildCommandLine(QStringList &cmdLine); };