diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-01-05 23:17:16 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-01-05 23:17:16 +0000 |
| commit | d26296467bbf6bd1b2300dd862ce55fcd7f3d624 (patch) | |
| tree | 125284d4686aa58710ce841a77da9b0f762af857 /src/lib | |
| parent | 249ae25148213a2ab5d76980133182e7f2521524 (diff) | |
Add simple copy and paste for content settings (#1051).
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/audio_content.cc | 4 | ||||
| -rw-r--r-- | src/lib/subtitle_content.cc | 30 | ||||
| -rw-r--r-- | src/lib/video_content.cc | 19 |
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 |
