// make a double scale param DoubleParamDescriptor *defineScaleParam(OFX::ImageEffectDescriptor &desc, const std::string &name, const std::string &label, const std::string &hint, GroupParamDescriptor *parent) { DoubleParamDescriptor *param = desc.defineDoubleParam(name); param->setLabels(label, label, label); param->setScriptName(name); param->setHint(hint); param->setDefault(1); param->setRange(0, 10); param->setIncrement(0.1); param->setDisplayRange(0, 10); param->setDoubleType(eDoubleTypeScale); if(parent) param->setParent(*parent); return param; }
/** @brief describe a double param */ void describeDoubleParam(OFX::ImageEffectDescriptor &desc, const std::string &name, DoubleTypeEnum doubleType, double min, double max, PageParamDescriptor *page) { DoubleParamDescriptor *param = desc.defineDoubleParam(name); param->setLabels(name, name, name); param->setScriptName(name); param->setHint("A double parameter"); param->setDefault(0); param->setRange(min, max); param->setDisplayRange(min, max); param->setDoubleType(doubleType); page->addChild(*param); }
void NoiseExamplePluginFactory::describeInContext(OFX::ImageEffectDescriptor &desc, ContextEnum context) { ClipDescriptor *dstClip = desc.defineClip("Output"); dstClip->addSupportedComponent(ePixelComponentRGBA); dstClip->addSupportedComponent(ePixelComponentAlpha); dstClip->setSupportsTiles(true); dstClip->setFieldExtraction(eFieldExtractSingle); DoubleParamDescriptor *param = desc.defineDoubleParam("Noise"); param->setLabels("noise", "noise", "noise"); param->setScriptName("noise"); param->setHint("How much noise to make."); param->setDefault(0.2); param->setRange(0, 10); param->setIncrement(0.1); param->setDisplayRange(0, 1); param->setAnimates(true); // can animate param->setDoubleType(eDoubleTypeScale); PageParamDescriptor *page = desc.definePageParam("Controls"); page->addChild(*param); }
void OFX::shutterDescribeInContext(OFX::ImageEffectDescriptor &desc, OFX::ContextEnum /*context*/, OFX::PageParamDescriptor* page) { // shutter { DoubleParamDescriptor* param = desc.defineDoubleParam(kParamShutter); param->setLabel(kParamShutterLabel); param->setHint(kParamShutterHint); param->setDefault(0.5); param->setRange(0., 2.); param->setIncrement(0.01); param->setDisplayRange(0., 2.); if (page) { page->addChild(*param); } } // shutteroffset { ChoiceParamDescriptor* param = desc.defineChoiceParam(kParamShutterOffset); param->setLabel(kParamShutterOffsetLabel); param->setHint(kParamShutterOffsetHint); assert(param->getNOptions() == eShutterOffsetCentered); param->appendOption(kParamShutterOffsetOptionCentered, kParamShutterOffsetOptionCenteredHint); assert(param->getNOptions() == eShutterOffsetStart); param->appendOption(kParamShutterOffsetOptionStart, kParamShutterOffsetOptionStartHint); assert(param->getNOptions() == eShutterOffsetEnd); param->appendOption(kParamShutterOffsetOptionEnd, kParamShutterOffsetOptionEndHint); assert(param->getNOptions() == eShutterOffsetCustom); param->appendOption(kParamShutterOffsetOptionCustom, kParamShutterOffsetOptionCustomHint); param->setAnimates(true); param->setDefault(eShutterOffsetStart); if (page) { page->addChild(*param); } } // shuttercustomoffset { DoubleParamDescriptor* param = desc.defineDoubleParam(kParamShutterCustomOffset); param->setLabel(kParamShutterCustomOffsetLabel); param->setHint(kParamShutterCustomOffsetHint); param->setDefault(0.); param->setRange(-1., 1.); param->setIncrement(0.1); param->setDisplayRange(-1., 1.); if (page) { page->addChild(*param); } } } // shutterDescribeInContext