*/
-#include "wx/wx_signal_manager.h"
-#include "wx/wx_util.h"
+
#include "wx/about_dialog.h"
-#include "wx/report_problem_dialog.h"
#include "wx/film_viewer.h"
-#include "wx/player_information.h"
-#include "wx/update_dialog.h"
+#include "wx/nag_dialog.h"
#include "wx/player_config_dialog.h"
-#include "wx/verify_dcp_dialog.h"
-#include "wx/standard_controls.h"
+#include "wx/player_information.h"
+#include "wx/player_stress_tester.h"
#include "wx/playlist_controls.h"
-#include "wx/timer_display.h"
+#include "wx/report_problem_dialog.h"
+#include "wx/standard_controls.h"
#include "wx/system_information_dialog.h"
-#include "wx/player_stress_tester.h"
+#include "wx/timer_display.h"
+#include "wx/update_dialog.h"
+#include "wx/verify_dcp_dialog.h"
#include "wx/verify_dcp_progress_dialog.h"
-#include "wx/nag_dialog.h"
-#include "lib/cross.h"
-#include "lib/config.h"
-#include "lib/util.h"
-#include "lib/internet.h"
-#include "lib/update_checker.h"
+#include "wx/wx_signal_manager.h"
+#include "wx/wx_util.h"
#include "lib/compose.hpp"
+#include "lib/config.h"
+#include "lib/cross.h"
#include "lib/dcp_content.h"
-#include "lib/job_manager.h"
-#include "lib/job.h"
-#include "lib/film.h"
-#include "lib/null_log.h"
-#include "lib/video_content.h"
-#include "lib/text_content.h"
-#include "lib/ratio.h"
-#include "lib/verify_dcp_job.h"
#include "lib/dcp_examiner.h"
-#include "lib/examine_content_job.h"
-#include "lib/server.h"
+#include "lib/dcpomatic_log.h"
#include "lib/dcpomatic_socket.h"
-#include "lib/scoped_temporary.h"
+#include "lib/examine_content_job.h"
#include "lib/ffmpeg_content.h"
-#include "lib/dcpomatic_log.h"
#include "lib/file_log.h"
+#include "lib/film.h"
+#include "lib/internet.h"
+#include "lib/job.h"
+#include "lib/job_manager.h"
+#include "lib/null_log.h"
+#include "lib/ratio.h"
+#include "lib/scoped_temporary.h"
+#include "lib/server.h"
+#include "lib/text_content.h"
+#include "lib/update_checker.h"
+#include "lib/util.h"
+#include "lib/verify_dcp_job.h"
+#include "lib/video_content.h"
#include <dcp/cpl.h>
#include <dcp/dcp.h>
-#include <dcp/raw_convert.h>
#include <dcp/exceptions.h>
-#include <wx/wx.h>
-#include <wx/stdpaths.h>
-#include <wx/splash.h>
+#include <dcp/raw_convert.h>
#include <wx/cmdline.h>
+#include <wx/display.h>
#include <wx/preferences.h>
#include <wx/progdlg.h>
-#include <wx/display.h>
+#include <wx/splash.h>
+#include <wx/stdpaths.h>
+#include <wx/wx.h>
#ifdef __WXGTK__
#include <X11/Xlib.h>
#endif
-#include <boost/bind/bind.hpp>
#include <boost/algorithm/string.hpp>
+#include <boost/bind/bind.hpp>
#include <iostream>
+
#ifdef check
#undef check
#endif
#define MAX_CPLS 32
+
using std::cout;
using std::dynamic_pointer_cast;
using std::exception;
using std::string;
using std::vector;
using std::weak_ptr;
-using boost::scoped_array;
+using boost::bind;
using boost::optional;
+using boost::scoped_array;
using boost::thread;
-using boost::bind;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
using dcp::raw_convert;
using namespace dcpomatic;
+
enum {
ID_file_open = 1,
ID_file_add_ov,
ID_go_to_end
};
+
class DOMFrame : public wxFrame
{
public:
*/
-#include "lib/film.h"
-#include "lib/audio_analysis.h"
-#include "lib/playlist.h"
+
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/film.h"
+#include "lib/audio_analysis.h"
+#include "lib/playlist.h"
#include <boost/signals2.hpp>
+
class AudioPlot;
class FilmViewer;
class Film;
+
class AudioDialog : public wxDialog
{
public:
*/
-#include "lib/audio_mapping.h"
-#include "lib/types.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/audio_mapping.h"
+#include "lib/types.h"
#include <boost/signals2.hpp>
*/
-#include "lib/audio_mapping.h"
#include "content_sub_panel.h"
#include "content_widget.h"
+#include "lib/audio_mapping.h"
+
class wxSpinCtrlDouble;
class wxButton;
*/
-#include "lib/util.h"
-#include "lib/audio_analysis.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/util.h"
+#include "lib/audio_analysis.h"
#include <boost/signals2.hpp>
#include <vector>
*/
+#include <wx/sizer.h>
+#include <wx/button.h>
+
#include "batch_job_view.h"
#include "dcpomatic_button.h"
#include "lib/job_manager.h"
-#include <wx/sizer.h>
-#include <wx/button.h>
using std::list;
*/
+
#include "closed_captions_dialog.h"
#include "wx_util.h"
#include "film_viewer.h"
#include "lib/compose.hpp"
#include <boost/bind/bind.hpp>
+
using std::list;
using std::max;
using std::cout;
*/
-#include "lib/dcpomatic_time.h"
-#include "lib/player.h"
-#include "lib/text_ring_buffers.h"
+
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "lib/dcpomatic_time.h"
+#include "lib/player.h"
+#include "lib/text_ring_buffers.h"
+
+
class Butler;
class FilmViewer;
+
class ClosedCaptionsDialog : public wxDialog
{
public:
*/
+
#ifndef DCPOMATIC_CONTENT_MENU_H
#define DCPOMATIC_CONTENT_MENU_H
+
+#include <wx/wx.h>
+
#include "timeline_content_view.h"
#include "lib/types.h"
-#include <wx/wx.h>
#include <memory>
+
class Film;
class Job;
class DCPContent;
+
class ContentMenu
{
public:
*/
+
#ifndef DCPOMATIC_CONTENT_SUB_PANEL_H
#define DCPOMATIC_CONTENT_SUB_PANEL_H
-#include "lib/film.h"
+
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "lib/film.h"
+
class ContentPanel;
class Content;
class DCPContent;
class wxGridBagSizer;
+
class ContentSubPanel : public wxScrolledWindow
{
public:
#define DCPOMATIC_CONTROLS_H
-#include "lib/dcpomatic_time.h"
-#include "lib/types.h"
-#include "lib/film.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/dcpomatic_time.h"
+#include "lib/types.h"
+#include "lib/film.h"
#include <boost/signals2.hpp>
*/
-#include "lib/config.h"
-#include "lib/send_kdm_email_job.h"
-#include "lib/warnings.h"
+
+#include "check_box.h"
+#include "confirm_kdm_email_dialog.h"
+#include "dcpomatic_button.h"
#include "dkdm_output_panel.h"
#include "kdm_timing_panel.h"
-#include "confirm_kdm_email_dialog.h"
-#include "wx_util.h"
#include "name_format_editor.h"
-#include "check_box.h"
-#include "dcpomatic_button.h"
+#include "wx_util.h"
+#include "lib/config.h"
+#include "lib/send_kdm_email_job.h"
+#include "lib/warnings.h"
#include <dcp/exceptions.h>
#include <dcp/types.h>
#ifdef DCPOMATIC_USE_OWN_PICKER
#endif
#include <wx/stdpaths.h>
+
using std::pair;
using std::string;
using std::list;
*/
-#include "lib/kdm_with_metadata.h"
#include "wx_util.h"
#include "name_format_editor.h"
+#include "lib/kdm_with_metadata.h"
#include <dcp/types.h>
#include <wx/wx.h>
#include <boost/filesystem.hpp>
*/
#include "lib/warnings.h"
-#include <dcp/certificate.h>
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
#include <wx/notebook.h>
DCPOMATIC_ENABLE_WARNINGS
+#include <dcp/certificate.h>
+
class DownloadCertificatePanel;
class DownloadCertificateDialog : public wxDialog
#include "lib/warnings.h"
-#include <dcp/certificate.h>
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include <dcp/certificate.h>
#include <boost/optional.hpp>
*/
-#include "lib/film.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/film.h"
#include <boost/signals2.hpp>
*/
+#include "lib/warnings.h"
+DCPOMATIC_DISABLE_WARNINGS
+#include <wx/wx.h>
+DCPOMATIC_ENABLE_WARNINGS
+
#include "video_view.h"
#include "lib/film.h"
#include "lib/config.h"
#include "lib/player_text.h"
#include "lib/timer.h"
#include "lib/signaller.h"
-#include "lib/warnings.h"
#include <RtAudio.h>
-DCPOMATIC_DISABLE_WARNINGS
-#include <wx/wx.h>
-DCPOMATIC_ENABLE_WARNINGS
#include <vector>
*/
-#include "focus_manager.h"
+
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/textctrl.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "focus_manager.h"
+
+
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
+
FocusManager* FocusManager::_instance;
+
FocusManager *
FocusManager::instance()
{
*/
-#include "lib/dcpomatic_assert.h"
-#include "full_language_tag_dialog.h"
-#include <dcp/language_tag.h>
#include <wx/listctrl.h>
#include <wx/srchctrl.h>
#include <wx/wx.h>
+
+#include "lib/dcpomatic_assert.h"
+#include "full_language_tag_dialog.h"
+#include <dcp/language_tag.h>
#include <boost/algorithm/string.hpp>
#include <boost/bind/bind.hpp>
#include <boost/optional.hpp>
#include "lib/warnings.h"
-#include <dcp/language_tag.h>
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include <dcp/language_tag.h>
+
class wxListCtrl;
class LanguageSubtagPanel;
*/
-#include "video_view.h"
-#include "lib/signaller.h"
-#include "lib/position.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/glcanvas.h>
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "video_view.h"
+#include "lib/signaller.h"
+#include "lib/position.h"
#include <dcp/util.h>
#include <boost/atomic.hpp>
#include <boost/thread.hpp>
*/
+#include <wx/wx.h>
+
#include "job_view.h"
#include "wx_util.h"
#include "message_dialog.h"
#include "lib/send_notification_email_job.h"
#include "lib/transcode_job.h"
#include "lib/analyse_audio_job.h"
-#include <wx/wx.h>
#include <boost/algorithm/string.hpp>
*/
-#include "lib/types.h"
+
#include "lib/warnings.h"
-#include <boost/filesystem.hpp>
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "lib/types.h"
+#include <boost/filesystem.hpp>
+
+
class KDMCPLPanel : public wxPanel
{
public:
*/
-#include "lib/kdm_with_metadata.h"
#include "wx_util.h"
+#include <wx/wx.h>
+
+#include "lib/kdm_with_metadata.h"
#include "name_format_editor.h"
#include <dcp/types.h>
-#include <wx/wx.h>
#include <boost/filesystem.hpp>
class wxRadioButton;
*/
-#include "lib/config.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "lib/config.h"
+
class NagDialog : public wxDialog
{
#define DCPOMATIC_NAME_FORMAT_EDITOR_H
-#include "lib/compose.hpp"
#include "lib/warnings.h"
-#include <dcp/name_format.h>
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/compose.hpp"
+#include <dcp/name_format.h>
#include <boost/signals2.hpp>
*/
+#include <wx/wx.h>
+
#include "normal_job_view.h"
#include "dcpomatic_button.h"
#include "lib/job.h"
-#include <wx/wx.h>
using std::shared_ptr;
*/
-#include "lib/dkdm_recipient.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
#include <wx/srchctrl.h>
#include <wx/treectrl.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/dkdm_recipient.h"
#include <boost/signals2.hpp>
#include <list>
#include <map>
*/
+
#include "rgba_colour_picker.h"
#include "wx_util.h"
#include "static_text.h"
#include <wx/clrpicker.h>
DCPOMATIC_ENABLE_WARNINGS
+
RGBAColourPicker::RGBAColourPicker (wxWindow* parent, RGBA colour)
: wxPanel (parent, wxID_ANY)
{
- wxBoxSizer* sizer = new wxBoxSizer (wxHORIZONTAL);
+ auto sizer = new wxBoxSizer (wxHORIZONTAL);
_picker = new wxColourPickerCtrl (this, wxID_ANY);
_picker->SetColour (wxColour (colour.r, colour.g, colour.b));
SetSizer (sizer);
}
+
RGBA
RGBAColourPicker::colour () const
{
- wxColour const c = _picker->GetColour ();
+ auto const c = _picker->GetColour ();
return RGBA (c.Red(), c.Green(), c.Blue(), _alpha->GetValue());
}
+
void
RGBAColourPicker::set (RGBA colour)
{
*/
-#include "lib/rgba.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "lib/rgba.h"
+
+
class wxColourPickerCtrl;
class wxSlider;
+
class RGBAColourPicker : public wxPanel
{
public:
*/
-#include "lib/encode_server.h"
#include "server_dialog.h"
#include "wx_util.h"
+#include "lib/encode_server.h"
using std::string;
using std::shared_ptr;
*/
+
#include "servers_list_dialog.h"
#include "wx_util.h"
#include "lib/encode_server_finder.h"
#include "lib/encode_server_description.h"
#include <boost/lexical_cast.hpp>
+
using std::list;
using std::string;
using boost::lexical_cast;
+
ServersListDialog::ServersListDialog (wxWindow* parent)
: wxDialog (parent, wxID_ANY, _("Encoding Servers"))
{
servers_list_changed ();
}
+
void
ServersListDialog::servers_list_changed ()
{
*/
-#include "lib/encode_server.h"
+
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
#include <wx/listctrl.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/encode_server.h"
#include <boost/signals2.hpp>
+
class ServersListDialog : public wxDialog
{
public:
*/
-#include "video_view.h"
-#include "lib/position.h"
#include "lib/warnings.h"
-#include <dcp/types.h>
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "video_view.h"
+#include "lib/position.h"
+#include <dcp/types.h>
+
class FilmViewer;
class SimpleVideoView : public VideoView
*/
-#include "text_view.h"
+
#include "film_viewer.h"
+#include "text_view.h"
#include "wx_util.h"
-#include "lib/string_text_file_decoder.h"
-#include "lib/content_text.h"
-#include "lib/video_decoder.h"
#include "lib/audio_decoder.h"
-#include "lib/film.h"
#include "lib/config.h"
+#include "lib/content_text.h"
+#include "lib/film.h"
#include "lib/string_text_file_content.h"
+#include "lib/string_text_file_decoder.h"
#include "lib/text_decoder.h"
+#include "lib/video_decoder.h"
+
+using std::dynamic_pointer_cast;
using std::list;
using std::shared_ptr;
using std::weak_ptr;
using boost::bind;
-using std::dynamic_pointer_cast;
using namespace dcpomatic;
#if BOOST_VERSION >= 106100
using namespace boost::placeholders;
#endif
+
TextView::TextView (
wxWindow* parent, shared_ptr<Film> film, shared_ptr<Content> content, shared_ptr<TextContent> text, shared_ptr<Decoder> decoder, weak_ptr<FilmViewer> viewer
)
_list->InsertColumn (2, ip);
}
- wxBoxSizer* sizer = new wxBoxSizer (wxVERTICAL);
+ auto sizer = new wxBoxSizer (wxVERTICAL);
sizer->Add (_list, 1, wxEXPAND | wxALL, DCPOMATIC_SIZER_X_GAP);
_list->Bind (wxEVT_LIST_ITEM_SELECTED, boost::bind (&TextView::subtitle_selected, this, _1));
- wxSizer* buttons = CreateSeparatedButtonSizer (wxOK);
+ auto buttons = CreateSeparatedButtonSizer (wxOK);
if (buttons) {
sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder());
}
SetSizerAndFit (sizer);
}
+
void
TextView::data_start (ContentStringText cts)
{
_last_count = cts.subs.size ();
}
+
void
TextView::data_stop (ContentTime time)
{
}
}
+
void
TextView::subtitle_selected (wxListEvent& ev)
{
}
DCPOMATIC_ASSERT (ev.GetIndex() < int(_start_times.size()));
- shared_ptr<Content> lc = _content.lock ();
+ auto lc = _content.lock ();
DCPOMATIC_ASSERT (lc);
- shared_ptr<FilmViewer> fv = _film_viewer.lock ();
+ auto fv = _film_viewer.lock ();
DCPOMATIC_ASSERT (fv);
/* Add on a frame here to work around any rounding errors and make sure land in the subtitle */
fv->seek (lc, _start_times[ev.GetIndex()] + ContentTime::from_frames(1, _frc->source), true);
*/
-#include "lib/content_text.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
#include <wx/listctrl.h>
+#include "lib/content_text.h"
+
class Decoder;
class FilmViewer;
class Film;
*/
+#include <wx/wx.h>
+
#include "content_menu.h"
#include "timeline_content_view.h"
#include "lib/util.h"
#include "lib/rect.h"
#include "lib/film.h"
-#include <wx/wx.h>
#include <boost/signals2.hpp>
+
class Film;
class ContentPanel;
class TimelineView;
class TimelineLabelsView;
class FilmViewer;
+
class Timeline : public wxPanel
{
public:
#define DCPOMATIC_TIMELINE_CONTENT_VIEW_H
-#include "lib/change_signaller.h"
-#include "lib/types.h"
#include "lib/warnings.h"
-#include "timeline_view.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include "lib/change_signaller.h"
+#include "lib/types.h"
+#include "timeline_view.h"
#include <boost/signals2.hpp>
class Content;
*/
-#include "timeline_labels_view.h"
-#include "timeline.h"
#include <wx/wx.h>
#include <wx/graphics.h>
+#include "timeline_labels_view.h"
+#include "timeline.h"
+
using std::list;
using std::max;
*/
-#include "timeline_reels_view.h"
-#include "timeline.h"
#include <wx/wx.h>
#include <wx/graphics.h>
+#include "timeline_reels_view.h"
+#include "timeline.h"
+
using std::min;
using std::list;
*/
+
+#include <wx/wx.h>
+#include <wx/graphics.h>
+
#include "timeline_time_axis_view.h"
#include "timeline.h"
#include "wx_util.h"
-#include <wx/wx.h>
-#include <wx/graphics.h>
+
using std::list;
using std::cout;
using namespace dcpomatic;
+
TimelineTimeAxisView::TimelineTimeAxisView (Timeline& tl, int y)
: TimelineView (tl)
, _y (y)
*/
+
+#include "timeline_video_content_view.h"
#include "lib/image_content.h"
#include "lib/video_content.h"
-#include "timeline_video_content_view.h"
+
using std::dynamic_pointer_cast;
using std::shared_ptr;
+
TimelineVideoContentView::TimelineVideoContentView (Timeline& tl, shared_ptr<Content> c)
: TimelineContentView (tl, c)
{
*/
-#include "timeline_view.h"
#include "timeline.h"
+#include "timeline_view.h"
using std::list;
*/
-#include <dcp/verify.h>
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+
+#include <dcp/verify.h>
#include <map>
*/
-#include "video_view.h"
#include "wx_util.h"
+
+#include "video_view.h"
#include "film_viewer.h"
#include "lib/butler.h"
#include "lib/dcpomatic_log.h"
*/
-#include "wx_signal_manager.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
+#include "wx_signal_manager.h"
+
wxSignalManager::wxSignalManager (wxEvtHandler* h)
: _handler (h)
{
#define DCPOMATIC_WX_UTIL_H
-#include "lib/dcpomatic_time.h"
#include "lib/warnings.h"
DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
DCPOMATIC_ENABLE_WARNINGS
#include <wx/gbsizer.h>
+
+#include "lib/dcpomatic_time.h"
#include <boost/thread.hpp>
#include <boost/signals2.hpp>