Add mask controls to the chroma key node

This commit is contained in:
Thomas Wilshaw
2022-05-03 22:50:59 +01:00
parent 5d0e90e6e4
commit a508bd8cad
3 changed files with 67 additions and 15 deletions
+18 -5
View File
@@ -26,6 +26,10 @@ const QString ChromaKeyNode::kColorInput = QStringLiteral("color_key");
const QString ChromaKeyNode::kMaskOnlyInput = QStringLiteral("mask_only_in");
const QString ChromaKeyNode::kUpperToleranceInput = QStringLiteral("upper_tolerence_in");
const QString ChromaKeyNode::kLowerToleranceInput = QStringLiteral("lower_tolerence_in");
const QString ChromaKeyNode::kGarbageMatteInput = QStringLiteral("garbage_in");
const QString ChromaKeyNode::kCoreMatteInput = QStringLiteral("core_in");
const QString ChromaKeyNode::kShadowsInput = QStringLiteral("shadows_in");
const QString ChromaKeyNode::kHighlightsInput = QStringLiteral("highlights_in");
ChromaKeyNode::ChromaKeyNode()
{
@@ -37,6 +41,16 @@ ChromaKeyNode::ChromaKeyNode()
AddInput(kLowerToleranceInput, NodeValue::kFloat, 5.0);
SetInputProperty(kLowerToleranceInput, QStringLiteral("min"), 0.0);
AddInput(kGarbageMatteInput, NodeValue::kTexture, InputFlags(kInputFlagNotKeyframable));
AddInput(kCoreMatteInput, NodeValue::kTexture, InputFlags(kInputFlagNotKeyframable));
AddInput(kHighlightsInput, NodeValue::kFloat, 100.0f);
SetInputProperty(kHighlightsInput, QStringLiteral("min"), 0.0);
AddInput(kShadowsInput, NodeValue::kFloat, 100.0f);
SetInputProperty(kShadowsInput, QStringLiteral("min"), 0.0);
AddInput(kMaskOnlyInput, NodeValue::kBoolean, false);
SetEffectInput(kTextureInput);
@@ -66,12 +80,11 @@ void ChromaKeyNode::Retranslate()
{
super::Retranslate();
SetInputName(kTextureInput, tr("Input"));
//SetInputName(kGarbageMatteInput, tr("Garbage Matte"));
//SetInputName(kCoreMatteInput, tr("Core Matte"));
SetInputName(kGarbageMatteInput, tr("Garbage Matte"));
SetInputName(kCoreMatteInput, tr("Core Matte"));
SetInputName(kColorInput, tr("Key Color"));
//SetComboBoxStrings(kColorInput, {tr("Green"), tr("Blue")});
//SetInputName(kShadowsInput, tr("Shadows"));
//SetInputName(kHighlightsInput, tr("Highlights"));
SetInputName(kShadowsInput, tr("Shadows"));
SetInputName(kHighlightsInput, tr("Highlights"));
SetInputName(kUpperToleranceInput, tr("Upper Tolerance"));
SetInputName(kLowerToleranceInput, tr("Lower Tolerance"));
SetInputName(kMaskOnlyInput, tr("Show Mask Only"));
+4
View File
@@ -46,6 +46,10 @@ class ChromaKeyNode : public OCIOBaseNode {
static const QString kMaskOnlyInput;
static const QString kUpperToleranceInput;
static const QString kLowerToleranceInput;
static const QString kGarbageMatteInput;
static const QString kCoreMatteInput;
static const QString kShadowsInput;
static const QString kHighlightsInput;
private:
void GenerateProcessor();