From 59886567974bd3e79d30a4a9425d86d50bf425f3 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 26 Jan 2014 21:35:02 +0000 Subject: It builds again. --- src/content.cc | 59 ++++++++++++++++++---------------------------------------- 1 file changed, 18 insertions(+), 41 deletions(-) (limited to 'src/content.cc') diff --git a/src/content.cc b/src/content.cc index 9a035c80..06e2806d 100644 --- a/src/content.cc +++ b/src/content.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2012 Carl Hetherington + Copyright (C) 2012-2014 Carl Hetherington This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -33,59 +33,36 @@ using namespace boost; using namespace dcp; Content::Content (boost::filesystem::path file) - : _file (file) - , _edit_rate (0) + : Asset (file) + , _edit_rate (24, 1) , _intrinsic_duration (0) { } -Content::Content (int edit_rate) +Content::Content (Fraction edit_rate) : _edit_rate (edit_rate) , _intrinsic_duration (0) { } -void -Content::write_to_pkl (xmlpp::Node* node) const -{ - xmlpp::Node* asset = node->add_child ("Asset"); - asset->add_child("Id")->add_child_text ("urn:uuid:" + _id); - asset->add_child("AnnotationText")->add_child_text (_id); -//XXX asset->add_child("Hash")->add_child_text (digest ()); - asset->add_child("Size")->add_child_text (lexical_cast (filesystem::file_size (_file))); - asset->add_child("Type")->add_child_text ("application/mxf"); -} - -void -Content::write_to_assetmap (xmlpp::Node* node) const -{ - xmlpp::Node* asset = node->add_child ("Asset"); - asset->add_child("Id")->add_child_text ("urn:uuid:" + _id); - xmlpp::Node* chunk_list = asset->add_child ("ChunkList"); - xmlpp::Node* chunk = chunk_list->add_child ("Chunk"); - chunk->add_child("Path")->add_child_text (_file.string ()); - chunk->add_child("VolumeIndex")->add_child_text ("1"); - chunk->add_child("Offset")->add_child_text ("0"); - chunk->add_child("Length")->add_child_text (lexical_cast (filesystem::file_size (_file))); -} - bool -Content::equals (shared_ptr other, EqualityOptions, boost::function note) const +Content::equals (shared_ptr other, EqualityOptions opt, boost::function note) const { - // if (_edit_rate != other->_edit_rate) { - // note (ERROR, "asset edit rates differ"); - // return false; - // } + if (!Asset::equals (other, opt, note)) { + return false; + } - // if (_intrinsic_duration != other->_intrinsic_duration) { - // note (ERROR, "asset intrinsic durations differ"); - // } - - // if (_duration != other->_duration) { - // note (ERROR, "asset durations differ"); - // } + if (_edit_rate != other->_edit_rate) { + note (ERROR, "content edit rates differ"); + return false; + } + + if (_intrinsic_duration != other->_intrinsic_duration) { + note (ERROR, "asset intrinsic durations differ"); + return false; + } - // return true; + return true; } -- cgit v1.2.3