X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fsession_butler.cc;h=262444c4358cab5fd7b8eec23787df64240d4687;hb=9775c5c9f1b81340f3177ede038f02faed71c887;hp=1d235b051aad98888c70b9b35a15c59a2893ac1e;hpb=4be2176bd900d3ffc685e585c5f435e8f51db4f6;p=ardour.git diff --git a/libs/ardour/session_butler.cc b/libs/ardour/session_butler.cc index 1d235b051a..262444c435 100644 --- a/libs/ardour/session_butler.cc +++ b/libs/ardour/session_butler.cc @@ -17,16 +17,6 @@ */ -#include -#include -#include -#include -#include -#include -#include - -#include - #include "pbd/error.h" #include "pbd/pthread_utils.h" #include "pbd/stacktrace.h" @@ -38,26 +28,12 @@ #include "ardour/track.h" #include "ardour/types.h" -#include "i18n.h" +#include "pbd/i18n.h" using namespace std; using namespace ARDOUR; using namespace PBD; -/* XXX put this in the right place */ - -static inline uint32_t next_power_of_two (uint32_t n) -{ - --n; - n |= n >> 16; - n |= n >> 8; - n |= n >> 4; - n |= n >> 2; - n |= n >> 1; - ++n; - return n; -} - /*--------------------------------------------------------------------------- BUTLER THREAD ---------------------------------------------------------------------------*/ @@ -100,10 +76,15 @@ Session::schedule_curve_reallocation () } void -Session::request_overwrite_buffer (Track* t) +Session::request_overwrite_buffer (boost::shared_ptr r) { + boost::shared_ptr t = boost::dynamic_pointer_cast (r); + if (!t) { + return; + } + SessionEvent *ev = new SessionEvent (SessionEvent::Overwrite, SessionEvent::Add, SessionEvent::Immediate, 0, 0, 0.0); - ev->set_ptr (t); + ev->set_ptr (t.get()); queue_event (ev); }