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();
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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; }
|
||||
|
||||
|
|
|
@ -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)());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue