Hand-apply 33b76b675d747fd828aba91d9d857227cb8a8244 from master; make sure signals...
[dcpomatic.git] / src / lib / film.h
index 0227f26c99a3b7882ee17c969eb9d2ae63ee4ddf..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
@@ -29,6 +29,7 @@
 #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>
@@ -59,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;
@@ -251,8 +253,8 @@ public:
        void set_directory (boost::filesystem::path);
        void set_name (std::string);
        void set_use_isdcf_name (bool);
-       void examine_content (boost::shared_ptr<Content>, bool calculate_digest);
-       void examine_and_add_content (boost::shared_ptr<Content>, bool calculate_digest);
+       void examine_content (boost::shared_ptr<Content>);
+       void examine_and_add_content (boost::shared_ptr<Content>);
        void add_content (boost::shared_ptr<Content>);
        void remove_content (boost::shared_ptr<Content>);
        void move_content_earlier (boost::shared_ptr<Content>);
@@ -340,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;
 };