X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fcrossfade.cc;h=67ccea937182d4953fc6017454f554a9a1fc6cd0;hb=e528e5038fa791b07bc9f00f64a39227d66f49b3;hp=dc84352f4ebbb0dc7647a0db9cfbfa38224da650;hpb=ce7a5e1c9fa3edf2d9cc66875505e402a0aaa6f6;p=ardour.git diff --git a/libs/ardour/crossfade.cc b/libs/ardour/crossfade.cc index dc84352f4e..67ccea9371 100644 --- a/libs/ardour/crossfade.cc +++ b/libs/ardour/crossfade.cc @@ -20,6 +20,7 @@ #include "pbd/stacktrace.h" +#include "ardour/debug.h" #include "ardour/types.h" #include "ardour/crossfade.h" #include "ardour/crossfade_compare.h" @@ -28,6 +29,7 @@ #include "ardour/utils.h" #include "ardour/session.h" #include "ardour/source.h" +#include "ardour/region_factory.h" #include "i18n.h" #include @@ -37,8 +39,6 @@ using namespace ARDOUR; using namespace PBD; framecnt_t Crossfade::_short_xfade_length = 0; -PropertyChange Crossfade::ActiveChanged = new_change(); -PropertyChange Crossfade::FollowOverlapChanged = new_change(); /* XXX if and when we ever implement parallel processing of the process() callback, these will need to be handled on a per-thread basis. @@ -47,6 +47,25 @@ PropertyChange Crossfade::FollowOverlapChanged = new_change(); Sample* Crossfade::crossfade_buffer_out = 0; Sample* Crossfade::crossfade_buffer_in = 0; + +#define CROSSFADE_DEFAULT_PROPERTIES \ + _active (Properties::active, _session.config.get_xfades_active ()) \ + , _follow_overlap (Properties::follow_overlap, false) + + +namespace ARDOUR { + namespace Properties { + PropertyDescriptor follow_overlap; + } +} + +void +Crossfade::make_property_quarks () +{ + Properties::follow_overlap.property_id = g_quark_from_static_string (X_("follow-overlap")); + DEBUG_TRACE (DEBUG::Properties, string_compose ("quark for follow-overlap = %1\n", Properties::follow_overlap.property_id)); +} + void Crossfade::set_buffer_size (framecnt_t sz) { @@ -72,26 +91,26 @@ Crossfade::Crossfade (boost::shared_ptr in, boost::shared_ptr