/*
- Copyright (C) 2012 Paul Davis
+ Copyright (C) 2012 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
union {
void* ptr;
bool yes_or_no;
- framepos_t target2_frame;
+ framepos_t target2_frame;
Slave* slave;
Route* route;
};
union {
bool second_yes_or_no;
+ double control_value;
};
union {
bool third_yes_or_no;
};
- /* 4 members to handle a multi-group event handled in RT context */
+ /* 5 members to handle a multi-group event handled in RT context */
typedef boost::function<void (SessionEvent*)> RTeventCallback;
- boost::shared_ptr<RouteList> routes; /* apply to */
- boost::function<void (void)> rt_slot; /* what to call in RT context */
- RTeventCallback rt_return; /* called after rt_slot, with this event as an argument */
+ boost::shared_ptr<ControlList> controls; /* apply to */
+ boost::shared_ptr<RouteList> routes; /* apply to */
+ boost::function<void (void)> rt_slot; /* what to call in RT context */
+ RTeventCallback rt_return; /* called after rt_slot, with this event as an argument */
PBD::EventLoop* event_loop;
std::list<AudioRange> audio_range;
static const framepos_t Immediate = -1;
+ static bool has_per_thread_pool ();
static void create_per_thread_pool (const std::string& n, uint32_t nitems);
static void init_event_pool ();
CrossThreadPool* event_pool() const { return own_pool; }
-
+
private:
static PerThreadPool* pool;
CrossThreadPool* own_pool;