TestOpenGLPlugin::TestOpenGLPlugin(OfxImageEffectHandle handle) : ImageEffect(handle) , _dstClip(0) , _srcClip(0) , _scale(0) , _sourceScale(0) , _sourceStretch(0) , _teapotScale(0) , _angleX(0) , _angleY(0) , _angleZ(0) , _projective(0) , _mipmap(0) , _anisotropic(0) , _useGPUIfAvailable(0) , _haveAniso(false) , _maxAnisoMax(1.) { _dstClip = fetchClip(kOfxImageEffectOutputClipName); assert(_dstClip && (_dstClip->getPixelComponents() == OFX::ePixelComponentRGBA || _dstClip->getPixelComponents() == OFX::ePixelComponentAlpha)); _srcClip = getContext() == OFX::eContextGenerator ? NULL : fetchClip(kOfxImageEffectSimpleSourceClipName); assert((!_srcClip && getContext() == OFX::eContextGenerator) || (_srcClip && (_srcClip->getPixelComponents() == OFX::ePixelComponentRGBA || _srcClip->getPixelComponents() == OFX::ePixelComponentAlpha))); _scale = fetchDouble2DParam(kParamScale); _sourceScale = fetchDouble2DParam(kParamSourceScale); _sourceStretch = fetchDoubleParam(kParamSourceStretch); _teapotScale = fetchDoubleParam(kParamTeapotScale); assert(_scale && _sourceScale); _angleX = fetchDoubleParam(kParamAngleX); _angleY = fetchDoubleParam(kParamAngleY); _angleZ = fetchDoubleParam(kParamAngleZ); assert(_angleX && _angleY && _angleZ); _projective = fetchBooleanParam(kParamProjective); _mipmap = fetchBooleanParam(kParamMipmap); _anisotropic = fetchBooleanParam(kParamAnisotropic); assert(_projective && _mipmap && _anisotropic); #if defined(OFX_SUPPORTS_OPENGLRENDER) && defined(HAVE_OSMESA) _useGPUIfAvailable = fetchBooleanParam(kParamUseGPU); assert(_useGPUIfAvailable); const OFX::ImageEffectHostDescription &gHostDescription = *OFX::getImageEffectHostDescription(); if (!gHostDescription.supportsOpenGLRender) { _useGPUIfAvailable->setEnabled(false); } #endif }
WriterPlugin::WriterPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) , _oneRender( false ) , _oneRenderAtTime( 0 ) { _clipSrc = fetchClip( kOfxImageEffectSimpleSourceClipName ); _clipDst = fetchClip( kOfxImageEffectOutputClipName ); _paramFilepath = fetchStringParam( kParamWriterFilename ); _paramRenderButton = fetchPushButtonParam( kParamWriterRender ); _paramRenderAlways = fetchBooleanParam( kParamWriterRenderAlways ); _paramBitDepth = fetchChoiceParam( kParamWriterBitDepth ); _paramForceNewRender = fetchIntParam( kParamWriterForceNewRender ); _paramFlip = fetchBooleanParam( kParamWriterFlip ); _isSequence = _filePattern.initFromDetection( _paramFilepath->getValue() ); }
PrintPlugin::PrintPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { _paramMode = fetchChoiceParam ( kParamMode ); _paramOutput = fetchChoiceParam ( kParamOutput ); _paramColor = fetchChoiceParam ( kParamColor ); _paramPixel = fetchInt2DParam ( kParamPixel ); _paramRegionMin = fetchInt2DParam ( kParamRegionMin ); _paramRegionMax = fetchInt2DParam ( kParamRegionMax ); _paramOutputColumns = fetchIntParam ( kParamColumns ); _paramFlip = fetchBooleanParam( kParamFlip ); _paramOpenGlWindow = fetchBooleanParam( kParamOutputOpenGL ); updateParams( ); }
CImgFilterPluginHelperBase::CImgFilterPluginHelperBase(OfxImageEffectHandle handle, bool supportsComponentRemapping, // true if the number and order of components of the image passed to render() has no importance bool supportsTiles, bool supportsMultiResolution, bool supportsRenderScale, bool defaultUnpremult/* = true*/, bool defaultProcessAlphaOnRGBA/* = false*/, bool isFilter/* = true*/) : ImageEffect(handle) , _dstClip(0) , _srcClip(0) , _maskClip(0) , _processR(0) , _processG(0) , _processB(0) , _processA(0) , _premult(0) , _premultChannel(0) , _mix(0) , _maskApply(0) , _maskInvert(0) , _supportsComponentRemapping(supportsComponentRemapping) , _supportsTiles(supportsTiles) , _supportsMultiResolution(supportsMultiResolution) , _supportsRenderScale(supportsRenderScale) , _defaultUnpremult(defaultUnpremult) , _defaultProcessAlphaOnRGBA(defaultProcessAlphaOnRGBA) , _premultChanged(0) { _dstClip = fetchClip(kOfxImageEffectOutputClipName); assert(_dstClip && (_dstClip->getPixelComponents() == OFX::ePixelComponentRGB || _dstClip->getPixelComponents() == OFX::ePixelComponentRGBA)); if (isFilter) { _srcClip = getContext() == OFX::eContextGenerator ? NULL : fetchClip(kOfxImageEffectSimpleSourceClipName); assert((!_srcClip && getContext() == OFX::eContextGenerator) || (_srcClip && (_srcClip->getPixelComponents() == OFX::ePixelComponentRGB || _srcClip->getPixelComponents() == OFX::ePixelComponentRGBA))); _maskClip = fetchClip(getContext() == OFX::eContextPaint ? "Brush" : "Mask"); assert(!_maskClip || _maskClip->getPixelComponents() == OFX::ePixelComponentAlpha); } if (paramExists(kNatronOfxParamProcessR)) { _processR = fetchBooleanParam(kNatronOfxParamProcessR); _processG = fetchBooleanParam(kNatronOfxParamProcessG); _processB = fetchBooleanParam(kNatronOfxParamProcessB); _processA = fetchBooleanParam(kNatronOfxParamProcessA); assert(_processR && _processG && _processB && _processA); } _premult = fetchBooleanParam(kParamPremult); _premultChannel = fetchChoiceParam(kParamPremultChannel); assert(_premult && _premultChannel); _mix = fetchDoubleParam(kParamMix); _maskApply = paramExists(kParamMaskApply) ? fetchBooleanParam(kParamMaskApply) : 0; _maskInvert = fetchBooleanParam(kParamMaskInvert); assert(_mix && _maskInvert); _premultChanged = fetchBooleanParam(kParamPremultChanged); assert(_premultChanged); }
ImageStatisticsPlugin::ImageStatisticsPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { _clipMask = fetchClip( kClipMask ); _paramRestrictToRegion = fetchBooleanParam( kParamRestrictToRegion ); _paramCoordinateSystem = fetchChoiceParam( kParamCoordinateSystem ); _paramRectCenter = fetchDouble2DParam( kParamRectCenter ); _paramRectSize = fetchDouble2DParam( kParamRectSize ); _paramChooseOutput = fetchChoiceParam( kParamChooseOutput ); _paramOutputNbPixels = fetchIntParam( kParamOutputNbPixels ); _paramOutputAverage = fetchRGBAParam( kParamOutputAverage ); _paramOutputVariance = fetchRGBAParam( kParamOutputVariance ); _paramOutputChannelMin = fetchRGBAParam( kParamOutputChannelMin ); _paramOutputChannelMax = fetchRGBAParam( kParamOutputChannelMax ); _paramOutputLuminosityMin = fetchRGBAParam( kParamOutputLuminosityMin ); _paramOutputLuminosityMax = fetchRGBAParam( kParamOutputLuminosityMax ); _paramOutputKurtosis = fetchRGBAParam( kParamOutputKurtosis ); _paramOutputSkewness = fetchRGBAParam( kParamOutputSkewness ); _paramOutputAverageHSL = fetchDouble3DParam( kParamOutputAverageHSL ); _paramOutputVarianceHSL = fetchDouble3DParam( kParamOutputVarianceHSL ); _paramOutputChannelMinHSL = fetchDouble3DParam( kParamOutputChannelMinHSL ); _paramOutputChannelMaxHSL = fetchDouble3DParam( kParamOutputChannelMaxHSL ); _paramOutputLuminosityMinHSL = fetchDouble3DParam( kParamOutputLuminosityMinHSL ); _paramOutputLuminosityMaxHSL = fetchDouble3DParam( kParamOutputLuminosityMaxHSL ); _paramOutputKurtosisHSL = fetchDouble3DParam( kParamOutputKurtosisHSL ); _paramOutputSkewnessHSL = fetchDouble3DParam( kParamOutputSkewnessHSL ); OFX::InstanceChangedArgs args( this->timeLineGetTime() ); changedParam( args, kParamRestrictToRegion ); }
ComponentPlugin::ComponentPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { // _clipSrcMatte = fetchClip( kClipMatte ); _paramToComponent = fetchChoiceParam( kParamTo ); _paramToGrayMethod = fetchChoiceParam( kParamToGray ); _paramPremultiplied = fetchBooleanParam( kParamPremutliplied ); }
ReaderPlugin::ReaderPlugin( OfxImageEffectHandle handle ) : OFX::ImageEffect( handle ) { _clipDst = fetchClip( kOfxImageEffectOutputClipName ); _paramFilepath = fetchStringParam( kParamReaderFilename ); _isSequence = _filePattern.initFromDetection( _paramFilepath->getValue() ); _paramExplicitConv = fetchChoiceParam( kParamReaderExplicitConversion ); _paramFlip = fetchBooleanParam( kParamReaderFlip ); }
MathOperatorPlugin::MathOperatorPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { _operator = fetchChoiceParam( kMathOperatorOperator ); _mathOperatorType = fetchChoiceParam( kMathOperatorType ); _master = fetchDoubleParam( kMasterValue ); _red = fetchDoubleParam( kRedValue ); _green = fetchDoubleParam( kGreenValue ); _blue = fetchDoubleParam( kBlueValue ); _alpha = fetchDoubleParam( kAlphaValue ); _redSelect = fetchBooleanParam( kRedChannel ); _greenSelect = fetchBooleanParam( kGreenChannel ); _blueSelect = fetchBooleanParam( kBlueChannel ); _alphaSelect = fetchBooleanParam( kAlphaChannel ); updateInterface(); }
PrintPlugin::PrintPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { _paramMode = fetchChoiceParam( kParamMode ); _paramOutput = fetchChoiceParam( kParamOutput ); _paramPixel = fetchInt2DParam( kParamPixel ); _paramRegionMin = fetchInt2DParam( kParamRegionMin ); _paramRegionMax = fetchInt2DParam( kParamRegionMax ); _paramFlip = fetchBooleanParam( kParamFlip ); }
WriterPlugin::WriterPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) , _oneRender( false ) , _oneRenderAtTime( 0 ) , _isSequence( false ) , _filePattern() { _clipSrc = fetchClip( kOfxImageEffectSimpleSourceClipName ); _clipDst = fetchClip( kOfxImageEffectOutputClipName ); _paramFilepath = fetchStringParam( kTuttlePluginFilename ); _paramRenderButton = fetchPushButtonParam( kParamWriterRender ); _paramRenderAlways = fetchBooleanParam( kParamWriterRenderAlways ); _paramCopyToOutput = fetchBooleanParam( kParamWriterCopyToOutput ); _paramBitDepth = fetchChoiceParam( kTuttlePluginBitDepth ); _paramPremult = fetchBooleanParam( kParamPremultiplied ); _paramExistingFile = fetchChoiceParam( kParamWriterExistingFile ); _paramForceNewRender = fetchIntParam( kParamWriterForceNewRender ); // update params changedParam( OFX::InstanceChangedArgs(), kTuttlePluginFilename ); }
TextPlugin::TextPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { _text = fetchStringParam( kText ); _font = fetchStringParam( kFont ); _size = fetchIntParam( kSize ); _ratio = fetchDoubleParam( kRatio ); _color = fetchRGBAParam( kColor ); _position = fetchDouble2DParam( kPosition ); _letterSpacing = fetchDoubleParam( kLetterSpacing ); _verticalFlip = fetchBooleanParam( kVerticalFlip ); }
/* * fecth plugin IHM parameters with plugin parameters pointer */ HistogramPlugin::HistogramPlugin(OfxImageEffectHandle handle) : ImageEffectGilPlugin(handle) { _paramGlobalDisplaySelection = fetchBooleanParam(kGlobalDisplay); // global display _paramOverlayRSelection = fetchBooleanParam(kBoolRed); // R (is channel selected?) _paramMutliplierR = fetchDoubleParam(kMultiplierRed); // R multiplier _paramOverlayGSelection = fetchBooleanParam(kBoolGreen); // G (is channel selected?) _paramMutliplierG = fetchDoubleParam(kMultiplierGreen); // G multiplier _paramOverlayBSelection = fetchBooleanParam(kBoolBlue); // B (is channel selected?) _paramMutliplierB = fetchDoubleParam(kMultiplierBlue); // B multiplier _paramOverlayHSelection = fetchBooleanParam(kBoolHue); // H (is channel selected?) _paramMutliplierH = fetchDoubleParam(kMultiplierHue); // H multiplier _paramOverlaySSelection = fetchBooleanParam(kBoolSaturation); // S (is channel selected?) _paramMutliplierS = fetchDoubleParam(kMultiplierSaturation); // S multiplier _paramOverlayLSelection = fetchBooleanParam(kBoolLightness); // L (is channel selected?) _paramMutliplierL = fetchDoubleParam(kMultiplierLightness); // L multiplier _paramDisplayTypeSelection = fetchChoiceParam(kHistoDisplayListParamLabel); // histogram display list (Histogram overlay group) _paramDisplaySelection = fetchBooleanParam(kBoolSelection); // display selection on source clip (Selection group) _paramSelectionMode = fetchChoiceParam(kSelectionModeListParamLabel); // selection mode (Selection group) _paramSelectionMultiplierSelection = fetchDoubleParam(kselectionMultiplier); // selection multiplier (Advanced group) _paramRefreshOverlaySelection = fetchPushButtonParam(kButtonRefreshOverlay); // refresh overlay (Advanced group) _paramNbStepSelection = fetchIntParam(knbStepRange); // nb step range (Advanced group) // Reset param booleans _isCleaned = false; _isNbStepChanged = false; _isHistogramRefresh = false; // Initialize scoped pointer _overlayDataCount = 0; /// @todo: HACK to display curves default position OFX::InstanceChangedArgs changed(this->timeLineGetTime()); changedClip(changed, kOfxImageEffectSimpleSourceClipName); }
ColorGradationPlugin::ColorGradationPlugin( OfxImageEffectHandle handle ) : ImageEffectGilPlugin( handle ) { _paramIn = fetchChoiceParam( kParamIn ); _paramOut = fetchChoiceParam( kParamOut ); _paramInGamma = fetchDoubleParam( kColorSpaceInGammaValue ); _paramOutGamma = fetchDoubleParam( kColorSpaceOutGammaValue ); _paramInBlackPoint = fetchDoubleParam( kColorSpaceInBlackPoint ); _paramOutBlackPoint = fetchDoubleParam( kColorSpaceOutBlackPoint ); _paramInWhitePoint = fetchDoubleParam( kColorSpaceInWhitePoint ); _paramOutWhitePoint = fetchDoubleParam( kColorSpaceOutWhitePoint ); _paramInGammaSensito = fetchDoubleParam( kColorSpaceInGammaSensito ); _paramOutGammaSensito = fetchDoubleParam( kColorSpaceOutGammaSensito ); _paramProcessAlpha = fetchBooleanParam( kParamProcessAlpha ); updateParameters(); }
ImageMagickWriterPlugin::ImageMagickWriterPlugin(OfxImageEffectHandle handle) : WriterPlugin(handle) { _premult = fetchBooleanParam(kParamPremult); _quality = fetchIntParam(kParamQuality); }
TurboJpegReaderPlugin::TurboJpegReaderPlugin(OfxImageEffectHandle handle) : ReaderPlugin(handle) { _optimization = fetchChoiceParam(kParamOptimization); _fastUpsampling = fetchBooleanParam(kParamFastUpsampling); }
RampPlugin::RampPlugin( OfxImageEffectHandle handle ) : GeneratorPlugin( handle ) { _direction = fetchChoiceParam( kRampDirection ); _color = fetchBooleanParam( kRampColor ); }