Hand-apply c7ce6fcf9bc6b5b1f6d823b7df256f43fefd660c; add a note to the
[dcpomatic.git] / src / lib / film.h
index 8a0823094e4c0ddf7b272ee05fae332ba631cc25..c3ab9f2ff550de1a65cd79a2924b36c13b293122 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2015 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
 #ifndef DCPOMATIC_FILM_H
 #define DCPOMATIC_FILM_H
 
-#include <string>
-#include <vector>
-#include <inttypes.h>
-#include <boost/signals2.hpp>
-#include <boost/enable_shared_from_this.hpp>
-#include <boost/filesystem.hpp>
-#include <dcp/key.h>
-#include <dcp/decrypted_kdm.h>
-#include <dcp/encrypted_kdm.h>
 #include "util.h"
 #include "types.h"
 #include "isdcf_metadata.h"
 #include "frame_rate_change.h"
+#include "ratio.h"
+#include <dcp/key.h>
+#include <dcp/encrypted_kdm.h>
+#include <boost/signals2.hpp>
+#include <boost/enable_shared_from_this.hpp>
+#include <boost/filesystem.hpp>
+#include <string>
+#include <vector>
+#include <inttypes.h>
 
 class DCPContentType;
 class Log;
@@ -60,6 +60,7 @@ class Film : public boost::enable_shared_from_this<Film>, public boost::noncopya
 {
 public:
        Film (boost::filesystem::path, bool log = true);
+       ~Film ();
 
        boost::filesystem::path info_dir () const;
        boost::filesystem::path j2c_path (int, Eyes, bool) const;
@@ -144,6 +145,8 @@ public:
                return _state_version;
        }
 
+       std::string subtitle_language () const;
+
        /** Identifiers for the parts of our state;
            used for signalling changes.
        */
@@ -339,6 +342,10 @@ private:
        /** true if our state has changed since we last saved it */
        mutable bool _dirty;
 
+       boost::signals2::scoped_connection _playlist_changed_connection;
+       boost::signals2::scoped_connection _playlist_content_changed_connection;
+       std::list<boost::signals2::connection> _job_connections;
+
        friend struct paths_test;
        friend struct film_metadata_test;
 };