Build against libdcp1.
authorCarl Hetherington <cth@carlh.net>
Sun, 21 Dec 2014 03:02:35 +0000 (03:02 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 21 Dec 2014 03:02:35 +0000 (03:02 +0000)
12 files changed:
libsub-1.0.pc.in [new file with mode: 0644]
libsub.pc.in [deleted file]
src/dcp_reader.cc
src/dcp_reader.h
src/reader_factory.cc
src/wscript
test/dcp_reader_test.cc
test/dcp_to_stl_binary_test.cc
test/test.cc
test/wscript
tools/wscript
wscript

diff --git a/libsub-1.0.pc.in b/libsub-1.0.pc.in
new file mode 100644 (file)
index 0000000..d91405a
--- /dev/null
@@ -0,0 +1,10 @@
+prefix=@prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libsub-1.0
+Description: Subtitle reading and writing library
+Version: @version@
+Requires: 
+Libs: @libs@
+Cflags: -I${includedir}
diff --git a/libsub.pc.in b/libsub.pc.in
deleted file mode 100644 (file)
index ff7e351..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=@prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: libsub
-Description: Subtitle reading and writing library
-Version: @version@
-Requires: 
-Libs: @libs@
-Cflags: -I${includedir}
index b192b76c74babef0c8914f37071fb3d56d61431e..863cb68b12a350924f7c10e035caff046acbfb19 100644 (file)
@@ -21,7 +21,9 @@
 #include "vertical_reference.h"
 #include "xml.h"
 #include <libcxml/cxml.h>
-#include <libdcp/subtitle_asset.h>
+#include <dcp/interop_subtitle_content.h>
+#include <dcp/smpte_subtitle_content.h>
+#include <dcp/subtitle.h>
 
 using std::list;
 using std::cout;
@@ -29,13 +31,13 @@ using boost::shared_ptr;
 using namespace sub;
 
 static MetricTime
-dcp_to_metric (libdcp::Time t)
+dcp_to_metric (dcp::Time t)
 {
        return MetricTime (t.h, t.m, t.s, t.t * 4);
 }
 
 static Colour
-dcp_to_colour (libdcp::Color c)
+dcp_to_colour (dcp::Color c)
 {
        return Colour (float (c.r) / 255, float (c.g) / 255, float (c.b) / 255);
 }
@@ -43,48 +45,55 @@ dcp_to_colour (libdcp::Color c)
 /** @class DCPReader
  *  @brief A class to read DCP subtitles.
  */
-DCPReader::DCPReader (boost::filesystem::path file)
+DCPReader::DCPReader (boost::filesystem::path file, bool interop)
 {
-       libdcp::SubtitleAsset asset (file.parent_path().string(), file.leaf().string());
-       list<shared_ptr<libdcp::Subtitle> > subs = asset.subtitles ();
-       for (list<shared_ptr<libdcp::Subtitle> >::const_iterator i = subs.begin(); i != subs.end(); ++i) {
+       shared_ptr<dcp::SubtitleContent> content;
+       if (interop) {
+               content.reset (new dcp::InteropSubtitleContent (file));
+       } else {
+               content.reset (new dcp::SMPTESubtitleContent (file));
+       }
+       
+       list<dcp::SubtitleString> subs = content->subtitles ();
+       for (list<dcp::SubtitleString>::const_iterator i = subs.begin(); i != subs.end(); ++i) {
                RawSubtitle sub;
 
-               sub.vertical_position.proportional = float ((*i)->v_position ()) / 100;
-               switch ((*i)->v_align ()) {
-               case libdcp::TOP:
+               sub.vertical_position.proportional = float (i->v_position ()) / 100;
+               switch (i->v_align ()) {
+               case dcp::TOP:
                        sub.vertical_position.reference = TOP_OF_SCREEN;
                        break;
-               case libdcp::CENTER:
+               case dcp::CENTER:
                        sub.vertical_position.reference = CENTRE_OF_SCREEN;
                        break;
-               case libdcp::BOTTOM:
+               case dcp::BOTTOM:
                        sub.vertical_position.reference = BOTTOM_OF_SCREEN;
                        break;
                }
                        
-               sub.from.set_metric (dcp_to_metric ((*i)->in ()));
-               sub.to.set_metric (dcp_to_metric ((*i)->out ()));
-               sub.fade_up = dcp_to_metric ((*i)->fade_up_time ());
-               sub.fade_down = dcp_to_metric ((*i)->fade_down_time ());
+               sub.from.set_metric (dcp_to_metric (i->in ()));
+               sub.to.set_metric (dcp_to_metric (i->out ()));
+               sub.fade_up = dcp_to_metric (i->fade_up_time ());
+               sub.fade_down = dcp_to_metric (i->fade_down_time ());
                
-               sub.text = (*i)->text ();
-               sub.font = (*i)->font ();
-               sub.font_size.set_proportional (float ((*i)->size ()) / (72 * 11));
-               switch ((*i)->effect ()) {
-               case libdcp::NONE:
+               sub.text = i->text ();
+               /* XXX: should sub.font be optional? */
+               sub.font = i->font().get_value_or ("");
+               sub.font_size.set_proportional (float (i->size ()) / (72 * 11));
+               switch (i->effect ()) {
+               case dcp::NONE:
                        break;
-               case libdcp::BORDER:
+               case dcp::BORDER:
                        sub.effect = BORDER;
                        break;
-               case libdcp::SHADOW:
+               case dcp::SHADOW:
                        sub.effect = SHADOW;
                        break;
                }
 
-               sub.effect_colour = dcp_to_colour ((*i)->effect_color ());
-               sub.colour = dcp_to_colour ((*i)->color ());
-               sub.italic = (*i)->italic ();
+               sub.effect_colour = dcp_to_colour (i->effect_color ());
+               sub.colour = dcp_to_colour (i->color ());
+               sub.italic = i->italic ();
                
                _subs.push_back (sub);
        }
index 6d4fa71161d85f612305bf81fa937a061597de07..09d9f6ac0c165daec77c71c36cdb3ad20b140abc 100644 (file)
@@ -36,7 +36,7 @@ namespace sub {
 class DCPReader : public Reader
 {
 public:
-       DCPReader (boost::filesystem::path file);
+       DCPReader (boost::filesystem::path file, bool interop);
 };
 
 }
index 31a205b91bfd38a35e9feb12533717ca67ba2617..18783daefaf5008c93d21f7f5c86d985f1c7bee2 100644 (file)
@@ -36,8 +36,12 @@ sub::reader_factory (boost::filesystem::path file_name)
        string ext = file_name.extension().string();
        transform (ext.begin(), ext.end(), ext.begin(), ::tolower);
        
-       if (ext == ".xml" || ext == ".mxf") {
-               return shared_ptr<Reader> (new DCPReader (file_name));
+       if (ext == ".xml") {
+               return shared_ptr<Reader> (new DCPReader (file_name, true));
+       }
+
+       if (ext == ".mxf") {
+               return shared_ptr<Reader> (new DCPReader (file_name, false));
        }
 
        if (ext == ".stl") {
index 599e2af6b8fd37df0a3899714cfeda8de5a7871f..7dcd97c49ce6a68dd9e24ce2915afe779477d117 100644 (file)
@@ -6,8 +6,8 @@ def build(bld):
     else:
         obj = bld(features='cxx cxxshlib')
 
-    obj.name = 'libsub'
-    obj.target = 'sub'
+    obj.name = 'libsub-1.0'
+    obj.target = 'sub-1.0'
     obj.uselib = 'CXML DCP BOOST_FILESYSTEM BOOST_LOCALE'
     obj.export_includes = ['.']
     obj.source = """
@@ -53,6 +53,6 @@ def build(bld):
               vertical_reference.h
               """
 
-    bld.install_files('${PREFIX}/include/libsub', headers)
+    bld.install_files('${PREFIX}/include/libsub-1.0', headers)
     if bld.env.STATIC:
-        bld.install_files('${PREFIX}/lib', 'libsub.a')
+        bld.install_files('${PREFIX}/lib', 'libsub-1.0.a')
index 8d0fda1c30706e2007685ae57637b9b8a6831a5d..7fd1621a2e32d5080ac1139e334d97c0aa36e9ca 100644 (file)
@@ -30,7 +30,7 @@ using boost::shared_ptr;
 /* Test reading of a DCP XML file */
 BOOST_AUTO_TEST_CASE (dcp_reader_test1)
 {
-       sub::DCPReader reader ("test/data/test1.xml");
+       sub::DCPReader reader ("test/data/test1.xml", true);
        list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
 
        list<sub::Subtitle>::iterator i = subs.begin ();
@@ -45,7 +45,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11));
@@ -71,7 +71,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFontId");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11));
@@ -85,7 +85,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11));
@@ -111,7 +111,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11));
@@ -137,7 +137,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFontId");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (39) / (72 * 11));
@@ -155,7 +155,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test1)
 /* And another one */
 BOOST_AUTO_TEST_CASE (dcp_reader_test2)
 {
-       sub::DCPReader reader ("test/data/test2.xml");
+       sub::DCPReader reader ("test/data/test2.xml", true);
        list<sub::Subtitle> subs = sub::collect<list<sub::Subtitle> > (reader.subtitles ());
 
        list<sub::Subtitle>::iterator i = subs.begin ();
@@ -170,7 +170,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -184,7 +184,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -210,7 +210,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -224,7 +224,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -250,7 +250,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -264,7 +264,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -294,7 +294,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -308,7 +308,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -334,7 +334,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -348,7 +348,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -374,7 +374,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -388,7 +388,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -414,7 +414,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -428,7 +428,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -454,7 +454,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -468,7 +468,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -494,7 +494,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -508,7 +508,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -534,7 +534,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -548,7 +548,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, false);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -574,7 +574,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                sub::Block b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
@@ -588,7 +588,7 @@ BOOST_AUTO_TEST_CASE (dcp_reader_test2)
                BOOST_CHECK (j != i->lines.end ());
                BOOST_CHECK_EQUAL (j->blocks.size(), 1);
                b = j->blocks.front ();
-               BOOST_CHECK_EQUAL (b.font, "Arial");
+               BOOST_CHECK_EQUAL (b.font, "theFont");
                BOOST_CHECK_EQUAL (b.italic, true);
                BOOST_CHECK (b.colour == sub::Colour (1, 1, 1));
                BOOST_CHECK_EQUAL (b.font_size.proportional().get(), float (42) / (72 * 11));
index 3643a95a2deca3fda7f95e71de8b18fc0aac9b94..8ac377b5bc53e4e2293f190125677bdf1b1b211e 100644 (file)
@@ -35,7 +35,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test1)
 
        boost::filesystem::path p = private_test / "fd586c30-6d38-48f2-8241-27359acf184c_sub.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p, true).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -62,7 +62,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test2)
 
        boost::filesystem::path p = private_test / "93e8a6bf-499e-4d36-9350-a9bfa2e6758a_sub.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p, true).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -89,7 +89,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
 
        boost::filesystem::path p = private_test / "Paddington_FTR_Subs_DE-FR_24fps_R1.xml";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p, true).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -111,7 +111,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test3)
 BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test4)
 {
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader("test/data/test1.xml").subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::DCPReader("test/data/test1.xml", true).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
@@ -133,7 +133,7 @@ BOOST_AUTO_TEST_CASE (dcp_to_stl_binary_test5)
 
        boost::filesystem::path p = private_test / "065d39ff-6723-4dbf-a94f-849cde82f5e1_sub.mxf";
        sub::write_stl_binary (
-               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p).subtitles ()),
+               sub::collect<list<sub::Subtitle> > (sub::DCPReader(p, false).subtitles ()),
                25,
                sub::LANGUAGE_FRENCH,
                "", "",
