37 class TransportMaster;
141 void*
operator new (size_t);
142 void operator delete (
void *ptr,
size_t );
172 typedef std::list<SessionEvent *>
Events;
PBD::RingBuffer< SessionEvent * > pending_events
virtual void process_event(SessionEvent *)=0
Glib::Threads::Mutex rb_write_lock
void _clear_event_type(SessionEvent::Type)
void replace_event(SessionEvent::Type, samplepos_t action_sample, samplepos_t target=0)
void clear_events(SessionEvent::Type type)
Events::iterator next_event
bool _replace_event(SessionEvent *)
SessionEvent * auto_loop_event
void add_event(samplepos_t action_sample, SessionEvent::Type type, samplepos_t target_sample=0)
virtual void set_next_event()=0
std::list< SessionEvent * > Events
bool _remove_event(SessionEvent *)
SessionEvent * punch_in_event
void clear_events(SessionEvent::Type type, std::function< void(void)> after)
virtual void queue_event(SessionEvent *ev)=0
void merge_event(SessionEvent *)
virtual ~SessionEventManager()
void remove_event(samplepos_t sample, SessionEvent::Type type)
SessionEvent * punch_out_event
PBD::CrossThreadPool * event_pool() const
bool after(const SessionEvent &other) const
std::weak_ptr< Track > track
std::list< TimelineRange > music_range
SessionEvent(Type t, Action a, samplepos_t when, samplepos_t where, double spd, bool yn=false, bool yn2=false, bool yn3=false)
samplepos_t action_sample
static bool compare(const SessionEvent *e1, const SessionEvent *e2)
std::shared_ptr< TransportMaster > transport_master
OverwriteReason overwrite
static bool has_per_thread_pool()
PBD::CrossThreadPool * own_pool
std::shared_ptr< AutomationControlList > controls
std::function< void(SessionEvent *)> RTeventCallback
static void create_per_thread_pool(const std::string &n, uint32_t nitems)
bool before(const SessionEvent &other) const
samplepos_t target_sample
RTeventCallback rt_return
std::function< void(void)> rt_slot
std::shared_ptr< Region > region
std::shared_ptr< RouteList > routes
static PBD::PerThreadPool * pool
static guint pool_available()
samplepos_t target2_sample
PBD::EventLoop * event_loop
@ SetTimecodeTransmission
@ AdjustPlaybackBuffering
std::list< TimelineRange > audio_range
void set_track(std::shared_ptr< Track > t)
LocateTransportDisposition locate_transport_disposition
static void init_event_pool()
LocateTransportDisposition
Temporal::samplepos_t samplepos_t
std::ostream & operator<<(std::ostream &, const ARDOUR::SessionEvent &)