diff options
-rw-r--r-- | libs/ardour/ardour/rc_configuration_vars.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/types.h | 2 | ||||
-rw-r--r-- | libs/ardour/audioregion.cc | 4 | ||||
-rw-r--r-- | libs/ardour/enums.cc | 13 |
4 files changed, 18 insertions, 2 deletions
diff --git a/libs/ardour/ardour/rc_configuration_vars.h b/libs/ardour/ardour/rc_configuration_vars.h index 4401b1f74c..c0c76d3826 100644 --- a/libs/ardour/ardour/rc_configuration_vars.h +++ b/libs/ardour/ardour/rc_configuration_vars.h @@ -90,6 +90,7 @@ CONFIG_VARIABLE (bool, automation_follows_regions, "automation-follows-regions", CONFIG_VARIABLE (bool, region_boundaries_from_selected_tracks, "region-boundaries-from-selected-tracks", true) CONFIG_VARIABLE (bool, region_boundaries_from_onscreen_tracks, "region-boundaries-from-onscreen_tracks", true) CONFIG_VARIABLE (bool, autoscroll_editor, "autoscroll-editor", true) +CONFIG_VARIABLE (FadeShape, default_fade_shape, "default-fade-shape", FadeLinear) /* monitoring, mute, solo etc */ diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index ab76208c0b..1b9c3326c0 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -632,6 +632,7 @@ std::istream& operator>>(std::istream& o, ARDOUR::DenormalModel& sf); std::istream& operator>>(std::istream& o, ARDOUR::WaveformScale& sf); std::istream& operator>>(std::istream& o, ARDOUR::WaveformShape& sf); std::istream& operator>>(std::istream& o, ARDOUR::PositionLockStyle& sf); +std::istream& operator>>(std::istream& o, ARDOUR::FadeShape& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::SampleFormat& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::HeaderFormat& sf); @@ -655,6 +656,7 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::DenormalModel& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::WaveformScale& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::WaveformShape& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::PositionLockStyle& sf); +std::ostream& operator<<(std::ostream& o, const ARDOUR::FadeShape& sf); static inline ARDOUR::framepos_t session_frame_to_track_frame (ARDOUR::framepos_t session_frame, double speed) diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index 45454b0909..63530e2f01 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -1211,14 +1211,14 @@ void AudioRegion::set_default_fade_in () { _fade_in_suspended = 0; - set_fade_in (FadeLinear, 64); + set_fade_in (Config->get_default_fade_shape(), 64); } void AudioRegion::set_default_fade_out () { _fade_out_suspended = 0; - set_fade_out (FadeLinear, 64); + set_fade_out (Config->get_default_fade_shape(), 64); } void diff --git a/libs/ardour/enums.cc b/libs/ardour/enums.cc index e32fe329af..948025cc2b 100644 --- a/libs/ardour/enums.cc +++ b/libs/ardour/enums.cc @@ -941,3 +941,16 @@ std::ostream& operator<<(std::ostream& o, const Evoral::OverlapType& var) std::string s = enum_2_string (var); return o << s; } +std::istream& operator>>(std::istream& o, FadeShape& var) +{ + std::string s; + o >> s; + var = (FadeShape) string_2_enum (s, var); + return o; +} + +std::ostream& operator<<(std::ostream& o, const FadeShape& var) +{ + std::string s = enum_2_string (var); + return o << s; +} |