Ardour  9.0-pre0-582-g084a23a80d
ARDOUR::MidiControlUI Class Reference

#include <midi_ui.h>

Inheritance diagram for ARDOUR::MidiControlUI:
[legend]

Public Member Functions

 MidiControlUI (Session &s)
 
 ~MidiControlUI ()
 
void change_midi_ports ()
 
- Public Member Functions inherited from AbstractUI< MidiUIRequest >
 AbstractUI (const std::string &name)
 
virtual ~AbstractUI ()
 
void register_thread (pthread_t, std::string, uint32_t num_requests)
 
bool call_slot (EventLoop::InvalidationRecord *, const std::function< void()> &)
 
Glib::Threads::RWLock & slot_invalidation_rwlock ()
 
- Public Member Functions inherited from BaseUI
 BaseUI (const std::string &name)
 
virtual ~BaseUI ()
 
BaseUIbase_instance ()
 
Glib::RefPtr< Glib::MainLoop > main_loop () const
 
bool caller_is_self () const
 
bool ok () const
 
void run ()
 
void quit ()
 
- Public Member Functions inherited from PBD::EventLoop
 EventLoop (std::string const &)
 
virtual ~EventLoop ()
 
virtual bool call_slot (InvalidationRecord *, const std::function< void()> &)=0
 
std::string event_loop_name () const
 

Static Public Member Functions

static MidiControlUIinstance ()
 
static void * request_factory (uint32_t num_requests)
 
- Static Public Member Functions inherited from BaseUI
static RequestType new_request_type ()
 
static void set_thread_priority (int p)
 
- Static Public Member Functions inherited from PBD::EventLoop
static void * invalidate_request (void *data)
 
static EventLoopget_event_loop_for_thread ()
 
static void set_event_loop_for_thread (EventLoop *ui)
 
static std::vector< ThreadBufferMappingget_request_buffers_for_target_thread (const std::string &)
 
static void pre_register (const std::string &emitting_thread_name, uint32_t num_requests)
 
static void remove_request_buffer_from_map (pthread_t)
 
static InvalidationRecord__invalidator (sigc::trackable &trackable, const char *, int)
 

Protected Member Functions

void thread_init ()
 
void do_request (MidiUIRequest *)
 
- Protected Member Functions inherited from AbstractUI< MidiUIRequest >
MidiUIRequest * get_request (RequestType)
 
void handle_ui_requests ()
 
void send_request (MidiUIRequest *)
 
virtual void do_request (MidiUIRequest *)=0
 
RequestBuffer * get_per_thread_request_buffer ()
 
- Protected Member Functions inherited from BaseUI
bool signal_running ()
 
int set_thread_priority () const
 
bool request_handler (Glib::IOCondition)
 
void signal_new_request ()
 
void attach_request_source ()
 
virtual void maybe_install_precall_handler (Glib::RefPtr< Glib::MainContext >)
 

Private Member Functions

bool midi_input_handler (Glib::IOCondition, std::weak_ptr< AsyncMIDIPort >)
 
void reset_ports ()
 
void clear_ports ()
 

Private Attributes

ARDOUR::Session_session
 

Static Private Attributes

static MidiControlUI_instance
 

Additional Inherited Members

- Public Types inherited from PBD::EventLoop
enum  RequestType { range_guarantee = ~0 }
 
- Public Attributes inherited from AbstractUI< MidiUIRequest >
Glib::Threads::RWLock request_buffer_map_lock
 
- Public Attributes inherited from PBD::EventLoop
std::list< InvalidationRecord * > trash
 
- Static Public Attributes inherited from BaseUI
static RequestType CallSlot
 
static RequestType Quit
 
- Protected Types inherited from AbstractUI< MidiUIRequest >
typedef RequestBuffer::rw_vector RequestBufferVector
 
typedef std::map< pthread_t, RequestBuffer * >::iterator RequestBufferMapIterator
 
typedef std::map< pthread_t, RequestBuffer * > RequestBufferMap
 
- Protected Attributes inherited from AbstractUI< MidiUIRequest >
RequestBufferMap request_buffers
 
std::list< MidiUIRequest * > request_list
 
PBD::ScopedConnection new_thread_connection
 
- Protected Attributes inherited from BaseUI
bool _ok
 
Glib::RefPtr< Glib::MainLoop > _main_loop
 
Glib::RefPtr< Glib::MainContext > m_context
 
PBD::Thread_run_loop_thread
 
Glib::Threads::Mutex _run_lock
 
Glib::Threads::Cond _running
 

Detailed Description

Definition at line 46 of file midi_ui.h.

Constructor & Destructor Documentation

◆ MidiControlUI()

ARDOUR::MidiControlUI::MidiControlUI ( Session s)

◆ ~MidiControlUI()

ARDOUR::MidiControlUI::~MidiControlUI ( )

Member Function Documentation

◆ change_midi_ports()

void ARDOUR::MidiControlUI::change_midi_ports ( )

◆ clear_ports()

void ARDOUR::MidiControlUI::clear_ports ( )
private

◆ do_request()

void ARDOUR::MidiControlUI::do_request ( MidiUIRequest )
protected

◆ instance()

static MidiControlUI* ARDOUR::MidiControlUI::instance ( )
inlinestatic

Definition at line 52 of file midi_ui.h.

◆ midi_input_handler()

bool ARDOUR::MidiControlUI::midi_input_handler ( Glib::IOCondition  ,
std::weak_ptr< AsyncMIDIPort  
)
private

◆ request_factory()

static void* ARDOUR::MidiControlUI::request_factory ( uint32_t  num_requests)
static

◆ reset_ports()

void ARDOUR::MidiControlUI::reset_ports ( )
private

◆ thread_init()

void ARDOUR::MidiControlUI::thread_init ( )
protectedvirtual

Derived UI objects can implement thread_init() which will be called by the event loop thread immediately before it enters the event loop.

Reimplemented from BaseUI.

Member Data Documentation

◆ _instance

MidiControlUI* ARDOUR::MidiControlUI::_instance
staticprivate

Definition at line 68 of file midi_ui.h.

◆ _session

ARDOUR::Session& ARDOUR::MidiControlUI::_session
private

Definition at line 62 of file midi_ui.h.


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