index 4c0b8bf8e4c5876b36074dda62afe236a29b52e4..693e5b27119996e80947f8a419d10407d258627a 100644 (file)
@@ -106,7 +106,10 @@ check_file (boost::filesystem::path ref, boost::filesystem::path check)
 
                for (uintmax_t i = 0; i < this_time; ++i) {
                        stringstream s;
-                       s << "Files differ at offset " << (offset + i) << "; reference is " << hex << ((int) ref_buffer[i]) << ", check is " << ((int) check_buffer[i]);
+                       s << "Files differ at offset " << (offset + i)
+                         << "; reference is " << hex << ((int) ref_buffer[i])
+                         << ", check is " << hex << ((int) check_buffer[i]);
+                       
                        BOOST_CHECK_MESSAGE (ref_buffer[i] == check_buffer[i], s.str ());
                }
 
index 2c8c327f940c9522ffcd76e77b9a63b60fced5fc..23b731cd0fac60b4f84b55960c9e375c313e9352 100644 (file)
@@ -18,7 +18,7 @@ def build(bld):
     obj = bld(features='cxx cxxprogram')
     obj.name   = 'tests'
     obj.uselib = 'BOOST_TEST DCP CXML'
-    obj.use    = 'libsub'
+    obj.use    = 'libsub-1.0'
     obj.source = """
                  dcp_reader_test.cc
                  dcp_to_stl_binary_test.cc
index 41ba14f73994fa3ce84d34a0df8edf5ded442564..de538278098099fe7ea54cce7d74c892a2c49178 100644 (file)
@@ -1,6 +1,6 @@
 def build(bld):
     obj = bld(features = 'cxx cxxprogram')
-    obj.use = ['libsub']
+    obj.use = ['libsub-1.0']
     obj.uselib = 'OPENJPEG DCP CXML'
     obj.source = 'dumpsubs.cc'
     obj.target = 'dumpsubs'
diff --git a/wscript b/wscript
index 6bb3fe540e00b5e357c67ccf92f0730dc265b5f0..62d6908d7a8473d8ae65167d099c69b4242b0092 100644 (file)
--- a/wscript
+++ b/wscript
@@ -2,7 +2,7 @@ import subprocess
 import os
 
 APPNAME = 'libsub'
-VERSION = '0.01.0devel'
+VERSION = '1.0.0devel'
 
 def options(opt):
     opt.load('compiler_cxx')
@@ -31,13 +31,13 @@ def configure(conf):
         conf.env.LIB_CXML = ['glibmm-2.4', 'glib-2.0', 'pcre', 'sigc-2.0', 'rt', 'xml++-2.6', 'xml2', 'pthread', 'lzma', 'dl', 'z']
         conf.env.STLIB_CXML = ['cxml']
         conf.check_cfg(package='libcxml', atleast_version='0.08', args='--cflags', uselib_store='CXML', mandatory=True)
-        conf.env.STLIB_DCP = ['dcp', 'asdcp-libdcp', 'kumu-libdcp', 'openjpeg']
+        conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-libdcp-1.0', 'kumu-libdcp-1.0', 'openjpeg']
         conf.env.LIB_DCP = ['glibmm-2.4', 'ssl', 'crypto', 'bz2', 'xslt', 'xmlsec1', 'xmlsec1-openssl']
-        conf.check_cfg(package='libdcp', atleast_version='0.98', args='--cflags', uselib_store='DCP', mandatory=True)
+        conf.check_cfg(package='libdcp-1.0', atleast_version='1.0.0', args='--cflags', uselib_store='DCP', mandatory=True)
         conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
     else:
         conf.check_cfg(package='libcxml', atleast_version='0.08', args='--cflags --libs', uselib_store='CXML', mandatory=True)
-        conf.check_cfg(package='libdcp', atleast_version='0.97.0', args='--cflags --libs', uselib_store='DCP', mandatory=True)
+        conf.check_cfg(package='libdcp-1.0', atleast_version='1.0.0', args='--cflags --libs', uselib_store='DCP', mandatory=True)
         conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
 
     boost_lib_suffix = ''
@@ -85,7 +85,7 @@ def build(bld):
     else:
         boost_lib_suffix = ''
 
-    bld(source='libsub.pc.in',
+    bld(source='libsub-1.0.pc.in',
         version=VERSION,
         includedir='%s/include' % bld.env.PREFIX,
         libs="-L${libdir} -lsub -lboost_system%s" % boost_lib_suffix,