#include "lib/ffmpeg_content.h"
#include "lib/examine_ffmpeg_subtitles_job.h"
#include "lib/job_manager.h"
+#include "lib/warnings.h"
+DCPOMATIC_DISABLE_WARNINGS
#include <wx/wx.h>
#include <wx/clrpicker.h>
#include <wx/spinctrl.h>
#include <wx/gbsizer.h>
+DCPOMATIC_ENABLE_WARNINGS
using std::map;
using std::string;
-using boost::shared_ptr;
+using std::shared_ptr;
using boost::bind;
-using boost::dynamic_pointer_cast;
+using std::dynamic_pointer_cast;
using boost::optional;
+using namespace dcpomatic;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
int const SubtitleAppearanceDialog::NONE = 0;
int const SubtitleAppearanceDialog::OUTLINE = 1;
/* XXX: assuming that all FFmpeg streams have bitmap subs */
if (_stream->colours().empty()) {
_job_manager_connection = JobManager::instance()->ActiveJobsChanged.connect(boost::bind(&SubtitleAppearanceDialog::active_jobs_changed, this, _1));
- JobManager::instance()->add(shared_ptr<Job>(new ExamineFFmpegSubtitlesJob(film, ff)));
+ _job = JobManager::instance()->add(shared_ptr<Job>(new ExamineFFmpegSubtitlesJob(film, ff)));
}
}
t->SetLabelMarkup (_("<b>New colour</b>"));
_colour_table->Add (t, 1, wxALIGN_CENTER);
- add_colours ();
+ shared_ptr<Job> job = _job.lock ();
+ if (!job || job->finished()) {
+ add_colours ();
+ }
_colours_panel->SetSizer (_colour_table);
_force_effect->SetValue (static_cast<bool>(effect));
if (effect) {
switch (*effect) {
- case dcp::NONE:
+ case dcp::Effect::NONE:
_effect->SetSelection (NONE);
break;
- case dcp::BORDER:
+ case dcp::Effect::BORDER:
_effect->SetSelection (OUTLINE);
break;
- case dcp::SHADOW:
+ case dcp::Effect::SHADOW:
_effect->SetSelection (SHADOW);
break;
}
if (_force_effect->GetValue()) {
switch (_effect->GetSelection()) {
case NONE:
- _caption->set_effect (dcp::NONE);
+ _caption->set_effect (dcp::Effect::NONE);
break;
case OUTLINE:
- _caption->set_effect (dcp::BORDER);
+ _caption->set_effect (dcp::Effect::BORDER);
break;
case SHADOW:
- _caption->set_effect (dcp::SHADOW);
+ _caption->set_effect (dcp::Effect::SHADOW);
break;
}
} else {