void BasicExamplePluginFactory::describe(OFX::ImageEffectDescriptor& desc) { // basic labels desc.setLabels("Gain", "Gain", "Gain"); desc.setPluginGrouping("OFX"); // add the supported contexts, only filter at the moment desc.addSupportedContext(eContextFilter); desc.addSupportedContext(eContextGeneral); desc.addSupportedContext(eContextPaint); // add supported pixel depths desc.addSupportedBitDepth(eBitDepthUByte); desc.addSupportedBitDepth(eBitDepthUShort); desc.addSupportedBitDepth(eBitDepthFloat); // set a few flags desc.setSingleInstance(false); desc.setHostFrameThreading(false); desc.setSupportsMultiResolution(true); desc.setSupportsTiles(true); desc.setTemporalClipAccess(false); desc.setRenderTwiceAlways(false); desc.setSupportsMultipleClipPARs(false); desc.setOverlayInteractDescriptor( new BasicExampleOverlayDescriptor); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void HistogramKeyerPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { desc.setLabels( "TuttleHistogramKeyer", "HistogramKeyer", "HistogramKeyer" ); desc.setPluginGrouping( "tuttle/image/process/color" ); desc.setDescription( "HistogramKeyer\n" "Test parametric parameters.\n" "Full description of the plugin....\n" "\n" "bla bla\n" "\n" ); // add the supported contexts, only filter at the moment desc.addSupportedContext( OFX::eContextFilter ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // plugin flags desc.setSupportsTiles( kSupportTiles ); desc.setRenderThreadSafety( OFX::eRenderFullySafe ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<HistogramKeyerOverlayDescriptor>() ); // if( ! OFX::getImageEffectHostDescription()->supportsParametricParameter ) // { // BOOST_THROW_EXCEPTION( exception::MissingHostFeature( "Parametric parameter" ) ); // } }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void HistogramKeyerPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { // describe the plugin desc.setLabels( "TuttleHistogramKeyer", "HistogramKeyer", "HistogramKeyer" ); desc.setPluginGrouping( "tuttle/image/process/color" ); desc.setDescription( "HistogramKeyer\n" "This histogram keyer plugin allows user to create an alpha mask using HSL & RGB curves. Output can be in gray scale or directly in alpha channel (RGBA)." "There are some selection parameters which could help you to refine your maniplulation (control points unders histograms and quantity)." "A reverse output mask is also implemented.\n" "\n" ); // add the supported contexts, only filter at the moment desc.addSupportedContext( OFX::eContextFilter ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // plugin flags desc.setSupportsTiles( kSupportTiles ); desc.setRenderThreadSafety( OFX::eRenderFullySafe ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<HistogramKeyerOverlayDescriptor>() ); if( ! OFX::getImageEffectHostDescription()->supportsParametricParameter ) { BOOST_THROW_EXCEPTION( exception::MissingHostFeature( "Parametric parameter" ) ); } }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void HistogramPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { // describe the plugin desc.setLabels( "TuttleHistogram", "Histogram", "Histogram" ); desc.setPluginGrouping( "tuttle/image/display" ); desc.setDescription( "Histogram\n" "\n" "An image histogram is a type of histogram that acts as a graphical representation " "of the tonal distribution in a digital image.[1] It plots the number of pixels " "for each tonal value. By looking at the histogram for a specific image a viewer " "will be able to judge the entire tonal distribution at a glance.\n" "Image histograms are present on many modern digital cameras. Photographers can " "use them as an aid to show the distribution of tones captured, and whether image " "detail has been lost to blown-out highlights or blacked-out shadows.\n" "The horizontal axis of the graph represents the tonal variations, while the vertical " "axis represents the number of pixels in that particular tone.[1] The left side " "of the horizontal axis represents the black and dark areas, the middle represents " "medium grey and the right hand side represents light and pure white areas. The vertical " "axis represents the size of the area that is captured in each one of these zones. " "Thus, the histogram for a very dark image will have the majority of its data points " "on the left side and center of the graph. Conversely, the histogram for a very " "bright image with few dark areas and/or shadows will have most of its data points " "on the right side and center of the graph.\n" "\n" "See http://en.wikipedia.org/wiki/Image_histogram" "\n" ); // add the supported contexts, only filter at the moment desc.addSupportedContext( OFX::eContextFilter ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // plugin flags desc.setSupportsTiles( kSupportTiles ); desc.setRenderThreadSafety( OFX::eRenderFullySafe ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<HistogramOverlayDescriptor>() ); }
void GenericTestExamplePluginFactory::describe(OFX::ImageEffectDescriptor &desc) { desc.setLabels("GenericTest", "GenericTest", "GenericTest"); desc.setPluginGrouping("OFX"); desc.addSupportedContext(eContextFilter); desc.addSupportedBitDepth(eBitDepthUByte); desc.addSupportedBitDepth(eBitDepthUShort); desc.addSupportedBitDepth(eBitDepthFloat); desc.setSingleInstance(false); desc.setHostFrameThreading(false); desc.setSupportsMultiResolution(true); desc.setSupportsTiles(true); desc.setTemporalClipAccess(false); desc.setRenderTwiceAlways(false); desc.setSupportsMultipleClipPARs(false); desc.setOverlayInteractDescriptor( new PositionOverlayDescriptor); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void PinningPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { desc.setLabels( "TuttlePinning", "Pinning", "Pinning" ); desc.setPluginGrouping( "tuttle/image/process/geometry" ); // add the supported contexts, only filter at the moment desc.addSupportedContext( OFX::eContextFilter ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // plugin flags desc.setSupportsTiles( kSupportTiles ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<PinningEffectOverlayDescriptor > ( ) ); }
void LensCalibrationPluginFactory::describe(OFX::ImageEffectDescriptor& desc) { //Plugin Labels desc.setLabels( "LensCalibration", "LensCalibration", "openMVG LensCalibration"); //Plugin grouping desc.setPluginGrouping("openMVG"); //Plugin description desc.setPluginDescription( "LensCalibration estimates the best distortion parameters " "according to the couple camera/optics of a dataset." "\n" "The plugin supports video file & folder containing images or " "image sequence." ); //Supported contexts desc.addSupportedContext(OFX::eContextFilter); desc.addSupportedContext(OFX::eContextGeneral); desc.addSupportedContext(OFX::eContextPaint); //Supported pixel depths desc.addSupportedBitDepth(OFX::eBitDepthUByte); desc.addSupportedBitDepth(OFX::eBitDepthUShort); desc.addSupportedBitDepth(OFX::eBitDepthFloat); //Flags desc.setSingleInstance(false); desc.setHostFrameThreading(false); desc.setSupportsMultiResolution(false); desc.setSupportsTiles(false); desc.setTemporalClipAccess(false); desc.setRenderTwiceAlways(false); desc.setSupportsMultipleClipPARs(false); desc.setOverlayInteractDescriptor( new LensCalibrationOverlayDescriptor); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void CropPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { desc.setLabels( "TuttleCrop", "Crop", "Image crop" ); desc.setPluginGrouping( "tuttle/image/process/geometry" ); // add the supported contexts desc.addSupportedContext( OFX::eContextFilter ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // plugin flags desc.setSupportsTiles( kSupportTiles ); desc.setRenderThreadSafety( OFX::eRenderFullySafe ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<CropMarginOverlay>() ); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void ImageStatisticsPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { desc.setLabels( "TuttleImageStatistics", "ImageStatistics", "Image statistics" ); desc.setPluginGrouping( "tuttle/param/analysis" ); // add the supported contexts desc.addSupportedContext( OFX::eContextGeneral ); desc.addSupportedContext( OFX::eContextFilter ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // plugin flags desc.setSupportsMultiResolution( false ); desc.setSupportsTiles( kSupportTiles ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<ImageStatisticsEffectOverlayDescriptor>() ); }
/** * @brief Function called to describe the plugin main features. * @param[in, out] desc Effect descriptor */ void LensDistortPluginFactory::describe( OFX::ImageEffectDescriptor& desc ) { // basic labels desc.setLabels( "TuttleLensDistort", "LensDistort", "Create or correct lens distortion." ); desc.setPluginGrouping( "tuttle/image/process/geometry" ); // add the supported contexts desc.addSupportedContext( OFX::eContextFilter ); desc.addSupportedContext( OFX::eContextGeneral ); // add supported pixel depths desc.addSupportedBitDepth( OFX::eBitDepthUByte ); desc.addSupportedBitDepth( OFX::eBitDepthUShort ); desc.addSupportedBitDepth( OFX::eBitDepthFloat ); // set a few flags desc.setRenderThreadSafety( OFX::eRenderFullySafe ); desc.setSupportsTiles( true ); desc.setOverlayInteractDescriptor( new OFX::DefaultEffectOverlayWrap<LensDistortOverlayDescriptor>() ); }