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();
TFxTimeRegion tr((std::numeric_limits<double>::max)(),
@ -611,8 +611,8 @@ TFxTimeRegion TFx::getTimeRegion() const {
TFxPort *port = it->second;
if (port && port->isConnected() && !port->isaControlPort()) {
TFx *fx = port->getFx();
assert(fx);
tr += fx->getTimeRegion();
std::wstring fxName = fx->getName();
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 {
return m_root->getTimeRegion();
TFxTimeRegion TMacroFx::getTimeRegion(bool ignoreImplicit) const {
return m_root->getTimeRegion(ignoreImplicit);
}
//--------------------------------------------------

View file

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

View file

@ -52,7 +52,7 @@ public:
const TRenderSettings &info) 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;

View file

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

View file

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

View file

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

View file

@ -97,7 +97,9 @@ public:
void setTimeRegion(const TFxTimeRegion &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; }

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();
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
// indefinitely
if (Preferences::instance()->isImplicitHoldEnabled() &&
if (Preferences::instance()->isImplicitHoldEnabled() && !ignoreImplicit &&
!m_levelColumn->getCell(last - 1).getFrameId().isStopFrame())
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 last = 11;
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)());
}