From 2c2c458db1ac7ec1a9f5e73ab89298622ad9d593 Mon Sep 17 00:00:00 2001 From: justburner Date: Mon, 21 Feb 2022 18:07:34 +0000 Subject: [PATCH] Fix GIF rendering on older versions --- toonz/sources/image/ffmpeg/tiio_gif.cpp | 5 +++++ toonz/sources/include/tproperty.h | 4 ++++ toonz/sources/toonz/formatsettingspopups.cpp | 14 +++++++------- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/toonz/sources/image/ffmpeg/tiio_gif.cpp b/toonz/sources/image/ffmpeg/tiio_gif.cpp index 3e8deddc..351c9d6f 100644 --- a/toonz/sources/image/ffmpeg/tiio_gif.cpp +++ b/toonz/sources/image/ffmpeg/tiio_gif.cpp @@ -155,6 +155,8 @@ TLevelWriterGif::~TLevelWriterGif() { } #endif + preIArgs << "-r"; + preIArgs << QString::number(framerate); preIArgs << "-v"; preIArgs << "warning"; #if 0 @@ -351,6 +353,9 @@ Tiio::GifWriterProperties::GifWriterProperties() m_mode.setItemUIName(L"NEW3", tr("New Pal Per Frame + Bayer1 Dither")); m_mode.setItemUIName(L"NOPAL", tr("Opaque, Dither, 256 Colors Only")); + // Doesn't make Generate Palette property visible in the popup + m_palette.setVisible(false); + bind(m_scale); bind(m_looping); bind(m_palette); diff --git a/toonz/sources/include/tproperty.h b/toonz/sources/include/tproperty.h index 660a4378..9e099a25 100644 --- a/toonz/sources/include/tproperty.h +++ b/toonz/sources/include/tproperty.h @@ -96,11 +96,15 @@ public: std::string getId() const { return m_id; } void setId(std::string id) { m_id = id; } + bool getVisible() const { return m_visible; } + void setVisible(bool state) { m_visible = state; } + private: std::string m_name; QString m_qstringName; std::string m_id; std::vector m_listeners; + bool m_visible; }; //--------------------------------------------------------- diff --git a/toonz/sources/toonz/formatsettingspopups.cpp b/toonz/sources/toonz/formatsettingspopups.cpp index 36675397..3547c0e0 100644 --- a/toonz/sources/toonz/formatsettingspopups.cpp +++ b/toonz/sources/toonz/formatsettingspopups.cpp @@ -75,17 +75,17 @@ FormatSettingsPopup::FormatSettingsPopup(QWidget *parent, if (m_props) { int i = 0; for (i = 0; i < m_props->getPropertyCount(); i++) { - if (dynamic_cast(m_props->getProperty(i))) + TProperty *prop = m_props->getProperty(i); + if (prop && !prop->getVisible()) continue; + if (dynamic_cast(prop)) buildPropertyComboBox(i, m_props); - else if (dynamic_cast(m_props->getProperty(i))) + else if (dynamic_cast(prop)) buildValueField(i, m_props); - else if (dynamic_cast(m_props->getProperty(i))) + else if (dynamic_cast(prop)) buildDoubleField(i, m_props); - else if (dynamic_cast(m_props->getProperty(i))) { - if (m_props->getProperty(i)->getName() != - "Generate Palette") // Hide. Not using but still needed here + else if (dynamic_cast(prop)) buildPropertyCheckBox(i, m_props); - } else if (dynamic_cast(m_props->getProperty(i))) + else if (dynamic_cast(prop)) buildPropertyLineEdit(i, m_props); else assert(false);