/* Make state.directory a complete path without ..s (where possible)
(Code swiped from Adam Bowen on stackoverflow)
+ XXX: couldn't/shouldn't this just be boost::filesystem::canonical?
*/
boost::filesystem::path p (boost::filesystem::system_complete (dir));
set_isdcf_date_today ();
- environment_info (log ());
+ BOOST_FOREACH (string i, environment_info ()) {
+ LOG_GENERAL_NC (i);
+ }
BOOST_FOREACH (shared_ptr<const Content> i, content ()) {
LOG_GENERAL ("Content: %1", i->technical_summary());
if (!dm.audio_language.empty ()) {
d << "_" << dm.audio_language;
if (!dm.subtitle_language.empty()) {
- d << "-" << dm.subtitle_language;
+
+ bool burnt_in = false;
+ BOOST_FOREACH (shared_ptr<Content> i, content ()) {
+ shared_ptr<SubtitleContent> sc = dynamic_pointer_cast<SubtitleContent> (i);
+ if (!sc) {
+ continue;
+ }
+
+ if (sc->use_subtitles() && sc->burn_subtitles()) {
+ burnt_in = true;
+ }
+ }
+
+ string language = dm.subtitle_language;
+ if (burnt_in) {
+ transform (language.begin(), language.end(), language.begin(), ::tolower);
+ } else {
+ transform (language.begin(), language.end(), language.begin(), ::toupper);
+ }
+
+ d << "-" << language;
} else {
d << "-XX";
}
signal_changed (REEL_TYPE);
}
+/** @param r Desired reel length in bytes */
void
Film::set_reel_length (int64_t r)
{
uint64_t
Film::required_disk_space () const
{
- return uint64_t (j2k_bandwidth() / 8) * length().seconds();
+ return _playlist->required_disk_space (j2k_bandwidth(), audio_channels(), audio_frame_rate());
}
/** This method checks the disk that the Film is on and tries to decide whether or not
* there will be enough space to make a DCP for it. If so, true is returned; if not,
- * false is returned and required and availabe are filled in with the amount of disk space
+ * false is returned and required and available are filled in with the amount of disk space
* required and available respectively (in Gb).
*
* Note: the decision made by this method isn't, of course, 100% reliable.