summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-06-26 19:15:56 +0100
committerCarl Hetherington <cth@carlh.net>2014-06-26 19:15:56 +0100
commit075f418cc6d9be06bed7a1d98257ae8d17ef3019 (patch)
treea5a6924da614ea0c65657802fffd291e67487532 /src/lib
parentd1125d09c7741d05b57b1520531a0451663ad66c (diff)
Support different KDM formulations.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/film.cc10
-rw-r--r--src/lib/film.h8
-rw-r--r--src/lib/kdm.cc21
-rw-r--r--src/lib/kdm.h5
-rw-r--r--src/lib/send_kdm_email_job.cc6
-rw-r--r--src/lib/send_kdm_email_job.h5
6 files changed, 36 insertions, 19 deletions
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 940eba1eb..0a77caf50 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -1086,7 +1086,8 @@ Film::make_kdm (
shared_ptr<libdcp::Certificate> target,
boost::filesystem::path cpl_file,
boost::posix_time::ptime from,
- boost::posix_time::ptime until
+ boost::posix_time::ptime until,
+ libdcp::KDM::Formulation formulation
) const
{
shared_ptr<const Signer> signer = make_signer ();
@@ -1095,7 +1096,7 @@ Film::make_kdm (
struct tm* tm = localtime (&now);
string const issue_date = libdcp::tm_to_string (tm);
- return libdcp::KDM (cpl_file, signer, target, key (), from, until, "DCP-o-matic", issue_date);
+ return libdcp::KDM (cpl_file, signer, target, key (), from, until, "DCP-o-matic", issue_date, formulation);
}
list<libdcp::KDM>
@@ -1103,13 +1104,14 @@ Film::make_kdms (
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
boost::posix_time::ptime from,
- boost::posix_time::ptime until
+ boost::posix_time::ptime until,
+ libdcp::KDM::Formulation formulation
) const
{
list<libdcp::KDM> kdms;
for (list<shared_ptr<Screen> >::iterator i = screens.begin(); i != screens.end(); ++i) {
- kdms.push_back (make_kdm ((*i)->certificate, dcp, from, until));
+ kdms.push_back (make_kdm ((*i)->certificate, dcp, from, until, formulation));
}
return kdms;
diff --git a/src/lib/film.h b/src/lib/film.h
index cbe6d7b6b..b7d105688 100644
--- a/src/lib/film.h
+++ b/src/lib/film.h
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
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
@@ -128,14 +128,16 @@ public:
boost::shared_ptr<libdcp::Certificate> target,
boost::filesystem::path cpl_file,
boost::posix_time::ptime from,
- boost::posix_time::ptime until
+ boost::posix_time::ptime until,
+ libdcp::KDM::Formulation formulation
) const;
std::list<libdcp::KDM> make_kdms (
std::list<boost::shared_ptr<Screen> >,
boost::filesystem::path cpl_file,
boost::posix_time::ptime from,
- boost::posix_time::ptime until
+ boost::posix_time::ptime until,
+ libdcp::KDM::Formulation formulation
) const;
libdcp::Key key () const {
diff --git a/src/lib/kdm.cc b/src/lib/kdm.cc
index 5efea089c..49bfae20a 100644
--- a/src/lib/kdm.cc
+++ b/src/lib/kdm.cc
@@ -105,10 +105,11 @@ make_screen_kdms (
list<shared_ptr<Screen> > screens,
boost::filesystem::path cpl,
boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation
)
{
- list<libdcp::KDM> kdms = film->make_kdms (screens, cpl, from, to);
+ list<libdcp::KDM> kdms = film->make_kdms (screens, cpl, from, to, formulation);
list<ScreenKDM> screen_kdms;
@@ -129,10 +130,11 @@ make_cinema_kdms (
list<shared_ptr<Screen> > screens,
boost::filesystem::path cpl,
boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation
)
{
- list<ScreenKDM> screen_kdms = make_screen_kdms (film, screens, cpl, from, to);
+ list<ScreenKDM> screen_kdms = make_screen_kdms (film, screens, cpl, from, to, formulation);
list<CinemaKDMs> cinema_kdms;
while (!screen_kdms.empty ()) {
@@ -175,10 +177,11 @@ write_kdm_files (
boost::filesystem::path cpl,
boost::posix_time::ptime from,
boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation,
boost::filesystem::path directory
)
{
- list<ScreenKDM> screen_kdms = make_screen_kdms (film, screens, cpl, from, to);
+ list<ScreenKDM> screen_kdms = make_screen_kdms (film, screens, cpl, from, to, formulation);
/* Write KDMs to the specified directory */
for (list<ScreenKDM>::iterator i = screen_kdms.begin(); i != screen_kdms.end(); ++i) {
@@ -195,10 +198,11 @@ write_kdm_zip_files (
boost::filesystem::path cpl,
boost::posix_time::ptime from,
boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation,
boost::filesystem::path directory
)
{
- list<CinemaKDMs> cinema_kdms = make_cinema_kdms (film, screens, cpl, from, to);
+ list<CinemaKDMs> cinema_kdms = make_cinema_kdms (film, screens, cpl, from, to, formulation);
for (list<CinemaKDMs>::const_iterator i = cinema_kdms.begin(); i != cinema_kdms.end(); ++i) {
boost::filesystem::path path = directory;
@@ -213,10 +217,11 @@ email_kdms (
list<shared_ptr<Screen> > screens,
boost::filesystem::path cpl,
boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation
)
{
- list<CinemaKDMs> cinema_kdms = make_cinema_kdms (film, screens, cpl, from, to);
+ list<CinemaKDMs> cinema_kdms = make_cinema_kdms (film, screens, cpl, from, to, formulation);
for (list<CinemaKDMs>::const_iterator i = cinema_kdms.begin(); i != cinema_kdms.end(); ++i) {
diff --git a/src/lib/kdm.h b/src/lib/kdm.h
index 8aacd7b72..8fb4ec494 100644
--- a/src/lib/kdm.h
+++ b/src/lib/kdm.h
@@ -29,6 +29,7 @@ extern void write_kdm_files (
boost::filesystem::path cpl,
boost::posix_time::ptime from,
boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation,
boost::filesystem::path directory
);
@@ -38,6 +39,7 @@ extern void write_kdm_zip_files (
boost::filesystem::path cpl,
boost::posix_time::ptime from,
boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation,
boost::filesystem::path directory
);
@@ -46,6 +48,7 @@ extern void email_kdms (
std::list<boost::shared_ptr<Screen> > screens,
boost::filesystem::path cpl,
boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation
);
diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc
index 8af0b556a..1dec2ffb0 100644
--- a/src/lib/send_kdm_email_job.cc
+++ b/src/lib/send_kdm_email_job.cc
@@ -33,13 +33,15 @@ SendKDMEmailJob::SendKDMEmailJob (
list<shared_ptr<Screen> > screens,
boost::filesystem::path dcp,
boost::posix_time::ptime from,
- boost::posix_time::ptime to
+ boost::posix_time::ptime to,
+ libdcp::KDM::Formulation formulation
)
: Job (f)
, _screens (screens)
, _dcp (dcp)
, _from (from)
, _to (to)
+ , _formulation (formulation)
{
}
@@ -62,7 +64,7 @@ SendKDMEmailJob::run ()
try {
set_progress_unknown ();
- email_kdms (_film, _screens, _dcp, _from, _to);
+ email_kdms (_film, _screens, _dcp, _from, _to, _formulation);
set_progress (1);
set_state (FINISHED_OK);
diff --git a/src/lib/send_kdm_email_job.h b/src/lib/send_kdm_email_job.h
index f4d154a91..8a8903040 100644
--- a/src/lib/send_kdm_email_job.h
+++ b/src/lib/send_kdm_email_job.h
@@ -18,6 +18,7 @@
*/
#include <boost/filesystem.hpp>
+#include <libdcp/kdm.h>
#include "job.h"
class Screen;
@@ -30,7 +31,8 @@ public:
std::list<boost::shared_ptr<Screen> >,
boost::filesystem::path,
boost::posix_time::ptime,
- boost::posix_time::ptime
+ boost::posix_time::ptime,
+ libdcp::KDM::Formulation
);
std::string name () const;
@@ -42,4 +44,5 @@ private:
boost::filesystem::path _dcp;
boost::posix_time::ptime _from;
boost::posix_time::ptime _to;
+ libdcp::KDM::Formulation _formulation;
};