Merge pull request #947 from manongjohn/implicit_hold_fixes_4
Implicit Hold fixes 4
This commit is contained in:
commit
17c75a646c
9 changed files with 19 additions and 17 deletions
|
@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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; }
|
||||||
|
|
||||||
|
|
|
@ -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)());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue