Emit no audio from DCPs if none is mapped
[dcpomatic.git] / src / wx / content_advanced_dialog.h
index b8c12d7b2aa36615f14ac564f9d1311c391ddb5e..8f27fd822d89a4439c328bbfb3b80eed612dcc7d 100644 (file)
 */
 
 
-#include "lib/warnings.h"
-DCPOMATIC_DISABLE_WARNINGS
+#include <dcp/language_tag.h>
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
 #include <wx/wx.h>
-DCPOMATIC_ENABLE_WARNINGS
-#include <boost/shared_ptr.hpp>
+LIBDCP_ENABLE_WARNINGS
+#include <boost/optional.hpp>
+#include <memory>
 #include <vector>
 
 
+class CheckBox;
 class Content;
 class Filter;
+class LanguageTagWidget;
 
 
 class ContentAdvancedDialog : public wxDialog
 {
 public:
-       ContentAdvancedDialog (wxWindow* parent, boost::shared_ptr<Content> content);
+       ContentAdvancedDialog (wxWindow* parent, std::shared_ptr<Content> content);
+
+       bool ignore_video() const;
+
+       std::vector<Filter> filters() {
+               return _filters_list;
+       }
+
+       boost::optional<double> video_frame_rate() const;
+       boost::optional<dcp::LanguageTag> burnt_subtitle_language() const;
 
 private:
-       void ignore_video_changed (wxCommandEvent& ev);
        void edit_filters ();
-       void filters_changed (std::vector<Filter const *> filters);
+       void filters_changed(std::vector<Filter> const& filters);
        void setup_filters ();
+       void set_video_frame_rate ();
+       void video_frame_rate_changed ();
+       void setup_sensitivity ();
+       void burnt_subtitle_changed ();
 
-       boost::shared_ptr<Content> _content;
+       std::shared_ptr<Content> _content;
+       bool _filters_allowed = false;
+       std::vector<Filter> _filters_list;
 
        wxStaticText* _filters;
        wxButton* _filters_button;
+       wxTextCtrl* _video_frame_rate;
+       wxButton* _set_video_frame_rate;
+       CheckBox* _burnt_subtitle;
+       LanguageTagWidget* _burnt_subtitle_language;
+       CheckBox* _ignore_video;
 };