style: unify identifier naming per updated conventions

Automated with clang-tidy readability-identifier-naming (config added to
.clang-tidy) plus scripted passes, per the updated rules now documented
in CONTRIBUTING.md:

- types (class/struct/enum/alias/template params): PascalCase
- functions, variables, members: snake_case (incl. rational -> Rational)
- private/protected members: trailing underscore; static member
  variables likewise (instance_, available_themes_)
- constants and enum values: snake_case (kLinear -> k_linear,
  F32P -> f32p); ALL_CAPS reserved for macros
- macros: OAK_ prefix (OLIVE_ADD_TEST/OLIVE_ASSERT/OLIVE_CONFIG ->
  OAK_ADD_TEST/OAK_ASSERT/OAK_CONFIG, GL_PREAMBLE -> OAK_GL_PREAMBLE,
  include guards -> OAK_*)
- file names: all lowercase (Current/Plugin/OliveHost/OliveClip/
  OlivePluginInstance -> current/plugin/olivehost/oliveclip/
  oliveplugininstance)
- getters share the member name sans underscore, setters set_foo()
- Qt and third-party (OpenFX) virtual overrides and framework callbacks
  keep their original names (exempt in .clang-tidy)

Manual follow-ups required where automation could not reach:
- string-based QMetaObject/SIGNAL/SLOT references updated to renamed
  methods (AddTask, CreatedFile, DeleteSpecificFile, moveSelectionUp, ...)
- macro bodies referencing renamed methods (OLIVE_CONFIG,
  NODE_DEFAULT_DESTRUCTOR, MANAGEDDISPLAYWIDGET_*)
- self-shadowing locals renamed where signals/methods became same-named
  (size_changed, worker_count, selected_items, import param, filters)
- third_party OFX member/namespace usages restored (OFX::Host::*,
  _created, _clipPrefsDirty, createInstance, clearPersistentMessage)
- STL protocol aliases restored (const_iterator) with .clang-tidy
  ignore rules; qHash overloads restored

Full build and test suite pass: ctest 4/4, ~1960 gtest cases green.
This commit is contained in:
2026-07-19 16:10:54 +08:00
parent cb1718a103
commit bb40b4923e
1014 changed files with 44257 additions and 44220 deletions
+71 -71
View File
@@ -38,29 +38,29 @@
namespace olive
{
QVector<ProjectSerializer *> ProjectSerializer::instances_;
QVector<ProjectSerializer *> ProjectSerializer::instances;
void ProjectSerializer::Initialize()
void ProjectSerializer::initialize()
{
// Make sure to order these from oldest to newest
// FIXME: Implement this - yes it's a 0.1 project loader
//instances_.append(new ProjectSerializer190219);
instances_.append(new ProjectSerializer210528);
instances_.append(new ProjectSerializer210907);
instances_.append(new ProjectSerializer211228);
instances_.append(new ProjectSerializer220403);
instances_.append(new ProjectSerializer230220);
instances.append(new ProjectSerializer210528);
instances.append(new ProjectSerializer210907);
instances.append(new ProjectSerializer211228);
instances.append(new ProjectSerializer220403);
instances.append(new ProjectSerializer230220);
}
void ProjectSerializer::Destroy()
void ProjectSerializer::destroy()
{
qDeleteAll(instances_);
instances_.clear();
qDeleteAll(instances);
instances.clear();
}
ProjectSerializer::Result ProjectSerializer::Load(Project *project,
ProjectSerializer::Result ProjectSerializer::load(Project *project,
const QString &filename,
LoadType load_type)
{
@@ -70,7 +70,7 @@ ProjectSerializer::Result ProjectSerializer::Load(Project *project,
// Some project files are compressed, marked with "OVEC" at the beginning of the file. Check for
// that signature now.
std::unique_ptr<QXmlStreamReader> reader;
if (CheckCompressedID(&project_file)) {
if (check_compressed_id(&project_file)) {
// File is compressed, decompress into memory
QByteArray b;
b = qUncompress(project_file.readAll());
@@ -80,38 +80,38 @@ ProjectSerializer::Result ProjectSerializer::Load(Project *project,
reader.reset(new QXmlStreamReader(&project_file));
}
Result inner_result = Load(project, reader.get(), load_type);
Result inner_result = load(project, reader.get(), load_type);
project_file.close();
if (inner_result.code() != kSuccess) {
if (inner_result.code() != k_success) {
return inner_result;
}
if (reader->hasError()) {
Result r(kXmlError);
r.SetDetails(reader->errorString());
Result r(k_xml_error);
r.set_details(reader->errorString());
return r;
} else {
return inner_result;
}
} else {
Result r(kFileError);
r.SetDetails(QStringLiteral("Unable to open '%1': %2")
Result r(k_file_error);
r.set_details(QStringLiteral("Unable to open '%1': %2")
.arg(filename, project_file.errorString()));
return r;
}
}
ProjectSerializer::Result ProjectSerializer::Load(Project *project,
ProjectSerializer::Result ProjectSerializer::load(Project *project,
QXmlStreamReader *reader,
LoadType load_type)
{
// Determine project version
uint version = 0;
Result res = kUnknownVersion;
Result res = k_unknown_version;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("olive") ||
reader->name() == QStringLiteral("project")) { // 0.1 projects only
@@ -123,25 +123,25 @@ ProjectSerializer::Result ProjectSerializer::Load(Project *project,
} else if (attr.name() ==
QStringLiteral("url")) { // 230220+ projects
if (project) {
project->SetSavedURL(attr.value().toString());
project->set_saved_url(attr.value().toString());
}
}
}
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("version")) { // projects <= 220403
version = reader->readElementText().toUInt();
} else if (reader->name() ==
QStringLiteral("url")) { // projects <= 220403
if (project) {
project->SetSavedURL(reader->readElementText());
project->set_saved_url(reader->readElementText());
} else {
reader->skipCurrentElement();
}
} else {
// Handle any other value with the serializer
res = LoadWithSerializerVersion(version, project, reader,
res = load_with_serializer_version(version, project, reader,
load_type);
}
}
@@ -153,24 +153,24 @@ ProjectSerializer::Result ProjectSerializer::Load(Project *project,
return res;
}
ProjectSerializer::Result ProjectSerializer::Paste(LoadType load_type,
ProjectSerializer::Result ProjectSerializer::paste(LoadType load_type,
Project *project)
{
QString clipboard = Core::PasteStringFromClipboard();
QString clipboard = Core::paste_string_from_clipboard();
if (clipboard.isEmpty()) {
return kNoData;
return k_no_data;
}
QXmlStreamReader reader(clipboard);
return ProjectSerializer::Load(project, &reader, load_type);
return ProjectSerializer::load(project, &reader, load_type);
}
ProjectSerializer::Result ProjectSerializer::Save(const SaveData &data,
ProjectSerializer::Result ProjectSerializer::save(const SaveData &data,
bool compress)
{
QString temp_save =
FileFunctions::GetSafeTemporaryFilename(data.GetFilename());
FileFunctions::get_safe_temporary_filename(data.get_filename());
QFile project_file(temp_save);
@@ -178,10 +178,10 @@ ProjectSerializer::Result ProjectSerializer::Save(const SaveData &data,
QByteArray b;
QXmlStreamWriter writer(&b);
Result inner_result = Save(&writer, data);
Result inner_result = save(&writer, data);
if (writer.hasError()) {
Result r(kXmlError);
Result r(k_xml_error);
return r;
}
@@ -194,27 +194,27 @@ ProjectSerializer::Result ProjectSerializer::Save(const SaveData &data,
project_file.close();
if (inner_result != kSuccess) {
if (inner_result != k_success) {
return inner_result;
}
// Save was successful, we can now rewrite the original file
if (FileFunctions::RenameFileAllowOverwrite(temp_save,
data.GetFilename())) {
return kSuccess;
if (FileFunctions::rename_file_allow_overwrite(temp_save,
data.get_filename())) {
return k_success;
} else {
Result r(kOverwriteError);
r.SetDetails(temp_save);
Result r(k_overwrite_error);
r.set_details(temp_save);
return r;
}
} else {
Result r(kFileError);
r.SetDetails(temp_save);
Result r(k_file_error);
r.set_details(temp_save);
return r;
}
}
ProjectSerializer::Result ProjectSerializer::Save(QXmlStreamWriter *writer,
ProjectSerializer::Result ProjectSerializer::save(QXmlStreamWriter *writer,
const SaveData &data)
{
writer->setAutoFormatting(true);
@@ -225,106 +225,106 @@ ProjectSerializer::Result ProjectSerializer::Save(QXmlStreamWriter *writer,
// By default, save as last serializer which, assuming the instances are ordered correctly,
// will be the newest file format. But we may allow saving as older versions later on.
ProjectSerializer *serializer = instances_.last();
ProjectSerializer *serializer = instances.last();
// Version is stored in YYMMDD from whenever the project format was last changed
// Allows easy integer math for checking project versions.
writer->writeAttribute(QStringLiteral("version"),
QString::number(serializer->Version()));
QString::number(serializer->version()));
if (!data.GetFilename().isEmpty()) {
writer->writeAttribute("url", data.GetFilename());
if (!data.get_filename().isEmpty()) {
writer->writeAttribute("url", data.get_filename());
}
serializer->Save(writer, data, nullptr);
serializer->save(writer, data, nullptr);
writer->writeEndElement(); // olive
writer->writeEndDocument();
if (writer->hasError()) {
return kXmlError;
return k_xml_error;
}
return kSuccess;
return k_success;
}
ProjectSerializer::Result ProjectSerializer::Copy(const SaveData &data)
ProjectSerializer::Result ProjectSerializer::copy(const SaveData &data)
{
QString copy_str;
QXmlStreamWriter writer(&copy_str);
ProjectSerializer::Result res = ProjectSerializer::Save(&writer, data);
ProjectSerializer::Result res = ProjectSerializer::save(&writer, data);
if (res == kSuccess) {
Core::CopyStringToClipboard(copy_str);
if (res == k_success) {
Core::copy_string_to_clipboard(copy_str);
}
return res;
}
bool ProjectSerializer::CheckCompressedID(QFile *file)
bool ProjectSerializer::check_compressed_id(QFile *file)
{
QByteArray b = file->read(4);
return !memcmp(b.data(), "OVEC", 4);
}
bool ProjectSerializer::IsCancelled() const
bool ProjectSerializer::is_cancelled() const
{
return false;
}
ProjectSerializer::Result
ProjectSerializer::LoadWithSerializerVersion(uint version, Project *project,
ProjectSerializer::load_with_serializer_version(uint version, Project *project,
QXmlStreamReader *reader,
LoadType load_type)
{
// Failed to find version in file
if (version == 0) {
return kUnknownVersion;
return k_unknown_version;
}
// We should now have the version, if we have a serializer for it, use it to load the project
ProjectSerializer *serializer = nullptr;
foreach (ProjectSerializer *s, instances_) {
if (version == s->Version()) {
foreach (ProjectSerializer *s, instances) {
if (version == s->version()) {
serializer = s;
break;
} else if (version < s->Version()) {
} else if (version < s->version()) {
// Assuming the instance list is in order, if the project version is less than any version
// we find, we must not support it anymore
return kProjectTooOld;
return k_project_too_old;
}
}
if (serializer) {
LoadData ld = serializer->Load(project, reader, load_type, nullptr);
Result r(kSuccess);
LoadData ld = serializer->load(project, reader, load_type, nullptr);
Result r(k_success);
if (reader->hasError()) {
r = Result(kXmlError);
r.SetDetails(
r = Result(k_xml_error);
r.set_details(
QCoreApplication::translate("Serializer", "%1 on line %2")
.arg(reader->errorString(),
QString::number(reader->lineNumber())));
}
r.SetLoadData(ld);
r.set_load_data(ld);
return r;
} else {
// Reached the end of the list with no serializer, assume too new
return kProjectTooNew;
return k_project_too_new;
}
}
void ProjectSerializer::SaveData::SetOnlySerializeNodesAndResolveGroups(
void ProjectSerializer::SaveData::set_only_serialize_nodes_and_resolve_groups(
QVector<Node *> nodes)
{
// For any groups, add children
for (int i = 0; i < nodes.size(); i++) {
// If this is a group, add the child nodes too
if (NodeGroup *g = dynamic_cast<NodeGroup *>(nodes.at(i))) {
for (auto it = g->GetContextPositions().cbegin();
it != g->GetContextPositions().cend(); it++) {
for (auto it = g->get_context_positions().cbegin();
it != g->get_context_positions().cend(); it++) {
if (!nodes.contains(it.key())) {
nodes.append(it.key());
}
@@ -332,7 +332,7 @@ void ProjectSerializer::SaveData::SetOnlySerializeNodesAndResolveGroups(
}
}
SetOnlySerializeNodes(nodes);
set_only_serialize_nodes(nodes);
}
}
+50 -50
View File
@@ -19,8 +19,8 @@
***/
#ifndef PROJECTSERIALIZER_H
#define PROJECTSERIALIZER_H
#ifndef OAK_PROJECTSERIALIZER_H
#define OAK_PROJECTSERIALIZER_H
#include <vector>
@@ -40,11 +40,11 @@ namespace olive
class ProjectSerializer {
public:
enum LoadType {
kProject,
kOnlyNodes,
kOnlyClips,
kOnlyMarkers,
kOnlyKeyframes
k_project,
k_only_nodes,
k_only_clips,
k_only_markers,
k_only_keyframes
};
ProjectSerializer() = default;
@@ -56,14 +56,14 @@ public:
DISABLE_COPY_MOVE(ProjectSerializer)
enum ResultCode {
kSuccess,
kProjectTooOld,
kProjectTooNew,
kUnknownVersion,
kFileError,
kXmlError,
kOverwriteError,
kNoData
k_success,
k_project_too_old,
k_project_too_new,
k_unknown_version,
k_file_error,
k_xml_error,
k_overwrite_error,
k_no_data
};
using SerializedProperties = QHash<Node *, QMap<QString, QString>>;
@@ -111,22 +111,22 @@ public:
return code_;
}
const QString &GetDetails() const
const QString &get_details() const
{
return details_;
}
void SetDetails(const QString &s)
void set_details(const QString &s)
{
details_ = s;
}
const LoadData &GetLoadData() const
const LoadData &get_load_data() const
{
return load_data_;
}
void SetLoadData(const LoadData &p)
void set_load_data(const LoadData &p)
{
load_data_ = p;
}
@@ -149,20 +149,20 @@ public:
filename_ = filename;
}
Project *GetProject() const
Project *get_project() const
{
return project_;
}
void SetProject(Project *p)
void set_project(Project *p)
{
project_ = p;
}
const QString &GetFilename() const
const QString &get_filename() const
{
return filename_;
}
void SetFilename(const QString &s)
void set_filename(const QString &s)
{
filename_ = s;
}
@@ -172,48 +172,48 @@ public:
return type_;
}
const MainWindowLayoutInfo &GetLayout() const
const MainWindowLayoutInfo &get_layout() const
{
return layout_;
}
void SetLayout(const MainWindowLayoutInfo &layout)
void set_layout(const MainWindowLayoutInfo &layout)
{
layout_ = layout;
}
const QVector<Node *> &GetOnlySerializeNodes() const
const QVector<Node *> &get_only_serialize_nodes() const
{
return only_serialize_nodes_;
}
void SetOnlySerializeNodes(const QVector<Node *> &only)
void set_only_serialize_nodes(const QVector<Node *> &only)
{
only_serialize_nodes_ = only;
}
void SetOnlySerializeNodesAndResolveGroups(QVector<Node *> only);
void set_only_serialize_nodes_and_resolve_groups(QVector<Node *> only);
const std::vector<TimelineMarker *> &GetOnlySerializeMarkers() const
const std::vector<TimelineMarker *> &get_only_serialize_markers() const
{
return only_serialize_markers_;
}
void SetOnlySerializeMarkers(const std::vector<TimelineMarker *> &only)
void set_only_serialize_markers(const std::vector<TimelineMarker *> &only)
{
only_serialize_markers_ = only;
}
const std::vector<NodeKeyframe *> &GetOnlySerializeKeyframes() const
const std::vector<NodeKeyframe *> &get_only_serialize_keyframes() const
{
return only_serialize_keyframes_;
}
void SetOnlySerializeKeyframes(const std::vector<NodeKeyframe *> &only)
void set_only_serialize_keyframes(const std::vector<NodeKeyframe *> &only)
{
only_serialize_keyframes_ = only;
}
const SerializedProperties &GetProperties() const
const SerializedProperties &get_properties() const
{
return properties_;
}
void SetProperties(const SerializedProperties &p)
void set_properties(const SerializedProperties &p)
{
properties_ = p;
}
@@ -236,43 +236,43 @@ public:
std::vector<NodeKeyframe *> only_serialize_keyframes_;
};
static void Initialize();
static void initialize();
static void Destroy();
static void destroy();
static Result Load(Project *project, const QString &filename,
static Result load(Project *project, const QString &filename,
LoadType load_type);
static Result Load(Project *project, QXmlStreamReader *read_device,
static Result load(Project *project, QXmlStreamReader *read_device,
LoadType load_type);
static Result Paste(LoadType load_type, Project *project = nullptr);
static Result paste(LoadType load_type, Project *project = nullptr);
static Result Save(const SaveData &data, bool compress);
static Result Save(QXmlStreamWriter *write_device, const SaveData &data);
static Result Copy(const SaveData &data);
static Result save(const SaveData &data, bool compress);
static Result save(QXmlStreamWriter *write_device, const SaveData &data);
static Result copy(const SaveData &data);
static bool CheckCompressedID(QFile *file);
static bool check_compressed_id(QFile *file);
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const = 0;
virtual void Save(QXmlStreamWriter *writer, const SaveData &data,
virtual void save(QXmlStreamWriter *writer, const SaveData &data,
void *reserved) const
{
}
virtual uint Version() const = 0;
virtual uint version() const = 0;
bool IsCancelled() const;
bool is_cancelled() const;
private:
static Result LoadWithSerializerVersion(uint version, Project *project,
static Result load_with_serializer_version(uint version, Project *project,
QXmlStreamReader *reader,
LoadType load_type);
static QVector<ProjectSerializer *> instances_;
static QVector<ProjectSerializer *> instances;
};
}
#endif // PROJECTSERIALIZER_H
#endif // OAK_PROJECTSERIALIZER_H
@@ -25,7 +25,7 @@ namespace olive
{
ProjectSerializer::LoadData
ProjectSerializer190219::Load(Project *project, QXmlStreamReader *reader,
ProjectSerializer190219::load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const
{
return LoadData();
@@ -19,8 +19,8 @@
***/
#ifndef PROJECTSERIALIZER190219_H
#define PROJECTSERIALIZER190219_H
#ifndef OAK_PROJECTSERIALIZER190219_H
#define OAK_PROJECTSERIALIZER190219_H
#include "serializer.h"
@@ -32,10 +32,10 @@ public:
ProjectSerializer190219() = default;
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const override;
virtual uint Version() const override
virtual uint version() const override
{
return 190219;
}
+116 -116
View File
@@ -29,17 +29,17 @@ namespace olive
{
ProjectSerializer210528::LoadData
ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
ProjectSerializer210528::load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const
{
XMLNodeData xml_node_data;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("uuid")) {
project->SetUuid(QUuid::fromString(reader->readElementText()));
project->set_uuid(QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("nodes")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
bool is_root = false;
bool is_cm = false;
@@ -73,16 +73,16 @@ ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
bool handled_elsewhere = false;
if (is_root) {
project->Initialize();
project->initialize();
node = project->root();
} else if (is_cm) {
LoadColorManager(reader, project);
load_color_manager(reader, project);
handled_elsewhere = true;
} else if (is_settings) {
LoadProjectSettings(reader, project);
load_project_settings(reader, project);
handled_elsewhere = true;
} else {
node = NodeFactory::CreateFromID(id);
node = NodeFactory::create_from_id(id);
}
if (!handled_elsewhere) {
@@ -91,7 +91,7 @@ ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
<< "Failed to find node with ID" << id;
reader->skipCurrentElement();
} else {
LoadNode(node, xml_node_data, reader);
load_node(node, xml_node_data, reader);
node->setParent(project);
}
}
@@ -102,7 +102,7 @@ ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("positions")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("context")) {
quintptr context_ptr = 0;
XMLAttributeLoop(reader, attr)
@@ -119,18 +119,18 @@ ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
qWarning() << "Failed to find pointer for context";
reader->skipCurrentElement();
} else {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr node_ptr;
Node::Position node_pos;
if (LoadPosition(reader, &node_ptr,
if (load_position(reader, &node_ptr,
&node_pos)) {
Node *node =
xml_node_data.node_ptrs.value(node_ptr);
if (node) {
context->SetNodePositionInContext(
context->set_node_position_in_context(
node, node_pos);
} else {
qWarning()
@@ -156,18 +156,18 @@ ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
}
// Make connections
PostConnect(xml_node_data);
post_connect(xml_node_data);
// Resolve tracks
for (Node *n : project->nodes()) {
n->SetCachesEnabled(true);
n->set_caches_enabled(true);
if (Track *t = dynamic_cast<Track *>(n)) {
for (int i = 0; i < t->InputArraySize(Track::kBlockInput); i++) {
for (int i = 0; i < t->input_array_size(Track::k_block_input); i++) {
Block *b = static_cast<Block *>(
t->GetConnectedOutput(Track::kBlockInput, i));
t->get_connected_output(Track::k_block_input, i));
if (!b->track()) {
t->AppendBlock(b);
t->append_block(b);
}
}
}
@@ -176,25 +176,25 @@ ProjectSerializer210528::Load(Project *project, QXmlStreamReader *reader,
return LoadData();
}
void ProjectSerializer210528::LoadNode(Node *node, XMLNodeData &xml_node_data,
void ProjectSerializer210528::load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const
{
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("input")) {
LoadInput(node, reader, xml_node_data);
load_input(node, reader, xml_node_data);
} else if (reader->name() == QStringLiteral("ptr")) {
xml_node_data.node_ptrs.insert(
reader->readElementText().toULongLong(), node);
} else if (reader->name() == QStringLiteral("label")) {
node->SetLabel(reader->readElementText());
node->set_label(reader->readElementText());
} else if (reader->name() == QStringLiteral("color")) {
node->SetOverrideColor(reader->readElementText().toInt());
node->set_override_color(reader->readElementText().toInt());
} else if (reader->name() == QStringLiteral("links")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("link")) {
xml_node_data.block_links.append(
{ node, reader->readElementText().toULongLong() });
@@ -203,11 +203,11 @@ void ProjectSerializer210528::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("custom")) {
LoadNodeCustom(reader, node, xml_node_data);
load_node_custom(reader, node, xml_node_data);
} else if (reader->name() == QStringLiteral("connections")) {
// Load connections
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("connection")) {
QString param_id;
int ele = -1;
@@ -224,7 +224,7 @@ void ProjectSerializer210528::LoadNode(Node *node, XMLNodeData &xml_node_data,
QString output_node_id;
QString output_param_id;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
output_node_id = reader->readElementText();
} else if (reader->name() == QStringLiteral("output")) {
@@ -242,7 +242,7 @@ void ProjectSerializer210528::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("hints")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("hint")) {
QString input;
int element = -1;
@@ -257,8 +257,8 @@ void ProjectSerializer210528::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
Node::ValueHint vh;
LoadValueHint(&vh, reader);
node->SetValueHintForInput(input, vh, element);
load_value_hint(&vh, reader);
node->set_value_hint_for_input(input, vh, element);
} else {
reader->skipCurrentElement();
}
@@ -271,10 +271,10 @@ void ProjectSerializer210528::LoadNode(Node *node, XMLNodeData &xml_node_data,
node->LoadFinishedEvent();
}
void ProjectSerializer210528::LoadColorManager(QXmlStreamReader *reader,
void ProjectSerializer210528::load_color_manager(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -289,11 +289,11 @@ void ProjectSerializer210528::LoadColorManager(QXmlStreamReader *reader,
id == QStringLiteral("reference_space")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -335,18 +335,18 @@ void ProjectSerializer210528::LoadColorManager(QXmlStreamReader *reader,
};
int num_value = value.toInt();
value = list.at(num_value);
project->SetDefaultInputColorSpace(value);
project->set_default_input_color_space(value);
} else if (id == QStringLiteral("reference_space")) {
// Reference space
if (value == QStringLiteral("1")) {
value = OCIO::ROLE_COMPOSITING_LOG;
value = ocio::ROLE_COMPOSITING_LOG;
} else {
value = OCIO::ROLE_SCENE_LINEAR;
value = ocio::ROLE_SCENE_LINEAR;
}
project->SetColorReferenceSpace(value);
project->set_color_reference_space(value);
} else {
// Config filename
project->SetColorConfigFilename(value);
project->set_color_config_filename(value);
}
} else {
reader->skipCurrentElement();
@@ -357,10 +357,10 @@ void ProjectSerializer210528::LoadColorManager(QXmlStreamReader *reader,
}
}
void ProjectSerializer210528::LoadProjectSettings(QXmlStreamReader *reader,
void ProjectSerializer210528::load_project_settings(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -374,11 +374,11 @@ void ProjectSerializer210528::LoadProjectSettings(QXmlStreamReader *reader,
id == QStringLiteral("cache_path")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -396,10 +396,10 @@ void ProjectSerializer210528::LoadProjectSettings(QXmlStreamReader *reader,
}
if (id == QStringLiteral("cache_setting")) {
project->SetCacheLocationSetting(
project->set_cache_location_setting(
static_cast<Project::CacheSetting>(value.toInt()));
} else {
project->SetCustomCachePath(value);
project->set_custom_cache_path(value);
}
} else {
reader->skipCurrentElement();
@@ -410,7 +410,7 @@ void ProjectSerializer210528::LoadProjectSettings(QXmlStreamReader *reader,
}
}
void ProjectSerializer210528::LoadInput(Node *node, QXmlStreamReader *reader,
void ProjectSerializer210528::load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const
{
QString param_id;
@@ -430,34 +430,34 @@ void ProjectSerializer210528::LoadInput(Node *node, QXmlStreamReader *reader,
return;
}
if (!node->HasInputWithID(param_id)) {
if (!node->has_input_with_id(param_id)) {
qWarning() << "Failed to load parameter that didn't exist:" << param_id;
reader->skipCurrentElement();
return;
}
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("primary")) {
// Load primary immediate
LoadImmediate(reader, node, param_id, -1, xml_node_data);
load_immediate(reader, node, param_id, -1, xml_node_data);
} else if (reader->name() == QStringLiteral("subelements")) {
// Load subelements
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("count")) {
node->InputArrayResize(param_id, attr.value().toInt());
node->input_array_resize(param_id, attr.value().toInt());
}
}
int element_counter = 0;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("element")) {
LoadImmediate(reader, node, param_id, element_counter,
load_immediate(reader, node, param_id, element_counter,
xml_node_data);
element_counter++;
@@ -471,46 +471,46 @@ void ProjectSerializer210528::LoadInput(Node *node, QXmlStreamReader *reader,
}
}
void ProjectSerializer210528::LoadImmediate(QXmlStreamReader *reader,
void ProjectSerializer210528::load_immediate(QXmlStreamReader *reader,
Node *node, const QString &input,
int element,
XMLNodeData &xml_node_data) const
{
Q_UNUSED(xml_node_data)
NodeValue::Type data_type = node->GetInputDataType(input);
NodeValue::Type data_type = node->get_input_data_type(input);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
// Load standard value
int val_index = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
QVariant value_on_track;
if (data_type == NodeValue::kVideoParams) {
if (data_type == NodeValue::k_video_params) {
VideoParams vp;
vp.Load(reader);
vp.load(reader);
value_on_track = QVariant::fromValue(vp);
} else if (data_type == NodeValue::kAudioParams) {
} else if (data_type == NodeValue::k_audio_params) {
AudioParams ap =
TypeSerializer::LoadAudioParams(reader);
TypeSerializer::load_audio_params(reader);
value_on_track = QVariant::fromValue(ap);
} else {
QString value_text = reader->readElementText();
if (!value_text.isEmpty()) {
value_on_track = NodeValue::StringToValue(
value_on_track = NodeValue::string_to_value(
data_type, value_text, true);
}
}
node->SetSplitStandardValueOnTrack(input, val_index,
node->set_split_standard_value_on_track(input, val_index,
value_on_track, element);
val_index++;
@@ -519,34 +519,34 @@ void ProjectSerializer210528::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("keyframing") &&
node->IsInputKeyframable(input)) {
node->SetInputIsKeyframing(input, reader->readElementText().toInt(),
node->is_input_keyframable(input)) {
node->set_input_is_keyframing(input, reader->readElementText().toInt(),
element);
} else if (reader->name() == QStringLiteral("keyframes")) {
int track = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("key")) {
QString key_input;
rational key_time;
NodeKeyframe::Type key_type = NodeKeyframe::kLinear;
Rational key_time;
NodeKeyframe::Type key_type = NodeKeyframe::k_linear;
QVariant key_value;
QPointF key_in_handle;
QPointF key_out_handle;
XMLAttributeLoop(reader, attr)
{
if (IsCancelled()) {
if (is_cancelled()) {
return;
}
@@ -554,7 +554,7 @@ void ProjectSerializer210528::LoadImmediate(QXmlStreamReader *reader,
key_input = attr.value().toString();
} else if (attr.name() ==
QStringLiteral("time")) {
key_time = rational::fromString(
key_time = Rational::from_string(
attr.value().toString().toStdString());
} else if (attr.name() ==
QStringLiteral("type")) {
@@ -577,7 +577,7 @@ void ProjectSerializer210528::LoadImmediate(QXmlStreamReader *reader,
}
}
key_value = NodeValue::StringToValue(
key_value = NodeValue::string_to_value(
data_type, reader->readElementText(), true);
NodeKeyframe *key = new NodeKeyframe(
@@ -596,16 +596,16 @@ void ProjectSerializer210528::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("csinput")) {
node->SetInputProperty(input, QStringLiteral("col_input"),
node->set_input_property(input, QStringLiteral("col_input"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csdisplay")) {
node->SetInputProperty(input, QStringLiteral("col_display"),
node->set_input_property(input, QStringLiteral("col_display"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csview")) {
node->SetInputProperty(input, QStringLiteral("col_view"),
node->set_input_property(input, QStringLiteral("col_view"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("cslook")) {
node->SetInputProperty(input, QStringLiteral("col_look"),
node->set_input_property(input, QStringLiteral("col_look"),
reader->readElementText());
} else {
reader->skipCurrentElement();
@@ -613,7 +613,7 @@ void ProjectSerializer210528::LoadImmediate(QXmlStreamReader *reader,
}
}
bool ProjectSerializer210528::LoadPosition(QXmlStreamReader *reader,
bool ProjectSerializer210528::load_position(QXmlStreamReader *reader,
quintptr *node_ptr,
Node::Position *pos) const
{
@@ -630,7 +630,7 @@ bool ProjectSerializer210528::LoadPosition(QXmlStreamReader *reader,
}
}
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("x")) {
pos->position.setX(reader->readElementText().toDouble());
got_pos_x = true;
@@ -647,7 +647,7 @@ bool ProjectSerializer210528::LoadPosition(QXmlStreamReader *reader,
return got_node_ptr && got_pos_x && got_pos_y;
}
void ProjectSerializer210528::PostConnect(const XMLNodeData &xml_node_data) const
void ProjectSerializer210528::post_connect(const XMLNodeData &xml_node_data) const
{
foreach (const XMLNodeData::SerializedConnection &con,
xml_node_data.desired_connections) {
@@ -655,9 +655,9 @@ void ProjectSerializer210528::PostConnect(const XMLNodeData &xml_node_data) cons
// Use output param as hint tag since we grandfathered those in
Node::ValueHint hint(con.output_param);
Node::ConnectEdge(out, con.input);
Node::connect_edge(out, con.input);
con.input.node()->SetValueHintForInput(con.input.input(), hint,
con.input.node()->set_value_hint_for_input(con.input.input(), hint,
con.input.element());
}
}
@@ -666,26 +666,26 @@ void ProjectSerializer210528::PostConnect(const XMLNodeData &xml_node_data) cons
Node *a = l.block;
Node *b = xml_node_data.node_ptrs.value(l.link);
Node::Link(a, b);
Node::link(a, b);
}
foreach (const XMLNodeData::GroupLink &l, xml_node_data.group_input_links) {
if (Node *input_node = xml_node_data.node_ptrs.value(l.input_node)) {
NodeInput resolved(input_node, l.input_id, l.input_element);
l.group->AddInputPassthrough(resolved);
l.group->add_input_passthrough(resolved);
}
}
for (auto it = xml_node_data.group_output_links.cbegin();
it != xml_node_data.group_output_links.cend(); it++) {
if (Node *output_node = xml_node_data.node_ptrs.value(it.value())) {
it.key()->SetOutputPassthrough(output_node);
it.key()->set_output_passthrough(output_node);
}
}
}
void ProjectSerializer210528::LoadNodeCustom(QXmlStreamReader *reader,
void ProjectSerializer210528::load_node_custom(QXmlStreamReader *reader,
Node *node,
XMLNodeData &xml_node_data) const
{
@@ -693,9 +693,9 @@ void ProjectSerializer210528::LoadNodeCustom(QXmlStreamReader *reader,
if (ViewerOutput *viewer = dynamic_cast<ViewerOutput *>(node)) {
Footage *footage = dynamic_cast<Footage *>(node);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("points")) {
LoadTimelinePoints(reader, viewer);
load_timeline_points(reader, viewer);
} else if (reader->name() == QStringLiteral("timestamp") &&
footage) {
footage->set_timestamp(reader->readElementText().toLongLong());
@@ -705,24 +705,24 @@ void ProjectSerializer210528::LoadNodeCustom(QXmlStreamReader *reader,
}
} else if (Track *track = dynamic_cast<Track *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("height")) {
track->SetTrackHeight(reader->readElementText().toDouble());
track->set_track_height(reader->readElementText().toDouble());
} else {
reader->skipCurrentElement();
}
}
} else if (NodeGroup *group = dynamic_cast<NodeGroup *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthroughs")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthrough")) {
XMLNodeData::GroupLink link;
link.group = group;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
link.input_node =
reader->readElementText().toULongLong();
@@ -756,25 +756,25 @@ void ProjectSerializer210528::LoadNodeCustom(QXmlStreamReader *reader,
}
}
void ProjectSerializer210528::LoadTimelinePoints(QXmlStreamReader *reader,
void ProjectSerializer210528::load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *points) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("markers")) {
LoadMarkerList(reader, points->GetMarkers());
load_marker_list(reader, points->get_markers());
} else if (reader->name() == QStringLiteral("workarea")) {
LoadWorkArea(reader, points->GetWorkArea());
load_work_area(reader, points->get_work_area());
} else {
reader->skipCurrentElement();
}
}
}
void ProjectSerializer210528::LoadWorkArea(QXmlStreamReader *reader,
void ProjectSerializer210528::load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const
{
rational range_in = workarea->in();
rational range_out = workarea->out();
Rational range_in = workarea->in();
Rational range_out = workarea->out();
XMLAttributeLoop(reader, attr)
{
@@ -782,10 +782,10 @@ void ProjectSerializer210528::LoadWorkArea(QXmlStreamReader *reader,
workarea->set_enabled(attr.value() != QStringLiteral("0"));
} else if (attr.name() == QStringLiteral("in")) {
range_in =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
range_out =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
}
}
@@ -798,28 +798,28 @@ void ProjectSerializer210528::LoadWorkArea(QXmlStreamReader *reader,
reader->skipCurrentElement();
}
void ProjectSerializer210528::LoadMarkerList(QXmlStreamReader *reader,
void ProjectSerializer210528::load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("marker")) {
QString name;
rational in, out;
Rational in, out;
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("name")) {
name = attr.value().toString();
} else if (attr.name() == QStringLiteral("in")) {
in = rational::fromString(
in = Rational::from_string(
attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
out = rational::fromString(
out = Rational::from_string(
attr.value().toString().toStdString());
}
}
new TimelineMarker(OLIVE_CONFIG("MarkerColor").toInt(),
new TimelineMarker(OAK_CONFIG("MarkerColor").toInt(),
TimeRange(in, out), name, markers);
}
@@ -827,14 +827,14 @@ void ProjectSerializer210528::LoadMarkerList(QXmlStreamReader *reader,
}
}
void ProjectSerializer210528::LoadValueHint(Node::ValueHint *hint,
void ProjectSerializer210528::load_value_hint(Node::ValueHint *hint,
QXmlStreamReader *reader) const
{
QVector<NodeValue::Type> types;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("types")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("type")) {
types.append(static_cast<NodeValue::Type>(
reader->readElementText().toInt()));
+16 -16
View File
@@ -19,8 +19,8 @@
***/
#ifndef SERIALIZER210528_H
#define SERIALIZER210528_H
#ifndef OAK_SERIALIZER210528_H
#define OAK_SERIALIZER210528_H
#include "serializer.h"
@@ -32,10 +32,10 @@ public:
ProjectSerializer210528() = default;
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const override;
virtual uint Version() const override
virtual uint version() const override
{
return 210528;
}
@@ -67,38 +67,38 @@ private:
QHash<NodeGroup *, quintptr> group_output_links;
};
void LoadNode(Node *node, XMLNodeData &xml_node_data,
void load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const;
void LoadColorManager(QXmlStreamReader *reader, Project *project) const;
void load_color_manager(QXmlStreamReader *reader, Project *project) const;
void LoadProjectSettings(QXmlStreamReader *reader, Project *project) const;
void load_project_settings(QXmlStreamReader *reader, Project *project) const;
void LoadInput(Node *node, QXmlStreamReader *reader,
void load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const;
void LoadImmediate(QXmlStreamReader *reader, Node *node,
void load_immediate(QXmlStreamReader *reader, Node *node,
const QString &input, int element,
XMLNodeData &xml_node_data) const;
bool LoadPosition(QXmlStreamReader *reader, quintptr *node_ptr,
bool load_position(QXmlStreamReader *reader, quintptr *node_ptr,
Node::Position *pos) const;
void PostConnect(const XMLNodeData &xml_node_data) const;
void post_connect(const XMLNodeData &xml_node_data) const;
void LoadNodeCustom(QXmlStreamReader *reader, Node *node,
void load_node_custom(QXmlStreamReader *reader, Node *node,
XMLNodeData &xml_node_data) const;
void LoadTimelinePoints(QXmlStreamReader *reader,
void load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *points) const;
void LoadWorkArea(QXmlStreamReader *reader,
void load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const;
void LoadMarkerList(QXmlStreamReader *reader,
void load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const;
void LoadValueHint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
void load_value_hint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
};
}
+115 -115
View File
@@ -29,17 +29,17 @@ namespace olive
{
ProjectSerializer210907::LoadData
ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
ProjectSerializer210907::load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const
{
XMLNodeData xml_node_data;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("uuid")) {
project->SetUuid(QUuid::fromString(reader->readElementText()));
project->set_uuid(QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("nodes")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
bool is_root = false;
bool is_cm = false;
@@ -73,16 +73,16 @@ ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
bool handled_elsewhere = false;
if (is_root) {
project->Initialize();
project->initialize();
node = project->root();
} else if (is_cm) {
LoadColorManager(reader, project);
load_color_manager(reader, project);
handled_elsewhere = true;
} else if (is_settings) {
LoadProjectSettings(reader, project);
load_project_settings(reader, project);
handled_elsewhere = true;
} else {
node = NodeFactory::CreateFromID(id);
node = NodeFactory::create_from_id(id);
}
if (!handled_elsewhere) {
@@ -91,7 +91,7 @@ ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
<< "Failed to find node with ID" << id;
reader->skipCurrentElement();
} else {
LoadNode(node, xml_node_data, reader);
load_node(node, xml_node_data, reader);
node->setParent(project);
}
}
@@ -102,7 +102,7 @@ ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("positions")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("context")) {
quintptr context_ptr = 0;
XMLAttributeLoop(reader, attr)
@@ -119,18 +119,18 @@ ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
qWarning() << "Failed to find pointer for context";
reader->skipCurrentElement();
} else {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr node_ptr;
Node::Position node_pos;
if (LoadPosition(reader, &node_ptr,
if (load_position(reader, &node_ptr,
&node_pos)) {
Node *node =
xml_node_data.node_ptrs.value(node_ptr);
if (node) {
context->SetNodePositionInContext(
context->set_node_position_in_context(
node, node_pos);
} else {
qWarning()
@@ -156,18 +156,18 @@ ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
}
// Make connections
PostConnect(xml_node_data);
post_connect(xml_node_data);
// Resolve tracks
for (Node *n : project->nodes()) {
n->SetCachesEnabled(true);
n->set_caches_enabled(true);
if (Track *t = dynamic_cast<Track *>(n)) {
for (int i = 0; i < t->InputArraySize(Track::kBlockInput); i++) {
for (int i = 0; i < t->input_array_size(Track::k_block_input); i++) {
Block *b = static_cast<Block *>(
t->GetConnectedOutput(Track::kBlockInput, i));
t->get_connected_output(Track::k_block_input, i));
if (!b->track()) {
t->AppendBlock(b);
t->append_block(b);
}
}
}
@@ -176,25 +176,25 @@ ProjectSerializer210907::Load(Project *project, QXmlStreamReader *reader,
return LoadData();
}
void ProjectSerializer210907::LoadNode(Node *node, XMLNodeData &xml_node_data,
void ProjectSerializer210907::load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const
{
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("input")) {
LoadInput(node, reader, xml_node_data);
load_input(node, reader, xml_node_data);
} else if (reader->name() == QStringLiteral("ptr")) {
xml_node_data.node_ptrs.insert(
reader->readElementText().toULongLong(), node);
} else if (reader->name() == QStringLiteral("label")) {
node->SetLabel(reader->readElementText());
node->set_label(reader->readElementText());
} else if (reader->name() == QStringLiteral("color")) {
node->SetOverrideColor(reader->readElementText().toInt());
node->set_override_color(reader->readElementText().toInt());
} else if (reader->name() == QStringLiteral("links")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("link")) {
xml_node_data.block_links.append(
{ node, reader->readElementText().toULongLong() });
@@ -203,11 +203,11 @@ void ProjectSerializer210907::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("custom")) {
LoadNodeCustom(reader, node, xml_node_data);
load_node_custom(reader, node, xml_node_data);
} else if (reader->name() == QStringLiteral("connections")) {
// Load connections
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("connection")) {
QString param_id;
int ele = -1;
@@ -223,7 +223,7 @@ void ProjectSerializer210907::LoadNode(Node *node, XMLNodeData &xml_node_data,
QString output_node_id;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("output")) {
output_node_id = reader->readElementText();
} else {
@@ -239,7 +239,7 @@ void ProjectSerializer210907::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("hints")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("hint")) {
QString input;
int element = -1;
@@ -254,8 +254,8 @@ void ProjectSerializer210907::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
Node::ValueHint vh;
LoadValueHint(&vh, reader);
node->SetValueHintForInput(input, vh, element);
load_value_hint(&vh, reader);
node->set_value_hint_for_input(input, vh, element);
} else {
reader->skipCurrentElement();
}
@@ -268,10 +268,10 @@ void ProjectSerializer210907::LoadNode(Node *node, XMLNodeData &xml_node_data,
node->LoadFinishedEvent();
}
void ProjectSerializer210907::LoadColorManager(QXmlStreamReader *reader,
void ProjectSerializer210907::load_color_manager(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -286,11 +286,11 @@ void ProjectSerializer210907::LoadColorManager(QXmlStreamReader *reader,
id == QStringLiteral("reference_space")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -332,18 +332,18 @@ void ProjectSerializer210907::LoadColorManager(QXmlStreamReader *reader,
};
int num_value = value.toInt();
value = list.at(num_value);
project->SetDefaultInputColorSpace(value);
project->set_default_input_color_space(value);
} else if (id == QStringLiteral("reference_space")) {
// Reference space
if (value == QStringLiteral("1")) {
value = OCIO::ROLE_COMPOSITING_LOG;
value = ocio::ROLE_COMPOSITING_LOG;
} else {
value = OCIO::ROLE_SCENE_LINEAR;
value = ocio::ROLE_SCENE_LINEAR;
}
project->SetColorReferenceSpace(value);
project->set_color_reference_space(value);
} else {
// Config filename
project->SetColorConfigFilename(value);
project->set_color_config_filename(value);
}
} else {
reader->skipCurrentElement();
@@ -354,10 +354,10 @@ void ProjectSerializer210907::LoadColorManager(QXmlStreamReader *reader,
}
}
void ProjectSerializer210907::LoadProjectSettings(QXmlStreamReader *reader,
void ProjectSerializer210907::load_project_settings(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -371,11 +371,11 @@ void ProjectSerializer210907::LoadProjectSettings(QXmlStreamReader *reader,
id == QStringLiteral("cache_path")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -393,10 +393,10 @@ void ProjectSerializer210907::LoadProjectSettings(QXmlStreamReader *reader,
}
if (id == QStringLiteral("cache_setting")) {
project->SetCacheLocationSetting(
project->set_cache_location_setting(
static_cast<Project::CacheSetting>(value.toInt()));
} else {
project->SetCustomCachePath(value);
project->set_custom_cache_path(value);
}
} else {
reader->skipCurrentElement();
@@ -407,7 +407,7 @@ void ProjectSerializer210907::LoadProjectSettings(QXmlStreamReader *reader,
}
}
void ProjectSerializer210907::LoadInput(Node *node, QXmlStreamReader *reader,
void ProjectSerializer210907::load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const
{
QString param_id;
@@ -427,34 +427,34 @@ void ProjectSerializer210907::LoadInput(Node *node, QXmlStreamReader *reader,
return;
}
if (!node->HasInputWithID(param_id)) {
if (!node->has_input_with_id(param_id)) {
qWarning() << "Failed to load parameter that didn't exist:" << param_id;
reader->skipCurrentElement();
return;
}
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("primary")) {
// Load primary immediate
LoadImmediate(reader, node, param_id, -1, xml_node_data);
load_immediate(reader, node, param_id, -1, xml_node_data);
} else if (reader->name() == QStringLiteral("subelements")) {
// Load subelements
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("count")) {
node->InputArrayResize(param_id, attr.value().toInt());
node->input_array_resize(param_id, attr.value().toInt());
}
}
int element_counter = 0;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("element")) {
LoadImmediate(reader, node, param_id, element_counter,
load_immediate(reader, node, param_id, element_counter,
xml_node_data);
element_counter++;
@@ -468,46 +468,46 @@ void ProjectSerializer210907::LoadInput(Node *node, QXmlStreamReader *reader,
}
}
void ProjectSerializer210907::LoadImmediate(QXmlStreamReader *reader,
void ProjectSerializer210907::load_immediate(QXmlStreamReader *reader,
Node *node, const QString &input,
int element,
XMLNodeData &xml_node_data) const
{
Q_UNUSED(xml_node_data)
NodeValue::Type data_type = node->GetInputDataType(input);
NodeValue::Type data_type = node->get_input_data_type(input);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
// Load standard value
int val_index = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
QVariant value_on_track;
if (data_type == NodeValue::kVideoParams) {
if (data_type == NodeValue::k_video_params) {
VideoParams vp;
vp.Load(reader);
vp.load(reader);
value_on_track = QVariant::fromValue(vp);
} else if (data_type == NodeValue::kAudioParams) {
} else if (data_type == NodeValue::k_audio_params) {
AudioParams ap =
TypeSerializer::LoadAudioParams(reader);
TypeSerializer::load_audio_params(reader);
value_on_track = QVariant::fromValue(ap);
} else {
QString value_text = reader->readElementText();
if (!value_text.isEmpty()) {
value_on_track = NodeValue::StringToValue(
value_on_track = NodeValue::string_to_value(
data_type, value_text, true);
}
}
node->SetSplitStandardValueOnTrack(input, val_index,
node->set_split_standard_value_on_track(input, val_index,
value_on_track, element);
val_index++;
@@ -516,34 +516,34 @@ void ProjectSerializer210907::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("keyframing") &&
node->IsInputKeyframable(input)) {
node->SetInputIsKeyframing(input, reader->readElementText().toInt(),
node->is_input_keyframable(input)) {
node->set_input_is_keyframing(input, reader->readElementText().toInt(),
element);
} else if (reader->name() == QStringLiteral("keyframes")) {
int track = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("key")) {
QString key_input;
rational key_time;
NodeKeyframe::Type key_type = NodeKeyframe::kLinear;
Rational key_time;
NodeKeyframe::Type key_type = NodeKeyframe::k_linear;
QVariant key_value;
QPointF key_in_handle;
QPointF key_out_handle;
XMLAttributeLoop(reader, attr)
{
if (IsCancelled()) {
if (is_cancelled()) {
return;
}
@@ -551,7 +551,7 @@ void ProjectSerializer210907::LoadImmediate(QXmlStreamReader *reader,
key_input = attr.value().toString();
} else if (attr.name() ==
QStringLiteral("time")) {
key_time = rational::fromString(
key_time = Rational::from_string(
attr.value().toString().toStdString());
} else if (attr.name() ==
QStringLiteral("type")) {
@@ -574,7 +574,7 @@ void ProjectSerializer210907::LoadImmediate(QXmlStreamReader *reader,
}
}
key_value = NodeValue::StringToValue(
key_value = NodeValue::string_to_value(
data_type, reader->readElementText(), true);
NodeKeyframe *key = new NodeKeyframe(
@@ -593,16 +593,16 @@ void ProjectSerializer210907::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("csinput")) {
node->SetInputProperty(input, QStringLiteral("col_input"),
node->set_input_property(input, QStringLiteral("col_input"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csdisplay")) {
node->SetInputProperty(input, QStringLiteral("col_display"),
node->set_input_property(input, QStringLiteral("col_display"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csview")) {
node->SetInputProperty(input, QStringLiteral("col_view"),
node->set_input_property(input, QStringLiteral("col_view"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("cslook")) {
node->SetInputProperty(input, QStringLiteral("col_look"),
node->set_input_property(input, QStringLiteral("col_look"),
reader->readElementText());
} else {
reader->skipCurrentElement();
@@ -610,7 +610,7 @@ void ProjectSerializer210907::LoadImmediate(QXmlStreamReader *reader,
}
}
bool ProjectSerializer210907::LoadPosition(QXmlStreamReader *reader,
bool ProjectSerializer210907::load_position(QXmlStreamReader *reader,
quintptr *node_ptr,
Node::Position *pos) const
{
@@ -627,7 +627,7 @@ bool ProjectSerializer210907::LoadPosition(QXmlStreamReader *reader,
}
}
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("x")) {
pos->position.setX(reader->readElementText().toDouble());
got_pos_x = true;
@@ -644,12 +644,12 @@ bool ProjectSerializer210907::LoadPosition(QXmlStreamReader *reader,
return got_node_ptr && got_pos_x && got_pos_y;
}
void ProjectSerializer210907::PostConnect(const XMLNodeData &xml_node_data) const
void ProjectSerializer210907::post_connect(const XMLNodeData &xml_node_data) const
{
foreach (const XMLNodeData::SerializedConnection &con,
xml_node_data.desired_connections) {
if (Node *out = xml_node_data.node_ptrs.value(con.output_node)) {
Node::ConnectEdge(out, con.input);
Node::connect_edge(out, con.input);
}
}
@@ -657,26 +657,26 @@ void ProjectSerializer210907::PostConnect(const XMLNodeData &xml_node_data) cons
Node *a = l.block;
Node *b = xml_node_data.node_ptrs.value(l.link);
Node::Link(a, b);
Node::link(a, b);
}
foreach (const XMLNodeData::GroupLink &l, xml_node_data.group_input_links) {
if (Node *input_node = xml_node_data.node_ptrs.value(l.input_node)) {
NodeInput resolved(input_node, l.input_id, l.input_element);
l.group->AddInputPassthrough(resolved);
l.group->add_input_passthrough(resolved);
}
}
for (auto it = xml_node_data.group_output_links.cbegin();
it != xml_node_data.group_output_links.cend(); it++) {
if (Node *output_node = xml_node_data.node_ptrs.value(it.value())) {
it.key()->SetOutputPassthrough(output_node);
it.key()->set_output_passthrough(output_node);
}
}
}
void ProjectSerializer210907::LoadNodeCustom(QXmlStreamReader *reader,
void ProjectSerializer210907::load_node_custom(QXmlStreamReader *reader,
Node *node,
XMLNodeData &xml_node_data) const
{
@@ -684,9 +684,9 @@ void ProjectSerializer210907::LoadNodeCustom(QXmlStreamReader *reader,
if (ViewerOutput *viewer = dynamic_cast<ViewerOutput *>(node)) {
Footage *footage = dynamic_cast<Footage *>(node);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("points")) {
LoadTimelinePoints(reader, viewer);
load_timeline_points(reader, viewer);
} else if (reader->name() == QStringLiteral("timestamp") &&
footage) {
footage->set_timestamp(reader->readElementText().toLongLong());
@@ -696,24 +696,24 @@ void ProjectSerializer210907::LoadNodeCustom(QXmlStreamReader *reader,
}
} else if (Track *track = dynamic_cast<Track *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("height")) {
track->SetTrackHeight(reader->readElementText().toDouble());
track->set_track_height(reader->readElementText().toDouble());
} else {
reader->skipCurrentElement();
}
}
} else if (NodeGroup *group = dynamic_cast<NodeGroup *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthroughs")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthrough")) {
XMLNodeData::GroupLink link;
link.group = group;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
link.input_node =
reader->readElementText().toULongLong();
@@ -747,25 +747,25 @@ void ProjectSerializer210907::LoadNodeCustom(QXmlStreamReader *reader,
}
}
void ProjectSerializer210907::LoadTimelinePoints(QXmlStreamReader *reader,
void ProjectSerializer210907::load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *points) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("markers")) {
LoadMarkerList(reader, points->GetMarkers());
load_marker_list(reader, points->get_markers());
} else if (reader->name() == QStringLiteral("workarea")) {
LoadWorkArea(reader, points->GetWorkArea());
load_work_area(reader, points->get_work_area());
} else {
reader->skipCurrentElement();
}
}
}
void ProjectSerializer210907::LoadWorkArea(QXmlStreamReader *reader,
void ProjectSerializer210907::load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const
{
rational range_in = workarea->in();
rational range_out = workarea->out();
Rational range_in = workarea->in();
Rational range_out = workarea->out();
XMLAttributeLoop(reader, attr)
{
@@ -773,10 +773,10 @@ void ProjectSerializer210907::LoadWorkArea(QXmlStreamReader *reader,
workarea->set_enabled(attr.value() != QStringLiteral("0"));
} else if (attr.name() == QStringLiteral("in")) {
range_in =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
range_out =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
}
}
@@ -789,28 +789,28 @@ void ProjectSerializer210907::LoadWorkArea(QXmlStreamReader *reader,
reader->skipCurrentElement();
}
void ProjectSerializer210907::LoadMarkerList(QXmlStreamReader *reader,
void ProjectSerializer210907::load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("marker")) {
QString name;
rational in, out;
Rational in, out;
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("name")) {
name = attr.value().toString();
} else if (attr.name() == QStringLiteral("in")) {
in = rational::fromString(
in = Rational::from_string(
attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
out = rational::fromString(
out = Rational::from_string(
attr.value().toString().toStdString());
}
}
new TimelineMarker(OLIVE_CONFIG("MarkerColor").toInt(),
new TimelineMarker(OAK_CONFIG("MarkerColor").toInt(),
TimeRange(in, out), name, markers);
}
@@ -818,14 +818,14 @@ void ProjectSerializer210907::LoadMarkerList(QXmlStreamReader *reader,
}
}
void ProjectSerializer210907::LoadValueHint(Node::ValueHint *hint,
void ProjectSerializer210907::load_value_hint(Node::ValueHint *hint,
QXmlStreamReader *reader) const
{
QVector<NodeValue::Type> types;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("types")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("type")) {
types.append(static_cast<NodeValue::Type>(
reader->readElementText().toInt()));
+16 -16
View File
@@ -19,8 +19,8 @@
***/
#ifndef SERIALIZER210907_H
#define SERIALIZER210907_H
#ifndef OAK_SERIALIZER210907_H
#define OAK_SERIALIZER210907_H
#include "serializer.h"
@@ -32,10 +32,10 @@ public:
ProjectSerializer210907() = default;
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const override;
virtual uint Version() const override
virtual uint version() const override
{
return 210907;
}
@@ -66,38 +66,38 @@ private:
QHash<NodeGroup *, quintptr> group_output_links;
};
void LoadNode(Node *node, XMLNodeData &xml_node_data,
void load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const;
void LoadColorManager(QXmlStreamReader *reader, Project *project) const;
void load_color_manager(QXmlStreamReader *reader, Project *project) const;
void LoadProjectSettings(QXmlStreamReader *reader, Project *project) const;
void load_project_settings(QXmlStreamReader *reader, Project *project) const;
void LoadInput(Node *node, QXmlStreamReader *reader,
void load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const;
void LoadImmediate(QXmlStreamReader *reader, Node *node,
void load_immediate(QXmlStreamReader *reader, Node *node,
const QString &input, int element,
XMLNodeData &xml_node_data) const;
bool LoadPosition(QXmlStreamReader *reader, quintptr *node_ptr,
bool load_position(QXmlStreamReader *reader, quintptr *node_ptr,
Node::Position *pos) const;
void PostConnect(const XMLNodeData &xml_node_data) const;
void post_connect(const XMLNodeData &xml_node_data) const;
void LoadNodeCustom(QXmlStreamReader *reader, Node *node,
void load_node_custom(QXmlStreamReader *reader, Node *node,
XMLNodeData &xml_node_data) const;
void LoadTimelinePoints(QXmlStreamReader *reader,
void load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *points) const;
void LoadWorkArea(QXmlStreamReader *reader,
void load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const;
void LoadMarkerList(QXmlStreamReader *reader,
void load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const;
void LoadValueHint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
void load_value_hint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
};
}
+117 -117
View File
@@ -29,19 +29,19 @@ namespace olive
{
ProjectSerializer211228::LoadData
ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
ProjectSerializer211228::load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const
{
QMap<quintptr, QMap<QString, QString>> properties;
QMap<quintptr, QMap<quintptr, Node::Position>> positions;
XMLNodeData xml_node_data;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("uuid")) {
project->SetUuid(QUuid::fromString(reader->readElementText()));
project->set_uuid(QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("nodes")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
bool is_root = false;
bool is_cm = false;
@@ -75,16 +75,16 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
bool handled_elsewhere = false;
if (is_root) {
project->Initialize();
project->initialize();
node = project->root();
} else if (is_cm) {
LoadColorManager(reader, project);
load_color_manager(reader, project);
handled_elsewhere = true;
} else if (is_settings) {
LoadProjectSettings(reader, project);
load_project_settings(reader, project);
handled_elsewhere = true;
} else {
node = NodeFactory::CreateFromID(id);
node = NodeFactory::create_from_id(id);
}
if (!handled_elsewhere) {
@@ -93,7 +93,7 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
<< "Failed to find node with ID" << id;
reader->skipCurrentElement();
} else {
LoadNode(node, xml_node_data, reader);
load_node(node, xml_node_data, reader);
node->setParent(project);
}
}
@@ -104,7 +104,7 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("positions")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("context")) {
quintptr context_ptr = 0;
XMLAttributeLoop(reader, attr)
@@ -116,12 +116,12 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
}
if (context_ptr) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr node_ptr;
Node::Position node_pos;
if (LoadPosition(reader, &node_ptr,
if (load_position(reader, &node_ptr,
&node_pos)) {
if (node_ptr) {
positions[context_ptr].insert(node_ptr,
@@ -148,7 +148,7 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("properties")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr ptr = 0;
@@ -164,7 +164,7 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
if (ptr) {
QMap<QString, QString> properties_for_node;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
properties_for_node.insert(
reader->name().toString(),
reader->readElementText());
@@ -189,14 +189,14 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
for (auto jt = it.value().cbegin(); jt != it.value().cend(); jt++) {
Node *n = xml_node_data.node_ptrs.value(jt.key());
if (n) {
ctx->SetNodePositionInContext(n, jt.value());
ctx->set_node_position_in_context(n, jt.value());
}
}
}
}
// Make connections
PostConnect(xml_node_data);
post_connect(xml_node_data);
LoadData load_data;
load_data.node_ptrs = xml_node_data.node_ptrs;
@@ -212,14 +212,14 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
// Resolve tracks
for (Node *n : project->nodes()) {
n->SetCachesEnabled(true);
n->set_caches_enabled(true);
if (Track *t = dynamic_cast<Track *>(n)) {
for (int i = 0; i < t->InputArraySize(Track::kBlockInput); i++) {
for (int i = 0; i < t->input_array_size(Track::k_block_input); i++) {
Block *b = static_cast<Block *>(
t->GetConnectedOutput(Track::kBlockInput, i));
t->get_connected_output(Track::k_block_input, i));
if (!b->track()) {
t->AppendBlock(b);
t->append_block(b);
}
}
}
@@ -228,28 +228,28 @@ ProjectSerializer211228::Load(Project *project, QXmlStreamReader *reader,
return load_data;
}
void ProjectSerializer211228::LoadNode(Node *node, XMLNodeData &xml_node_data,
void ProjectSerializer211228::load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const
{
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("input")) {
LoadInput(node, reader, xml_node_data);
load_input(node, reader, xml_node_data);
} else if (reader->name() == QStringLiteral("ptr")) {
quintptr ptr = reader->readElementText().toULongLong();
xml_node_data.node_ptrs.insert(ptr, node);
} else if (reader->name() == QStringLiteral("label")) {
node->SetLabel(reader->readElementText());
node->set_label(reader->readElementText());
} else if (reader->name() == QStringLiteral("uuid")) {
xml_node_data.node_uuids.insert(
node, QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("color")) {
node->SetOverrideColor(reader->readElementText().toInt());
node->set_override_color(reader->readElementText().toInt());
} else if (reader->name() == QStringLiteral("links")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("link")) {
xml_node_data.block_links.append(
{ node, reader->readElementText().toULongLong() });
@@ -258,10 +258,10 @@ void ProjectSerializer211228::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("custom")) {
LoadNodeCustom(reader, node, xml_node_data);
load_node_custom(reader, node, xml_node_data);
} else if (reader->name() == QStringLiteral("connections")) {
// Load connections
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("connection")) {
QString param_id;
int ele = -1;
@@ -277,7 +277,7 @@ void ProjectSerializer211228::LoadNode(Node *node, XMLNodeData &xml_node_data,
QString output_node_id;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("output")) {
output_node_id = reader->readElementText();
} else {
@@ -293,7 +293,7 @@ void ProjectSerializer211228::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("hints")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("hint")) {
QString input;
int element = -1;
@@ -308,8 +308,8 @@ void ProjectSerializer211228::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
Node::ValueHint vh;
LoadValueHint(&vh, reader);
node->SetValueHintForInput(input, vh, element);
load_value_hint(&vh, reader);
node->set_value_hint_for_input(input, vh, element);
} else {
reader->skipCurrentElement();
}
@@ -322,10 +322,10 @@ void ProjectSerializer211228::LoadNode(Node *node, XMLNodeData &xml_node_data,
node->LoadFinishedEvent();
}
void ProjectSerializer211228::LoadColorManager(QXmlStreamReader *reader,
void ProjectSerializer211228::load_color_manager(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -340,11 +340,11 @@ void ProjectSerializer211228::LoadColorManager(QXmlStreamReader *reader,
id == QStringLiteral("reference_space")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -386,18 +386,18 @@ void ProjectSerializer211228::LoadColorManager(QXmlStreamReader *reader,
};
int num_value = value.toInt();
value = list.at(num_value);
project->SetDefaultInputColorSpace(value);
project->set_default_input_color_space(value);
} else if (id == QStringLiteral("reference_space")) {
// Reference space
if (value == QStringLiteral("1")) {
value = OCIO::ROLE_COMPOSITING_LOG;
value = ocio::ROLE_COMPOSITING_LOG;
} else {
value = OCIO::ROLE_SCENE_LINEAR;
value = ocio::ROLE_SCENE_LINEAR;
}
project->SetColorReferenceSpace(value);
project->set_color_reference_space(value);
} else {
// Config filename
project->SetColorConfigFilename(value);
project->set_color_config_filename(value);
}
} else {
reader->skipCurrentElement();
@@ -408,10 +408,10 @@ void ProjectSerializer211228::LoadColorManager(QXmlStreamReader *reader,
}
}
void ProjectSerializer211228::LoadProjectSettings(QXmlStreamReader *reader,
void ProjectSerializer211228::load_project_settings(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -425,11 +425,11 @@ void ProjectSerializer211228::LoadProjectSettings(QXmlStreamReader *reader,
id == QStringLiteral("cache_path")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -447,10 +447,10 @@ void ProjectSerializer211228::LoadProjectSettings(QXmlStreamReader *reader,
}
if (id == QStringLiteral("cache_setting")) {
project->SetCacheLocationSetting(
project->set_cache_location_setting(
static_cast<Project::CacheSetting>(value.toInt()));
} else {
project->SetCustomCachePath(value);
project->set_custom_cache_path(value);
}
} else {
reader->skipCurrentElement();
@@ -461,7 +461,7 @@ void ProjectSerializer211228::LoadProjectSettings(QXmlStreamReader *reader,
}
}
void ProjectSerializer211228::LoadInput(Node *node, QXmlStreamReader *reader,
void ProjectSerializer211228::load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const
{
QString param_id;
@@ -481,34 +481,34 @@ void ProjectSerializer211228::LoadInput(Node *node, QXmlStreamReader *reader,
return;
}
if (!node->HasInputWithID(param_id)) {
if (!node->has_input_with_id(param_id)) {
qWarning() << "Failed to load parameter that didn't exist:" << param_id;
reader->skipCurrentElement();
return;
}
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("primary")) {
// Load primary immediate
LoadImmediate(reader, node, param_id, -1, xml_node_data);
load_immediate(reader, node, param_id, -1, xml_node_data);
} else if (reader->name() == QStringLiteral("subelements")) {
// Load subelements
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("count")) {
node->InputArrayResize(param_id, attr.value().toInt());
node->input_array_resize(param_id, attr.value().toInt());
}
}
int element_counter = 0;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("element")) {
LoadImmediate(reader, node, param_id, element_counter,
load_immediate(reader, node, param_id, element_counter,
xml_node_data);
element_counter++;
@@ -522,46 +522,46 @@ void ProjectSerializer211228::LoadInput(Node *node, QXmlStreamReader *reader,
}
}
void ProjectSerializer211228::LoadImmediate(QXmlStreamReader *reader,
void ProjectSerializer211228::load_immediate(QXmlStreamReader *reader,
Node *node, const QString &input,
int element,
XMLNodeData &xml_node_data) const
{
Q_UNUSED(xml_node_data)
NodeValue::Type data_type = node->GetInputDataType(input);
NodeValue::Type data_type = node->get_input_data_type(input);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
// Load standard value
int val_index = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
QVariant value_on_track;
if (data_type == NodeValue::kVideoParams) {
if (data_type == NodeValue::k_video_params) {
VideoParams vp;
vp.Load(reader);
vp.load(reader);
value_on_track = QVariant::fromValue(vp);
} else if (data_type == NodeValue::kAudioParams) {
} else if (data_type == NodeValue::k_audio_params) {
AudioParams ap =
TypeSerializer::LoadAudioParams(reader);
TypeSerializer::load_audio_params(reader);
value_on_track = QVariant::fromValue(ap);
} else {
QString value_text = reader->readElementText();
if (!value_text.isEmpty()) {
value_on_track = NodeValue::StringToValue(
value_on_track = NodeValue::string_to_value(
data_type, value_text, true);
}
}
node->SetSplitStandardValueOnTrack(input, val_index,
node->set_split_standard_value_on_track(input, val_index,
value_on_track, element);
val_index++;
@@ -570,34 +570,34 @@ void ProjectSerializer211228::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("keyframing") &&
node->IsInputKeyframable(input)) {
node->SetInputIsKeyframing(input, reader->readElementText().toInt(),
node->is_input_keyframable(input)) {
node->set_input_is_keyframing(input, reader->readElementText().toInt(),
element);
} else if (reader->name() == QStringLiteral("keyframes")) {
int track = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("key")) {
QString key_input;
rational key_time;
NodeKeyframe::Type key_type = NodeKeyframe::kLinear;
Rational key_time;
NodeKeyframe::Type key_type = NodeKeyframe::k_linear;
QVariant key_value;
QPointF key_in_handle;
QPointF key_out_handle;
XMLAttributeLoop(reader, attr)
{
if (IsCancelled()) {
if (is_cancelled()) {
return;
}
@@ -605,7 +605,7 @@ void ProjectSerializer211228::LoadImmediate(QXmlStreamReader *reader,
key_input = attr.value().toString();
} else if (attr.name() ==
QStringLiteral("time")) {
key_time = rational::fromString(
key_time = Rational::from_string(
attr.value().toString().toStdString());
} else if (attr.name() ==
QStringLiteral("type")) {
@@ -628,7 +628,7 @@ void ProjectSerializer211228::LoadImmediate(QXmlStreamReader *reader,
}
}
key_value = NodeValue::StringToValue(
key_value = NodeValue::string_to_value(
data_type, reader->readElementText(), true);
NodeKeyframe *key = new NodeKeyframe(
@@ -647,16 +647,16 @@ void ProjectSerializer211228::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("csinput")) {
node->SetInputProperty(input, QStringLiteral("col_input"),
node->set_input_property(input, QStringLiteral("col_input"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csdisplay")) {
node->SetInputProperty(input, QStringLiteral("col_display"),
node->set_input_property(input, QStringLiteral("col_display"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csview")) {
node->SetInputProperty(input, QStringLiteral("col_view"),
node->set_input_property(input, QStringLiteral("col_view"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("cslook")) {
node->SetInputProperty(input, QStringLiteral("col_look"),
node->set_input_property(input, QStringLiteral("col_look"),
reader->readElementText());
} else {
reader->skipCurrentElement();
@@ -664,7 +664,7 @@ void ProjectSerializer211228::LoadImmediate(QXmlStreamReader *reader,
}
}
bool ProjectSerializer211228::LoadPosition(QXmlStreamReader *reader,
bool ProjectSerializer211228::load_position(QXmlStreamReader *reader,
quintptr *node_ptr,
Node::Position *pos) const
{
@@ -681,7 +681,7 @@ bool ProjectSerializer211228::LoadPosition(QXmlStreamReader *reader,
}
}
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("x")) {
pos->position.setX(reader->readElementText().toDouble());
got_pos_x = true;
@@ -698,12 +698,12 @@ bool ProjectSerializer211228::LoadPosition(QXmlStreamReader *reader,
return got_node_ptr && got_pos_x && got_pos_y;
}
void ProjectSerializer211228::PostConnect(const XMLNodeData &xml_node_data) const
void ProjectSerializer211228::post_connect(const XMLNodeData &xml_node_data) const
{
foreach (const XMLNodeData::SerializedConnection &con,
xml_node_data.desired_connections) {
if (Node *out = xml_node_data.node_ptrs.value(con.output_node)) {
Node::ConnectEdge(out, con.input);
Node::connect_edge(out, con.input);
}
}
@@ -711,26 +711,26 @@ void ProjectSerializer211228::PostConnect(const XMLNodeData &xml_node_data) cons
Node *a = l.block;
Node *b = xml_node_data.node_ptrs.value(l.link);
Node::Link(a, b);
Node::link(a, b);
}
foreach (const XMLNodeData::GroupLink &l, xml_node_data.group_input_links) {
if (Node *input_node = xml_node_data.node_ptrs.value(l.input_node)) {
NodeInput resolved(input_node, l.input_id, l.input_element);
l.group->AddInputPassthrough(resolved);
l.group->add_input_passthrough(resolved);
}
}
for (auto it = xml_node_data.group_output_links.cbegin();
it != xml_node_data.group_output_links.cend(); it++) {
if (Node *output_node = xml_node_data.node_ptrs.value(it.value())) {
it.key()->SetOutputPassthrough(output_node);
it.key()->set_output_passthrough(output_node);
}
}
}
void ProjectSerializer211228::LoadNodeCustom(QXmlStreamReader *reader,
void ProjectSerializer211228::load_node_custom(QXmlStreamReader *reader,
Node *node,
XMLNodeData &xml_node_data) const
{
@@ -738,9 +738,9 @@ void ProjectSerializer211228::LoadNodeCustom(QXmlStreamReader *reader,
if (ViewerOutput *viewer = dynamic_cast<ViewerOutput *>(node)) {
Footage *footage = dynamic_cast<Footage *>(node);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("points")) {
LoadTimelinePoints(reader, viewer);
load_timeline_points(reader, viewer);
} else if (reader->name() == QStringLiteral("timestamp") &&
footage) {
footage->set_timestamp(reader->readElementText().toLongLong());
@@ -750,24 +750,24 @@ void ProjectSerializer211228::LoadNodeCustom(QXmlStreamReader *reader,
}
} else if (Track *track = dynamic_cast<Track *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("height")) {
track->SetTrackHeight(reader->readElementText().toDouble());
track->set_track_height(reader->readElementText().toDouble());
} else {
reader->skipCurrentElement();
}
}
} else if (NodeGroup *group = dynamic_cast<NodeGroup *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthroughs")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthrough")) {
XMLNodeData::GroupLink link;
link.group = group;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
link.input_node =
reader->readElementText().toULongLong();
@@ -801,25 +801,25 @@ void ProjectSerializer211228::LoadNodeCustom(QXmlStreamReader *reader,
}
}
void ProjectSerializer211228::LoadTimelinePoints(QXmlStreamReader *reader,
void ProjectSerializer211228::load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *points) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("markers")) {
LoadMarkerList(reader, points->GetMarkers());
load_marker_list(reader, points->get_markers());
} else if (reader->name() == QStringLiteral("workarea")) {
LoadWorkArea(reader, points->GetWorkArea());
load_work_area(reader, points->get_work_area());
} else {
reader->skipCurrentElement();
}
}
}
void ProjectSerializer211228::LoadWorkArea(QXmlStreamReader *reader,
void ProjectSerializer211228::load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const
{
rational range_in = workarea->in();
rational range_out = workarea->out();
Rational range_in = workarea->in();
Rational range_out = workarea->out();
XMLAttributeLoop(reader, attr)
{
@@ -827,10 +827,10 @@ void ProjectSerializer211228::LoadWorkArea(QXmlStreamReader *reader,
workarea->set_enabled(attr.value() != QStringLiteral("0"));
} else if (attr.name() == QStringLiteral("in")) {
range_in =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
range_out =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
}
}
@@ -843,28 +843,28 @@ void ProjectSerializer211228::LoadWorkArea(QXmlStreamReader *reader,
reader->skipCurrentElement();
}
void ProjectSerializer211228::LoadMarkerList(QXmlStreamReader *reader,
void ProjectSerializer211228::load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("marker")) {
QString name;
rational in, out;
Rational in, out;
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("name")) {
name = attr.value().toString();
} else if (attr.name() == QStringLiteral("in")) {
in = rational::fromString(
in = Rational::from_string(
attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
out = rational::fromString(
out = Rational::from_string(
attr.value().toString().toStdString());
}
}
new TimelineMarker(OLIVE_CONFIG("MarkerColor").toInt(),
new TimelineMarker(OAK_CONFIG("MarkerColor").toInt(),
TimeRange(in, out), name, markers);
}
@@ -872,14 +872,14 @@ void ProjectSerializer211228::LoadMarkerList(QXmlStreamReader *reader,
}
}
void ProjectSerializer211228::LoadValueHint(Node::ValueHint *hint,
void ProjectSerializer211228::load_value_hint(Node::ValueHint *hint,
QXmlStreamReader *reader) const
{
QVector<NodeValue::Type> types;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("types")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("type")) {
types.append(static_cast<NodeValue::Type>(
reader->readElementText().toInt()));
+17 -17
View File
@@ -19,8 +19,8 @@
***/
#ifndef SERIALIZER211228_H
#define SERIALIZER211228_H
#ifndef OAK_SERIALIZER211228_H
#define OAK_SERIALIZER211228_H
#include "serializer.h"
@@ -32,10 +32,10 @@ public:
ProjectSerializer211228() = default;
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const override;
virtual uint Version() const override
virtual uint version() const override
{
return 211228;
}
@@ -67,40 +67,40 @@ private:
QHash<Node *, QUuid> node_uuids;
};
void LoadNode(Node *node, XMLNodeData &xml_node_data,
void load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const;
void LoadColorManager(QXmlStreamReader *reader, Project *project) const;
void load_color_manager(QXmlStreamReader *reader, Project *project) const;
void LoadProjectSettings(QXmlStreamReader *reader, Project *project) const;
void load_project_settings(QXmlStreamReader *reader, Project *project) const;
void LoadInput(Node *node, QXmlStreamReader *reader,
void load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const;
void LoadImmediate(QXmlStreamReader *reader, Node *node,
void load_immediate(QXmlStreamReader *reader, Node *node,
const QString &input, int element,
XMLNodeData &xml_node_data) const;
bool LoadPosition(QXmlStreamReader *reader, quintptr *node_ptr,
bool load_position(QXmlStreamReader *reader, quintptr *node_ptr,
Node::Position *pos) const;
void PostConnect(const XMLNodeData &xml_node_data) const;
void post_connect(const XMLNodeData &xml_node_data) const;
void LoadNodeCustom(QXmlStreamReader *reader, Node *node,
void load_node_custom(QXmlStreamReader *reader, Node *node,
XMLNodeData &xml_node_data) const;
void LoadTimelinePoints(QXmlStreamReader *reader,
void load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *points) const;
void LoadWorkArea(QXmlStreamReader *reader,
void load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const;
void LoadMarkerList(QXmlStreamReader *reader,
void load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const;
void LoadValueHint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
void load_value_hint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
};
}
#endif // SERIALIZER211228_H
#endif // OAK_SERIALIZER211228_H
+151 -151
View File
@@ -29,7 +29,7 @@ namespace olive
{
ProjectSerializer220403::LoadData
ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
ProjectSerializer220403::load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const
{
QMap<quintptr, QMap<QString, QString>> properties;
@@ -38,36 +38,36 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
LoadData load_data;
if ((load_type == kProject &&
if ((load_type == k_project &&
reader->name() == QStringLiteral("project")) ||
((load_type == kOnlyNodes &&
((load_type == k_only_nodes &&
reader->name() == QStringLiteral("nodes")) ||
(load_type == kOnlyClips &&
(load_type == k_only_clips &&
reader->name() == QStringLiteral("timeline"))) ||
(load_type == kOnlyKeyframes &&
(load_type == k_only_keyframes &&
reader->name() == QStringLiteral("keyframes")) ||
(load_type == kOnlyMarkers &&
(load_type == k_only_markers &&
reader->name() == QStringLiteral("markers"))) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("layout")) {
// Since the main window's functions have to occur in the GUI thread (and we're likely
// loading in a secondary thread), we load all necessary data into a separate struct so we
// can continue loading and queue it with the main window so it can handle the data
// appropriately in its own thread.
load_data.layout = MainWindowLayoutInfo::fromXml(
load_data.layout = MainWindowLayoutInfo::from_xml(
reader, xml_node_data.node_ptrs);
} else if (reader->name() == QStringLiteral("uuid")) {
if (project) {
project->SetUuid(
project->set_uuid(
QUuid::fromString(reader->readElementText()));
} else {
reader->skipCurrentElement();
}
} else if (reader->name() == QStringLiteral("nodes")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
bool is_root = false;
bool is_cm = false;
@@ -106,16 +106,16 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
bool handled_elsewhere = false;
if (is_root) {
project->Initialize();
project->initialize();
node = project->root();
} else if (is_cm) {
LoadColorManager(reader, project);
load_color_manager(reader, project);
handled_elsewhere = true;
} else if (is_settings) {
LoadProjectSettings(reader, project);
load_project_settings(reader, project);
handled_elsewhere = true;
} else {
node = NodeFactory::CreateFromID(id);
node = NodeFactory::create_from_id(id);
}
if (!handled_elsewhere) {
@@ -124,7 +124,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
<< "Failed to find node with ID" << id;
reader->skipCurrentElement();
} else {
LoadNode(node, xml_node_data, reader);
load_node(node, xml_node_data, reader);
if (project) {
node->setParent(project);
} else {
@@ -139,7 +139,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("keyframes")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
QString node_id;
XMLAttributeLoop(reader, attr)
@@ -152,13 +152,13 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
Node *n = nullptr;
if (!node_id.isEmpty()) {
n = NodeFactory::CreateFromID(node_id);
n = NodeFactory::create_from_id(node_id);
}
if (!n) {
reader->skipCurrentElement();
} else {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString input_id;
XMLAttributeLoop(reader, attr)
@@ -174,7 +174,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
reader->skipCurrentElement();
} else {
while (
XMLReadNextStartElement(reader)) {
xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("element")) {
QString element_id;
@@ -193,7 +193,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
reader->skipCurrentElement();
} else {
while (
XMLReadNextStartElement(
xml_read_next_start_element(
reader)) {
if (reader->name() ==
QStringLiteral(
@@ -218,7 +218,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
->skipCurrentElement();
} else {
while (
XMLReadNextStartElement(
xml_read_next_start_element(
reader)) {
if (reader
->name() ==
@@ -236,10 +236,10 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
track_id
.toInt());
LoadKeyframe(
load_keyframe(
reader,
key,
n->GetInputDataType(
n->get_input_data_type(
input_id));
load_data
@@ -277,10 +277,10 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("markers")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("marker")) {
TimelineMarker *marker = new TimelineMarker();
LoadMarker(reader, marker);
load_marker(reader, marker);
load_data.markers.push_back(marker);
} else {
reader->skipCurrentElement();
@@ -288,7 +288,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("positions")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("context")) {
quintptr context_ptr = 0;
XMLAttributeLoop(reader, attr)
@@ -300,12 +300,12 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
}
if (context_ptr) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr node_ptr;
Node::Position node_pos;
if (LoadPosition(reader, &node_ptr,
if (load_position(reader, &node_ptr,
&node_pos)) {
if (node_ptr) {
positions[context_ptr].insert(
@@ -332,7 +332,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
}
} else if (reader->name() == QStringLiteral("properties")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr ptr = 0;
@@ -348,7 +348,7 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
if (ptr) {
QMap<QString, QString> properties_for_node;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
properties_for_node.insert(
reader->name().toString(),
reader->readElementText());
@@ -374,14 +374,14 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
for (auto jt = it.value().cbegin(); jt != it.value().cend(); jt++) {
Node *n = xml_node_data.node_ptrs.value(jt.key());
if (n) {
ctx->SetNodePositionInContext(n, jt.value());
ctx->set_node_position_in_context(n, jt.value());
}
}
}
}
// Make connections
PostConnect(xml_node_data);
post_connect(xml_node_data);
load_data.node_ptrs = xml_node_data.node_ptrs;
load_data.node_uuids = xml_node_data.node_uuids;
@@ -397,14 +397,14 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
// Re-enable caches and resolve tracks
const QVector<Node *> &nodes = project ? project->nodes() : load_data.nodes;
for (Node *n : nodes) {
n->SetCachesEnabled(true);
n->set_caches_enabled(true);
if (Track *t = dynamic_cast<Track *>(n)) {
for (int i = 0; i < t->InputArraySize(Track::kBlockInput); i++) {
for (int i = 0; i < t->input_array_size(Track::k_block_input); i++) {
Block *b = static_cast<Block *>(
t->GetConnectedOutput(Track::kBlockInput, i));
t->get_connected_output(Track::k_block_input, i));
if (!b->track()) {
t->AppendBlock(b);
t->append_block(b);
}
}
}
@@ -412,8 +412,8 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
// Clear duplicate label (to facilitate #2147)
if (ClipBlock *c = dynamic_cast<ClipBlock *>(n)) {
if (c->connected_viewer() &&
c->GetLabel() == c->connected_viewer()->GetLabel()) {
c->SetLabel(QString());
c->get_label() == c->connected_viewer()->get_label()) {
c->set_label(QString());
}
}
}
@@ -421,28 +421,28 @@ ProjectSerializer220403::Load(Project *project, QXmlStreamReader *reader,
return load_data;
}
void ProjectSerializer220403::LoadNode(Node *node, XMLNodeData &xml_node_data,
void ProjectSerializer220403::load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const
{
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("input")) {
LoadInput(node, reader, xml_node_data);
load_input(node, reader, xml_node_data);
} else if (reader->name() == QStringLiteral("ptr")) {
quintptr ptr = reader->readElementText().toULongLong();
xml_node_data.node_ptrs.insert(ptr, node);
} else if (reader->name() == QStringLiteral("label")) {
node->SetLabel(reader->readElementText());
node->set_label(reader->readElementText());
} else if (reader->name() == QStringLiteral("uuid")) {
xml_node_data.node_uuids.insert(
node, QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("color")) {
node->SetOverrideColor(reader->readElementText().toInt());
node->set_override_color(reader->readElementText().toInt());
} else if (reader->name() == QStringLiteral("links")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("link")) {
xml_node_data.block_links.append(
{ node, reader->readElementText().toULongLong() });
@@ -451,10 +451,10 @@ void ProjectSerializer220403::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("custom")) {
LoadNodeCustom(reader, node, xml_node_data);
load_node_custom(reader, node, xml_node_data);
} else if (reader->name() == QStringLiteral("connections")) {
// Load connections
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("connection")) {
QString param_id;
int ele = -1;
@@ -470,7 +470,7 @@ void ProjectSerializer220403::LoadNode(Node *node, XMLNodeData &xml_node_data,
QString output_node_id;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("output")) {
output_node_id = reader->readElementText();
} else {
@@ -486,7 +486,7 @@ void ProjectSerializer220403::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
}
} else if (reader->name() == QStringLiteral("hints")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("hint")) {
QString input;
int element = -1;
@@ -501,25 +501,25 @@ void ProjectSerializer220403::LoadNode(Node *node, XMLNodeData &xml_node_data,
}
Node::ValueHint vh;
LoadValueHint(&vh, reader);
node->SetValueHintForInput(input, vh, element);
load_value_hint(&vh, reader);
node->set_value_hint_for_input(input, vh, element);
} else {
reader->skipCurrentElement();
}
}
} else if (reader->name() == QStringLiteral("caches")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("audio")) {
node->audio_playback_cache()->SetUuid(
node->audio_playback_cache()->set_uuid(
QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("video")) {
node->video_frame_cache()->SetUuid(
node->video_frame_cache()->set_uuid(
QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("thumb")) {
node->thumbnail_cache()->SetUuid(
node->thumbnail_cache()->set_uuid(
QUuid::fromString(reader->readElementText()));
} else if (reader->name() == QStringLiteral("waveform")) {
node->waveform_cache()->SetUuid(
node->waveform_cache()->set_uuid(
QUuid::fromString(reader->readElementText()));
} else {
reader->skipCurrentElement();
@@ -533,10 +533,10 @@ void ProjectSerializer220403::LoadNode(Node *node, XMLNodeData &xml_node_data,
node->LoadFinishedEvent();
}
void ProjectSerializer220403::LoadColorManager(QXmlStreamReader *reader,
void ProjectSerializer220403::load_color_manager(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -551,11 +551,11 @@ void ProjectSerializer220403::LoadColorManager(QXmlStreamReader *reader,
id == QStringLiteral("reference_space")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -596,18 +596,18 @@ void ProjectSerializer220403::LoadColorManager(QXmlStreamReader *reader,
};
int num_value = value.toInt();
value = list.at(num_value);
project->SetDefaultInputColorSpace(value);
project->set_default_input_color_space(value);
} else if (id == QStringLiteral("reference_space")) {
// Reference space
if (value == QStringLiteral("1")) {
value = OCIO::ROLE_COMPOSITING_LOG;
value = ocio::ROLE_COMPOSITING_LOG;
} else {
value = OCIO::ROLE_SCENE_LINEAR;
value = ocio::ROLE_SCENE_LINEAR;
}
project->SetColorReferenceSpace(value);
project->set_color_reference_space(value);
} else {
// Config filename
project->SetColorConfigFilename(value);
project->set_color_config_filename(value);
}
} else {
reader->skipCurrentElement();
@@ -618,10 +618,10 @@ void ProjectSerializer220403::LoadColorManager(QXmlStreamReader *reader,
}
}
void ProjectSerializer220403::LoadProjectSettings(QXmlStreamReader *reader,
void ProjectSerializer220403::load_project_settings(QXmlStreamReader *reader,
Project *project) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString id;
XMLAttributeLoop(reader, attr)
@@ -635,11 +635,11 @@ void ProjectSerializer220403::LoadProjectSettings(QXmlStreamReader *reader,
id == QStringLiteral("cache_path")) {
QString value;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("primary")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("track")) {
value = reader->readElementText();
@@ -657,10 +657,10 @@ void ProjectSerializer220403::LoadProjectSettings(QXmlStreamReader *reader,
}
if (id == QStringLiteral("cache_setting")) {
project->SetCacheLocationSetting(
project->set_cache_location_setting(
static_cast<Project::CacheSetting>(value.toInt()));
} else {
project->SetCustomCachePath(value);
project->set_custom_cache_path(value);
}
} else {
reader->skipCurrentElement();
@@ -671,7 +671,7 @@ void ProjectSerializer220403::LoadProjectSettings(QXmlStreamReader *reader,
}
}
void ProjectSerializer220403::LoadInput(Node *node, QXmlStreamReader *reader,
void ProjectSerializer220403::load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const
{
if (dynamic_cast<NodeGroup *>(node)) {
@@ -697,34 +697,34 @@ void ProjectSerializer220403::LoadInput(Node *node, QXmlStreamReader *reader,
return;
}
if (!node->HasInputWithID(param_id)) {
if (!node->has_input_with_id(param_id)) {
qWarning() << "Failed to load parameter that didn't exist:" << param_id;
reader->skipCurrentElement();
return;
}
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("primary")) {
// Load primary immediate
LoadImmediate(reader, node, param_id, -1, xml_node_data);
load_immediate(reader, node, param_id, -1, xml_node_data);
} else if (reader->name() == QStringLiteral("subelements")) {
// Load subelements
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("count")) {
node->InputArrayResize(param_id, attr.value().toInt());
node->input_array_resize(param_id, attr.value().toInt());
}
}
int element_counter = 0;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("element")) {
LoadImmediate(reader, node, param_id, element_counter,
load_immediate(reader, node, param_id, element_counter,
xml_node_data);
element_counter++;
@@ -738,54 +738,54 @@ void ProjectSerializer220403::LoadInput(Node *node, QXmlStreamReader *reader,
}
}
void ProjectSerializer220403::LoadImmediate(QXmlStreamReader *reader,
void ProjectSerializer220403::load_immediate(QXmlStreamReader *reader,
Node *node, const QString &input,
int element,
XMLNodeData &xml_node_data) const
{
Q_UNUSED(xml_node_data)
NodeValue::Type data_type = node->GetInputDataType(input);
NodeValue::Type data_type = node->get_input_data_type(input);
// HACK: SubtitleParams contain the actual subtitle data, so loading/replacing it will overwrite
// the valid subtitles. We hack around it by simply skipping loading subtitles, we'll see
// if this ends up being an issue in the future.
if (data_type == NodeValue::kSubtitleParams) {
if (data_type == NodeValue::k_subtitle_params) {
reader->skipCurrentElement();
return;
}
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("standard")) {
// Load standard value
int val_index = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
QVariant value_on_track;
if (data_type == NodeValue::kVideoParams) {
if (data_type == NodeValue::k_video_params) {
VideoParams vp;
vp.Load(reader);
vp.load(reader);
value_on_track = QVariant::fromValue(vp);
} else if (data_type == NodeValue::kAudioParams) {
} else if (data_type == NodeValue::k_audio_params) {
AudioParams ap =
TypeSerializer::LoadAudioParams(reader);
TypeSerializer::load_audio_params(reader);
value_on_track = QVariant::fromValue(ap);
} else {
QString value_text = reader->readElementText();
if (!value_text.isEmpty()) {
value_on_track = NodeValue::StringToValue(
value_on_track = NodeValue::string_to_value(
data_type, value_text, true);
}
}
node->SetSplitStandardValueOnTrack(input, val_index,
node->set_split_standard_value_on_track(input, val_index,
value_on_track, element);
val_index++;
@@ -794,20 +794,20 @@ void ProjectSerializer220403::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("keyframing") &&
node->IsInputKeyframable(input)) {
node->SetInputIsKeyframing(input, reader->readElementText().toInt(),
node->is_input_keyframable(input)) {
node->set_input_is_keyframing(input, reader->readElementText().toInt(),
element);
} else if (reader->name() == QStringLiteral("keyframes")) {
int track = 0;
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
if (reader->name() == QStringLiteral("track")) {
while (XMLReadNextStartElement(reader)) {
if (IsCancelled()) {
while (xml_read_next_start_element(reader)) {
if (is_cancelled()) {
return;
}
@@ -817,7 +817,7 @@ void ProjectSerializer220403::LoadImmediate(QXmlStreamReader *reader,
key->set_element(element);
key->set_track(track);
LoadKeyframe(reader, key, data_type);
load_keyframe(reader, key, data_type);
key->setParent(node);
} else {
reader->skipCurrentElement();
@@ -830,16 +830,16 @@ void ProjectSerializer220403::LoadImmediate(QXmlStreamReader *reader,
}
}
} else if (reader->name() == QStringLiteral("csinput")) {
node->SetInputProperty(input, QStringLiteral("col_input"),
node->set_input_property(input, QStringLiteral("col_input"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csdisplay")) {
node->SetInputProperty(input, QStringLiteral("col_display"),
node->set_input_property(input, QStringLiteral("col_display"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("csview")) {
node->SetInputProperty(input, QStringLiteral("col_view"),
node->set_input_property(input, QStringLiteral("col_view"),
reader->readElementText());
} else if (reader->name() == QStringLiteral("cslook")) {
node->SetInputProperty(input, QStringLiteral("col_look"),
node->set_input_property(input, QStringLiteral("col_look"),
reader->readElementText());
} else {
reader->skipCurrentElement();
@@ -847,7 +847,7 @@ void ProjectSerializer220403::LoadImmediate(QXmlStreamReader *reader,
}
}
void ProjectSerializer220403::LoadKeyframe(QXmlStreamReader *reader,
void ProjectSerializer220403::load_keyframe(QXmlStreamReader *reader,
NodeKeyframe *key,
NodeValue::Type data_type) const
{
@@ -857,7 +857,7 @@ void ProjectSerializer220403::LoadKeyframe(QXmlStreamReader *reader,
XMLAttributeLoop(reader, attr)
{
if (IsCancelled()) {
if (is_cancelled()) {
return;
}
@@ -865,7 +865,7 @@ void ProjectSerializer220403::LoadKeyframe(QXmlStreamReader *reader,
key_input = attr.value().toString();
} else if (attr.name() == QStringLiteral("time")) {
key->set_time(
rational::fromString(attr.value().toString().toStdString()));
Rational::from_string(attr.value().toString().toStdString()));
} else if (attr.name() == QStringLiteral("type")) {
key->set_type_no_bezier_adj(
static_cast<NodeKeyframe::Type>(attr.value().toInt()));
@@ -881,13 +881,13 @@ void ProjectSerializer220403::LoadKeyframe(QXmlStreamReader *reader,
}
key->set_value(
NodeValue::StringToValue(data_type, reader->readElementText(), true));
NodeValue::string_to_value(data_type, reader->readElementText(), true));
key->set_bezier_control_in(key_in_handle);
key->set_bezier_control_out(key_out_handle);
}
bool ProjectSerializer220403::LoadPosition(QXmlStreamReader *reader,
bool ProjectSerializer220403::load_position(QXmlStreamReader *reader,
quintptr *node_ptr,
Node::Position *pos) const
{
@@ -904,7 +904,7 @@ bool ProjectSerializer220403::LoadPosition(QXmlStreamReader *reader,
}
}
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("x")) {
pos->position.setX(reader->readElementText().toDouble());
got_pos_x = true;
@@ -921,12 +921,12 @@ bool ProjectSerializer220403::LoadPosition(QXmlStreamReader *reader,
return got_node_ptr && got_pos_x && got_pos_y;
}
void ProjectSerializer220403::PostConnect(const XMLNodeData &xml_node_data) const
void ProjectSerializer220403::post_connect(const XMLNodeData &xml_node_data) const
{
foreach (const XMLNodeData::SerializedConnection &con,
xml_node_data.desired_connections) {
if (Node *out = xml_node_data.node_ptrs.value(con.output_node)) {
Node::ConnectEdge(out, con.input);
Node::connect_edge(out, con.input);
}
}
@@ -934,29 +934,29 @@ void ProjectSerializer220403::PostConnect(const XMLNodeData &xml_node_data) cons
Node *a = l.block;
Node *b = xml_node_data.node_ptrs.value(l.link);
Node::Link(a, b);
Node::link(a, b);
}
foreach (const XMLNodeData::GroupLink &l, xml_node_data.group_input_links) {
if (Node *input_node = xml_node_data.node_ptrs.value(l.input_node)) {
NodeInput resolved(input_node, l.input_id, l.input_element);
l.group->AddInputPassthrough(resolved, l.passthrough_id);
l.group->add_input_passthrough(resolved, l.passthrough_id);
l.group->SetInputFlag(l.passthrough_id,
l.group->set_input_flag(l.passthrough_id,
InputFlag(l.custom_flags.value()));
if (!l.custom_name.isEmpty()) {
l.group->SetInputName(l.passthrough_id, l.custom_name);
l.group->set_input_name(l.passthrough_id, l.custom_name);
}
l.group->SetInputDataType(l.passthrough_id, l.data_type);
l.group->set_input_data_type(l.passthrough_id, l.data_type);
l.group->SetDefaultValue(l.passthrough_id, l.default_val);
l.group->set_default_value(l.passthrough_id, l.default_val);
for (auto it = l.custom_properties.cbegin();
it != l.custom_properties.cend(); it++) {
l.group->SetInputProperty(l.passthrough_id, it.key(),
l.group->set_input_property(l.passthrough_id, it.key(),
it.value());
}
}
@@ -965,12 +965,12 @@ void ProjectSerializer220403::PostConnect(const XMLNodeData &xml_node_data) cons
for (auto it = xml_node_data.group_output_links.cbegin();
it != xml_node_data.group_output_links.cend(); it++) {
if (Node *output_node = xml_node_data.node_ptrs.value(it.value())) {
it.key()->SetOutputPassthrough(output_node);
it.key()->set_output_passthrough(output_node);
}
}
}
void ProjectSerializer220403::LoadNodeCustom(QXmlStreamReader *reader,
void ProjectSerializer220403::load_node_custom(QXmlStreamReader *reader,
Node *node,
XMLNodeData &xml_node_data) const
{
@@ -978,9 +978,9 @@ void ProjectSerializer220403::LoadNodeCustom(QXmlStreamReader *reader,
if (ViewerOutput *viewer = dynamic_cast<ViewerOutput *>(node)) {
Footage *footage = dynamic_cast<Footage *>(node);
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("points")) {
LoadTimelinePoints(reader, viewer);
load_timeline_points(reader, viewer);
} else if (reader->name() == QStringLiteral("timestamp") &&
footage) {
footage->set_timestamp(reader->readElementText().toLongLong());
@@ -990,24 +990,24 @@ void ProjectSerializer220403::LoadNodeCustom(QXmlStreamReader *reader,
}
} else if (Track *track = dynamic_cast<Track *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("height")) {
track->SetTrackHeight(reader->readElementText().toDouble());
track->set_track_height(reader->readElementText().toDouble());
} else {
reader->skipCurrentElement();
}
}
} else if (NodeGroup *group = dynamic_cast<NodeGroup *>(node)) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthroughs")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("inputpassthrough")) {
XMLNodeData::GroupLink link;
link.group = group;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
link.input_node =
reader->readElementText().toULongLong();
@@ -1029,23 +1029,23 @@ void ProjectSerializer220403::LoadNodeCustom(QXmlStreamReader *reader,
reader->readElementText().toULongLong());
} else if (reader->name() ==
QStringLiteral("type")) {
link.data_type = NodeValue::GetDataTypeFromName(
link.data_type = NodeValue::get_data_type_from_name(
reader->readElementText());
} else if (reader->name() ==
QStringLiteral("default")) {
link.default_val = NodeValue::StringToValue(
link.default_val = NodeValue::string_to_value(
link.data_type, reader->readElementText(),
false);
} else if (reader->name() ==
QStringLiteral("properties")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("property")) {
QString key;
QString value;
while (
XMLReadNextStartElement(reader)) {
xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("key")) {
key = reader->readElementText();
@@ -1090,33 +1090,33 @@ void ProjectSerializer220403::LoadNodeCustom(QXmlStreamReader *reader,
}
}
void ProjectSerializer220403::LoadTimelinePoints(QXmlStreamReader *reader,
void ProjectSerializer220403::load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *viewer) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("markers")) {
LoadMarkerList(reader, viewer->GetMarkers());
load_marker_list(reader, viewer->get_markers());
} else if (reader->name() == QStringLiteral("workarea")) {
LoadWorkArea(reader, viewer->GetWorkArea());
load_work_area(reader, viewer->get_work_area());
} else {
reader->skipCurrentElement();
}
}
}
void ProjectSerializer220403::LoadMarker(QXmlStreamReader *reader,
void ProjectSerializer220403::load_marker(QXmlStreamReader *reader,
TimelineMarker *marker) const
{
rational in, out;
Rational in, out;
XMLAttributeLoop(reader, attr)
{
if (attr.name() == QStringLiteral("name")) {
marker->set_name(attr.value().toString());
} else if (attr.name() == QStringLiteral("in")) {
in = rational::fromString(attr.value().toString().toStdString());
in = Rational::from_string(attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
out = rational::fromString(attr.value().toString().toStdString());
out = Rational::from_string(attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("color")) {
marker->set_color(attr.value().toInt());
}
@@ -1128,11 +1128,11 @@ void ProjectSerializer220403::LoadMarker(QXmlStreamReader *reader,
reader->skipCurrentElement();
}
void ProjectSerializer220403::LoadWorkArea(QXmlStreamReader *reader,
void ProjectSerializer220403::load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const
{
rational range_in = workarea->in();
rational range_out = workarea->out();
Rational range_in = workarea->in();
Rational range_out = workarea->out();
XMLAttributeLoop(reader, attr)
{
@@ -1140,10 +1140,10 @@ void ProjectSerializer220403::LoadWorkArea(QXmlStreamReader *reader,
workarea->set_enabled(attr.value() != QStringLiteral("0"));
} else if (attr.name() == QStringLiteral("in")) {
range_in =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
} else if (attr.name() == QStringLiteral("out")) {
range_out =
rational::fromString(attr.value().toString().toStdString());
Rational::from_string(attr.value().toString().toStdString());
}
}
@@ -1156,27 +1156,27 @@ void ProjectSerializer220403::LoadWorkArea(QXmlStreamReader *reader,
reader->skipCurrentElement();
}
void ProjectSerializer220403::LoadMarkerList(QXmlStreamReader *reader,
void ProjectSerializer220403::load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const
{
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("marker")) {
TimelineMarker *marker = new TimelineMarker(markers);
LoadMarker(reader, marker);
load_marker(reader, marker);
} else {
reader->skipCurrentElement();
}
}
}
void ProjectSerializer220403::LoadValueHint(Node::ValueHint *hint,
void ProjectSerializer220403::load_value_hint(Node::ValueHint *hint,
QXmlStreamReader *reader) const
{
QVector<NodeValue::Type> types;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("types")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("type")) {
types.append(static_cast<NodeValue::Type>(
reader->readElementText().toInt()));
+19 -19
View File
@@ -19,8 +19,8 @@
***/
#ifndef SERIALIZER220403_H
#define SERIALIZER220403_H
#ifndef OAK_SERIALIZER220403_H
#define OAK_SERIALIZER220403_H
#include "serializer.h"
@@ -32,10 +32,10 @@ public:
ProjectSerializer220403() = default;
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const override;
virtual uint Version() const override
virtual uint version() const override
{
return 220403;
}
@@ -73,45 +73,45 @@ private:
QHash<Node *, QUuid> node_uuids;
};
void LoadNode(Node *node, XMLNodeData &xml_node_data,
void load_node(Node *node, XMLNodeData &xml_node_data,
QXmlStreamReader *reader) const;
void LoadColorManager(QXmlStreamReader *reader, Project *project) const;
void load_color_manager(QXmlStreamReader *reader, Project *project) const;
void LoadProjectSettings(QXmlStreamReader *reader, Project *project) const;
void load_project_settings(QXmlStreamReader *reader, Project *project) const;
void LoadInput(Node *node, QXmlStreamReader *reader,
void load_input(Node *node, QXmlStreamReader *reader,
XMLNodeData &xml_node_data) const;
void LoadImmediate(QXmlStreamReader *reader, Node *node,
void load_immediate(QXmlStreamReader *reader, Node *node,
const QString &input, int element,
XMLNodeData &xml_node_data) const;
void LoadKeyframe(QXmlStreamReader *reader, NodeKeyframe *key,
void load_keyframe(QXmlStreamReader *reader, NodeKeyframe *key,
NodeValue::Type data_type) const;
bool LoadPosition(QXmlStreamReader *reader, quintptr *node_ptr,
bool load_position(QXmlStreamReader *reader, quintptr *node_ptr,
Node::Position *pos) const;
void PostConnect(const XMLNodeData &xml_node_data) const;
void post_connect(const XMLNodeData &xml_node_data) const;
void LoadNodeCustom(QXmlStreamReader *reader, Node *node,
void load_node_custom(QXmlStreamReader *reader, Node *node,
XMLNodeData &xml_node_data) const;
void LoadTimelinePoints(QXmlStreamReader *reader,
void load_timeline_points(QXmlStreamReader *reader,
ViewerOutput *viewer) const;
void LoadMarker(QXmlStreamReader *reader, TimelineMarker *marker) const;
void load_marker(QXmlStreamReader *reader, TimelineMarker *marker) const;
void LoadWorkArea(QXmlStreamReader *reader,
void load_work_area(QXmlStreamReader *reader,
TimelineWorkArea *workarea) const;
void LoadMarkerList(QXmlStreamReader *reader,
void load_marker_list(QXmlStreamReader *reader,
TimelineMarkerList *markers) const;
void LoadValueHint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
void load_value_hint(Node::ValueHint *hint, QXmlStreamReader *reader) const;
};
}
#endif // SERIALIZER220403_H
#endif // OAK_SERIALIZER220403_H
@@ -33,7 +33,7 @@ namespace olive
{
ProjectSerializer230220::LoadData
ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
ProjectSerializer230220::load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const
{
QMap<quintptr, QMap<QString, QString>> properties;
@@ -42,29 +42,29 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
SerializedData project_data;
switch (load_type) {
case kProject: {
case k_project: {
if (reader->name() == QStringLiteral("project")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("project")) {
project_data = project->Load(reader);
project_data = project->load(reader);
load_data.node_ptrs = project_data.node_ptrs;
} else if (reader->name() == QStringLiteral("layout")) {
load_data.layout = MainWindowLayoutInfo::fromXml(
load_data.layout = MainWindowLayoutInfo::from_xml(
reader, project_data.node_ptrs);
} else {
reader->skipCurrentElement();
}
}
PostConnect(project->nodes(), &project_data);
post_connect(project->nodes(), &project_data);
} else {
reader->skipCurrentElement();
}
break;
}
case kOnlyMarkers: {
case k_only_markers: {
if (reader->name() == QStringLiteral("markers")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("marker")) {
TimelineMarker *marker = new TimelineMarker();
marker->load(reader);
@@ -78,9 +78,9 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
}
break;
}
case kOnlyKeyframes: {
case k_only_keyframes: {
if (reader->name() == QStringLiteral("keyframes")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
QString node_id;
XMLAttributeLoop(reader, attr)
@@ -93,13 +93,13 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
Node *n = nullptr;
if (!node_id.isEmpty()) {
n = NodeFactory::CreateFromID(node_id);
n = NodeFactory::create_from_id(node_id);
}
if (!n) {
reader->skipCurrentElement();
} else {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("input")) {
QString input_id;
XMLAttributeLoop(reader, attr)
@@ -113,7 +113,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
if (input_id.isEmpty()) {
reader->skipCurrentElement();
} else {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() ==
QStringLiteral("element")) {
QString element_id;
@@ -130,7 +130,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
if (element_id.isEmpty()) {
reader->skipCurrentElement();
} else {
while (XMLReadNextStartElement(
while (xml_read_next_start_element(
reader)) {
if (reader->name() ==
QStringLiteral(
@@ -154,7 +154,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
->skipCurrentElement();
} else {
while (
XMLReadNextStartElement(
xml_read_next_start_element(
reader)) {
if (reader
->name() ==
@@ -173,7 +173,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
key->load(
reader,
n->GetInputDataType(
n->get_input_data_type(
input_id));
load_data
@@ -214,15 +214,15 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
}
break;
}
case kOnlyClips:
case kOnlyNodes: {
if ((load_type == kOnlyNodes &&
case k_only_clips:
case k_only_nodes: {
if ((load_type == k_only_nodes &&
reader->name() == QStringLiteral("nodes")) ||
(load_type == kOnlyClips &&
(load_type == k_only_clips &&
reader->name() == QStringLiteral("timeline"))) {
QMap<quintptr, Node *> skipped_items;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
QString id;
quintptr ptr = 0;
@@ -262,13 +262,13 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
if (dependency_of_item) {
reader->skipCurrentElement();
} else {
Node *node = NodeFactory::CreateFromID(id);
Node *node = NodeFactory::create_from_id(id);
if (!node) {
qWarning()
<< "Failed to find node with ID" << id;
reader->skipCurrentElement();
} else {
if (project && node->IsItem() && ptr) {
if (project && node->is_item() && ptr) {
// If we're pasting an object into the same project, we should re-use the item
// rather than duplicate.
Node *existing =
@@ -288,8 +288,8 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
if (node) {
// Disable cache while node is being loaded (we'll re-enable it later)
node->SetCachesEnabled(false);
node->Load(reader, &project_data);
node->set_caches_enabled(false);
node->load(reader, &project_data);
load_data.nodes.append(node);
}
}
@@ -298,7 +298,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
load_data.node_ptrs = project_data.node_ptrs;
} else if (reader->name() == QStringLiteral("properties")) {
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("node")) {
quintptr ptr = 0;
@@ -314,7 +314,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
if (ptr) {
QMap<QString, QString> properties_for_node;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
properties_for_node.insert(
reader->name().toString(),
reader->readElementText());
@@ -354,7 +354,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
}
}
PostConnect(load_data.nodes, &project_data);
post_connect(load_data.nodes, &project_data);
} else {
reader->skipCurrentElement();
}
@@ -365,7 +365,7 @@ ProjectSerializer230220::Load(Project *project, QXmlStreamReader *reader,
return load_data;
}
void WriteNodeMap(QXmlStreamWriter *writer, Node *node,
void write_node_map(QXmlStreamWriter *writer, Node *node,
const QVector<Node *> &nodes)
{
writer->writeStartElement(QStringLiteral("node"));
@@ -375,23 +375,23 @@ void WriteNodeMap(QXmlStreamWriter *writer, Node *node,
for (auto oc : node->output_connections()) {
if (nodes.contains(oc.second.node())) {
WriteNodeMap(writer, oc.second.node(), nodes);
write_node_map(writer, oc.second.node(), nodes);
}
}
writer->writeEndElement();
}
void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
void ProjectSerializer230220::save(QXmlStreamWriter *writer,
const SaveData &data, void *reserved) const
{
if (!data.GetOnlySerializeMarkers().empty()) {
if (!data.get_only_serialize_markers().empty()) {
writer->writeStartElement(QStringLiteral("markers"));
writer->writeAttribute(QStringLiteral("version"), QString::number(1));
for (auto it = data.GetOnlySerializeMarkers().cbegin();
it != data.GetOnlySerializeMarkers().cend(); it++) {
for (auto it = data.get_only_serialize_markers().cbegin();
it != data.get_only_serialize_markers().cend(); it++) {
TimelineMarker *marker = *it;
writer->writeStartElement(QStringLiteral("marker"));
marker->save(writer);
@@ -399,7 +399,7 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
}
writer->writeEndElement(); // markers
} else if (!data.GetOnlySerializeKeyframes().empty()) {
} else if (!data.get_only_serialize_keyframes().empty()) {
writer->writeStartElement(QStringLiteral("keyframes"));
writer->writeAttribute(QStringLiteral("version"), QString::number(1));
@@ -409,8 +409,8 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
QHash<QString, QMap<int, QMap<int, QVector<NodeKeyframe *>>>>>
organized;
for (auto it = data.GetOnlySerializeKeyframes().cbegin();
it != data.GetOnlySerializeKeyframes().cend(); it++) {
for (auto it = data.get_only_serialize_keyframes().cbegin();
it != data.get_only_serialize_keyframes().cend(); it++) {
NodeKeyframe *key = *it;
organized[key->parent()->id()][key->input()][key->element()]
[key->track()]
@@ -445,7 +445,7 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
for (NodeKeyframe *key : keys) {
writer->writeStartElement(QStringLiteral("key"));
key->save(writer, key->parent()->GetInputDataType(
key->save(writer, key->parent()->get_input_data_type(
key->input()));
writer->writeEndElement(); // key
}
@@ -463,8 +463,8 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
}
writer->writeEndElement(); // keyframes
} else if (!data.GetOnlySerializeNodes().empty()) {
if (data.type() == kOnlyClips) {
} else if (!data.get_only_serialize_nodes().empty()) {
if (data.type() == k_only_clips) {
writer->writeStartElement(QStringLiteral("timeline"));
} else {
writer->writeStartElement(QStringLiteral("nodes"));
@@ -472,12 +472,12 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
writer->writeAttribute(QStringLiteral("version"), QString::number(1));
for (Node *n : data.GetOnlySerializeNodes()) {
for (Node *n : data.get_only_serialize_nodes()) {
writer->writeStartElement(QStringLiteral("node"));
QStringList item_list;
for (Node *i : data.GetOnlySerializeNodes()) {
if (i->IsItem() && i->InputsFrom(n, true)) {
for (Node *i : data.get_only_serialize_nodes()) {
if (i->is_item() && i->inputs_from(n, true)) {
item_list.append(
QString::number(reinterpret_cast<quintptr>(i)));
}
@@ -487,14 +487,14 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
item_list.join(','));
}
n->Save(writer);
n->save(writer);
writer->writeEndElement(); // node
}
if (!data.GetProperties().empty()) {
if (!data.get_properties().empty()) {
writer->writeStartElement(QStringLiteral("properties"));
for (auto it = data.GetProperties().cbegin();
it != data.GetProperties().cend(); it++) {
for (auto it = data.get_properties().cbegin();
it != data.get_properties().cend(); it++) {
writer->writeStartElement(QStringLiteral("node"));
writer->writeAttribute(
@@ -512,15 +512,15 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
}
writer->writeEndElement(); // nodes
} else if (Project *project = data.GetProject()) {
} else if (Project *project = data.get_project()) {
writer->writeStartElement(QStringLiteral("project"));
writer->writeStartElement(QStringLiteral("project"));
project->Save(writer);
project->save(writer);
writer->writeEndElement(); // project
writer->writeStartElement(QStringLiteral("layout"));
data.GetLayout().toXml(writer);
data.get_layout().to_xml(writer);
writer->writeEndElement(); // layout
writer->writeEndElement(); // project
@@ -529,13 +529,13 @@ void ProjectSerializer230220::Save(QXmlStreamWriter *writer,
}
}
void ProjectSerializer230220::PostConnect(const QVector<Node *> &nodes,
void ProjectSerializer230220::post_connect(const QVector<Node *> &nodes,
SerializedData *project_data) const
{
foreach (const SerializedData::SerializedConnection &con,
project_data->desired_connections) {
if (Node *out = project_data->node_ptrs.value(con.output_node)) {
Node::ConnectEdge(out, con.input);
Node::connect_edge(out, con.input);
}
}
@@ -543,7 +543,7 @@ void ProjectSerializer230220::PostConnect(const QVector<Node *> &nodes,
Node *a = l.block;
Node *b = project_data->node_ptrs.value(l.link);
Node::Link(a, b);
Node::link(a, b);
}
for (auto it = nodes.cbegin(); it != nodes.cend(); it++) {
@@ -551,7 +551,7 @@ void ProjectSerializer230220::PostConnect(const QVector<Node *> &nodes,
n->PostLoadEvent(project_data);
n->SetCachesEnabled(true);
n->set_caches_enabled(true);
}
}
@@ -19,8 +19,8 @@
***/
#ifndef PROJECTSERIALIZER230220_H
#define PROJECTSERIALIZER230220_H
#ifndef OAK_PROJECTSERIALIZER230220_H
#define OAK_PROJECTSERIALIZER230220_H
#include "serializer.h"
@@ -32,22 +32,22 @@ public:
ProjectSerializer230220() = default;
protected:
virtual LoadData Load(Project *project, QXmlStreamReader *reader,
virtual LoadData load(Project *project, QXmlStreamReader *reader,
LoadType load_type, void *reserved) const override;
virtual void Save(QXmlStreamWriter *writer, const SaveData &data,
virtual void save(QXmlStreamWriter *writer, const SaveData &data,
void *reserved) const override;
virtual uint Version() const override
virtual uint version() const override
{
return 230220;
}
private:
void PostConnect(const QVector<Node *> &nodes,
void post_connect(const QVector<Node *> &nodes,
SerializedData *project_data) const;
};
}
#endif // PROJECTSERIALIZER230220_H
#endif // OAK_PROJECTSERIALIZER230220_H
@@ -24,11 +24,11 @@
namespace olive
{
AudioParams TypeSerializer::LoadAudioParams(QXmlStreamReader *reader)
AudioParams TypeSerializer::load_audio_params(QXmlStreamReader *reader)
{
AudioParams a;
while (XMLReadNextStartElement(reader)) {
while (xml_read_next_start_element(reader)) {
if (reader->name() == QStringLiteral("samplerate")) {
a.set_sample_rate(reader->readElementText().toInt());
} else if (reader->name() == QStringLiteral("channellayout")) {
@@ -44,7 +44,7 @@ AudioParams TypeSerializer::LoadAudioParams(QXmlStreamReader *reader)
a.set_duration(reader->readElementText().toLongLong());
} else if (reader->name() == QStringLiteral("timebase")) {
a.set_time_base(
rational::fromString(reader->readElementText().toStdString()));
Rational::from_string(reader->readElementText().toStdString()));
} else {
reader->skipCurrentElement();
}
@@ -53,7 +53,7 @@ AudioParams TypeSerializer::LoadAudioParams(QXmlStreamReader *reader)
return a;
}
void TypeSerializer::SaveAudioParams(QXmlStreamWriter *writer,
void TypeSerializer::save_audio_params(QXmlStreamWriter *writer,
const AudioParams &a)
{
writer->writeTextElement(QStringLiteral("samplerate"),
@@ -69,7 +69,7 @@ void TypeSerializer::SaveAudioParams(QXmlStreamWriter *writer,
writer->writeTextElement(QStringLiteral("duration"),
QString::number(a.duration()));
writer->writeTextElement(QStringLiteral("timebase"),
QString::fromStdString(a.time_base().toString()));
QString::fromStdString(a.time_base().to_string()));
}
}
+5 -5
View File
@@ -19,8 +19,8 @@
***/
#ifndef TYPESERIALIZER_H
#define TYPESERIALIZER_H
#ifndef OAK_TYPESERIALIZER_H
#define OAK_TYPESERIALIZER_H
#include <olive/core/core.h>
#include <QXmlStreamReader>
@@ -37,10 +37,10 @@ class TypeSerializer {
public:
TypeSerializer() = default;
static AudioParams LoadAudioParams(QXmlStreamReader *reader);
static void SaveAudioParams(QXmlStreamWriter *writer, const AudioParams &a);
static AudioParams load_audio_params(QXmlStreamReader *reader);
static void save_audio_params(QXmlStreamWriter *writer, const AudioParams &a);
};
}
#endif // TYPESERIALIZER_H
#endif // OAK_TYPESERIALIZER_H