--- /dev/null
+#!/usr/bin/python
+
+import sys
+
+for a in sys.argv[1:]:
+ includes = []
+ for line in open(a, 'r'):
+ if line.startswith('#include'):
+ includes.append(line.strip()[9:])
+
+ std = ['<cstdio>', '<unistd.h>', '<stdexcept>', '<iostream>', '<algorithm>', '<fstream>', '<cstdlib>', '<iomanip>', '<stdint.h>', '<cmath>', '<cassert>', '<cstring>', '<mntent.h>', '<windows.h>', '<shlwapi.h>', '<sys/sysctl.h>', '<mach-o/dyld.h>', '<IOKit/pwr_mgt/IOPMLib.h>', '<sys/types.h>', '<ifaddrs.h>', '<netinet/in.h>', '<arpa/inet.h>']
+
+ current_group = 0
+ for i in includes:
+ if i == '"i18n.h"':
+ continue
+
+ if i in std:
+ group = 5
+ elif i.find("<boost/") != -1:
+ group = 4
+ elif i.find("<libxml++/") != -1 or i == '<glib.h>':
+ group = 3
+ elif i.find("<libcxml/") != -1 or i.find("<dcp/") != -1:
+ group = 2
+ elif i.find("\"wx/") != -1:
+ group = 1
+ else:
+ group = 0
+
+ print '%s: %d' % (i, group)
+
+ if group < current_group:
+ print '%s: first wrong order is %s' % (a, i)
+ sys.exit(1)
+
+ current_group = group
+
+
+
*/
+#include "audio_analysis.h"
+#include "cross.h"
+#include <boost/filesystem.hpp>
#include <stdint.h>
#include <cmath>
#include <cassert>
#include <cstdio>
#include <iostream>
-#include <boost/filesystem.hpp>
-#include "audio_analysis.h"
-#include "cross.h"
using std::ostream;
using std::istream;
*/
+#include "audio_buffers.h"
#include <cassert>
#include <cstring>
#include <cmath>
#include <stdexcept>
-#include "audio_buffers.h"
using std::bad_alloc;
using boost::shared_ptr;
*/
-#include <libcxml/cxml.h>
-#include <dcp/raw_convert.h>
#include "audio_content.h"
#include "analyse_audio_job.h"
#include "job_manager.h"
#include "config.h"
#include "frame_rate_change.h"
#include "audio_processor.h"
+#include <libcxml/cxml.h>
+#include <dcp/raw_convert.h>
#include "i18n.h"
*/
-#include <iostream>
#include "audio_decoder.h"
#include "audio_buffers.h"
#include "audio_processor.h"
#include "resampler.h"
#include "util.h"
+#include <iostream>
#include "i18n.h"
*/
-#include <cmath>
#include "audio_filter.h"
#include "audio_buffers.h"
+#include <cmath>
using std::vector;
using std::min;
*/
-#include <libxml++/libxml++.h>
-#include <libcxml/cxml.h>
-#include <dcp/raw_convert.h>
#include "audio_mapping.h"
#include "util.h"
#include "md5_digester.h"
+#include <libcxml/cxml.h>
+#include <dcp/raw_convert.h>
+#include <libxml++/libxml++.h>
using std::list;
using std::cout;
*/
-#include <libxml++/libxml++.h>
-#include <libcxml/cxml.h>
#include "cinema.h"
+#include <libcxml/cxml.h>
+#include <libxml++/libxml++.h>
using std::list;
using boost::shared_ptr;
* @brief CinemaSoundProcessor class.
*/
-#include <iostream>
-#include <cassert>
#include "cinema_sound_processor.h"
#include "dolby_cp750.h"
+#include <iostream>
+#include <cassert>
using namespace std;
*/
-#include <libxml++/libxml++.h>
-#include <dcp/colour_matrix.h>
-#include <dcp/raw_convert.h>
-#include <libcxml/cxml.h>
#include "config.h"
#include "colour_conversion.h"
#include "util.h"
#include "md5_digester.h"
+#include <dcp/colour_matrix.h>
+#include <dcp/raw_convert.h>
+#include <libcxml/cxml.h>
+#include <libxml++/libxml++.h>
#include "i18n.h"
*/
-#include <cstdlib>
-#include <fstream>
-#include <glib.h>
-#include <boost/filesystem.hpp>
-#include <boost/algorithm/string.hpp>
-#include <dcp/colour_matrix.h>
-#include <dcp/raw_convert.h>
-#include <dcp/signer.h>
-#include <dcp/certificate_chain.h>
-#include <libcxml/cxml.h>
#include "config.h"
#include "server.h"
#include "scaler.h"
#include "cinema.h"
#include "util.h"
#include "cross.h"
+#include <dcp/colour_matrix.h>
+#include <dcp/raw_convert.h>
+#include <dcp/signer.h>
+#include <dcp/certificate_chain.h>
+#include <libcxml/cxml.h>
+#include <glib.h>
+#include <boost/filesystem.hpp>
+#include <boost/algorithm/string.hpp>
+#include <cstdlib>
+#include <fstream>
#include "i18n.h"
* @brief Content class.
*/
-#include <boost/thread/mutex.hpp>
-#include <libxml++/libxml++.h>
-#include <libcxml/cxml.h>
-#include <dcp/raw_convert.h>
#include "content.h"
#include "util.h"
#include "content_factory.h"
#include "film.h"
#include "safe_stringstream.h"
#include "job.h"
+#include <libcxml/cxml.h>
+#include <dcp/raw_convert.h>
+#include <libxml++/libxml++.h>
+#include <boost/thread/mutex.hpp>
#include "i18n.h"
* @brief Methods to create content objects.
*/
-#include <libcxml/cxml.h>
#include "ffmpeg_content.h"
#include "image_content.h"
#include "sndfile_content.h"
#include "dcp_content.h"
#include "dcp_subtitle_content.h"
#include "util.h"
+#include <libcxml/cxml.h>
using std::string;
using std::list;
*/
-#include <fstream>
-#include <boost/algorithm/string.hpp>
#include "cross.h"
#include "compose.hpp"
#include "log.h"
+#include "exceptions.h"
+#include <boost/algorithm/string.hpp>
#ifdef DCPOMATIC_LINUX
#include <unistd.h>
#include <mntent.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif
-#include "exceptions.h"
+#include <fstream>
#include "i18n.h"
*/
-#include <dcp/dcp.h>
-#include <dcp/exceptions.h>
#include "dcp_content.h"
#include "dcp_examiner.h"
#include "job.h"
#include "film.h"
#include "config.h"
#include "compose.hpp"
+#include <dcp/dcp.h>
+#include <dcp/exceptions.h>
#include "i18n.h"
* @brief A description of the type of content for a DCP (e.g. feature, trailer etc.)
*/
-#include <cassert>
#include "dcp_content_type.h"
+#include <cassert>
#include "i18n.h"
*/
+#include "dcp_decoder.h"
+#include "dcp_content.h"
+#include "j2k_image_proxy.h"
+#include "image.h"
+#include "config.h"
#include <dcp/dcp.h>
#include <dcp/cpl.h>
#include <dcp/reel.h>
#include <dcp/mono_picture_frame.h>
#include <dcp/stereo_picture_frame.h>
#include <dcp/sound_frame.h>
-#include "dcp_decoder.h"
-#include "dcp_content.h"
-#include "j2k_image_proxy.h"
-#include "image.h"
-#include "config.h"
using std::list;
using std::cout;
*/
+#include "dcp_examiner.h"
+#include "dcp_content.h"
+#include "exceptions.h"
+#include "image.h"
+#include "config.h"
#include <dcp/dcp.h>
#include <dcp/cpl.h>
#include <dcp/reel.h>
#include <dcp/stereo_picture_mxf.h>
#include <dcp/stereo_picture_frame.h>
#include <dcp/sound_mxf.h>
-#include "dcp_examiner.h"
-#include "dcp_content.h"
-#include "exceptions.h"
-#include "image.h"
-#include "config.h"
#include "i18n.h"
*/
+#include "dcp_subtitle_content.h"
#include <dcp/subtitle_content.h>
#include <dcp/raw_convert.h>
-#include "dcp_subtitle_content.h"
#include "i18n.h"
*/
-#include <dcp/subtitle_content.h>
#include "dcp_subtitle_decoder.h"
#include "dcp_subtitle_content.h"
+#include <dcp/subtitle_content.h>
using std::list;
using std::cout;
* of images that require encoding.
*/
-#include <stdint.h>
-#include <cstring>
-#include <cstdlib>
-#include <stdexcept>
-#include <cstdio>
-#include <iomanip>
-#include <iostream>
-#include <fstream>
-#include <unistd.h>
-#include <errno.h>
-#include <boost/array.hpp>
-#include <boost/asio.hpp>
-#include <boost/filesystem.hpp>
-#include <boost/lexical_cast.hpp>
-#include <dcp/gamma_lut.h>
-#include <dcp/xyz_frame.h>
-#include <dcp/rgb_xyz.h>
-#include <dcp/colour_matrix.h>
-#include <dcp/raw_convert.h>
-#include <libcxml/cxml.h>
#include "film.h"
#include "dcp_video.h"
#include "config.h"
#include "cross.h"
#include "player_video.h"
#include "encoded_data.h"
+#include <libcxml/cxml.h>
+#include <dcp/gamma_lut.h>
+#include <dcp/xyz_frame.h>
+#include <dcp/rgb_xyz.h>
+#include <dcp/colour_matrix.h>
+#include <dcp/raw_convert.h>
+#include <boost/array.hpp>
+#include <boost/asio.hpp>
+#include <boost/filesystem.hpp>
+#include <boost/lexical_cast.hpp>
+#include <stdint.h>
+#include <cstring>
+#include <cstdlib>
+#include <stdexcept>
+#include <cstdio>
+#include <iomanip>
+#include <iostream>
+#include <fstream>
+#include <unistd.h>
+#include <errno.h>
#define LOG_GENERAL(...) _log->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
* @brief Parent class for classes which can encode video and audio frames.
*/
-#include <iostream>
-#include <boost/lambda/lambda.hpp>
-#include <libcxml/cxml.h>
#include "encoder.h"
#include "util.h"
#include "film.h"
#include "server_finder.h"
#include "player.h"
#include "player_video.h"
+#include <libcxml/cxml.h>
+#include <boost/lambda/lambda.hpp>
+#include <iostream>
#include "i18n.h"
#include <cstdlib>
#include <iomanip>
-
#include "i18n.h"
using std::string;