Add set_font_file()
[libdcp.git] / src / interop_subtitle_asset.h
index 23ab763039dc5773f96f11fc3d669a889935a2c1..4b96c795605850ea633be5003b11624454e5a110 100644 (file)
 
     You should have received a copy of the GNU General Public License
     along with libdcp.  If not, see <http://www.gnu.org/licenses/>.
+
+    In addition, as a special exception, the copyright holders give
+    permission to link the code of portions of this program with the
+    OpenSSL library under certain conditions as described in each
+    individual source file, and distribute linked combinations
+    including the two.
+
+    You must obey the GNU General Public License in all respects
+    for all of the code used other than OpenSSL.  If you modify
+    file(s) with this exception, you may extend this exception to your
+    version of the file(s), but you are not obligated to do so.  If you
+    do not wish to do so, delete this exception statement from your
+    version.  If you delete this exception statement from all source
+    files in the program, then also delete it here.
 */
 
 /** @file  src/interop_subtitle_asset.h
@@ -37,7 +51,7 @@ class InteropSubtitleAsset : public SubtitleAsset
 {
 public:
        InteropSubtitleAsset ();
-       InteropSubtitleAsset (boost::filesystem::path file);
+       explicit InteropSubtitleAsset (boost::filesystem::path file);
 
        bool equals (
                boost::shared_ptr<const Asset>,
@@ -45,6 +59,9 @@ public:
                NoteHandler note
                ) const;
 
+       void write_to_assetmap (xmlpp::Node* node, boost::filesystem::path root) const;
+       void add_to_pkl (boost::shared_ptr<PKL> pkl, boost::filesystem::path root) const;
+
        std::list<boost::shared_ptr<LoadFontNode> > load_font_nodes () const;
 
        void add_font (std::string load_id, boost::filesystem::path file);
@@ -53,6 +70,7 @@ public:
        void write (boost::filesystem::path path) const;
        void resolve_fonts (std::list<boost::shared_ptr<Asset> > assets);
        void add_font_assets (std::list<boost::shared_ptr<Asset> >& assets);
+       void set_font_file (std::string load_id, boost::filesystem::path file);
 
        /** Set the reel number or sub-element identifier
         *  of these subtitles.
@@ -91,10 +109,14 @@ public:
                return _movie_title;
        }
 
+       static std::string static_pkl_type (Standard) {
+               return "text/xml;asdcpKind=Subtitle";
+       }
+
 protected:
 
-       std::string pkl_type (Standard) const {
-               return "text/xml";
+       std::string pkl_type (Standard s) const {
+               return static_pkl_type (s);
        }
 
 private: