ardour
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ARDOUR::MidiControlUI Class Reference

#include <midi_ui.h>

Inheritance diagram for ARDOUR::MidiControlUI:
AbstractUI< MidiUIRequest > BaseUI PBD::EventLoop

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 (std::string, pthread_t, std::string, uint32_t num_requests)
 
void call_slot (EventLoop::InvalidationRecord *, const boost::function< void()> &)
 
Glib::Threads::Mutex & slot_invalidation_mutex ()
 
- Public Member Functions inherited from BaseUI
 BaseUI (const std::string &name)
 
virtual ~BaseUI ()
 
BaseUIbase_instance ()
 
Glib::RefPtr< Glib::MainLoop > main_loop () const
 
Glib::Threads::Thread * event_loop_thread () const
 
bool caller_is_self () const
 
std::string name () const
 
bool ok () const
 
void run ()
 
void quit ()
 
- Public Member Functions inherited from PBD::EventLoop
 EventLoop ()
 
virtual ~EventLoop ()
 
virtual void call_slot (InvalidationRecord *, const boost::function< void()> &)=0
 

Static Public Member Functions

static MidiControlUIinstance ()
 
- Static Public Member Functions inherited from BaseUI
static RequestType new_request_type ()
 
- 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)
 

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
 
- Protected Member Functions inherited from BaseUI
bool signal_running ()
 
bool request_handler (Glib::IOCondition)
 
void signal_new_request ()
 
void attach_request_source ()
 

Private Member Functions

bool midi_input_handler (Glib::IOCondition, AsyncMIDIPort *)
 
void reset_ports ()
 
void clear_ports ()
 

Private Attributes

ARDOUR::Session_session
 

Static Private Attributes

static MidiControlUI_instance = 0
 

Additional Inherited Members

- Public Types inherited from PBD::EventLoop
enum  RequestType { range_guarantee = ~0 }
 
- Public Attributes inherited from AbstractUI< MidiUIRequest >
Glib::Threads::Mutex request_buffer_map_lock
 
- Static Public Attributes inherited from BaseUI
static RequestType CallSlot = BaseUI::new_request_type()
 
static RequestType Quit = BaseUI::new_request_type()
 
- 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
 
Glib::Threads::Mutex request_list_lock
 
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
 
Glib::Threads::Thread * run_loop_thread
 
Glib::Threads::Mutex _run_lock
 
Glib::Threads::Cond _running
 
- Static Protected Attributes inherited from AbstractUI< MidiUIRequest >
static Glib::Threads::Private
< RequestBuffer > 
per_thread_request_buffer
 

Detailed Description

Definition at line 47 of file midi_ui.h.

Constructor & Destructor Documentation

MidiControlUI::MidiControlUI ( Session s)

Definition at line 46 of file midi_ui.cc.

MidiControlUI::~MidiControlUI ( )

Definition at line 53 of file midi_ui.cc.

Member Function Documentation

void ARDOUR::MidiControlUI::change_midi_ports ( )
void MidiControlUI::clear_ports ( )
private

Definition at line 98 of file midi_ui.cc.

void MidiControlUI::do_request ( MidiUIRequest req)
protected

Definition at line 64 of file midi_ui.cc.

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

Definition at line 53 of file midi_ui.h.

bool MidiControlUI::midi_input_handler ( Glib::IOCondition  ,
AsyncMIDIPort  
)
private

Definition at line 74 of file midi_ui.cc.

void MidiControlUI::reset_ports ( )
private

Definition at line 103 of file midi_ui.cc.

void 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.

Definition at line 132 of file midi_ui.cc.

Member Data Documentation

MidiControlUI * MidiControlUI::_instance = 0
staticprivate

Definition at line 68 of file midi_ui.h.

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 files: