void successful_dcp_encode ();
- void write () const;
- void read ();
+ void write () const override;
+ void read () override;
boost::signals2::signal<void (std::string, std::string)> Message;
public:
AudioDecoder (Decoder* parent, std::shared_ptr<const AudioContent> content, bool fast);
- boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film> film) const;
+ boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film> film) const override;
void emit (std::shared_ptr<const Film> film, AudioStreamPtr stream, std::shared_ptr<const AudioBuffers>, dcpomatic::ContentTime, bool time_already_delayed = false);
- void seek ();
+ void seek () override;
void flush ();
dcpomatic::ContentTime stream_position (std::shared_ptr<const Film> film, AudioStreamPtr stream) const;
CheckContentChangeJob (std::shared_ptr<const Film>);
~CheckContentChangeJob ();
- std::string name () const;
- std::string json_name () const;
- void run ();
+ std::string name () const override;
+ std::string json_name () const override;
+ void run () override;
};
public:
CombineDCPJob (std::vector<boost::filesystem::path> inputs, boost::filesystem::path output, std::string annotation_text);
- std::string name () const;
- std::string json_name () const;
- void run ();
+ std::string name () const override;
+ std::string json_name () const override;
+ void run () override;
private:
std::vector<boost::filesystem::path> _inputs;
static boost::signals2::signal<bool (BadReason)> Bad;
- void write () const;
+ void write () const override;
void write_config () const;
void write_cinemas () const;
void write_dkdm_recipients () const;
private:
Config ();
- void read ();
+ void read () override;
void set_defaults ();
void set_kdm_email_to_default ();
void set_notification_email_to_default ();
size_t read_callback (void* ptr, size_t size, size_t nmemb);
protected:
- virtual void create_directory (boost::filesystem::path directory);
- virtual void upload_file (boost::filesystem::path from, boost::filesystem::path to, boost::uintmax_t& transferred, boost::uintmax_t total_size);
+ void create_directory (boost::filesystem::path directory) override;
+ void upload_file (boost::filesystem::path from, boost::filesystem::path to, boost::uintmax_t& transferred, boost::uintmax_t total_size) override;
private:
CURL* _curl;
return std::dynamic_pointer_cast<const DCPContent> (Content::shared_from_this ());
}
- dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const;
- dcpomatic::DCPTime approximate_length () const;
+ dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override;
+ dcpomatic::DCPTime approximate_length () const override;
- void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>);
- std::string summary () const;
- std::string technical_summary () const;
- void as_xml (xmlpp::Node *, bool with_paths) const;
- std::string identifier () const;
- void take_settings_from (std::shared_ptr<const Content> c);
+ void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>) override;
+ std::string summary () const override;
+ std::string technical_summary () const override;
+ void as_xml (xmlpp::Node *, bool with_paths) const override;
+ std::string identifier () const override;
+ void take_settings_from (std::shared_ptr<const Content> c) override;
void set_default_colour_conversion ();
- std::list<dcpomatic::DCPTime> reel_split_points (std::shared_ptr<const Film> film) const;
+ std::list<dcpomatic::DCPTime> reel_split_points (std::shared_ptr<const Film> film) const override;
std::vector<boost::filesystem::path> directories () const;
private:
friend struct reels_test5;
- void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty>& p) const;
+ void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty>& p) const override;
void read_directory (boost::filesystem::path);
void read_sub_directory (boost::filesystem::path);
DCPSubtitleContent (boost::filesystem::path);
DCPSubtitleContent (cxml::ConstNodePtr, int);
- void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>);
- std::string summary () const;
- std::string technical_summary () const;
- void as_xml (xmlpp::Node *, bool with_paths) const;
- dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const;
- dcpomatic::DCPTime approximate_length () const;
+ void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>) override;
+ std::string summary () const override;
+ std::string technical_summary () const override;
+ void as_xml (xmlpp::Node *, bool with_paths) const override;
+ dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override;
+ dcpomatic::DCPTime approximate_length () const override;
private:
dcpomatic::ContentTime _length;
public:
DCPSubtitleDecoder (std::shared_ptr<const Film> film, std::shared_ptr<const DCPSubtitleContent>);
- bool pass ();
- void seek (dcpomatic::ContentTime time, bool accurate);
+ bool pass () override;
+ void seek (dcpomatic::ContentTime time, bool accurate) override;
- std::vector<dcpomatic::FontData> fonts () const;
+ std::vector<dcpomatic::FontData> fonts () const override;
private:
dcpomatic::ContentTimePeriod content_time_period (std::shared_ptr<const dcp::Subtitle> s) const;
explicit DKDMRecipient (cxml::ConstNodePtr);
- void as_xml (xmlpp::Element *) const;
+ void as_xml (xmlpp::Element *) const override;
std::list<std::string> emails;
int utc_offset_hour;
: _dkdm (k)
{}
- std::string name () const;
- void as_xml (xmlpp::Element *) const;
+ std::string name () const override;
+ void as_xml (xmlpp::Element *) const override;
dcp::EncryptedKDM dkdm () const {
return _dkdm;
: _name (name)
{}
- std::string name () const {
+ std::string name () const override {
return _name;
}
- void as_xml (xmlpp::Element *) const;
+ void as_xml (xmlpp::Element *) const override;
std::list<std::shared_ptr<DKDMBase>> children () const {
return _children;
EncodeServer (bool verbose, int num_threads);
~EncodeServer ();
- void run ();
+ void run () override;
private:
- void handle (std::shared_ptr<Socket>);
+ void handle (std::shared_ptr<Socket>) override;
void worker_thread ();
int process (std::shared_ptr<Socket> socket, struct timeval &, struct timeval &);
void broadcast_thread ();
public:
EncodedLogEntry (int frame, std::string ip, double receive, double encode, double send);
- std::string message () const;
+ std::string message () const override;
private:
int _frame;
ExamineContentJob (std::shared_ptr<const Film>, std::shared_ptr<Content>);
~ExamineContentJob ();
- std::string name () const;
- std::string json_name () const;
- void run ();
+ std::string name () const override;
+ std::string json_name () const override;
+ void run () override;
std::shared_ptr<Content> content () const {
return _content;
ExamineFFmpegSubtitlesJob (std::shared_ptr<const Film>, std::shared_ptr<FFmpegContent>);
~ExamineFFmpegSubtitlesJob ();
- std::string name () const;
- std::string json_name () const;
- void run ();
+ std::string name () const override;
+ std::string json_name () const override;
+ void run () override;
private:
std::shared_ptr<FFmpegContent> _content;
return std::dynamic_pointer_cast<const FFmpegContent> (Content::shared_from_this ());
}
- void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>);
- void take_settings_from (std::shared_ptr<const Content> c);
- std::string summary () const;
- std::string technical_summary () const;
- void as_xml (xmlpp::Node *, bool with_paths) const;
- dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const;
- dcpomatic::DCPTime approximate_length () const;
+ void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>) override;
+ void take_settings_from (std::shared_ptr<const Content> c) override;
+ std::string summary () const override;
+ std::string technical_summary () const override;
+ void as_xml (xmlpp::Node *, bool with_paths) const override;
+ dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override;
+ dcpomatic::DCPTime approximate_length () const override;
- std::string identifier () const;
+ std::string identifier () const override;
void set_default_colour_conversion ();
void signal_subtitle_stream_changed ();
private:
- void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty> &) const;
+ void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty> &) const override;
friend struct ffmpeg_pts_offset_test;
friend struct audio_sampling_rate_test;
Result image (
Image::Alignment alignment,
boost::optional<dcp::Size> size = boost::optional<dcp::Size> ()
- ) const;
+ ) const override;
- void add_metadata (xmlpp::Node *) const;
- void write_to_socket (std::shared_ptr<Socket>) const;
- bool same (std::shared_ptr<const ImageProxy> other) const;
- size_t memory_used () const;
+ void add_metadata (xmlpp::Node *) const override;
+ void write_to_socket (std::shared_ptr<Socket>) const override;
+ bool same (std::shared_ptr<const ImageProxy> other) const override;
+ size_t memory_used () const override;
int avio_read (uint8_t* buffer, int const amount);
int64_t avio_seek (int64_t const pos, int whence);
explicit FileLog (boost::filesystem::path file);
FileLog (boost::filesystem::path file, int types);
- std::string head_and_tail (int amount = 1024) const;
+ std::string head_and_tail (int amount = 1024) const override;
private:
- void do_log (std::shared_ptr<const LogEntry> entry);
+ void do_log (std::shared_ptr<const LogEntry> entry) override;
/** filename to write to */
boost::filesystem::path _file;
return std::dynamic_pointer_cast<const ImageContent> (Content::shared_from_this ());
};
- void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>);
- std::string summary () const;
- std::string technical_summary () const;
- void as_xml (xmlpp::Node *, bool with_paths) const;
- dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const;
- dcpomatic::DCPTime approximate_length () const;
+ void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>) override;
+ std::string summary () const override;
+ std::string technical_summary () const override;
+ void as_xml (xmlpp::Node *, bool with_paths) const override;
+ dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override;
+ dcpomatic::DCPTime approximate_length () const override;
- std::string identifier () const;
+ std::string identifier () const override;
void set_default_colour_conversion ();
bool still () const;
private:
- void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty>& p) const;
+ void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty>& p) const override;
boost::optional<boost::filesystem::path> _path_to_scan;
};
Result image (
Image::Alignment alignment,
boost::optional<dcp::Size> size = boost::optional<dcp::Size> ()
- ) const;
+ ) const override;
- void add_metadata (xmlpp::Node *) const;
- void write_to_socket (std::shared_ptr<Socket>) const;
+ void add_metadata (xmlpp::Node *) const override;
+ void write_to_socket (std::shared_ptr<Socket> override) const override;
/** @return true if our image is definitely the same as another, false if it is probably not */
- bool same (std::shared_ptr<const ImageProxy>) const;
- int prepare (Image::Alignment alignment, boost::optional<dcp::Size> = boost::optional<dcp::Size>()) const;
+ bool same (std::shared_ptr<const ImageProxy>) const override;
+ int prepare (Image::Alignment alignment, boost::optional<dcp::Size> = boost::optional<dcp::Size>()) const override;
std::shared_ptr<const dcp::Data> j2k () const {
return _data;
return _eye;
}
- size_t memory_used () const;
+ size_t memory_used () const override;
private:
std::shared_ptr<const dcp::Data> _data;
class MidSideDecoder : public AudioProcessor
{
public:
- std::string name () const;
- std::string id () const;
- int out_channels () const;
- std::shared_ptr<AudioProcessor> clone (int) const;
- std::shared_ptr<AudioBuffers> run (std::shared_ptr<const AudioBuffers>, int channels);
- void make_audio_mapping_default (AudioMapping& mapping) const;
- std::vector<NamedChannel> input_names () const;
+ std::string name () const override;
+ std::string id () const override;
+ int out_channels () const override;
+ std::shared_ptr<AudioProcessor> clone (int) const override;
+ std::shared_ptr<AudioBuffers> run (std::shared_ptr<const AudioBuffers>, int channels) override;
+ void make_audio_mapping_default (AudioMapping& mapping) const override;
+ std::vector<NamedChannel> input_names () const override;
};
class NullLog : public Log
{
private:
- void do_log (std::shared_ptr<const LogEntry>) {}
+ void do_log (std::shared_ptr<const LogEntry>) override {}
};
Result image (
Image::Alignment alignment,
boost::optional<dcp::Size> size = boost::optional<dcp::Size> ()
- ) const;
+ ) const override;
- void add_metadata (xmlpp::Node *) const;
- void write_to_socket (std::shared_ptr<Socket>) const;
- bool same (std::shared_ptr<const ImageProxy>) const;
- size_t memory_used () const;
+ void add_metadata (xmlpp::Node *) const override;
+ void write_to_socket (std::shared_ptr<Socket>) const override;
+ bool same (std::shared_ptr<const ImageProxy>) const override;
+ size_t memory_used () const override;
private:
std::shared_ptr<Image> _image;
explicit Screen (cxml::ConstNodePtr);
- void as_xml (xmlpp::Element *) const;
+ void as_xml (xmlpp::Element *) const override;
std::vector<std::string> trusted_device_thumbprints () const;
std::shared_ptr<Cinema> cinema;
~SendKDMEmailJob ();
- std::string name () const;
- std::string json_name () const;
- void run ();
+ std::string name () const override;
+ std::string json_name () const override;
+ void run () override;
private:
dcp::NameFormat _container_name_format;
explicit StdoutLog (int types);
private:
- void do_log (std::shared_ptr<const LogEntry> entry);
+ void do_log (std::shared_ptr<const LogEntry> entry) override;
};
public:
StringLogEntry (int type, std::string message);
- std::string message () const {
+ std::string message () const override {
return _message;
}
return std::dynamic_pointer_cast<const StringTextFileContent> (Content::shared_from_this ());
}
- void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>);
- std::string summary () const;
- std::string technical_summary () const;
- void as_xml (xmlpp::Node *, bool with_paths) const;
- dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const;
- dcpomatic::DCPTime approximate_length () const;
- std::string identifier () const;
+ void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>) override;
+ std::string summary () const override;
+ std::string technical_summary () const override;
+ void as_xml (xmlpp::Node *, bool with_paths) const override;
+ dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override;
+ dcpomatic::DCPTime approximate_length () const override;
+ std::string identifier () const override;
private:
dcpomatic::ContentTime _length;
public:
StringTextFileDecoder (std::shared_ptr<const Film> film, std::shared_ptr<const StringTextFileContent>);
- void seek (dcpomatic::ContentTime time, bool accurate);
- bool pass ();
+ void seek (dcpomatic::ContentTime time, bool accurate) override;
+ bool pass () override;
- std::vector<dcpomatic::FontData> fonts () const;
+ std::vector<dcpomatic::FontData> fonts () const override;
private:
dcpomatic::ContentTimePeriod content_time_period (sub::Subtitle s) const;
dcpomatic::ContentTime first
);
- boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film>) const {
+ boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film>) const override {
return _position;
}
void emit_plain (dcpomatic::ContentTimePeriod period, sub::Subtitle const & subtitle);
void emit_stop (dcpomatic::ContentTime to);
- void seek ();
+ void seek () override;
std::shared_ptr<const TextContent> content () const {
return _content;
explicit UploadJob (std::shared_ptr<const Film>);
~UploadJob ();
- std::string name () const;
- std::string json_name () const;
- void run ();
- std::string status () const;
+ std::string name () const override;
+ std::string json_name () const override;
+ void run () override;
+ std::string status () const override;
private:
void set_status (std::string);
public:
explicit UpmixerA (int sampling_rate);
- std::string name () const;
- std::string id () const;
- int out_channels () const;
- std::shared_ptr<AudioProcessor> clone (int) const;
- std::shared_ptr<AudioBuffers> run (std::shared_ptr<const AudioBuffers>, int channels);
- void flush ();
- void make_audio_mapping_default (AudioMapping& mapping) const;
- std::vector<NamedChannel> input_names () const;
+ std::string name () const override;
+ std::string id () const override;
+ int out_channels () const override;
+ std::shared_ptr<AudioProcessor> clone (int) const override;
+ std::shared_ptr<AudioBuffers> run (std::shared_ptr<const AudioBuffers>, int channels) override;
+ void flush () override;
+ void make_audio_mapping_default (AudioMapping& mapping) const override;
+ std::vector<NamedChannel> input_names () const override;
private:
BandPassAudioFilter _left;
public:
explicit UpmixerB (int sampling_rate);
- std::string name () const;
- std::string id () const;
- int out_channels () const;
- std::shared_ptr<AudioProcessor> clone (int) const;
- std::shared_ptr<AudioBuffers> run (std::shared_ptr<const AudioBuffers>, int channels);
- void flush ();
- void make_audio_mapping_default (AudioMapping& mapping) const;
- std::vector<NamedChannel> input_names () const;
+ std::string name () const override;
+ std::string id () const override;
+ int out_channels () const override;
+ std::shared_ptr<AudioProcessor> clone (int) const override;
+ std::shared_ptr<AudioBuffers> run (std::shared_ptr<const AudioBuffers>, int channels) override;
+ void flush () override;
+ void make_audio_mapping_default (AudioMapping& mapping) const override;
+ std::vector<NamedChannel> input_names () const override;
private:
LowPassAudioFilter _lfe;
friend struct ffmpeg_pts_offset_test;
friend void ffmpeg_decoder_sequential_test_one (boost::filesystem::path file, float fps, int gaps, int video_length);
- boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film>) const {
+ boost::optional<dcpomatic::ContentTime> position (std::shared_ptr<const Film>) const override {
return _position;
}
- void seek ();
+ void seek () override;
void emit (std::shared_ptr<const Film> film, std::shared_ptr<const ImageProxy>, Frame frame);
boost::signals2::signal<void (ContentVideo)> Data;
private:
- bool OnInit ()
+ bool OnInit () override
{
try {
wxInitAllImageHandlers ();
return true;
}
- void OnInitCmdLine (wxCmdLineParser& parser)
+ void OnInitCmdLine (wxCmdLineParser& parser) override
{
parser.SetDesc (command_line_description);
parser.SetSwitchChars (wxT ("-"));
}
- bool OnCmdLineParsed (wxCmdLineParser& parser)
+ bool OnCmdLineParsed (wxCmdLineParser& parser) override
{
if (parser.Found (wxT("version"))) {
cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
}
/* An unhandled exception has occurred inside the main event loop */
- bool OnExceptionInMainLoop ()
+ bool OnExceptionInMainLoop () override
{
report_exception ();
/* This will terminate the program */
return false;
}
- void OnUnhandledException ()
+ void OnUnhandledException () override
{
report_exception ();
}
, _frame (frame)
{}
- void handle (shared_ptr<Socket> socket)
+ void handle (shared_ptr<Socket> socket) override
{
try {
int const length = socket->read_uint32 ();
class App : public wxApp
{
- bool OnInit ()
+ bool OnInit () override
{
wxInitAllImageHandlers ();
signal_manager->ui_idle ();
}
- void OnInitCmdLine (wxCmdLineParser& parser)
+ void OnInitCmdLine (wxCmdLineParser& parser) override
{
parser.SetDesc (command_line_description);
parser.SetSwitchChars (wxT ("-"));
}
- bool OnCmdLineParsed (wxCmdLineParser& parser)
+ bool OnCmdLineParsed (wxCmdLineParser& parser) override
{
for (size_t i = 0; i < parser.GetParamCount(); ++i) {
films_to_load.push_back (wx_to_std(parser.GetParam(i)));
: _frame (nullptr)
{}
- bool OnInit ()
+ bool OnInit () override
{
try {
Config::FailedToLoad.connect (boost::bind (&App::config_failed_to_load, this));
return true;
}
- void OnInitCmdLine (wxCmdLineParser& parser)
+ void OnInitCmdLine (wxCmdLineParser& parser) override
{
parser.SetDesc (command_line_description);
parser.SetSwitchChars (wxT ("-"));
}
- bool OnCmdLineParsed (wxCmdLineParser& parser)
+ bool OnCmdLineParsed (wxCmdLineParser& parser) override
{
_skip_alpha_check = parser.Found(wxT("sure"));
}
}
- bool OnExceptionInMainLoop ()
+ bool OnExceptionInMainLoop () override
{
report_exception ();
/* This will terminate the program */
return false;
}
- void OnUnhandledException ()
+ void OnUnhandledException () override
{
report_exception ();
}
private:
- bool OnInit ()
+ bool OnInit () override
{
wxSplashScreen* splash = nullptr;
return false;
}
- void OnUnhandledException ()
+ void OnUnhandledException () override
{
error_dialog (nullptr, _("An unknown exception occurred.") + " " + REPORT_PROBLEM);
}
, _frame (frame)
{}
- void handle (shared_ptr<Socket> socket)
+ void handle (shared_ptr<Socket> socket) override
{
try {
int const length = socket->read_uint32 ();
private:
- bool OnInit ()
+ bool OnInit () override
{
wxSplashScreen* splash = nullptr;
try {
return true;
}
- void OnInitCmdLine (wxCmdLineParser& parser)
+ void OnInitCmdLine (wxCmdLineParser& parser) override
{
parser.SetDesc (command_line_description);
parser.SetSwitchChars (wxT ("-"));
}
- bool OnCmdLineParsed (wxCmdLineParser& parser)
+ bool OnCmdLineParsed (wxCmdLineParser& parser) override
{
if (parser.GetParamCount() > 0) {
_dcp_to_load = wx_to_std (parser.GetParam (0));
}
/* An unhandled exception has occurred inside the main event loop */
- bool OnExceptionInMainLoop ()
+ bool OnExceptionInMainLoop () override
{
report_exception ();
/* This will terminate the program */
return false;
}
- void OnUnhandledException ()
+ void OnUnhandledException () override
{
report_exception ();
}
return _content_view->selected ();
}
- shared_ptr<Content> get (string digest) const
+ shared_ptr<Content> get (string digest) const override
{
return _content_view->get (digest);
}
private:
- bool OnInit ()
+ bool OnInit () override
try
{
wxInitAllImageHandlers ();
}
/* An unhandled exception has occurred inside the main event loop */
- bool OnExceptionInMainLoop ()
+ bool OnExceptionInMainLoop () override
{
try {
throw;
return false;
}
- void OnUnhandledException ()
+ void OnUnhandledException () override
{
error_dialog (0, _("An unknown exception occurred.") + " " + REPORT_PROBLEM);
}
boost::signals2::signal<void(int)> Removed;
private:
- void do_log (shared_ptr<const LogEntry> entry)
+ void do_log (shared_ptr<const LogEntry> entry) override
{
time_t const s = entry->seconds ();
struct tm* local = localtime (&s);
Bind (wxEVT_MENU, boost::bind (&TaskBarIcon::quit, this), ID_quit);
}
- wxMenu* CreatePopupMenu ()
+ wxMenu* CreatePopupMenu () override
{
auto menu = new wxMenu;
menu->Append (ID_status, std_to_wx ("Status..."));
private:
- bool OnInit ()
+ bool OnInit () override
{
if (!wxApp::OnInit()) {
return false;
return true;
}
- int OnExit ()
+ int OnExit () override
{
delete _icon;
return wxApp::OnExit ();
public:
AudioDialog (wxWindow* parent, std::shared_ptr<Film> film, std::weak_ptr<FilmViewer> viewer, std::shared_ptr<Content> content = std::shared_ptr<Content>());
- bool Show (bool show = true);
+ bool Show (bool show = true) override;
void set_cursor (boost::optional<dcpomatic::DCPTime> time, boost::optional<float> db);
public:
BarcoAlchemyCertificatePanel (DownloadCertificateDialog* dialog);
- bool ready_to_download () const;
- void do_download ();
- wxString name () const;
+ bool ready_to_download () const override;
+ void do_download () override;
+ wxString name () const override;
};
BatchJobView (std::shared_ptr<Job> job, wxWindow* parent, wxWindow* container, wxFlexGridSizer* table);
private:
- int insert_position () const;
- void job_list_changed ();
+ int insert_position () const override;
+ void job_list_changed () override;
- void finish_setup (wxWindow* parent, wxSizer* sizer);
+ void finish_setup (wxWindow* parent, wxSizer* sizer) override;
void higher_priority_clicked ();
void lower_priority_clicked ();
public:
CheckBox (wxWindow* parent, wxString label);
- void set_text (wxString text);
- wxString get_text () const;
+ void set_text (wxString text) override;
+ wxString get_text () const override;
};
public:
ChristieCertificatePanel (DownloadCertificateDialog* dialog);
- void do_download ();
- wxString name () const;
+ void do_download () override;
+ wxString name () const override;
};
Page (wxSize panel_size, int border);
virtual ~Page () {}
- wxWindow* CreateWindow (wxWindow* parent);
+ wxWindow* CreateWindow (wxWindow* parent) override;
protected:
wxWindow* create_window (wxWindow* parent);
public:
GeneralPage (wxSize panel_size, int border);
- wxString GetName () const;
+ wxString GetName () const override;
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("general"), wxBITMAP_TYPE_PNG);
}
protected:
void add_language_controls (wxGridBagSizer* table, int& r);
void add_update_controls (wxGridBagSizer* table, int& r);
- virtual void config_changed ();
+ void config_changed () override;
private:
void setup_sensitivity ();
: Page (panel_size, border)
{}
- wxString GetName () const;
+ wxString GetName () const override;
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("keys"), wxBITMAP_TYPE_PNG);
}
private:
- void setup ();
+ void setup () override;
void export_decryption_certificate ();
- void config_changed () {}
+ void config_changed () override {}
bool nag_alter_decryption_chain ();
void decryption_advanced ();
void signing_advanced ();
: Page (panel_size, border)
{}
- wxString GetName() const;
+ wxString GetName() const override;
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("sound"), wxBITMAP_TYPE_PNG);
}
private:
- void setup ();
- void config_changed ();
+ void setup () override;
+ void config_changed () override;
boost::optional<std::string> get_sound_output ();
void sound_changed ();
void sound_output_changed ();
public:
LocationsPage (wxSize panel_size, int border);
- wxString GetName () const;
+ wxString GetName () const override;
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const;
+ wxBitmap GetLargeIcon () const override;
#endif
private:
- void setup ();
- void config_changed ();
+ void setup () override;
+ void config_changed () override;
void content_directory_changed ();
void playlist_directory_changed ();
void kdm_directory_changed ();
public:
LimitedSplitter (wxWindow* parent);
- bool OnSashPositionChange (int new_position)
+ bool OnSashPositionChange (int new_position) override
{
/* Try to stop the top bit of the splitter getting so small that buttons disappear */
return new_position > 220;
std::shared_ptr<Content> selected () const;
void update ();
- std::shared_ptr<Content> get (std::string digest) const;
+ std::shared_ptr<Content> get (std::string digest) const override;
private:
void add (std::shared_ptr<Content> content);
std::function<void ()> unset_password
);
- virtual bool ready_to_download () const;
+ bool ready_to_download () const override;
private:
void username_changed ();
public:
Button (wxWindow* parent, wxString label, wxPoint pos = wxDefaultPosition, wxSize = wxDefaultSize, long style = 0);
- void set_text (wxString text);
- wxString get_text () const;
+ void set_text (wxString text) override;
+ wxString get_text () const override;
};
#endif
{}
private:
- void setup ()
+ void setup () override
{
auto table = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
_panel->GetSizer()->Add (table, 1, wxALL | wxEXPAND, _border);
_automatic_audio_analysis->Bind (wxEVT_CHECKBOX, boost::bind (&FullGeneralPage::automatic_audio_analysis_changed, this));
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
: Page (panel_size, border)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Defaults");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("defaults"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
}
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
: Page (panel_size, border)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Servers");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("servers"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
_use_any_servers = new CheckBox (_panel, _("Search network for servers"));
_panel->GetSizer()->Add (_use_any_servers, 0, wxALL, _border);
_use_any_servers->Bind (wxEVT_CHECKBOX, boost::bind(&EncodingServersPage::use_any_servers_changed, this));
}
- void config_changed ()
+ void config_changed () override
{
checked_set (_use_any_servers, Config::instance()->use_any_servers ());
_servers_list->refresh ();
: Page (panel_size, border)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("TMS");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("tms"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
_upload = new CheckBox (_panel, _("Upload DCP to TMS after creation"));
_panel->GetSizer()->Add (_upload, 0, wxALL | wxEXPAND, _border);
_tms_password->Changed.connect (boost::bind (&TMSPage::tms_password_changed, this));
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
: Page (panel_size, border)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Email");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("email"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
_send_test_email->Bind (wxEVT_BUTTON, boost::bind(&EmailPage::send_test_email_clicked, this));
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
#endif
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("KDM Email");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("kdm_email"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
_reset_email->Bind (wxEVT_BUTTON, boost::bind (&KDMEmailPage::reset_email, this));
}
- void config_changed ()
+ void config_changed () override
{
- Config* config = Config::instance ();
+ auto config = Config::instance ();
checked_set (_subject, config->kdm_subject ());
checked_set (_from, config->kdm_from ());
#endif
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Notifications");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("notifications"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
_reset_email->Enable(s);
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
#endif
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Cover Sheet");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("cover_sheet"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
_cover_sheet = new wxTextCtrl (_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize (-1, 200), wxTE_MULTILINE);
_panel->GetSizer()->Add (_cover_sheet, 0, wxEXPAND | wxALL, _border);
_reset_cover_sheet->Bind (wxEVT_BUTTON, boost::bind (&CoverSheetPage::reset_cover_sheet, this));
}
- void config_changed ()
+ void config_changed () override
{
checked_set (_cover_sheet, Config::instance()->cover_sheet());
}
: Page (panel_size, border)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Identifiers");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("identifiers"), wxBITMAP_TYPE_PNG);
}
#endif
private:
- void setup ()
+ void setup () override
{
auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
_j2k_comment->Bind (wxEVT_TEXT, boost::bind(&IdentifiersPage::j2k_comment_changed, this));
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
checked_set (_issuer, config->dcp_issuer ());
: Page (panel_size, border)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Advanced");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap(bitmap_path("advanced"), wxBITMAP_TYPE_PNG);
}
table->Add (m, 0, flags, DCPOMATIC_SIZER_Y_GAP);
}
- void setup ()
+ void setup () override
{
auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
#endif
}
- void config_changed ()
+ void config_changed () override
{
auto config = Config::instance ();
}
private:
- wxString OnGetItemText (long item, long column) const
+ wxString OnGetItemText (long item, long column) const override
{
if (column == 0) {
return _matching_subtags[item].subtag;
public:
GDCCertificatePanel (DownloadCertificateDialog* dialog);
- void do_download ();
- wxString name () const;
+ void do_download () override;
+ wxString name () const override;
};
void setup ();
private:
- int insert_position () const;
- void finish_setup (wxWindow* parent, wxSizer* sizer);
+ int insert_position () const override;
+ void finish_setup (wxWindow* parent, wxSizer* sizer) override;
void pause_clicked ();
- void finished ();
+ void finished () override;
wxButton* _pause = nullptr;
};
{}
private:
- void setup ()
+ void setup () override
{
wxGridBagSizer* table = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
_panel->GetSizer()->Add (table, 1, wxALL | wxEXPAND, _border);
_debug_log_file->Bind (wxEVT_FILEPICKER_CHANGED, bind(&PlayerGeneralPage::debug_log_file_changed, this));
}
- void config_changed ()
+ void config_changed () override
{
GeneralPage::config_changed ();
, _log_timing (0)
{}
- wxString GetName () const
+ wxString GetName () const override
{
return _("Advanced");
}
#ifdef DCPOMATIC_OSX
- wxBitmap GetLargeIcon () const
+ wxBitmap GetLargeIcon () const override
{
return wxBitmap ("advanced", wxBITMAP_TYPE_PNG_RESOURCE);
}
table->Add (m, 0, flags, DCPOMATIC_SIZER_Y_GAP);
}
- void setup ()
+ void setup () override
{
- wxFlexGridSizer* table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
+ auto table = new wxFlexGridSizer (2, DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->AddGrowableCol (1, 1);
_panel->GetSizer()->Add (table, 1, wxALL | wxEXPAND, _border);
#endif
}
- void config_changed ()
+ void config_changed () override
{
- Config* config = Config::instance ();
+ auto config = Config::instance ();
checked_set (_log_general, config->log_types() & LogEntry::TYPE_GENERAL);
checked_set (_log_warning, config->log_types() & LogEntry::TYPE_WARNING);
wxPreferencesEditor*
create_player_config_dialog ()
{
- wxPreferencesEditor* e = new wxPreferencesEditor (_("DCP-o-matic Player Preferences"));
+ auto e = new wxPreferencesEditor (_("DCP-o-matic Player Preferences"));
#ifdef DCPOMATIC_OSX
/* Width that we force some of the config panels to be on OSX so that
the containing window doesn't shrink too much when we select those panels.
This is obviously an unpleasant hack.
*/
- wxSize ps = wxSize (520, -1);
+ auto ps = wxSize (520, -1);
int const border = 16;
#else
- wxSize ps = wxSize (-1, -1);
+ auto ps = wxSize (-1, -1);
int const border = 8;
#endif
public:
PlaylistControls (wxWindow* parent, std::shared_ptr<FilmViewer> viewer);
- void set_film (std::shared_ptr<Film> film);
+ void set_film (std::shared_ptr<Film> film) override;
/** This is so that we can tell our parent player to reset the film
when we have created one from a SPL. We could call a method
*/
boost::signals2::signal<void (std::weak_ptr<Film>)> ResetFilm;
- void play ();
- void stop ();
+ void play () override;
+ void stop () override;
private:
void play_clicked ();
void update_playlist_directory ();
void spl_selection_changed ();
void select_playlist (int selected, int position);
- void started ();
- void stopped ();
- void setup_sensitivity ();
- void config_changed (int);
+ void started () override;
+ void stopped () override;
+ void setup_sensitivity () override;
+ void config_changed (int) override;
void viewer_finished ();
void reset_film ();
void update_current_content ();
public:
StandardControls (wxWindow* parent, std::shared_ptr<FilmViewer> viewer, bool editor_controls);
- void play ();
- void stop ();
+ void play () override;
+ void stop () override;
private:
void check_play_state ();
void play_clicked ();
- void started ();
- void stopped ();
- void setup_sensitivity ();
+ void started () override;
+ void stopped () override;
+ void setup_sensitivity () override;
wxToggleButton* _play_button;
};
public:
StaticText (wxWindow* parent, wxString label, wxPoint pos = wxDefaultPosition, wxSize = wxDefaultSize, long style = 0);
- void set_text (wxString text);
- wxString get_text () const;
+ void set_text (wxString text) override;
+ wxString get_text () const override;
};
public:
TimePickerSpin (wxWindow* parent, wxDateTime time);
- int hours () const;
- int minutes () const;
+ int hours () const override;
+ int minutes () const override;
private:
void changed ();
public:
TimePickerText (wxWindow* parent, wxDateTime time);
- int hours () const;
- int minutes () const;
+ int hours () const override;
+ int minutes () const override;
private:
void changed ();
TimelineTextContentView (Timeline& tl, std::shared_ptr<Content>, std::shared_ptr<TextContent>);
private:
- bool active () const;
- wxColour background_colour () const;
- wxColour foreground_colour () const;
+ bool active () const override;
+ wxColour background_colour () const override;
+ wxColour foreground_colour () const override;
std::shared_ptr<TextContent> _caption;
};
public:
TimelineTimeAxisView (Timeline& tl, int y);
- dcpomatic::Rect<int> bbox () const;
+ dcpomatic::Rect<int> bbox () const override;
void set_y (int y);
private:
- void do_paint (wxGraphicsContext* gc, std::list<dcpomatic::Rect<int>> overlaps);
+ void do_paint (wxGraphicsContext* gc, std::list<dcpomatic::Rect<int>> overlaps) override;
int _y; ///< y position in tracks (not pixels)
};
{
public:
explicit wxSignalManager (wxEvtHandler *);
- void wake_ui ();
+ void wake_ui () override;
private:
wxEvtHandler* _handler;
set_state (FINISHED_ERROR);
}
- void run ()
+ void run () override
{
while (true) {
if (finished ()) {
}
}
- string name () const {
+ string name () const override {
return "";
}
- string json_name () const {
+ string json_name () const override {
return "";
}
};