diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-01-24 04:15:26 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-01-24 04:15:26 +0100 |
| commit | ceaf7bc52712cb60708ed5eb5c62c5e463dd8e89 (patch) | |
| tree | c55e4b85ee30138ce83263045d77d01631378b2e /src/reel_markers_asset.cc | |
| parent | 6c37cc1979b2a01205a888c4c98f3334685ee8dd (diff) | |
Tidying.
Diffstat (limited to 'src/reel_markers_asset.cc')
| -rw-r--r-- | src/reel_markers_asset.cc | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/reel_markers_asset.cc b/src/reel_markers_asset.cc index 1f9282fa..52151868 100644 --- a/src/reel_markers_asset.cc +++ b/src/reel_markers_asset.cc @@ -31,11 +31,13 @@ files in the program, then also delete it here. */ + #include "reel_markers_asset.h" #include "raw_convert.h" #include "dcp_assert.h" #include <libxml++/libxml++.h> + using std::string; using std::map; using std::max; @@ -43,12 +45,14 @@ using boost::optional; using std::shared_ptr; using namespace dcp; + ReelMarkersAsset::ReelMarkersAsset (Fraction edit_rate, int64_t intrinsic_duration, int64_t entry_point) : ReelAsset (make_uuid(), edit_rate, intrinsic_duration, entry_point) { } + ReelMarkersAsset::ReelMarkersAsset (cxml::ConstNodePtr node) : ReelAsset (node) { @@ -59,24 +63,28 @@ ReelMarkersAsset::ReelMarkersAsset (cxml::ConstNodePtr node) } } + string ReelMarkersAsset::cpl_node_name (Standard) const { return "MainMarkers"; } + void ReelMarkersAsset::set (Marker m, Time t) { _markers[m] = t; } + void ReelMarkersAsset::unset (Marker m) { _markers.erase (m); } + optional<Time> ReelMarkersAsset::get (Marker m) const { @@ -87,16 +95,17 @@ ReelMarkersAsset::get (Marker m) const return i->second; } + xmlpp::Node* ReelMarkersAsset::write_to_cpl (xmlpp::Node* node, Standard standard) const { int const tcr = edit_rate().numerator / edit_rate().denominator; - xmlpp::Node* asset = write_to_cpl_asset (node, standard, optional<string>()); - xmlpp::Node* ml = asset->add_child("MarkerList"); - for (map<Marker, Time>::const_iterator i = _markers.begin(); i != _markers.end(); ++i) { - xmlpp::Node* m = ml->add_child("Marker"); - m->add_child("Label")->add_child_text (marker_to_string(i->first)); - m->add_child("Offset")->add_child_text (raw_convert<string>(i->second.as_editable_units(tcr))); + auto asset = write_to_cpl_asset (node, standard, optional<string>()); + auto ml = asset->add_child("MarkerList"); + for (auto const& i: _markers) { + auto m = ml->add_child("Marker"); + m->add_child("Label")->add_child_text(marker_to_string(i.first)); + m->add_child("Offset")->add_child_text(raw_convert<string>(i.second.as_editable_units(tcr))); } return asset; |
