various: encapsulate all code in the olive namespace to avoid name collisions

Large-scale code cleanup. Also adds a license to the top of all files that were
missing it.
This commit is contained in:
itsmattkc
2020-04-06 15:29:53 +10:00
parent 82b6ddccc8
commit 1aa87cbda6
519 changed files with 7939 additions and 158 deletions
+24
View File
@@ -1,5 +1,27 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "pan.h"
OLIVE_NAMESPACE_ENTER
PanNode::PanNode()
{
samples_input_ = new NodeInput("samples_in", NodeParam::kSamples);
@@ -72,3 +94,5 @@ void PanNode::Retranslate()
samples_input_->set_name(tr("Samples"));
panning_input_->set_name(tr("Pan"));
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef PANNODE_H
#define PANNODE_H
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
class PanNode : public Node
{
public:
@@ -27,4 +49,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // PANNODE_H
+24
View File
@@ -1,5 +1,27 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "volume.h"
OLIVE_NAMESPACE_ENTER
VolumeNode::VolumeNode()
{
samples_input_ = new NodeInput("samples_in", NodeParam::kSamples);
@@ -65,3 +87,5 @@ NodeInput *VolumeNode::samples_input() const
{
return samples_input_;
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef VOLUMENODE_H
#define VOLUMENODE_H
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
class VolumeNode : public Node
{
public:
@@ -29,4 +51,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // VOLUMENODE_H
+3
View File
@@ -25,6 +25,8 @@
#include "node/output/track/track.h"
#include "transition/transition.h"
OLIVE_NAMESPACE_ENTER
Block::Block() :
previous_(nullptr),
next_(nullptr)
@@ -330,3 +332,4 @@ void Block::InvalidateCache(const rational &start_range, const rational &end_ran
Node::InvalidateCache(start_range, end_range, from);
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -23,6 +23,8 @@
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A Node that represents a block of time, also displayable on a Timeline
*
@@ -136,4 +138,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // BLOCK_H
+4
View File
@@ -20,6 +20,8 @@
#include "clip.h"
OLIVE_NAMESPACE_ENTER
ClipBlock::ClipBlock()
{
texture_input_ = new NodeInput("buffer_in", NodeInput::kBuffer);
@@ -117,3 +119,5 @@ void ClipBlock::Retranslate()
texture_input_->set_name(tr("Buffer"));
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -23,6 +23,8 @@
#include "node/block/block.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief Node that represents a block of Media
*/
@@ -60,4 +62,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // TIMELINEBLOCK_H
+4
View File
@@ -20,6 +20,8 @@
#include "gap.h"
OLIVE_NAMESPACE_ENTER
GapBlock::GapBlock()
{
}
@@ -48,3 +50,5 @@ QString GapBlock::Description() const
{
return tr("A time-based node that represents an empty space.");
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -23,6 +23,8 @@
#include "node/block/block.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief Node that represents nothing in its respective track for a certain period of time
*/
@@ -44,4 +46,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // TIMELINEBLOCK_H
@@ -1,5 +1,27 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "externaltransition.h"
OLIVE_NAMESPACE_ENTER
ExternalTransition::ExternalTransition(const QString &xml_meta_filename) :
meta_(xml_meta_filename)
{
@@ -62,3 +84,5 @@ NodeInput *ExternalTransition::ShaderIterativeInput() const
{
return meta_.iteration_input();
}
OLIVE_NAMESPACE_EXIT
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef EXTERNALTRANSITION_H
#define EXTERNALTRANSITION_H
@@ -5,6 +25,8 @@
#include "node/metareader.h"
OLIVE_NAMESPACE_ENTER
class ExternalTransition : public TransitionBlock
{
public:
@@ -29,4 +51,6 @@ private:
NodeMetaReader meta_;
};
OLIVE_NAMESPACE_EXIT
#endif // EXTERNALTRANSITION_H
+24
View File
@@ -1,7 +1,29 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "transition.h"
#include "common/clamp.h"
OLIVE_NAMESPACE_ENTER
TransitionBlock::TransitionBlock() :
connected_out_block_(nullptr),
connected_in_block_(nullptr)
@@ -133,3 +155,5 @@ void TransitionBlock::BlockDisconnected(NodeEdgePtr edge)
connected_in_block_ = nullptr;
}
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef TRANSITIONBLOCK_H
#define TRANSITIONBLOCK_H
#include "node/block/block.h"
OLIVE_NAMESPACE_ENTER
class TransitionBlock : public Block
{
public:
@@ -43,4 +65,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // TRANSITIONBLOCK_H
+4
View File
@@ -22,6 +22,8 @@
#include "node.h"
OLIVE_NAMESPACE_ENTER
NodeDependency::NodeDependency() :
node_(nullptr)
{
@@ -58,3 +60,5 @@ const TimeRange &NodeDependency::range() const
{
return range_;
}
OLIVE_NAMESPACE_EXIT
+5 -1
View File
@@ -25,6 +25,8 @@
#include "common/timerange.h"
OLIVE_NAMESPACE_ENTER
class Node;
class NodeDependency {
@@ -43,6 +45,8 @@ private:
TimeRange range_;
};
Q_DECLARE_METATYPE(NodeDependency)
OLIVE_NAMESPACE_EXIT
Q_DECLARE_METATYPE(OLIVE_NAMESPACE::NodeDependency)
#endif // NODEDEPENDENCY_H
+4
View File
@@ -23,6 +23,8 @@
#include <QMatrix4x4>
#include <QVector2D>
OLIVE_NAMESPACE_ENTER
TransformDistort::TransformDistort()
{
position_input_ = new NodeInput("pos_in", NodeParam::kVec2);
@@ -112,3 +114,5 @@ void TransformDistort::UniformScaleChanged()
{
scale_input_->set_property("disabley", uniform_scale_input_->get_standard_value().toBool());
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -23,6 +23,8 @@
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
class TransformDistort : public Node
{
Q_OBJECT
@@ -56,4 +58,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // TRANSFORMDISTORT_H
+4
View File
@@ -20,6 +20,8 @@
#include "edge.h"
OLIVE_NAMESPACE_ENTER
NodeEdge::NodeEdge(NodeOutput *output, NodeInput *input) :
output_(output),
input_(input)
@@ -35,3 +37,5 @@ NodeInput *NodeEdge::input()
{
return input_;
}
OLIVE_NAMESPACE_EXIT
+6
View File
@@ -23,6 +23,10 @@
#include <memory>
#include "common/define.h"
OLIVE_NAMESPACE_ENTER
class NodeOutput;
class NodeInput;
@@ -57,4 +61,6 @@ private:
using NodeEdgePtr = std::shared_ptr<NodeEdge>;
OLIVE_NAMESPACE_EXIT
#endif // EDGE_H
+24
View File
@@ -1,7 +1,29 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "external.h"
#include <QFile>
OLIVE_NAMESPACE_ENTER
ExternalNode::ExternalNode(const QString &xml_meta_filename) :
meta_(xml_meta_filename)
{
@@ -64,3 +86,5 @@ NodeInput *ExternalNode::ShaderIterativeInput() const
{
return meta_.iteration_input();
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef EXTERNALNODE_H
#define EXTERNALNODE_H
@@ -6,6 +26,8 @@
#include "node.h"
#include "metareader.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A node generated from an external XML metadata file
*/
@@ -33,4 +55,6 @@ private:
NodeMetaReader meta_;
};
OLIVE_NAMESPACE_EXIT
#endif // EXTERNALNODE_H
+23
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "factory.h"
#include "audio/pan/pan.h"
@@ -14,6 +34,7 @@
#include "output/viewer/viewer.h"
#include "external.h"
OLIVE_NAMESPACE_ENTER
QList<Node*> NodeFactory::library_;
void NodeFactory::Initialize()
@@ -149,3 +170,5 @@ Node *NodeFactory::CreateInternal(const NodeFactory::InternalID &id)
// We should never get here
abort();
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef NODEFACTORY_H
#define NODEFACTORY_H
@@ -6,6 +26,8 @@
#include "node.h"
#include "widget/menu/menu.h"
OLIVE_NAMESPACE_ENTER
class NodeFactory
{
public:
@@ -44,4 +66,6 @@ private:
static QList<Node*> library_;
};
OLIVE_NAMESPACE_EXIT
#endif // NODEFACTORY_H
+4
View File
@@ -20,6 +20,8 @@
#include "graph.h"
OLIVE_NAMESPACE_ENTER
NodeGraph::NodeGraph()
{
@@ -81,3 +83,5 @@ bool NodeGraph::ContainsNode(Node *n) const
{
return (n->parent() == this);
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -25,6 +25,8 @@
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A collection of nodes
*/
@@ -90,4 +92,6 @@ private:
QList<Node*> node_children_;
};
OLIVE_NAMESPACE_EXIT
#endif // NODEGRAPH_H
+4
View File
@@ -34,6 +34,8 @@
#include "project/item/footage/stream.h"
#include "render/color.h"
OLIVE_NAMESPACE_ENTER
NodeInput::NodeInput(const QString& id, const DataType &type, const QVariant &default_value) :
NodeParam(id),
data_type_(type),
@@ -1043,3 +1045,5 @@ QVariant NodeInput::combine_track_values_into_normal_value(const QVector<QVarian
return split.first();
}
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -25,6 +25,8 @@
#include "keyframe.h"
#include "param.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A node parameter designed to take either user input or data from another node
*/
@@ -388,4 +390,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // NODEINPUT_H
+24
View File
@@ -1,5 +1,27 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "audio.h"
OLIVE_NAMESPACE_ENTER
AudioInput::AudioInput()
{
}
@@ -23,3 +45,5 @@ QString AudioInput::Description() const
{
return tr("Import an audio footage stream.");
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef AUDIOINPUT_H
#define AUDIOINPUT_H
#include "../media.h"
OLIVE_NAMESPACE_ENTER
class AudioInput : public MediaInput
{
public:
@@ -17,4 +39,6 @@ public:
private:
};
OLIVE_NAMESPACE_EXIT
#endif // AUDIOINPUT_H
+4
View File
@@ -22,6 +22,8 @@
#include "common/timecodefunctions.h"
OLIVE_NAMESPACE_ENTER
MediaInput::MediaInput() :
connected_footage_(nullptr)
{
@@ -89,3 +91,5 @@ void MediaInput::FootageParametersChanged()
{
InvalidateCache(0, RATIONAL_MAX, footage_input_);
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -24,6 +24,8 @@
#include "codec/decoder.h"
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A node that imports an image
*/
@@ -54,4 +56,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // MEDIAINPUT_H
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "video.h"
#include <QDebug>
@@ -9,6 +29,8 @@
#include "project/item/footage/footage.h"
#include "render/pixelformat.h"
OLIVE_NAMESPACE_ENTER
VideoInput::VideoInput()
{
matrix_input_ = new NodeInput("matrix_in", NodeInput::kMatrix);
@@ -61,3 +83,5 @@ void VideoInput::Retranslate()
matrix_input_->set_name(tr("Transform"));
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef VIDEOINPUT_H
#define VIDEOINPUT_H
@@ -6,6 +26,8 @@
#include "../media.h"
#include "render/colormanager.h"
OLIVE_NAMESPACE_ENTER
class VideoInput : public MediaInput
{
public:
@@ -32,4 +54,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // VIDEOINPUT_H
+24
View File
@@ -1,5 +1,27 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "timeinput.h"
OLIVE_NAMESPACE_ENTER
TimeInput::TimeInput()
{
}
@@ -39,3 +61,5 @@ NodeValueTable TimeInput::Value(const NodeValueDatabase &value) const
return table;
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef TIMEINPUT_H
#define TIMEINPUT_H
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
class TimeInput : public Node
{
Q_OBJECT
@@ -20,4 +42,6 @@ public:
};
OLIVE_NAMESPACE_EXIT
#endif // TIMEINPUT_H
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "inputarray.h"
#include <QApplication>
@@ -5,6 +25,8 @@
#include "common/xmlutils.h"
#include "node.h"
OLIVE_NAMESPACE_ENTER
NodeInputArray::NodeInputArray(const QString &id, const DataType &type, const QVariant &default_value) :
NodeInput(id, type, default_value),
default_value_(default_value)
@@ -190,3 +212,5 @@ void NodeInputArray::SaveInternal(QXmlStreamWriter *writer) const
writer->writeEndElement(); // subparameters
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef INPUTARRAY_H
#define INPUTARRAY_H
#include "input.h"
OLIVE_NAMESPACE_ENTER
class NodeInputArray : public NodeInput
{
Q_OBJECT
@@ -44,4 +66,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // INPUTARRAY_H
+4
View File
@@ -20,6 +20,8 @@
#include "keyframe.h"
OLIVE_NAMESPACE_ENTER
const NodeKeyframe::Type NodeKeyframe::kDefaultType = kLinear;
NodeKeyframe::NodeKeyframe(const rational &time, const QVariant &value, const NodeKeyframe::Type &type, const int &track) :
@@ -142,3 +144,5 @@ void NodeKeyframe::set_parent(NodeInput *parent)
{
parent_ = parent;
}
OLIVE_NAMESPACE_EXIT
+5 -1
View File
@@ -27,6 +27,8 @@
#include "common/rational.h"
OLIVE_NAMESPACE_ENTER
class NodeInput;
class NodeKeyframe;
@@ -162,6 +164,8 @@ private:
};
Q_DECLARE_METATYPE(NodeKeyframe::Type)
OLIVE_NAMESPACE_EXIT
Q_DECLARE_METATYPE(OLIVE_NAMESPACE::NodeKeyframe::Type)
#endif // NODEKEYFRAME_H
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "math.h"
#include <QMatrix4x4>
#include <QVector2D>
OLIVE_NAMESPACE_ENTER
MathNode::MathNode()
{
// FIXME: Make this a combobox
@@ -417,3 +439,5 @@ float MathNode::RetrieveNumber(const NodeValue &val)
return val.data().toFloat();
}
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,8 +1,30 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef MATHNODE_H
#define MATHNODE_H
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
class MathNode : public Node
{
public:
@@ -86,4 +108,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // MATHNODE_H
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "metareader.h"
#include <QFile>
@@ -5,6 +25,8 @@
#include "config/config.h"
#include "node.h"
OLIVE_NAMESPACE_ENTER
NodeMetaReader::NodeMetaReader(const QString &xml_meta_filename) :
xml_filename_(xml_meta_filename),
iterations_(1),
@@ -303,3 +325,5 @@ NodeInput *NodeMetaReader::GetInputWithID(const QString &id) const
}
return nullptr;
}
OLIVE_NAMESPACE_EXIT
+24
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef NODEMETAREADER_H
#define NODEMETAREADER_H
@@ -7,6 +27,8 @@
#include "input.h"
OLIVE_NAMESPACE_ENTER
class NodeMetaReader
{
public:
@@ -58,4 +80,6 @@ private:
QList<NodeInput*> inputs_;
};
OLIVE_NAMESPACE_EXIT
#endif // NODEMETAREADER_H
+4
View File
@@ -26,6 +26,8 @@
#include "common/xmlutils.h"
OLIVE_NAMESPACE_ENTER
Node::Node() :
can_be_deleted_(true)
{
@@ -679,3 +681,5 @@ void Node::InputConnectionChanged(NodeEdgePtr edge)
InvalidateCache(RATIONAL_MIN, RATIONAL_MAX, static_cast<NodeInput*>(sender()));
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -36,6 +36,8 @@
#include "node/value.h"
#include "render/audioparams.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A single processing unit that can be connected with others to create intricate processing systems
*
@@ -460,4 +462,6 @@ T* Node::FindOutputNode()
return static_cast<T*>(FindOutputNodeInternal<T>(this));
}
OLIVE_NAMESPACE_EXIT
#endif // NODE_H
+4
View File
@@ -23,6 +23,8 @@
#include "common/xmlutils.h"
#include "node/node.h"
OLIVE_NAMESPACE_ENTER
NodeOutput::NodeOutput(const QString &id) :
NodeParam(id)
{
@@ -69,3 +71,5 @@ void NodeOutput::Save(QXmlStreamWriter *writer) const
writer->writeEndElement(); // output
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -24,6 +24,8 @@
#include "common/timerange.h"
#include "param.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A node parameter designed to serve data to the input of another node
*/
@@ -50,4 +52,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // NODEOUTPUT_H
+4
View File
@@ -27,6 +27,8 @@
#include "node/block/gap/gap.h"
#include "node/graph.h"
OLIVE_NAMESPACE_ENTER
TrackOutput::TrackOutput() :
track_type_(Timeline::kTrackTypeNone),
block_invalidate_cache_stack_(0),
@@ -560,3 +562,5 @@ void TrackOutput::BlockLengthChanged()
UpdateInOutFrom(index);
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -24,6 +24,8 @@
#include "common/timelinecommon.h"
#include "node/block/block.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A time traversal Node for sorting through one channel/track of Blocks
*/
@@ -214,4 +216,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // TRACKOUTPUT_H
+4
View File
@@ -24,6 +24,8 @@
#include "node/math/math.h"
#include "node/output/viewer/viewer.h"
OLIVE_NAMESPACE_ENTER
TrackList::TrackList(ViewerOutput *parent, const Timeline::TrackType &type, NodeInputArray *track_input) :
QObject(parent),
track_input_(track_input),
@@ -243,3 +245,5 @@ void TrackList::TrackHeightChangedSlot(int height)
{
emit TrackHeightChanged(static_cast<TrackOutput*>(sender())->Index(), height);
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -27,6 +27,8 @@
#include "node/graph.h"
#include "node/output/track/track.h"
OLIVE_NAMESPACE_ENTER
class ViewerOutput;
class TrackList : public QObject {
@@ -115,4 +117,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // TRACKLIST_H
+4
View File
@@ -22,6 +22,8 @@
#include "node/traverser.h"
OLIVE_NAMESPACE_ENTER
ViewerOutput::ViewerOutput()
{
texture_input_ = new NodeInput("tex_in", NodeInput::kTexture);
@@ -281,3 +283,5 @@ void ViewerOutput::TrackHeightChangedSlot(int index, int height)
{
emit TrackHeightChanged(static_cast<TrackList*>(sender())->type(), index, height);
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -32,6 +32,8 @@
#include "render/audioparams.h"
#include "timeline/trackreference.h"
OLIVE_NAMESPACE_ENTER
/**
* @brief A bridge between a node system and a ViewerPanel
*
@@ -143,4 +145,6 @@ private slots:
};
OLIVE_NAMESPACE_EXIT
#endif // VIEWER_H
+4
View File
@@ -31,6 +31,8 @@
#include "node/output.h"
#include "render/color.h"
OLIVE_NAMESPACE_ENTER
NodeParam::NodeParam(const QString &id) :
id_(id),
connectable_(true)
@@ -261,3 +263,5 @@ QByteArray NodeParam::ValueToBytesInternal(const QVariant &v)
return bytes;
}
OLIVE_NAMESPACE_EXIT
+4
View File
@@ -30,6 +30,8 @@
#include "common/xmlutils.h"
#include "node/edge.h"
OLIVE_NAMESPACE_ENTER
class Node;
/**
@@ -401,4 +403,6 @@ private:
};
OLIVE_NAMESPACE_EXIT
#endif // NODEPARAM_H
+23 -4
View File
@@ -1,11 +1,28 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "traverser.h"
#include "node.h"
NodeTraverser::NodeTraverser()
{
}
OLIVE_NAMESPACE_ENTER
NodeValueDatabase NodeTraverser::GenerateDatabase(const Node* node, const TimeRange &range)
{
@@ -80,3 +97,5 @@ NodeValueTable NodeTraverser::ProcessInput(const NodeInput *input, const TimeRan
return table;
}
}
OLIVE_NAMESPACE_EXIT
+25 -1
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef NODETRAVERSER_H
#define NODETRAVERSER_H
@@ -8,10 +28,12 @@
#include "project/item/footage/stream.h"
#include "value.h"
OLIVE_NAMESPACE_ENTER
class NodeTraverser : public CancelableObject
{
public:
NodeTraverser();
NodeTraverser() = default;
NodeValueTable ProcessNode(const NodeDependency &dep);
@@ -28,4 +50,6 @@ protected:
};
OLIVE_NAMESPACE_EXIT
#endif // NODETRAVERSER_H
+23 -8
View File
@@ -1,9 +1,26 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#include "value.h"
NodeValueDatabase::NodeValueDatabase()
{
}
OLIVE_NAMESPACE_ENTER
NodeValueTable NodeValueDatabase::operator[](const QString &input_id) const
{
@@ -52,10 +69,6 @@ const QVariant &NodeValue::data() const
return data_;
}
NodeValueTable::NodeValueTable()
{
}
QVariant NodeValueTable::Get(const NodeParam::DataType &type, const QString &tag) const
{
NodeValue v = GetWithMeta(type, tag);
@@ -180,3 +193,5 @@ int NodeValueTable::GetInternal(const NodeParam::DataType &type, const QString &
return index;
}
OLIVE_NAMESPACE_EXIT
+27 -3
View File
@@ -1,3 +1,23 @@
/***
Olive - Non-Linear Video Editor
Copyright (C) 2019 Olive Team
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
***/
#ifndef VALUE_H
#define VALUE_H
@@ -5,6 +25,8 @@
#include "input.h"
OLIVE_NAMESPACE_ENTER
class NodeValue
{
public:
@@ -25,7 +47,7 @@ private:
class NodeValueTable
{
public:
NodeValueTable();
NodeValueTable() = default;
QVariant Get(const NodeParam::DataType& type, const QString& tag = QString()) const;
NodeValue GetWithMeta(const NodeParam::DataType& type, const QString& tag = QString()) const;
@@ -52,7 +74,7 @@ private:
class NodeValueDatabase
{
public:
NodeValueDatabase();
NodeValueDatabase() = default;
NodeValueTable operator[](const QString& input_id) const;
NodeValueTable operator[](const NodeInput* input) const;
@@ -67,6 +89,8 @@ private:
};
Q_DECLARE_METATYPE(NodeValueTable)
OLIVE_NAMESPACE_EXIT
Q_DECLARE_METATYPE(OLIVE_NAMESPACE::NodeValueTable)
#endif // VALUE_H