Support more than one closed caption asset per reel.
[libdcp.git] / src / reel.h
index 8b394861e6e448d541d8ba5d97e75f55064504e7..fa37c84041bb8b22731d6e18fcffabdad3e0021a 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.
 */
 
 #ifndef LIBDCP_REEL_H
@@ -42,6 +56,7 @@ class ReelAsset;
 class ReelPictureAsset;
 class ReelSoundAsset;
 class ReelSubtitleAsset;
+class ReelClosedCaptionAsset;
 class ReelAtmosAsset;
 class Content;
 
@@ -63,7 +78,7 @@ public:
                , _atmos (atmos)
        {}
 
-       Reel (boost::shared_ptr<const cxml::Node>);
+       explicit Reel (boost::shared_ptr<const cxml::Node>);
 
        boost::shared_ptr<ReelPictureAsset> main_picture () const {
                return _main_picture;
@@ -77,6 +92,10 @@ public:
                return _main_subtitle;
        }
 
+       std::list<boost::shared_ptr<ReelClosedCaptionAsset> > closed_captions () const {
+               return _closed_captions;
+       }
+
        boost::shared_ptr<ReelAtmosAsset> atmos () const {
                return _atmos;
        }
@@ -99,6 +118,7 @@ private:
        boost::shared_ptr<ReelPictureAsset> _main_picture;
        boost::shared_ptr<ReelSoundAsset> _main_sound;
        boost::shared_ptr<ReelSubtitleAsset> _main_subtitle;
+       std::list<boost::shared_ptr<ReelClosedCaptionAsset> > _closed_captions;
        boost::shared_ptr<ReelAtmosAsset> _atmos;
 };