diff options
Diffstat (limited to 'libs/ardour/ardour')
-rw-r--r-- | libs/ardour/ardour/audioregion.h | 10 | ||||
-rw-r--r-- | libs/ardour/ardour/playlist.h | 2 | ||||
-rw-r--r-- | libs/ardour/ardour/session_configuration_vars.h | 1 | ||||
-rw-r--r-- | libs/ardour/ardour/types.h | 12 |
4 files changed, 23 insertions, 2 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index 7236cd69a9..87d515d399 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -89,6 +89,11 @@ class AudioRegion : public Region bool fade_in_active () const { return _fade_in_active; } bool fade_out_active () const { return _fade_out_active; } + bool fade_in_is_xfade() const { return _fade_in_is_xfade; } + void set_fade_in_is_xfade (bool yn); + bool fade_out_is_xfade() const { return _fade_out_is_xfade; } + void set_fade_out_is_xfade (bool yn); + boost::shared_ptr<AutomationList> fade_in() { return _fade_in; } boost::shared_ptr<AutomationList> fade_out() { return _fade_out; } boost::shared_ptr<AutomationList> envelope() { return _envelope; } @@ -232,6 +237,11 @@ class AudioRegion : public Region boost::shared_ptr<AutomationList> _envelope; uint32_t _fade_in_suspended; uint32_t _fade_out_suspended; + /* This is not a Property because its not subject to user control, + or undo/redo. XXX this may prove to be a mistake. + */ + bool _fade_in_is_xfade; + bool _fade_out_is_xfade; protected: /* default constructor for derived (compound) types */ diff --git a/libs/ardour/ardour/playlist.h b/libs/ardour/ardour/playlist.h index d57df6999b..559a24062b 100644 --- a/libs/ardour/ardour/playlist.h +++ b/libs/ardour/ardour/playlist.h @@ -367,7 +367,7 @@ public: private: - void setup_layering_indices (RegionList const &) const; + void setup_layering_indices (RegionList const &); void coalesce_and_check_crossfades (std::list<Evoral::Range<framepos_t> >); boost::shared_ptr<RegionList> find_regions_at (framepos_t); }; diff --git a/libs/ardour/ardour/session_configuration_vars.h b/libs/ardour/ardour/session_configuration_vars.h index a6147f9140..16ce36020b 100644 --- a/libs/ardour/ardour/session_configuration_vars.h +++ b/libs/ardour/ardour/session_configuration_vars.h @@ -26,6 +26,7 @@ *****************************************************/ CONFIG_VARIABLE (CrossfadeModel, xfade_model, "xfade-model", FullCrossfade) +CONFIG_VARIABLE (CrossfadeChoice, xfade_choice, "xfade-choice", ConstantPowerMinus3dB) CONFIG_VARIABLE (bool, auto_xfade, "auto-xfade", true) CONFIG_VARIABLE (float, short_xfade_seconds, "short-xfade-seconds", 0.015) CONFIG_VARIABLE (bool, xfades_active, "xfades-active", true) diff --git a/libs/ardour/ardour/types.h b/libs/ardour/ardour/types.h index b3c1666dbb..71c00e7520 100644 --- a/libs/ardour/ardour/types.h +++ b/libs/ardour/ardour/types.h @@ -406,6 +406,12 @@ namespace ARDOUR { ShortCrossfade }; + enum CrossfadeChoice { + RegionFades, + ConstantPowerMinus3dB, + ConstantPowerMinus6dB, + }; + enum ListenPosition { AfterFaderListen, PreFaderListen @@ -558,7 +564,9 @@ namespace ARDOUR { FadeFast, FadeSlow, FadeLogA, - FadeLogB + FadeLogB, + FadeConstantPowerMinus3dB, + FadeConstantPowerMinus6dB, }; } // namespace ARDOUR @@ -579,6 +587,7 @@ std::istream& operator>>(std::istream& o, ARDOUR::RemoteModel& sf); std::istream& operator>>(std::istream& o, ARDOUR::ListenPosition& sf); std::istream& operator>>(std::istream& o, ARDOUR::InsertMergePolicy& sf); std::istream& operator>>(std::istream& o, ARDOUR::CrossfadeModel& sf); +std::istream& operator>>(std::istream& o, ARDOUR::CrossfadeChoice& sf); std::istream& operator>>(std::istream& o, ARDOUR::SyncSource& sf); std::istream& operator>>(std::istream& o, ARDOUR::ShuttleBehaviour& sf); std::istream& operator>>(std::istream& o, ARDOUR::ShuttleUnits& sf); @@ -599,6 +608,7 @@ std::ostream& operator<<(std::ostream& o, const ARDOUR::RemoteModel& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::ListenPosition& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::InsertMergePolicy& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::CrossfadeModel& sf); +std::ostream& operator<<(std::ostream& o, const ARDOUR::CrossfadeChoice& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::SyncSource& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::ShuttleBehaviour& sf); std::ostream& operator<<(std::ostream& o, const ARDOUR::ShuttleUnits& sf); |