| 298 | #endif |
| 299 | |
| 300 | void |
| 301 | JoinViewsPluginFactory::describe(ImageEffectDescriptor &desc) |
| 302 | { |
| 303 | // basic labels |
| 304 | desc.setLabel(kPluginName); |
| 305 | desc.setPluginGrouping(kPluginGrouping); |
| 306 | desc.setPluginDescription(kPluginDescription); |
| 307 | |
| 308 | // add the supported contexts, only general at the moment, because there are several inputs |
| 309 | // (see http://openfx.sourceforge.net/Documentation/1.3/ofxProgrammingReference.html#kOfxImageEffectContextFilter) |
| 310 | desc.addSupportedContext(eContextGeneral); |
| 311 | |
| 312 | // add supported pixel depths |
| 313 | desc.addSupportedBitDepth(eBitDepthUByte); |
| 314 | desc.addSupportedBitDepth(eBitDepthUShort); |
| 315 | desc.addSupportedBitDepth(eBitDepthFloat); |
| 316 | |
| 317 | // set a few flags |
| 318 | desc.setSingleInstance(false); |
| 319 | desc.setHostFrameThreading(false); |
| 320 | desc.setSupportsMultiResolution(kSupportsMultiResolution); |
| 321 | desc.setSupportsTiles(kSupportsTiles); |
| 322 | desc.setTemporalClipAccess(false); |
| 323 | desc.setRenderTwiceAlways(false); |
| 324 | desc.setSupportsMultipleClipPARs(kSupportsMultipleClipPARs); |
| 325 | desc.setSupportsMultipleClipDepths(kSupportsMultipleClipDepths); |
| 326 | desc.setRenderThreadSafety(kRenderThreadSafety); |
| 327 | |
| 328 | //We only render color plane |
| 329 | desc.setIsMultiPlanar(false); |
| 330 | |
| 331 | //We're using the view calls (i.e: getFrameViewsNeeded) |
| 332 | desc.setIsViewAware(true); |
| 333 | |
| 334 | //We do not render the same thing on all views |
| 335 | desc.setIsViewInvariant(eViewInvarianceAllViewsVariant); |
| 336 | |
| 337 | |
| 338 | // returning an error here crashes Nuke |
| 339 | //if (!fetchSuite(kOfxVegasStereoscopicImageEffectSuite, 1, true)) { |
| 340 | // throwHostMissingSuiteException(kOfxVegasStereoscopicImageEffectSuite); |
| 341 | //} |
| 342 | #ifdef OFX_EXTENSIONS_NATRON |
| 343 | desc.setChannelSelector(ePixelComponentNone); |
| 344 | if (getImageEffectHostDescription()->isNatron) { |
| 345 | desc.setIsDeprecated(true); // prefer Natron's internal JoinViews |
| 346 | } |
| 347 | #endif |
| 348 | } |
| 349 | |
| 350 | void |
| 351 | JoinViewsPluginFactory::describeInContext(ImageEffectDescriptor &desc, |