summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/rc_configuration_vars.h1
-rw-r--r--libs/ardour/ardour/types.h2
-rw-r--r--libs/ardour/audioregion.cc4
-rw-r--r--libs/ardour/enums.cc13
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;
+}