| 7197 | } |
| 7198 | |
| 7199 | std::string |
| 7200 | Node::getPluginDescription() const |
| 7201 | { |
| 7202 | { |
| 7203 | QMutexLocker k(&_imp->pyPluginInfoMutex); |
| 7204 | if ( _imp->pyPlugInfo.isPyPlug ) { |
| 7205 | return _imp->pyPlugInfo.pyPlugDesc; |
| 7206 | } |
| 7207 | } |
| 7208 | |
| 7209 | // if this is a Read or Write plugin, return the description from the embedded plugin |
| 7210 | std::string pluginID = getPluginID(); |
| 7211 | if (pluginID == PLUGINID_NATRON_READ || |
| 7212 | pluginID == PLUGINID_NATRON_WRITE) { |
| 7213 | EffectInstPtr effectInstance = getEffectInstance(); |
| 7214 | if ( effectInstance && effectInstance->isReader() ) { |
| 7215 | ReadNode* isReadNode = dynamic_cast<ReadNode*>( effectInstance.get() ); |
| 7216 | |
| 7217 | if (isReadNode) { |
| 7218 | NodePtr subnode = isReadNode->getEmbeddedReader(); |
| 7219 | if (subnode) { |
| 7220 | return subnode->getPluginDescription(); |
| 7221 | } |
| 7222 | } |
| 7223 | } else if ( effectInstance && effectInstance->isWriter() ) { |
| 7224 | WriteNode* isWriteNode = dynamic_cast<WriteNode*>( effectInstance.get() ); |
| 7225 | |
| 7226 | if (isWriteNode) { |
| 7227 | NodePtr subnode = isWriteNode->getEmbeddedWriter(); |
| 7228 | if (subnode) { |
| 7229 | return subnode->getPluginDescription(); |
| 7230 | } |
| 7231 | } |
| 7232 | } |
| 7233 | } |
| 7234 | |
| 7235 | return _imp->effect->getPluginDescription(); |
| 7236 | } |
| 7237 | |
| 7238 | void |
| 7239 | Node::getPluginGrouping(std::list<std::string>* grouping) const |
no test coverage detected