diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-08-04 21:56:14 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-08-04 21:56:14 +0100 |
| commit | ada96204dfa1456da77e2ea7469f492cfc0a5483 (patch) | |
| tree | 126df9fbef5cbe3fe6f31e3d062e29caa833a955 /src/lib | |
| parent | 6543cce6266e2f8389cf1c3987252caf9e254a5a (diff) | |
Different configuration of filename format for assets / metadata (since CPL/PKL files don't refer to reels).
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/config.cc | 9 | ||||
| -rw-r--r-- | src/lib/config.h | 19 | ||||
| -rw-r--r-- | src/lib/reel_writer.cc | 2 | ||||
| -rw-r--r-- | src/lib/util.cc | 4 | ||||
| -rw-r--r-- | src/lib/writer.cc | 2 |
5 files changed, 25 insertions, 11 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc index 5dbbd692e..6f7c8ec55 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -110,7 +110,8 @@ Config::set_defaults () _cinemas_file = path ("cinemas.xml"); _show_hints_before_make_dcp = true; _kdm_filename_format = dcp::NameFormat ("KDM %f %c %s"); - _dcp_filename_format = dcp::NameFormat ("%t_%i"); + _dcp_metadata_filename_format = dcp::NameFormat ("%t_%i"); + _dcp_asset_filename_format = dcp::NameFormat ("%t_%i"); _allowed_dcp_frame_rates.clear (); _allowed_dcp_frame_rates.push_back (24); @@ -294,7 +295,8 @@ try _cinemas_file = f.optional_string_child("CinemasFile").get_value_or (path ("cinemas.xml").string ()); _show_hints_before_make_dcp = f.optional_bool_child("ShowHintsBeforeMakeDCP").get_value_or (true); _kdm_filename_format = dcp::NameFormat (f.optional_string_child("KDMFilenameFormat").get_value_or ("KDM %f %c %s")); - _dcp_filename_format = dcp::NameFormat (f.optional_string_child("DCPFilenameFormat").get_value_or ("%t_%i.mxf")); + _dcp_metadata_filename_format = dcp::NameFormat (f.optional_string_child("DCPMetadataFilenameFormat").get_value_or ("%t_%i")); + _dcp_asset_filename_format = dcp::NameFormat (f.optional_string_child("DCPAssetFilenameFormat").get_value_or ("%t_%i")); /* Replace any cinemas from config.xml with those from the configured file */ if (boost::filesystem::exists (_cinemas_file)) { @@ -453,7 +455,8 @@ Config::write_config_xml () const root->add_child("CinemasFile")->add_child_text (_cinemas_file.string()); root->add_child("ShowHintsBeforeMakeDCP")->add_child_text (_show_hints_before_make_dcp ? "1" : "0"); root->add_child("KDMFilenameFormat")->add_child_text (_kdm_filename_format.specification ()); - root->add_child("DCPFilenameFormat")->add_child_text (_dcp_filename_format.specification ()); + root->add_child("DCPMetadataFilenameFormat")->add_child_text (_dcp_metadata_filename_format.specification ()); + root->add_child("DCPAssetFilenameFormat")->add_child_text (_dcp_asset_filename_format.specification ()); try { doc.write_to_file_formatted (path("config.xml").string ()); diff --git a/src/lib/config.h b/src/lib/config.h index 3a0308462..a988cda6b 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -271,8 +271,12 @@ public: return _kdm_filename_format; } - dcp::NameFormat dcp_filename_format () const { - return _dcp_filename_format; + dcp::NameFormat dcp_metadata_filename_format () const { + return _dcp_metadata_filename_format; + } + + dcp::NameFormat dcp_asset_filename_format () const { + return _dcp_asset_filename_format; } /** @param n New number of local encoding threads */ @@ -486,8 +490,12 @@ public: maybe_set (_kdm_filename_format, n); } - void set_dcp_filename_format (dcp::NameFormat n) { - maybe_set (_dcp_filename_format, n); + void set_dcp_metadata_filename_format (dcp::NameFormat n) { + maybe_set (_dcp_metadata_filename_format, n); + } + + void set_dcp_asset_filename_format (dcp::NameFormat n) { + maybe_set (_dcp_asset_filename_format, n); } void clear_history () { @@ -602,7 +610,8 @@ private: boost::filesystem::path _cinemas_file; bool _show_hints_before_make_dcp; dcp::NameFormat _kdm_filename_format; - dcp::NameFormat _dcp_filename_format; + dcp::NameFormat _dcp_metadata_filename_format; + dcp::NameFormat _dcp_asset_filename_format; /** Singleton instance, or 0 */ static Config* _instance; diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc index 176c54c8f..fa2813837 100644 --- a/src/lib/reel_writer.cc +++ b/src/lib/reel_writer.cc @@ -334,7 +334,9 @@ ReelWriter::create_reel (list<ReferencedReelAsset> const & refs, list<shared_ptr } } + DCPOMATIC_ASSERT (reel_picture_asset); reel->add (reel_picture_asset); + /* If we have a hash for this asset in the CPL, assume that it is correct */ if (reel_picture_asset->hash()) { reel_picture_asset->asset_ref()->set_hash (reel_picture_asset->hash().get()); diff --git a/src/lib/util.cc b/src/lib/util.cc index a0d6453ff..1cf71ba32 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -627,7 +627,7 @@ video_asset_filename (shared_ptr<dcp::PictureAsset> asset, int reel_index, int r if (summary) { values['c'] = summary.get(); } - return Config::instance()->dcp_filename_format().get(values) + ".mxf"; + return Config::instance()->dcp_asset_filename_format().get(values) + ".mxf"; } string @@ -641,7 +641,7 @@ audio_asset_filename (shared_ptr<dcp::SoundAsset> asset, int reel_index, int ree if (summary) { values['c'] = summary.get(); } - return Config::instance()->dcp_filename_format().get(values) + ".mxf"; + return Config::instance()->dcp_asset_filename_format().get(values) + ".mxf"; } float diff --git a/src/lib/writer.cc b/src/lib/writer.cc index a5085abae..85099062f 100644 --- a/src/lib/writer.cc +++ b/src/lib/writer.cc @@ -514,7 +514,7 @@ Writer::finish () } } - dcp.write_xml (_film->interop () ? dcp::INTEROP : dcp::SMPTE, meta, signer, Config::instance()->dcp_filename_format()); + dcp.write_xml (_film->interop () ? dcp::INTEROP : dcp::SMPTE, meta, signer, Config::instance()->dcp_metadata_filename_format()); LOG_GENERAL ( N_("Wrote %1 FULL, %2 FAKE, %3 REPEAT, %4 pushed to disk"), _full_written, _fake_written, _repeat_written, _pushed_to_disk |
