From 71e8665fbffe5edad0fbe081e2a67a37704cb33a Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Sun, 19 Feb 2023 21:30:49 -0800 Subject: [PATCH] move item setting to a node flag --- app/node/audio/pan/pan.cpp | 2 +- app/node/audio/volume/volume.cpp | 2 +- app/node/block/block.cpp | 2 +- app/node/block/subtitle/subtitle.cpp | 2 +- app/node/block/transition/transition.cpp | 2 +- app/node/color/ociobase/ociobase.cpp | 2 +- .../distort/cornerpin/cornerpindistortnode.cpp | 2 +- app/node/distort/crop/cropdistortnode.cpp | 2 +- app/node/distort/flip/flipdistortnode.cpp | 2 +- app/node/distort/ripple/rippledistortnode.cpp | 2 +- app/node/distort/swirl/swirldistortnode.cpp | 2 +- app/node/distort/tile/tiledistortnode.cpp | 2 +- .../distort/transform/transformdistortnode.cpp | 2 +- app/node/distort/wave/wavedistortnode.cpp | 2 +- app/node/effect/opacity/opacityeffect.cpp | 2 +- app/node/filter/blur/blur.cpp | 2 +- app/node/filter/dropshadow/dropshadowfilter.cpp | 2 +- app/node/filter/mosaic/mosaicfilternode.cpp | 2 +- app/node/filter/stroke/stroke.cpp | 2 +- app/node/generator/noise/noise.cpp | 2 +- app/node/generator/shape/generatorwithmerge.cpp | 2 +- app/node/generator/text/textv1.cpp | 2 +- app/node/generator/text/textv2.cpp | 2 +- app/node/group/group.cpp | 2 +- .../colordifferencekey/colordifferencekey.cpp | 2 +- app/node/keying/despill/despill.cpp | 2 +- app/node/math/merge/merge.cpp | 2 +- app/node/node.h | 16 +++++++++------- app/node/output/viewer/viewer.cpp | 2 +- app/node/project/folder/folder.cpp | 2 ++ app/node/project/folder/folder.h | 5 ----- app/node/project/footage/footage.cpp | 2 ++ app/node/project/footage/footage.h | 5 ----- app/node/project/sequence/sequence.cpp | 2 ++ app/node/project/sequence/sequence.h | 5 ----- 35 files changed, 43 insertions(+), 50 deletions(-) diff --git a/app/node/audio/pan/pan.cpp b/app/node/audio/pan/pan.cpp index 434480dd9..5f4ecebf1 100644 --- a/app/node/audio/pan/pan.cpp +++ b/app/node/audio/pan/pan.cpp @@ -38,7 +38,7 @@ PanNode::PanNode() SetInputProperty(kPanningInput, QStringLiteral("max"), 1.0); SetInputProperty(kPanningInput, QStringLiteral("view"), FloatSlider::kPercentage); - SetFlags(kAudioEffect); + SetFlag(kAudioEffect); SetEffectInput(kSamplesInput); } diff --git a/app/node/audio/volume/volume.cpp b/app/node/audio/volume/volume.cpp index 7fe0a888a..229295d98 100644 --- a/app/node/audio/volume/volume.cpp +++ b/app/node/audio/volume/volume.cpp @@ -37,7 +37,7 @@ VolumeNode::VolumeNode() SetInputProperty(kVolumeInput, QStringLiteral("min"), 0.0); SetInputProperty(kVolumeInput, QStringLiteral("view"), FloatSlider::kDecibel); - SetFlags(kAudioEffect); + SetFlag(kAudioEffect); SetEffectInput(kSamplesInput); } diff --git a/app/node/block/block.cpp b/app/node/block/block.cpp index fb030e5b5..9e150c50e 100644 --- a/app/node/block/block.cpp +++ b/app/node/block/block.cpp @@ -46,7 +46,7 @@ Block::Block() : SetInputFlags(kEnabledInput, InputFlags(GetInputFlags(kEnabledInput) | kInputFlagNotConnectable | kInputFlagNotKeyframable)); - SetFlags(kDontShowInParamView); + SetFlag(kDontShowInParamView); } QVector Block::Category() const diff --git a/app/node/block/subtitle/subtitle.cpp b/app/node/block/subtitle/subtitle.cpp index 25bccb6f4..61c02f045 100644 --- a/app/node/block/subtitle/subtitle.cpp +++ b/app/node/block/subtitle/subtitle.cpp @@ -38,7 +38,7 @@ SubtitleBlock::SubtitleBlock() SetInputFlags(kMaintainAudioPitchInput, InputFlags(GetInputFlags(kMaintainAudioPitchInput) | kInputFlagHidden)); // Undo block flag that hides in param view - SetFlags(GetFlags() & ~kDontShowInParamView); + SetFlag(kDontShowInParamView, false); } QString SubtitleBlock::Name() const diff --git a/app/node/block/transition/transition.cpp b/app/node/block/transition/transition.cpp index 327f3fc1c..9209a1400 100644 --- a/app/node/block/transition/transition.cpp +++ b/app/node/block/transition/transition.cpp @@ -47,7 +47,7 @@ TransitionBlock::TransitionBlock() : SetInputProperty(kCenterInput, QStringLiteral("view"), RationalSlider::kTime); SetInputProperty(kCenterInput, QStringLiteral("viewlock"), true); - SetFlags(GetFlags() & ~kDontShowInParamView); + SetFlag(kDontShowInParamView, false); } void TransitionBlock::Retranslate() diff --git a/app/node/color/ociobase/ociobase.cpp b/app/node/color/ociobase/ociobase.cpp index 249cf49a3..f749922ca 100644 --- a/app/node/color/ociobase/ociobase.cpp +++ b/app/node/color/ociobase/ociobase.cpp @@ -38,7 +38,7 @@ OCIOBaseNode::OCIOBaseNode() : connect(this, &Node::AddedToGraph, this, &OCIOBaseNode::AddedToGraph); connect(this, &Node::RemovedFromGraph, this, &OCIOBaseNode::RemovedFromGraph); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); } void OCIOBaseNode::AddedToGraph(Project *p) diff --git a/app/node/distort/cornerpin/cornerpindistortnode.cpp b/app/node/distort/cornerpin/cornerpindistortnode.cpp index 2bb8a4a90..3f37e3994 100644 --- a/app/node/distort/cornerpin/cornerpindistortnode.cpp +++ b/app/node/distort/cornerpin/cornerpindistortnode.cpp @@ -51,7 +51,7 @@ CornerPinDistortNode::CornerPinDistortNode() gizmo_resize_handle_[2] = AddDraggableGizmo({NodeKeyframeTrackReference(NodeInput(this, kBottomRightInput), 0), NodeKeyframeTrackReference(NodeInput(this, kBottomRightInput), 1)}); gizmo_resize_handle_[3] = AddDraggableGizmo({NodeKeyframeTrackReference(NodeInput(this, kBottomLeftInput), 0), NodeKeyframeTrackReference(NodeInput(this, kBottomLeftInput), 1)}); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/distort/crop/cropdistortnode.cpp b/app/node/distort/crop/cropdistortnode.cpp index 1d2dfd4e3..da278f880 100644 --- a/app/node/distort/crop/cropdistortnode.cpp +++ b/app/node/distort/crop/cropdistortnode.cpp @@ -59,7 +59,7 @@ CropDistortNode::CropDistortNode() point_gizmo_[kGizmoScaleCenterLeft] = AddDraggableGizmo({kLeftInput}); point_gizmo_[kGizmoScaleCenterRight] = AddDraggableGizmo({kRightInput}); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/distort/flip/flipdistortnode.cpp b/app/node/distort/flip/flipdistortnode.cpp index 6a1083099..1d8e36034 100644 --- a/app/node/distort/flip/flipdistortnode.cpp +++ b/app/node/distort/flip/flipdistortnode.cpp @@ -36,7 +36,7 @@ FlipDistortNode::FlipDistortNode() AddInput(kVerticalInput, NodeValue::kBoolean, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/distort/ripple/rippledistortnode.cpp b/app/node/distort/ripple/rippledistortnode.cpp index 2e137ff3c..2e8a1f1b4 100644 --- a/app/node/distort/ripple/rippledistortnode.cpp +++ b/app/node/distort/ripple/rippledistortnode.cpp @@ -44,7 +44,7 @@ RippleDistortNode::RippleDistortNode() AddInput(kPositionInput, NodeValue::kVec2, QVector2D(0, 0)); AddInput(kStretchInput, NodeValue::kBoolean, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); gizmo_ = AddDraggableGizmo({ diff --git a/app/node/distort/swirl/swirldistortnode.cpp b/app/node/distort/swirl/swirldistortnode.cpp index ddab58a60..eb91bc27a 100644 --- a/app/node/distort/swirl/swirldistortnode.cpp +++ b/app/node/distort/swirl/swirldistortnode.cpp @@ -41,7 +41,7 @@ SwirlDistortNode::SwirlDistortNode() AddInput(kPositionInput, NodeValue::kVec2, QVector2D(0, 0)); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); gizmo_ = AddDraggableGizmo({ diff --git a/app/node/distort/tile/tiledistortnode.cpp b/app/node/distort/tile/tiledistortnode.cpp index ec13a1ee4..864428a7a 100644 --- a/app/node/distort/tile/tiledistortnode.cpp +++ b/app/node/distort/tile/tiledistortnode.cpp @@ -48,7 +48,7 @@ TileDistortNode::TileDistortNode() AddInput(kMirrorXInput, NodeValue::kBoolean, false); AddInput(kMirrorYInput, NodeValue::kBoolean, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); gizmo_ = AddDraggableGizmo({ diff --git a/app/node/distort/transform/transformdistortnode.cpp b/app/node/distort/transform/transformdistortnode.cpp index bc2769a8f..01d9e1c45 100644 --- a/app/node/distort/transform/transformdistortnode.cpp +++ b/app/node/distort/transform/transformdistortnode.cpp @@ -64,7 +64,7 @@ TransformDistortNode::TransformDistortNode() point_gizmo_[i]->SetDragValueBehavior(PointGizmo::kAbsolute); } - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/distort/wave/wavedistortnode.cpp b/app/node/distort/wave/wavedistortnode.cpp index d3f948585..88171d6f2 100644 --- a/app/node/distort/wave/wavedistortnode.cpp +++ b/app/node/distort/wave/wavedistortnode.cpp @@ -40,7 +40,7 @@ WaveDistortNode::WaveDistortNode() AddInput(kVerticalInput, NodeValue::kCombo, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/effect/opacity/opacityeffect.cpp b/app/node/effect/opacity/opacityeffect.cpp index ee58fb632..4b7e7ce67 100644 --- a/app/node/effect/opacity/opacityeffect.cpp +++ b/app/node/effect/opacity/opacityeffect.cpp @@ -25,7 +25,7 @@ OpacityEffect::OpacityEffect() SetInputProperty(kValueInput, QStringLiteral("min"), 0.0); SetInputProperty(kValueInput, QStringLiteral("max"), 1.0); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/filter/blur/blur.cpp b/app/node/filter/blur/blur.cpp index 3955608b7..3498cddec 100644 --- a/app/node/filter/blur/blur.cpp +++ b/app/node/filter/blur/blur.cpp @@ -66,7 +66,7 @@ BlurFilterNode::BlurFilterNode() AddInput(kRepeatEdgePixelsInput, NodeValue::kBoolean, true); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); radial_center_gizmo_ = AddDraggableGizmo(); diff --git a/app/node/filter/dropshadow/dropshadowfilter.cpp b/app/node/filter/dropshadow/dropshadowfilter.cpp index f8c60cdd5..fead73b09 100644 --- a/app/node/filter/dropshadow/dropshadowfilter.cpp +++ b/app/node/filter/dropshadow/dropshadowfilter.cpp @@ -54,7 +54,7 @@ DropShadowFilter::DropShadowFilter() AddInput(kFastInput, NodeValue::kBoolean, false); SetEffectInput(kTextureInput); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); } void DropShadowFilter::Retranslate() diff --git a/app/node/filter/mosaic/mosaicfilternode.cpp b/app/node/filter/mosaic/mosaicfilternode.cpp index 9cb5f9af7..63966320e 100644 --- a/app/node/filter/mosaic/mosaicfilternode.cpp +++ b/app/node/filter/mosaic/mosaicfilternode.cpp @@ -38,7 +38,7 @@ MosaicFilterNode::MosaicFilterNode() AddInput(kVertInput, NodeValue::kFloat, 18.0); SetInputProperty(kVertInput, QStringLiteral("min"), 1.0); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/filter/stroke/stroke.cpp b/app/node/filter/stroke/stroke.cpp index 858f26102..3f49cd4c4 100644 --- a/app/node/filter/stroke/stroke.cpp +++ b/app/node/filter/stroke/stroke.cpp @@ -48,7 +48,7 @@ StrokeFilterNode::StrokeFilterNode() AddInput(kInnerInput, NodeValue::kBoolean, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/generator/noise/noise.cpp b/app/node/generator/noise/noise.cpp index 94072db1d..8d9f70c24 100644 --- a/app/node/generator/noise/noise.cpp +++ b/app/node/generator/noise/noise.cpp @@ -41,7 +41,7 @@ NoiseGeneratorNode::NoiseGeneratorNode() AddInput(kColorInput, NodeValue::kBoolean, false); SetEffectInput(kBaseIn); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); } QString NoiseGeneratorNode::Name() const diff --git a/app/node/generator/shape/generatorwithmerge.cpp b/app/node/generator/shape/generatorwithmerge.cpp index 93f8bcde3..6832e3e6e 100644 --- a/app/node/generator/shape/generatorwithmerge.cpp +++ b/app/node/generator/shape/generatorwithmerge.cpp @@ -32,7 +32,7 @@ GeneratorWithMerge::GeneratorWithMerge() { AddInput(kBaseInput, NodeValue::kTexture, InputFlags(kInputFlagNotKeyframable)); SetEffectInput(kBaseInput); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); } void GeneratorWithMerge::Retranslate() diff --git a/app/node/generator/text/textv1.cpp b/app/node/generator/text/textv1.cpp index 68c3a5e7d..ae08389c6 100644 --- a/app/node/generator/text/textv1.cpp +++ b/app/node/generator/text/textv1.cpp @@ -54,7 +54,7 @@ TextGeneratorV1::TextGeneratorV1() AddInput(kFontSizeInput, NodeValue::kFloat, 72.0f); - SetFlags(kDontShowInCreateMenu); + SetFlag(kDontShowInCreateMenu); } QString TextGeneratorV1::Name() const diff --git a/app/node/generator/text/textv2.cpp b/app/node/generator/text/textv2.cpp index f4165afa1..3472bb601 100644 --- a/app/node/generator/text/textv2.cpp +++ b/app/node/generator/text/textv2.cpp @@ -56,7 +56,7 @@ TextGeneratorV2::TextGeneratorV2() SetStandardValue(kColorInput, QVariant::fromValue(Color(1.0f, 1.0f, 1.0))); SetStandardValue(kSizeInput, QVector2D(400, 300)); - SetFlags(kDontShowInCreateMenu); + SetFlag(kDontShowInCreateMenu); } QString TextGeneratorV2::Name() const diff --git a/app/node/group/group.cpp b/app/node/group/group.cpp index 79ca24eba..9ca495e1f 100644 --- a/app/node/group/group.cpp +++ b/app/node/group/group.cpp @@ -29,7 +29,7 @@ namespace olive { NodeGroup::NodeGroup() : output_passthrough_(nullptr) { - SetFlags(kDontShowInCreateMenu); + SetFlag(kDontShowInCreateMenu); } QString NodeGroup::Name() const diff --git a/app/node/keying/colordifferencekey/colordifferencekey.cpp b/app/node/keying/colordifferencekey/colordifferencekey.cpp index 8627efdda..40ff98ccf 100644 --- a/app/node/keying/colordifferencekey/colordifferencekey.cpp +++ b/app/node/keying/colordifferencekey/colordifferencekey.cpp @@ -47,7 +47,7 @@ ColorDifferenceKeyNode::ColorDifferenceKeyNode() AddInput(kMaskOnlyInput, NodeValue::kBoolean, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/keying/despill/despill.cpp b/app/node/keying/despill/despill.cpp index 18d1fbad7..267e3d3c4 100644 --- a/app/node/keying/despill/despill.cpp +++ b/app/node/keying/despill/despill.cpp @@ -36,7 +36,7 @@ DespillNode::DespillNode() AddInput(kPreserveLuminanceInput, NodeValue::kBoolean, false); - SetFlags(kVideoEffect); + SetFlag(kVideoEffect); SetEffectInput(kTextureInput); } diff --git a/app/node/math/merge/merge.cpp b/app/node/math/merge/merge.cpp index 2285a6c32..e95e0ff99 100644 --- a/app/node/math/merge/merge.cpp +++ b/app/node/math/merge/merge.cpp @@ -35,7 +35,7 @@ MergeNode::MergeNode() AddInput(kBlendIn, NodeValue::kTexture, InputFlags(kInputFlagNotKeyframable)); - SetFlags(kDontShowInParamView); + SetFlag(kDontShowInParamView); } QString MergeNode::Name() const diff --git a/app/node/node.h b/app/node/node.h index 01be83327..ae9007916 100644 --- a/app/node/node.h +++ b/app/node/node.h @@ -100,7 +100,8 @@ public: kDontShowInParamView = 0x1, kVideoEffect = 0x2, kAudioEffect = 0x4, - kDontShowInCreateMenu = 0x8 + kDontShowInCreateMenu = 0x8, + kIsItem = 0x10 }; struct ContextPair { @@ -184,10 +185,7 @@ public: return folder_; } - virtual bool IsItem() const - { - return false; - } + bool IsItem() const { return flags_ & kIsItem; } /** * @brief Function called to retranslate parameter names (should be overridden in derivatives) @@ -1198,9 +1196,13 @@ protected: tooltip_ = s; } - void SetFlags(const uint64_t &f) + void SetFlag(Flag f, bool on = true) { - flags_ = f; + if (on) { + flags_ |= f; + } else { + flags_ &= ~f; + } } template diff --git a/app/node/output/viewer/viewer.cpp b/app/node/output/viewer/viewer.cpp index f93583a66..dd7cc8dfb 100644 --- a/app/node/output/viewer/viewer.cpp +++ b/app/node/output/viewer/viewer.cpp @@ -61,7 +61,7 @@ ViewerOutput::ViewerOutput(bool create_buffer_inputs, bool create_default_stream set_default_parameters(); } - SetFlags(kDontShowInParamView); + SetFlag(kDontShowInParamView); workarea_ = new TimelineWorkArea(this); markers_ = new TimelineMarkerList(this); diff --git a/app/node/project/folder/folder.cpp b/app/node/project/folder/folder.cpp index 3a3918aba..45f1dacf4 100644 --- a/app/node/project/folder/folder.cpp +++ b/app/node/project/folder/folder.cpp @@ -34,6 +34,8 @@ const QString Folder::kChildInput = QStringLiteral("child_in"); Folder::Folder() { + SetFlag(kIsItem); + AddInput(kChildInput, NodeValue::kNone, InputFlags(kInputFlagArray | kInputFlagNotKeyframable)); } diff --git a/app/node/project/folder/folder.h b/app/node/project/folder/folder.h index ceb224e06..7ed504027 100644 --- a/app/node/project/folder/folder.h +++ b/app/node/project/folder/folder.h @@ -86,11 +86,6 @@ public: return item_children_; } - virtual bool IsItem() const override - { - return true; - } - int index_of_child(Node* item) const { return item_children_.indexOf(item); diff --git a/app/node/project/footage/footage.cpp b/app/node/project/footage/footage.cpp index 630964939..87b962459 100644 --- a/app/node/project/footage/footage.cpp +++ b/app/node/project/footage/footage.cpp @@ -46,6 +46,8 @@ Footage::Footage(const QString &filename) : cancelled_(nullptr), total_stream_count_(0) { + SetFlag(kIsItem); + PrependInput(kFilenameInput, NodeValue::kFile, InputFlags(kInputFlagNotConnectable | kInputFlagNotKeyframable)); Clear(); diff --git a/app/node/project/footage/footage.h b/app/node/project/footage/footage.h index 516dda563..20c24bab1 100644 --- a/app/node/project/footage/footage.h +++ b/app/node/project/footage/footage.h @@ -153,11 +153,6 @@ public: */ const QString& decoder() const; - virtual bool IsItem() const override - { - return true; - } - static QString DescribeVideoStream(const VideoParams& params); static QString DescribeAudioStream(const AudioParams& params); static QString DescribeSubtitleStream(const SubtitleParams& params); diff --git a/app/node/project/sequence/sequence.cpp b/app/node/project/sequence/sequence.cpp index 54b19e0cd..76d7d969f 100644 --- a/app/node/project/sequence/sequence.cpp +++ b/app/node/project/sequence/sequence.cpp @@ -34,6 +34,8 @@ const QString Sequence::kTrackInputFormat = QStringLiteral("track_in_%1"); Sequence::Sequence() { + SetFlag(kIsItem); + // Create TrackList instances track_lists_.resize(Track::kCount); diff --git a/app/node/project/sequence/sequence.h b/app/node/project/sequence/sequence.h index 60cbf4579..42b10702a 100644 --- a/app/node/project/sequence/sequence.h +++ b/app/node/project/sequence/sequence.h @@ -87,11 +87,6 @@ public: static const QString kTrackInputFormat; - virtual bool IsItem() const override - { - return true; - } - protected: virtual void InputConnectedEvent(const QString &input, int element, Node *output) override;