- LocaleGuard lg;
-
- root->add_child("SubtitleXOffset")->add_child_text (lexical_cast<string> (_subtitle_x_offset));
- root->add_child("SubtitleYOffset")->add_child_text (lexical_cast<string> (_subtitle_y_offset));
- root->add_child("SubtitleScale")->add_child_text (lexical_cast<string> (_subtitle_scale));
+ boost::mutex::scoped_lock lm (_mutex);
+
+ root->add_child("UseSubtitles")->add_child_text (raw_convert<string> (_use_subtitles));
+ root->add_child("BurnSubtitles")->add_child_text (raw_convert<string> (_burn_subtitles));
+ root->add_child("SubtitleXOffset")->add_child_text (raw_convert<string> (_subtitle_x_offset));
+ root->add_child("SubtitleYOffset")->add_child_text (raw_convert<string> (_subtitle_y_offset));
+ root->add_child("SubtitleXScale")->add_child_text (raw_convert<string> (_subtitle_x_scale));
+ root->add_child("SubtitleYScale")->add_child_text (raw_convert<string> (_subtitle_y_scale));
+ root->add_child("SubtitleLanguage")->add_child_text (_subtitle_language);
+
+ for (list<shared_ptr<Font> >::const_iterator i = _fonts.begin(); i != _fonts.end(); ++i) {
+ (*i)->as_xml (root->add_child("Font"));
+ }
+}
+
+void
+SubtitleContent::set_use_subtitles (bool u)
+{
+ {
+ boost::mutex::scoped_lock lm (_mutex);
+ _use_subtitles = u;
+ }
+ signal_changed (SubtitleContentProperty::USE_SUBTITLES);
+}
+
+void
+SubtitleContent::set_burn_subtitles (bool b)
+{
+ {
+ boost::mutex::scoped_lock lm (_mutex);
+ _burn_subtitles = b;
+ }
+ signal_changed (SubtitleContentProperty::BURN_SUBTITLES);