#include "image.h"
#include "text_decoder.h"
#include "job_manager.h"
+#include "warnings.h"
#include <dcp/decrypted_kdm.h>
#include <dcp/locale_convert.h>
#include <dcp/util.h>
#include <dcp/picture_asset.h>
#include <dcp/sound_asset.h>
#include <dcp/subtitle_asset.h>
+#include <dcp/atmos_asset.h>
extern "C" {
#include <libavfilter/avfilter.h>
#include <libavformat/avformat.h>
#include <boost/range/algorithm/replace_if.hpp>
#include <boost/thread.hpp>
#include <boost/filesystem.hpp>
+DCPOMATIC_DISABLE_WARNINGS
#include <boost/locale.hpp>
+DCPOMATIC_ENABLE_WARNINGS
#ifdef DCPOMATIC_WINDOWS
#include <boost/locale.hpp>
#include <dbghelp.h>
return system(addr2line_cmd);
}
+DCPOMATIC_DISABLE_WARNINGS
/** This is called when C signals occur on Windows (e.g. SIGSEGV)
* (NOT C++ exceptions!). We write a backtrace to backtrace_file by dark means.
* Adapted from code here: http://spin.atomicobject.com/2013/01/13/exceptions-stack-traces-c/
return EXCEPTION_CONTINUE_SEARCH;
}
+DCPOMATIC_ENABLE_WARNINGS
#endif
void
SetUnhandledExceptionFilter(exception_handler);
#endif
+DCPOMATIC_DISABLE_WARNINGS
av_register_all ();
avfilter_register_all ();
+DCPOMATIC_ENABLE_WARNINGS
#ifdef DCPOMATIC_OSX
/* Add our library directory to the libltdl search path so that
return Config::instance()->dcp_asset_filename_format().get(values, "_" + asset->id() + ".mxf");
}
+
+string
+atmos_asset_filename (shared_ptr<dcp::AtmosAsset> asset, int reel_index, int reel_count, optional<string> summary)
+{
+ dcp::NameFormat::Map values;
+ values['t'] = "atmos";
+ values['r'] = raw_convert<string> (reel_index + 1);
+ values['n'] = raw_convert<string> (reel_count);
+ if (summary) {
+ values['c'] = careful_string_filter (summary.get());
+ }
+ return Config::instance()->dcp_asset_filename_format().get(values, "_" + asset->id() + ".mxf");
+}
+
+
float
relaxed_string_to_float (string s)
{