Merge pull request #947 from manongjohn/implicit_hold_fixes_4

Implicit Hold fixes 4
This commit is contained in:
manongjohn 2022-04-04 23:20:02 -04:00 committed by GitHub
commit 17c75a646c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 19 additions and 17 deletions

View file

@ -600,7 +600,7 @@ int TFx::getReferenceColumnIndex() const {
//-------------------------------------------------- //--------------------------------------------------
TFxTimeRegion TFx::getTimeRegion() const { TFxTimeRegion TFx::getTimeRegion(bool ignoreImplicit) const {
if (m_imp->m_portTable.empty()) return TFxTimeRegion::createUnlimited(); if (m_imp->m_portTable.empty()) return TFxTimeRegion::createUnlimited();
TFxTimeRegion tr((std::numeric_limits<double>::max)(), TFxTimeRegion tr((std::numeric_limits<double>::max)(),
@ -611,8 +611,8 @@ TFxTimeRegion TFx::getTimeRegion() const {
TFxPort *port = it->second; TFxPort *port = it->second;
if (port && port->isConnected() && !port->isaControlPort()) { if (port && port->isConnected() && !port->isaControlPort()) {
TFx *fx = port->getFx(); TFx *fx = port->getFx();
assert(fx); std::wstring fxName = fx->getName();
tr += fx->getTimeRegion(); tr += fx->getTimeRegion((fx->getFxType() == "Toonz_columnFx" ? true : ignoreImplicit));
} }
} }

View file

@ -288,8 +288,8 @@ void TMacroFx::doCompute(TTile &tile, double frame, const TRenderSettings &ri) {
//-------------------------------------------------- //--------------------------------------------------
TFxTimeRegion TMacroFx::getTimeRegion() const { TFxTimeRegion TMacroFx::getTimeRegion(bool ignoreImplicit) const {
return m_root->getTimeRegion(); return m_root->getTimeRegion(ignoreImplicit);
} }
//-------------------------------------------------- //--------------------------------------------------

View file

@ -436,7 +436,7 @@ public:
int getOutputConnectionCount() const; int getOutputConnectionCount() const;
TFxPort *getOutputConnection(int i) const; TFxPort *getOutputConnection(int i) const;
virtual TFxTimeRegion getTimeRegion() const; virtual TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const;
void setActiveTimeRegion(const TFxTimeRegion &tr); void setActiveTimeRegion(const TFxTimeRegion &tr);
TFxTimeRegion getActiveTimeRegion() const; TFxTimeRegion getActiveTimeRegion() const;

View file

@ -52,7 +52,7 @@ public:
const TRenderSettings &info) override; const TRenderSettings &info) override;
void doCompute(TTile &tile, double frame, const TRenderSettings &ri) override; void doCompute(TTile &tile, double frame, const TRenderSettings &ri) override;
TFxTimeRegion getTimeRegion() const override; TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override;
std::string getPluginId() const override; std::string getPluginId() const override;

View file

@ -89,7 +89,7 @@ public:
TAffine handledAffine(const TRenderSettings &info, double frame) override; TAffine handledAffine(const TRenderSettings &info, double frame) override;
TAffine getDpiAff(int frame); TAffine getDpiAff(int frame);
TFxTimeRegion getTimeRegion() const override; TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override;
bool doGetBBox(double frame, TRectD &bBox, bool doGetBBox(double frame, TRectD &bBox,
const TRenderSettings &info) override; const TRenderSettings &info) override;
std::string getAlias(double frame, std::string getAlias(double frame,
@ -151,7 +151,7 @@ public:
bool canHandle(const TRenderSettings &info, double frame) override; bool canHandle(const TRenderSettings &info, double frame) override;
TFxTimeRegion getTimeRegion() const override; TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override;
bool doGetBBox(double frame, TRectD &bBox, bool doGetBBox(double frame, TRectD &bBox,
const TRenderSettings &info) override; const TRenderSettings &info) override;
std::string getAlias(double frame, std::string getAlias(double frame,
@ -196,7 +196,7 @@ public:
return true; return true;
} }
TFxTimeRegion getTimeRegion() const override; TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override;
bool doGetBBox(double frame, TRectD &bBox, bool doGetBBox(double frame, TRectD &bBox,
const TRenderSettings &info) override; const TRenderSettings &info) override;
std::string getAlias(double frame, std::string getAlias(double frame,

View file

@ -155,7 +155,7 @@ public:
const TRenderSettings &info) const override; const TRenderSettings &info) const override;
bool doGetBBox(double frame, TRectD &bBox, bool doGetBBox(double frame, TRectD &bBox,
const TRenderSettings &info) override; const TRenderSettings &info) override;
TFxTimeRegion getTimeRegion() const override { TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override {
return TFxTimeRegion::createUnlimited(); return TFxTimeRegion::createUnlimited();
} }

View file

@ -125,7 +125,7 @@ public:
const TRenderSettings &info) const override; const TRenderSettings &info) const override;
bool doGetBBox(double frame, TRectD &bBox, bool doGetBBox(double frame, TRectD &bBox,
const TRenderSettings &info) override; const TRenderSettings &info) override;
TFxTimeRegion getTimeRegion() const override { TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override {
return TFxTimeRegion::createUnlimited(); return TFxTimeRegion::createUnlimited();
} }

View file

@ -97,7 +97,9 @@ public:
void setTimeRegion(const TFxTimeRegion &timeRegion) { void setTimeRegion(const TFxTimeRegion &timeRegion) {
m_timeRegion = timeRegion; m_timeRegion = timeRegion;
} }
TFxTimeRegion getTimeRegion() const override { return m_timeRegion; } TFxTimeRegion getTimeRegion(bool ignoreImplicit = false) const override {
return m_timeRegion;
}
void setCellColumn(TXshCellColumn *cellColumn) { m_cellColumn = cellColumn; } void setCellColumn(TXshCellColumn *cellColumn) { m_cellColumn = cellColumn; }

View file

@ -1457,7 +1457,7 @@ std::string TLevelColumnFx::getPluginId() const { return "Toonz_"; }
//------------------------------------------------------------------- //-------------------------------------------------------------------
TFxTimeRegion TLevelColumnFx::getTimeRegion() const { TFxTimeRegion TLevelColumnFx::getTimeRegion(bool ignoreImplicit) const {
if (!m_levelColumn) return TFxTimeRegion(); if (!m_levelColumn) return TFxTimeRegion();
int first = m_levelColumn->getFirstRow(); int first = m_levelColumn->getFirstRow();
@ -1465,7 +1465,7 @@ TFxTimeRegion TLevelColumnFx::getTimeRegion() const {
// For implicit hold, if the last frame is not a stop frame, it's held // For implicit hold, if the last frame is not a stop frame, it's held
// indefinitely // indefinitely
if (Preferences::instance()->isImplicitHoldEnabled() && if (Preferences::instance()->isImplicitHoldEnabled() && !ignoreImplicit &&
!m_levelColumn->getCell(last - 1).getFrameId().isStopFrame()) !m_levelColumn->getCell(last - 1).getFrameId().isStopFrame())
return TFxTimeRegion(0, (std::numeric_limits<double>::max)()); return TFxTimeRegion(0, (std::numeric_limits<double>::max)());
@ -1671,7 +1671,7 @@ std::string TPaletteColumnFx::getPluginId() const { return "Toonz_"; }
//------------------------------------------------------------------- //-------------------------------------------------------------------
TFxTimeRegion TPaletteColumnFx::getTimeRegion() const { TFxTimeRegion TPaletteColumnFx::getTimeRegion(bool ignoreImplicit) const {
int first = 0; int first = 0;
int last = 11; int last = 11;
return TFxTimeRegion(first, last); return TFxTimeRegion(first, last);
@ -1761,7 +1761,7 @@ std::string TZeraryColumnFx::getPluginId() const { return "Toonz_"; }
//------------------------------------------------------------------- //-------------------------------------------------------------------
TFxTimeRegion TZeraryColumnFx::getTimeRegion() const { TFxTimeRegion TZeraryColumnFx::getTimeRegion(bool ignoreImplicit) const {
return TFxTimeRegion(0, (std::numeric_limits<double>::max)()); return TFxTimeRegion(0, (std::numeric_limits<double>::max)());
} }