summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-01-05 23:17:16 +0000
committerCarl Hetherington <cth@carlh.net>2018-01-05 23:17:16 +0000
commitd26296467bbf6bd1b2300dd862ce55fcd7f3d624 (patch)
tree125284d4686aa58710ce841a77da9b0f762af857 /src/lib
parent249ae25148213a2ab5d76980133182e7f2521524 (diff)
Add simple copy and paste for content settings (#1051).
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_content.cc4
-rw-r--r--src/lib/subtitle_content.cc30
-rw-r--r--src/lib/video_content.cc19
3 files changed, 30 insertions, 23 deletions
diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc
index 833462776..7ede8284e 100644
--- a/src/lib/audio_content.cc
+++ b/src/lib/audio_content.cc
@@ -383,8 +383,8 @@ AudioContent::set_stream (AudioStreamPtr stream)
void
AudioContent::take_settings_from (shared_ptr<const AudioContent> c)
{
- _gain = c->_gain;
- _delay = c->_delay;
+ set_gain (c->_gain);
+ set_delay (c->_delay);
size_t i = 0;
size_t j = 0;
diff --git a/src/lib/subtitle_content.cc b/src/lib/subtitle_content.cc
index b603a455d..55493039c 100644
--- a/src/lib/subtitle_content.cc
+++ b/src/lib/subtitle_content.cc
@@ -415,19 +415,19 @@ SubtitleContent::set_outline_width (int w)
void
SubtitleContent::take_settings_from (shared_ptr<const SubtitleContent> c)
{
- _use = c->_use;
- _burn = c->_burn;
- _x_offset = c->_x_offset;
- _y_offset = c->_y_offset;
- _x_scale = c->_x_scale;
- _y_scale = c->_y_scale;
- _fonts = c->_fonts;
- _colour = c->_colour;
- _outline = c->_outline;
- _shadow = c->_shadow;
- _effect_colour = c->_effect_colour;
- _line_spacing = c->_line_spacing;
- _fade_in = c->_fade_in;
- _fade_out = c->_fade_out;
- _outline_width = c->_outline_width;
+ set_use (c->_use);
+ set_burn (c->_burn);
+ set_x_offset (c->_x_offset);
+ set_y_offset (c->_y_offset);
+ set_x_scale (c->_x_scale);
+ set_y_scale (c->_y_scale);
+ maybe_set (_fonts, c->_fonts, SubtitleContentProperty::FONTS);
+ set_colour (c->_colour);
+ set_outline (c->_outline);
+ set_shadow (c->_shadow);
+ set_effect_colour (c->_effect_colour);
+ set_line_spacing (c->_line_spacing);
+ set_fade_in (c->_fade_in);
+ set_fade_out (c->_fade_out);
+ set_outline_width (c->_outline_width);
}
diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc
index d4e814624..f78dab17e 100644
--- a/src/lib/video_content.cc
+++ b/src/lib/video_content.cc
@@ -531,12 +531,19 @@ VideoContent::set_fade_out (Frame t)
void
VideoContent::take_settings_from (shared_ptr<const VideoContent> c)
{
- _colour_conversion = c->_colour_conversion;
- _frame_type = c->_frame_type;
- _crop = c->_crop;
- _scale = c->_scale;
- _fade_in = c->_fade_in;
- _fade_out = c->_fade_out;
+ if (c->_colour_conversion) {
+ set_colour_conversion (c->_colour_conversion.get());
+ } else {
+ unset_colour_conversion ();
+ }
+ set_frame_type (c->_frame_type);
+ set_left_crop (c->_crop.left);
+ set_right_crop (c->_crop.right);
+ set_top_crop (c->_crop.top);
+ set_bottom_crop (c->_crop.bottom);
+ set_scale (c->_scale);
+ set_fade_in (c->_fade_in);
+ set_fade_out (c->_fade_out);
}
void