MCPcopy Create free account
hub / github.com/NatronGitHub/openfx-misc / describe

Method describe

SlitScan/SlitScan.cpp:897–931  ·  view source on GitHub ↗

@brief The basic describe function, passed a plugin descriptor */

Source from the content-addressed store, hash-verified

895
896/** @brief The basic describe function, passed a plugin descriptor */
897void
898SlitScanPluginFactory::describe(ImageEffectDescriptor &desc)
899{
900 // basic labels
901 desc.setLabel(kPluginName);
902 desc.setPluginGrouping(kPluginGrouping);
903 desc.setPluginDescription(kPluginDescription);
904
905 desc.addSupportedContext(eContextFilter);
906 desc.addSupportedContext(eContextGeneral);
907
908 // Add supported pixel depths
909 desc.addSupportedBitDepth(eBitDepthUByte);
910 desc.addSupportedBitDepth(eBitDepthUShort);
911 desc.addSupportedBitDepth(eBitDepthFloat);
912
913 // set a few flags
914 desc.setSingleInstance(false);
915 desc.setHostFrameThreading(true); // specific to SlitScan: host frame threading helps us: we require less input images to render a small area
916 desc.setSupportsMultiResolution(kSupportsMultiResolution);
917 desc.setSupportsTiles(kSupportsTiles);
918 desc.setTemporalClipAccess(true); // say we will be doing random time access on clips
919 desc.setRenderTwiceAlways(true); // each field has to be rendered separately, since it may come from a different time
920 desc.setSupportsMultipleClipPARs(kSupportsMultipleClipPARs);
921 desc.setSupportsMultipleClipDepths(kSupportsMultipleClipDepths);
922 desc.setRenderThreadSafety(kRenderThreadSafety);
923
924 // we can't be used on hosts that don't perfrom temporal clip access
925 if (!getImageEffectHostDescription()->temporalClipAccess) {
926 throw Exception::HostInadequate("Need random temporal image access to work");
927 }
928#ifdef OFX_EXTENSIONS_NATRON
929 desc.setChannelSelector(ePixelComponentNone);
930#endif
931}
932
933/** @brief The describe in context function, passed a plugin descriptor and a context */
934void

Callers

nothing calls this directly

Calls 1

setLabelMethod · 0.80

Tested by

no test coverage detected