mirror of
https://bitbucket.org/mfeemster/fractorium.git
synced 2025-01-21 21:20:07 -05:00
c91171d392
-Add animation sequence creation to Fractorium. -Add two new options to EmberGenome which are used when generating an animation sequence.: --startcount: Add this number to the filename of each flame. --padding: Override the automatically calculated amount of padding zeroes added to each filename. --Bug fixes -Prevent filenames in command line programs from using scientific notation when rendering a large number of frames. -Fix tab orders to match newer GUI items which were overlooked in previous releases. -Re-render previews if transparency value in the options dialog was changed. Re-rendering was previously only done if early clip or y axis up was changed. -Use transparency when rendering thumbnail previews. --Code changes -Wrap EmberCommon.h in a namespace called EmberCommon. -Move FormatName() from EmberGenome to EmberCommon.h/cpp -Add a prefix parameter to EmberFile::DefaultFilename() to allow for creating a default filename for sequences. -When showing the final render dialog, allow specifying where it came from: the toolbar or the render sequence button. -Refactor all preview rendering code out into its own class hierarchy with overrides for the main window and the final render dialog. -Remove all preview render cancelling functions, they are now built into the new class hierarchy and a new render will not start until the previous one is stopped. -Add two new function ConstrainLow() and ConstrainHigh() which wrap constraining two min/max spinboxes to each others' values. -Add a bool to FractoriumEmberControllerBase::CopyEmberFile() to specify whether to copy the main file or the sequence file. This is somewhat of a hack and was done in a rush. -Add a bool to FractoriumEmberControllerBase::SetEmberFile() to specify whether to move the file rather than copy. This is used in FinalRenderEmberController and improves efficiency. -Add wrapper functions for variations filter dialog settings.
272 lines
6.6 KiB
C++
272 lines
6.6 KiB
C++
#pragma once
|
|
|
|
#include "FractoriumPch.h"
|
|
|
|
/// <summary>
|
|
/// FractoriumSettings class.
|
|
/// </summary>
|
|
|
|
#define EARLYCLIP "render/earlyclip"
|
|
#define YAXISUP "render/yaxisup"
|
|
#define TRANSPARENCY "render/transparency"
|
|
#define OPENCL "render/opencl"
|
|
#define DOUBLEPRECISION "render/dp64"
|
|
#define CONTUPDATE "render/continuousupdate"
|
|
#define SHOWALLXFORMS "render/dragshowallxforms"
|
|
#define DEVICES "render/devices"
|
|
#define THREADCOUNT "render/threadcount"
|
|
#define CPUDEFILTER "render/cpudefilter"
|
|
#define OPENCLDEFILTER "render/opencldefilter"
|
|
#define CPUSUBBATCH "render/cpusubbatch"
|
|
#define OPENCLSUBBATCH "render/openclsubbatch"
|
|
#define RANDOMCOUNT "render/randomcount"
|
|
|
|
#define FRAMESPERROT "sequence/framesperrot"
|
|
#define FRAMESPERROTMAX "sequence/framesperrotmax"
|
|
#define ROTATIONS "sequence/rotations"
|
|
#define ROTATIONSMAX "sequence/rotationsmax"
|
|
#define BLENDFRAMES "sequence/blendframes"
|
|
#define BLENDFRAMESMAX "sequence/blendframesmax"
|
|
|
|
#define VARFILTERSUM "varfilter/sumcheckbox"
|
|
#define VARFILTERASSIGN "varfilter/assigncheckbox"
|
|
#define VARFILTERPPSUM "varfilter/ppsumcheckbox"
|
|
#define VARFILTERPPASSIGN "varfilter/ppassigncheckbox"
|
|
#define VARFILTERSDC "varfilter/dccheckbox"
|
|
#define VARFILTERSTATE "varfilter/statecheckbox"
|
|
#define VARFILTERPARAM "varfilter/paramcheckbox"
|
|
#define VARFILTERNONPARAM "varfilter/nonparamcheckbox"
|
|
|
|
#define FINALEARLYCLIP "finalrender/earlyclip"
|
|
#define FINALYAXISUP "finalrender/finalyaxisup"
|
|
#define FINALTRANSPARENCY "finalrender/transparency"
|
|
#define FINALOPENCL "finalrender/opencl"
|
|
#define FINALDOUBLEPRECISION "finalrender/dp64"
|
|
#define FINALSAVEXML "finalrender/savexml"
|
|
#define FINALDOALL "finalrender/doall"
|
|
#define FINALDOSEQUENCE "finalrender/dosequence"
|
|
#define FINALKEEPASPECT "finalrender/keepaspect"
|
|
#define FINALSCALE "finalrender/scale"
|
|
#define FINALEXT "finalrender/ext"
|
|
#define FINALDEVICES "finalrender/devices"
|
|
#define FINALTHREADCOUNT "finalrender/threadcount"
|
|
#define FINALTHREADPRIORITY "finalrender/threadpriority"
|
|
#define FINALQUALITY "finalrender/quality"
|
|
#define FINALTEMPORALSAMPLES "finalrender/temporalsamples"
|
|
#define FINALSUPERSAMPLE "finalrender/supersample"
|
|
#define FINALSTRIPS "finalrender/strips"
|
|
|
|
#define XMLWIDTH "xml/width"
|
|
#define XMLHEIGHT "xml/height"
|
|
#define XMLTEMPORALSAMPLES "xml/temporalsamples"
|
|
#define XMLQUALITY "xml/quality"
|
|
#define XMLSUPERSAMPLE "xml/supersample"
|
|
|
|
#define OPENFOLDER "path/open"
|
|
#define SAVEFOLDER "path/save"
|
|
|
|
#define OPENXMLEXT "file/openxmlext"
|
|
#define SAVEXMLEXT "file/savexmlext"
|
|
#define OPENIMAGEEXT "file/openimageext"
|
|
#define SAVEIMAGEEXT "file/saveimageext"
|
|
#define AUTOUNIQUE "file/autounique"
|
|
|
|
#define IDENTITYID "identity/id"
|
|
#define IDENTITYURL "identity/url"
|
|
#define IDENTITYNICK "identity/nick"
|
|
|
|
#define UIVARIATIONS "ui/variations"
|
|
|
|
#define STYLETHEME "style/theme"
|
|
|
|
/// <summary>
|
|
/// Class for preserving various program options between
|
|
/// runs of Fractorium. Each of these generally corresponds
|
|
/// to items in the options dialog and the final render dialog.
|
|
/// </summary>
|
|
class FractoriumSettings : public QSettings
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
FractoriumSettings(QObject* p);
|
|
void EnsureDefaults();
|
|
|
|
bool EarlyClip();
|
|
void EarlyClip(bool b);
|
|
|
|
bool YAxisUp();
|
|
void YAxisUp(bool b);
|
|
|
|
bool Transparency();
|
|
void Transparency(bool b);
|
|
|
|
bool OpenCL();
|
|
void OpenCL(bool b);
|
|
|
|
bool Double();
|
|
void Double(bool b);
|
|
|
|
bool ShowAllXforms();
|
|
void ShowAllXforms(bool b);
|
|
|
|
bool ContinuousUpdate();
|
|
void ContinuousUpdate(bool b);
|
|
|
|
QList<QVariant> Devices();
|
|
void Devices(const QList<QVariant>& devices);
|
|
|
|
uint ThreadCount();
|
|
void ThreadCount(uint i);
|
|
|
|
bool CpuDEFilter();
|
|
void CpuDEFilter(bool b);
|
|
|
|
bool OpenCLDEFilter();
|
|
void OpenCLDEFilter(bool b);
|
|
|
|
uint CpuSubBatch();
|
|
void CpuSubBatch(uint i);
|
|
|
|
uint OpenCLSubBatch();
|
|
void OpenCLSubBatch(uint i);
|
|
|
|
uint RandomCount();
|
|
void RandomCount(uint i);
|
|
|
|
uint FramesPerRot();
|
|
void FramesPerRot(uint i);
|
|
uint FramesPerRotMax();
|
|
void FramesPerRotMax(uint i);
|
|
uint Rotations();
|
|
void Rotations(uint i);
|
|
uint RotationsMax();
|
|
void RotationsMax(uint i);
|
|
uint BlendFrames();
|
|
void BlendFrames(uint i);
|
|
uint BlendFramesMax();
|
|
void BlendFramesMax(uint i);
|
|
|
|
int VarFilterSum();
|
|
void VarFilterSum(int i);
|
|
|
|
int VarFilterAssign();
|
|
void VarFilterAssign(int i);
|
|
|
|
int VarFilterPpsum();
|
|
void VarFilterPpsum(int i);
|
|
|
|
int VarFilterPpassign();
|
|
void VarFilterPpassign(int i);
|
|
|
|
int VarFilterSdc();
|
|
void VarFilterSdc(int i);
|
|
|
|
int VarFilterState();
|
|
void VarFilterState(int i);
|
|
|
|
int VarFilterParam();
|
|
void VarFilterParam(int i);
|
|
|
|
int VarFilterNonparam();
|
|
void VarFilterNonparam(int i);
|
|
|
|
bool FinalEarlyClip();
|
|
void FinalEarlyClip(bool b);
|
|
|
|
bool FinalYAxisUp();
|
|
void FinalYAxisUp(bool b);
|
|
|
|
bool FinalTransparency();
|
|
void FinalTransparency(bool b);
|
|
|
|
bool FinalOpenCL();
|
|
void FinalOpenCL(bool b);
|
|
|
|
bool FinalDouble();
|
|
void FinalDouble(bool b);
|
|
|
|
bool FinalSaveXml();
|
|
void FinalSaveXml(bool b);
|
|
|
|
bool FinalDoAll();
|
|
void FinalDoAll(bool b);
|
|
|
|
bool FinalDoSequence();
|
|
void FinalDoSequence(bool b);
|
|
|
|
bool FinalKeepAspect();
|
|
void FinalKeepAspect(bool b);
|
|
|
|
uint FinalScale();
|
|
void FinalScale(uint i);
|
|
|
|
QString FinalExt();
|
|
void FinalExt(const QString& s);
|
|
|
|
QList<QVariant> FinalDevices();
|
|
void FinalDevices(const QList<QVariant>& devices);
|
|
|
|
uint FinalThreadCount();
|
|
void FinalThreadCount(uint i);
|
|
|
|
int FinalThreadPriority();
|
|
void FinalThreadPriority(int b);
|
|
|
|
uint FinalQuality();
|
|
void FinalQuality(uint i);
|
|
|
|
uint FinalTemporalSamples();
|
|
void FinalTemporalSamples(uint i);
|
|
|
|
uint FinalSupersample();
|
|
void FinalSupersample(uint i);
|
|
|
|
size_t FinalStrips();
|
|
void FinalStrips(size_t i);
|
|
|
|
uint XmlTemporalSamples();
|
|
void XmlTemporalSamples(uint i);
|
|
|
|
uint XmlQuality();
|
|
void XmlQuality(uint i);
|
|
|
|
uint XmlSupersample();
|
|
void XmlSupersample(uint i);
|
|
|
|
QString OpenFolder();
|
|
void OpenFolder(const QString& s);
|
|
|
|
QString SaveFolder();
|
|
void SaveFolder(const QString& s);
|
|
|
|
QString OpenXmlExt();
|
|
void OpenXmlExt(const QString& s);
|
|
|
|
QString SaveXmlExt();
|
|
void SaveXmlExt(const QString& s);
|
|
|
|
QString OpenImageExt();
|
|
void OpenImageExt(const QString& s);
|
|
|
|
QString SaveImageExt();
|
|
void SaveImageExt(const QString& s);
|
|
|
|
bool SaveAutoUnique();
|
|
void SaveAutoUnique(bool b);
|
|
|
|
QString Id();
|
|
void Id(const QString& s);
|
|
|
|
QString Url();
|
|
void Url(const QString& s);
|
|
|
|
QString Nick();
|
|
void Nick(const QString& s);
|
|
|
|
QMap<QString, QVariant> Variations();
|
|
void Variations(const QMap<QString, QVariant>& m);
|
|
|
|
QString Theme();
|
|
void Theme(const QString& s);
|
|
};
|