for fixes to \c tags in SSA files.
# Use distro-provided FFmpeg on Arch
deps = []
- deps.append(('libdcp', 'v1.8.25'))
- deps.append(('libsub', 'v1.6.28'))
+ deps.append(('libdcp', 'v1.8.26'))
+ deps.append(('libsub', 'v1.6.29'))
deps.append(('leqm-nrt', '93ae9e6'))
deps.append(('rtaudio', 'f619b76'))
# We get our OpenSSL libraries from the environment, but we
auto ck = node->optional_string_child("ContentKind");
if (ck) {
- _content_kind = dcp::content_kind_from_string (*ck);
+ _content_kind = dcp::ContentKind::from_name(*ck);
}
_cpl = node->optional_string_child("CPL");
for (auto i: node->node_children("ReelLength")) {
}
node->add_child("ThreeD")->add_child_text (_three_d ? "1" : "0");
if (_content_kind) {
- node->add_child("ContentKind")->add_child_text(dcp::content_kind_to_string(*_content_kind));
+ node->add_child("ContentKind")->add_child_text(_content_kind->name());
}
if (_cpl) {
node->add_child("CPL")->add_child_text (_cpl.get ());
#include "content.h"
#include "font.h"
#include <libcxml/cxml.h>
+#include <dcp/content_kind.h>
#include <dcp/encrypted_kdm.h>
#include <dcp/rating.h>
DCPContentType(_("Policy"), dcp::ContentKind::POLICY, N_("POL")),
DCPContentType(_("Public Service Announcement"), dcp::ContentKind::PUBLIC_SERVICE_ANNOUNCEMENT, N_("PSA")),
DCPContentType(_("Advertisement"), dcp::ContentKind::ADVERTISEMENT, N_("ADV")),
+ DCPContentType(_("Clip"), dcp::ContentKind::CLIP, N_("CLP")),
+ DCPContentType(_("Promo"), dcp::ContentKind::PROMO, N_("PRO")),
+ DCPContentType(_("Stereo card"), dcp::ContentKind::STEREOCARD, N_("STR")),
DCPContentType(_("Episode"), dcp::ContentKind::EPISODE, N_("EPS")),
- DCPContentType(_("Promo"), dcp::ContentKind::PROMO, N_("PRO"))
+ DCPContentType(_("Highlights"), dcp::ContentKind::HIGHLIGHTS, N_("HLT")),
+ DCPContentType(_("Event"), dcp::ContentKind::EVENT, N_("EVT")),
};
}
*/
+#include <dcp/content_kind.h>
#include <dcp/dcp.h>
#include <string>
#include <vector>
}
dcp::ContentKind content_kind () const {
- return _content_kind;
+ DCPOMATIC_ASSERT(_content_kind);
+ return *_content_kind;
}
std::string cpl () const {
bool _kdm_valid = false;
boost::optional<dcp::Standard> _standard;
bool _three_d = false;
- dcp::ContentKind _content_kind;
+ boost::optional<dcp::ContentKind> _content_kind;
std::string _cpl;
std::list<int64_t> _reel_lengths;
std::map<dcp::Marker, dcp::Time> _markers;
base,
text,
_ffmpeg_content->video->size().width,
- _ffmpeg_content->video->size().height
+ _ffmpeg_content->video->size().height,
+ sub::Colour(1, 1, 1)
);
for (auto const& i: sub::collect<vector<sub::Subtitle>>(raw)) {
#include "log_entry.h"
#include <inttypes.h>
#include <cstdio>
+#include <ctime>
#include "i18n.h"
#include <libcxml/cxml.h>
-#include <dcp/types.h>
+#include <dcp/content_kind.h>
namespace xmlpp {
std::string digest;
/** CPL ID */
std::string id;
- dcp::ContentKind kind;
+ boost::optional<dcp::ContentKind> kind;
bool encrypted;
private:
{
_list->SetItem (N, 0, std_to_wx(e.name));
_list->SetItem (N, 1, std_to_wx(e.id));
- _list->SetItem (N, 2, std_to_wx(dcp::content_kind_to_string(e.kind)));
+ _list->SetItem (N, 2, std_to_wx(e.kind->name()));
_list->SetItem (N, 3, e.encrypted ? S_("Question|Y") : S_("Question|N"));
}
if (dcp && dcp->content_kind()) {
it.SetId(N);
it.SetColumn(1);
- it.SetText(std_to_wx(dcp::content_kind_to_string(*dcp->content_kind())));
+ it.SetText(std_to_wx(dcp->content_kind()->name()));
SetItem(it);
}
case dcp::VerificationNote::Code::UNEXPECTED_DURATION:
add(i, _("There is a <Duration> tag inside a <MainMarkers>."));
break;
+ case dcp::VerificationNote::Code::INVALID_CONTENT_KIND:
+ add(i, _("An invalid <ContentKind> %n has been used."));
+ break;
}
}