Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::SessionEventManager Class Referenceabstract

#include <session_event.h>

Inheritance diagram for ARDOUR::SessionEventManager:
[legend]

Public Member Functions

 SessionEventManager ()
 
virtual ~SessionEventManager ()
 
virtual void queue_event (SessionEvent *ev)=0
 
void clear_events (SessionEvent::Type type)
 
void clear_events (SessionEvent::Type type, std::function< void(void)> after)
 

Protected Types

typedef std::list< SessionEvent * > Events
 

Protected Member Functions

void dump_events () const
 
void merge_event (SessionEvent *)
 
void replace_event (SessionEvent::Type, samplepos_t action_sample, samplepos_t target=0)
 
bool _replace_event (SessionEvent *)
 
bool _remove_event (SessionEvent *)
 
void _clear_event_type (SessionEvent::Type)
 
void add_event (samplepos_t action_sample, SessionEvent::Type type, samplepos_t target_sample=0)
 
void remove_event (samplepos_t sample, SessionEvent::Type type)
 
virtual void process_event (SessionEvent *)=0
 
virtual void set_next_event ()=0
 

Protected Attributes

PBD::RingBuffer< SessionEvent * > pending_events
 
Events events
 
Events immediate_events
 
Events::iterator next_event
 
Glib::Threads::Mutex rb_write_lock
 
SessionEventauto_loop_event
 
SessionEventpunch_out_event
 
SessionEventpunch_in_event
 

Detailed Description

Definition at line 160 of file session_event.h.

Member Typedef Documentation

◆ Events

typedef std::list<SessionEvent *> ARDOUR::SessionEventManager::Events
protected

Definition at line 172 of file session_event.h.

Constructor & Destructor Documentation

◆ SessionEventManager()

ARDOUR::SessionEventManager::SessionEventManager ( )
inline

Definition at line 162 of file session_event.h.

◆ ~SessionEventManager()

virtual ARDOUR::SessionEventManager::~SessionEventManager ( )
inlinevirtual

Definition at line 164 of file session_event.h.

Member Function Documentation

◆ _clear_event_type()

void ARDOUR::SessionEventManager::_clear_event_type ( SessionEvent::Type  )
protected

◆ _remove_event()

bool ARDOUR::SessionEventManager::_remove_event ( SessionEvent )
protected

◆ _replace_event()

bool ARDOUR::SessionEventManager::_replace_event ( SessionEvent )
protected

◆ add_event()

void ARDOUR::SessionEventManager::add_event ( samplepos_t  action_sample,
SessionEvent::Type  type,
samplepos_t  target_sample = 0 
)
protected

◆ clear_events() [1/2]

void ARDOUR::SessionEventManager::clear_events ( SessionEvent::Type  type)

◆ clear_events() [2/2]

void ARDOUR::SessionEventManager::clear_events ( SessionEvent::Type  type,
std::function< void(void)>  after 
)

◆ dump_events()

void ARDOUR::SessionEventManager::dump_events ( ) const
protected

◆ merge_event()

void ARDOUR::SessionEventManager::merge_event ( SessionEvent )
protected

◆ process_event()

virtual void ARDOUR::SessionEventManager::process_event ( SessionEvent )
protectedpure virtual

Implemented in ARDOUR::Session.

◆ queue_event()

virtual void ARDOUR::SessionEventManager::queue_event ( SessionEvent ev)
pure virtual

Implemented in ARDOUR::Session.

◆ remove_event()

void ARDOUR::SessionEventManager::remove_event ( samplepos_t  sample,
SessionEvent::Type  type 
)
protected

◆ replace_event()

void ARDOUR::SessionEventManager::replace_event ( SessionEvent::Type  ,
samplepos_t  action_sample,
samplepos_t  target = 0 
)
protected

◆ set_next_event()

virtual void ARDOUR::SessionEventManager::set_next_event ( )
protectedpure virtual

Implemented in ARDOUR::Session.

Member Data Documentation

◆ auto_loop_event

SessionEvent* ARDOUR::SessionEventManager::auto_loop_event
protected

Definition at line 181 of file session_event.h.

◆ events

Events ARDOUR::SessionEventManager::events
protected

Definition at line 173 of file session_event.h.

◆ immediate_events

Events ARDOUR::SessionEventManager::immediate_events
protected

Definition at line 174 of file session_event.h.

◆ next_event

Events::iterator ARDOUR::SessionEventManager::next_event
protected

Definition at line 175 of file session_event.h.

◆ pending_events

PBD::RingBuffer<SessionEvent*> ARDOUR::SessionEventManager::pending_events
protected

Definition at line 171 of file session_event.h.

◆ punch_in_event

SessionEvent* ARDOUR::SessionEventManager::punch_in_event
protected

Definition at line 183 of file session_event.h.

◆ punch_out_event

SessionEvent* ARDOUR::SessionEventManager::punch_out_event
protected

Definition at line 182 of file session_event.h.

◆ rb_write_lock

Glib::Threads::Mutex ARDOUR::SessionEventManager::rb_write_lock
protected

Definition at line 177 of file session_event.h.


The documentation for this class was generated from the following file: