Ignore empty KDM email addresses (#818).
[dcpomatic.git] / src / lib / util.h
index 957453fb728e73e4d03c30ad67eac5ec24168074..142b21e963938c182e030f3f51647d39a2f0e2aa 100644 (file)
 #ifndef DCPOMATIC_UTIL_H
 #define DCPOMATIC_UTIL_H
 
-#include "compose.hpp"
 #include "types.h"
-#include "exceptions.h"
 #include "dcpomatic_time.h"
 #include <dcp/util.h>
-#include <dcp/picture_asset_writer.h>
-extern "C" {
-#include <libavcodec/avcodec.h>
-#include <libavfilter/avfilter.h>
-}
 #include <boost/shared_ptr.hpp>
 #include <boost/optional.hpp>
 #include <boost/filesystem.hpp>
@@ -45,26 +38,25 @@ extern "C" {
 namespace dcp {
        class PictureAsset;
        class SoundAsset;
-       class SubtitleAsset;
 }
 
 /** The maximum number of audio channels that we can have in a DCP */
-#define MAX_DCP_AUDIO_CHANNELS 12
+#define MAX_DCP_AUDIO_CHANNELS 16
 /** Message broadcast to find possible encoding servers */
-#define DCPOMATIC_HELLO "Boys, you gotta learn not to talk to nuns that way"
+#define DCPOMATIC_HELLO "I mean really, Ray, it's used."
 /** Number of films to keep in history */
 #define HISTORY_SIZE 10
 #define REPORT_PROBLEM _("Please report this problem by using Help -> Report a problem or via email to carl@dcpomatic.com")
 
 extern std::string program_name;
 
-class Job;
 struct AVSubtitle;
 
 extern std::string seconds_to_hms (int);
 extern std::string seconds_to_approximate_hms (int);
 extern double seconds (struct timeval);
 extern void dcpomatic_setup ();
+extern void dcpomatic_setup_path_encoding ();
 extern void dcpomatic_setup_gettext_i18n (std::string);
 extern std::string md5_digest_head_tail (std::vector<boost::filesystem::path>, boost::uintmax_t size);
 extern void ensure_ui_thread ();
@@ -76,35 +68,13 @@ extern boost::filesystem::path mo_path ();
 #endif
 extern std::string tidy_for_filename (std::string);
 extern dcp::Size fit_ratio_within (float ratio, dcp::Size);
-extern int dcp_audio_frame_rate (int);
 extern int stride_round_up (int, int const *, int);
-extern int round_to (float n, int r);
 extern void* wrapped_av_malloc (size_t);
-
-class FFmpegSubtitlePeriod
-{
-public:
-       FFmpegSubtitlePeriod (ContentTime f)
-               : from (f)
-       {}
-
-       FFmpegSubtitlePeriod (ContentTime f, ContentTime t)
-               : from (f)
-               , to (t)
-       {}
-
-       ContentTime from;
-       boost::optional<ContentTime> to;
-};
-
-extern FFmpegSubtitlePeriod subtitle_period (AVSubtitle const &);
 extern void set_backtrace_file (boost::filesystem::path);
-extern dcp::FrameInfo read_frame_info (FILE* file, int frame, Eyes eyes);
-extern void write_frame_info (FILE* file, int frame, Eyes eyes, dcp::FrameInfo info);
 extern std::map<std::string, std::string> split_get_request (std::string url);
 extern std::string video_asset_filename (boost::shared_ptr<dcp::PictureAsset> asset);
 extern std::string audio_asset_filename (boost::shared_ptr<dcp::SoundAsset> asset);
-extern std::string subtitle_content_filename (boost::shared_ptr<dcp::SubtitleAsset> content);
+extern float relaxed_string_to_float (std::string);
+extern bool string_not_empty (std::string);
 
 #endif
-