Ardour  9.0-pre0-582-g084a23a80d
WiimoteControlProtocol Class Reference

#include <wiimote.h>

Inheritance diagram for WiimoteControlProtocol:
[legend]

Public Member Functions

 WiimoteControlProtocol (ARDOUR::Session &)
 
virtual ~WiimoteControlProtocol ()
 
int set_active (bool yn)
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
void start_wiimote_discovery ()
 
void stop_wiimote_discovery ()
 
void wiimote_callback (int mesg_count, union cwiid_mesg mesg[])
 
void stripable_selection_changed ()
 
 CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL ()
 
- Public Member Functions inherited from ARDOUR::ControlProtocol
 ControlProtocol (Session &, std::string name)
 
virtual ~ControlProtocol ()
 
virtual std::string name () const
 
virtual bool active () const
 
virtual int set_feedback (bool)
 
virtual bool get_feedback () const
 
virtual void midi_connectivity_established (bool)
 
void add_stripable_to_selection (std::shared_ptr< ARDOUR::Stripable >)
 
void set_stripable_selection (std::shared_ptr< ARDOUR::Stripable >)
 
void toggle_stripable_selection (std::shared_ptr< ARDOUR::Stripable >)
 
void remove_stripable_from_selection (std::shared_ptr< ARDOUR::Stripable >)
 
void clear_stripable_selection ()
 
virtual void add_rid_to_selection (int rid)
 
virtual void set_rid_selection (int rid)
 
virtual void toggle_rid_selection (int rid)
 
virtual void remove_rid_from_selection (int rid)
 
std::shared_ptr< ARDOUR::Stripablefirst_selected_stripable () const
 
void set_route_table_size (uint32_t size)
 
void set_route_table (uint32_t table_index, std::shared_ptr< ARDOUR::Route >)
 
bool set_route_table (uint32_t table_index, uint32_t remote_control_id)
 
void route_set_rec_enable (uint32_t table_index, bool yn)
 
bool route_get_rec_enable (uint32_t table_index)
 
float route_get_gain (uint32_t table_index)
 
void route_set_gain (uint32_t table_index, float)
 
float route_get_effective_gain (uint32_t table_index)
 
float route_get_peak_input_power (uint32_t table_index, uint32_t which_input)
 
bool route_get_muted (uint32_t table_index)
 
void route_set_muted (uint32_t table_index, bool)
 
bool route_get_soloed (uint32_t table_index)
 
void route_set_soloed (uint32_t table_index, bool)
 
std::string route_get_name (uint32_t table_index)
 
virtual std::list< std::shared_ptr< ARDOUR::Bundle > > bundles ()
 
virtual bool has_editor () const
 
virtual void * get_gui () const
 
virtual void tear_down_gui ()
 
- Public Member Functions inherited from PBD::Stateful
 Stateful ()
 
virtual ~Stateful ()
 
virtual bool apply_change (PropertyBase const &)
 
PropertyChange apply_changes (PropertyList const &)
 
const OwnedPropertyListproperties () const
 
void add_property (PropertyBase &s)
 
void add_extra_xml (XMLNode &)
 
XMLNodeextra_xml (const std::string &str, bool add_if_missing=false)
 
void save_extra_xml (const XMLNode &)
 
const PBD::IDid () const
 
bool set_id (const XMLNode &)
 
void set_id (const std::string &)
 
void reset_id ()
 
void clear_changes ()
 
virtual void clear_owned_changes ()
 
PropertyListget_changes_as_properties (PBD::Command *) const
 
virtual void rdiff (std::vector< PBD::Command * > &) const
 
bool changed () const
 
virtual PropertyListproperty_factory (const XMLNode &) const
 
virtual void suspend_property_changes ()
 
virtual void resume_property_changes ()
 
bool property_changes_suspended () const
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
 ScopedConnectionList (const ScopedConnectionList &)=delete
 
ScopedConnectionListoperator= (const ScopedConnectionList &)=delete
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 
- Public Member Functions inherited from BasicUI
 BasicUI (ARDOUR::Session &)
 
virtual ~BasicUI ()
 
void add_marker (const std::string &=std::string())
 
void remove_marker_at_playhead ()
 
void register_thread (std::string name)
 
void loop_toggle ()
 
void loop_location (Temporal::timepos_t const &start, Temporal::timepos_t const &end)
 
void access_action (std::string action_path)
 
void goto_zero ()
 
void goto_start (bool and_roll=false)
 
void goto_end ()
 
void button_varispeed (bool fwd)
 
void rewind ()
 
void ffwd ()
 
void transport_stop ()
 
void transport_play (bool jump_back=false)
 
void set_transport_speed (double speed)
 
double get_transport_speed () const
 
double transport_rolling () const
 
void jump_by_seconds (double sec, ARDOUR::LocateTransportDisposition ltd=ARDOUR::RollIfAppropriate)
 
void jump_by_bars (int bars, ARDOUR::LocateTransportDisposition ltd=ARDOUR::RollIfAppropriate)
 
void jump_by_beats (int beats, ARDOUR::LocateTransportDisposition ltd=ARDOUR::RollIfAppropriate)
 
ARDOUR::samplepos_t transport_sample ()
 
void locate (ARDOUR::samplepos_t sample, ARDOUR::LocateTransportDisposition ltd)
 
void locate (ARDOUR::samplepos_t sample, bool)
 
bool locating ()
 
bool locked ()
 
void save_state ()
 
void prev_marker ()
 
void next_marker ()
 
void undo ()
 
void redo ()
 
void toggle_punch_in ()
 
void toggle_punch_out ()
 
void mark_in ()
 
void mark_out ()
 
void toggle_click ()
 
void midi_panic ()
 
void trigger_cue_row (int cue)
 
void trigger_stop_all (bool stop_now=false)
 
void trigger_stop_col (int col, bool immediately=false)
 
void store_mixer_scene (int scn)
 
void apply_mixer_scene (int scn)
 
void toggle_monitor_mute ()
 
void toggle_monitor_dim ()
 
void toggle_monitor_mono ()
 
void cancel_all_solo ()
 
void quick_snapshot_stay ()
 
void quick_snapshot_switch ()
 
void toggle_roll (bool with_abort, bool roll_out_of_bounded_mode)
 
void stop_forget ()
 
void set_punch_range ()
 
void set_loop_range ()
 
void set_session_range ()
 
void set_record_enable (bool yn)
 
bool get_record_enabled ()
 
void fit_1_track ()
 
void fit_2_tracks ()
 
void fit_4_tracks ()
 
void fit_8_tracks ()
 
void fit_16_tracks ()
 
void fit_32_tracks ()
 
void fit_all_tracks ()
 
void zoom_10_ms ()
 
void zoom_100_ms ()
 
void zoom_1_sec ()
 
void zoom_10_sec ()
 
void zoom_1_min ()
 
void zoom_5_min ()
 
void zoom_10_min ()
 
void zoom_to_session ()
 
void temporal_zoom_in ()
 
void temporal_zoom_out ()
 
void scroll_up_1_track ()
 
void scroll_dn_1_track ()
 
void scroll_up_1_page ()
 
void scroll_dn_1_page ()
 
void rec_enable_toggle ()
 
void toggle_all_rec_enables ()
 
void all_tracks_rec_in ()
 
void all_tracks_rec_out ()
 
void goto_nth_marker (int n)
 
ARDOUR::samplecnt_t timecode_frames_per_hour ()
 
void timecode_time (samplepos_t where, Timecode::Time &)
 
void timecode_to_sample (Timecode::Time &timecode, samplepos_t &sample, bool use_offset, bool use_subframes) const
 
void sample_to_timecode (samplepos_t sample, Timecode::Time &timecode, bool use_offset, bool use_subframes) const
 
bool stop_button_onoff () const
 
bool play_button_onoff () const
 
bool ffwd_button_onoff () const
 
bool rewind_button_onoff () const
 
bool loop_button_onoff () const
 
void tbank_set_size (int route_width, int row_height)
 
void tbank_step_routes (int step_size)
 
void tbank_step_rows (int step_size)
 
float trigger_progress_at (int x)
 
TriggerDisplay trigger_display_at (int x, int y)
 
void bang_trigger_at (int x, int y)
 
void unbang_trigger_at (int x, int y)
 
std::shared_ptr< ARDOUR::Triggerfind_trigger (int x, int y)
 
- Public Member Functions inherited from AbstractUI< WiimoteControlUIRequest >
 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
 

Protected Member Functions

void do_request (WiimoteControlUIRequest *)
 
int start ()
 
int stop ()
 
void thread_init ()
 
bool connect_idle ()
 
bool connect_wiimote ()
 
void update_led_state ()
 
- Protected Member Functions inherited from ARDOUR::ControlProtocol
void next_track (uint32_t initial_id)
 
void prev_track (uint32_t initial_id)
 
virtual void event_loop_precall ()
 
void install_precall_handler (Glib::RefPtr< Glib::MainContext >)
 
- Protected Member Functions inherited from PBD::Stateful
void add_instant_xml (XMLNode &, const std::string &directory_path)
 
XMLNodeinstant_xml (const std::string &str, const std::string &directory_path)
 
void add_properties (XMLNode &) const
 
PropertyChange set_values (XMLNode const &)
 
virtual void post_set (const PropertyChange &)
 
virtual void send_change (const PropertyChange &)
 
virtual void mid_thaw (const PropertyChange &)
 
bool regenerate_xml_or_string_ids () const
 
- Protected Member Functions inherited from BasicUI
 BasicUI ()
 
- Protected Member Functions inherited from AbstractUI< WiimoteControlUIRequest >
WiimoteControlUIRequestget_request (RequestType)
 
void handle_ui_requests ()
 
void send_request (WiimoteControlUIRequest *)
 
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 >)
 

Protected Attributes

PBD::ScopedConnectionList session_connections
 
cwiid_wiimote_t * wiimote
 
GSource * idle_source
 
uint16_t button_state
 
bool callback_thread_registered
 
- Protected Attributes inherited from ARDOUR::ControlProtocol
std::vector< std::shared_ptr< ARDOUR::Route > > route_table
 
std::string _name
 
GlibEventLoopCallback glib_event_callback
 
- Protected Attributes inherited from PBD::Stateful
XMLNode_extra_xml
 
XMLNode_instant_xml
 
PBD::PropertyChange _pending_changed
 
Glib::Threads::Mutex _lock
 
std::string _xml_node_name
 name of node to use for this object in XML More...
 
OwnedPropertyList_properties
 
- Protected Attributes inherited from BasicUI
ARDOUR::Sessionsession
 
int _tbank_route_width
 
int _tbank_row_height
 
int _tbank_start_route
 
int _tbank_start_row
 
- Protected Attributes inherited from AbstractUI< WiimoteControlUIRequest >
RequestBufferMap request_buffers
 
std::list< WiimoteControlUIRequest * > 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
 

Additional Inherited Members

- Public Types inherited from PBD::EventLoop
enum  RequestType { range_guarantee = ~0 }
 
- Static Public Member Functions inherited from ARDOUR::ControlProtocol
static StripableNotificationList const & last_selected ()
 
static void notify_stripable_selection_changed (StripableNotificationListPtr)
 
- 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)
 
- Public Attributes inherited from ARDOUR::ControlProtocol
PBD::Signal< void()> ActiveChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal< void(const PropertyChange &)> PropertyChanged
 
- Public Attributes inherited from AbstractUI< WiimoteControlUIRequest >
Glib::Threads::RWLock request_buffer_map_lock
 
- Public Attributes inherited from PBD::EventLoop
std::list< InvalidationRecord * > trash
 
- Static Public Attributes inherited from ARDOUR::ControlProtocol
static PBD::Signal< void()> ZoomToSession
 
static PBD::Signal< void()> ZoomIn
 
static PBD::Signal< void()> ZoomOut
 
static PBD::Signal< void()> Enter
 
static PBD::Signal< void()> Undo
 
static PBD::Signal< void()> Redo
 
static PBD::Signal< void(float)> ScrollTimeline
 
static PBD::Signal< void(uint32_t)> GotoView
 
static PBD::Signal< void()> CloseDialog
 
static PBD::Signal< void()> VerticalZoomInAll
 
static PBD::Signal< void()> VerticalZoomOutAll
 
static PBD::Signal< void()> VerticalZoomInSelected
 
static PBD::Signal< void()> VerticalZoomOutSelected
 
static PBD::Signal< void()> StepTracksDown
 
static PBD::Signal< void()> StepTracksUp
 
static PBD::Signal< void(std::weak_ptr< ARDOUR::PluginInsert >)> PluginSelected
 
static const std::string state_node_name
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Static Public Attributes inherited from BasicUI
static PBD::Signal< void(std::string, std::string)> AccessAction
 
- Static Public Attributes inherited from BaseUI
static RequestType CallSlot
 
static RequestType Quit
 
- Protected Types inherited from AbstractUI< WiimoteControlUIRequest >
typedef RequestBuffer::rw_vector RequestBufferVector
 
typedef std::map< pthread_t, RequestBuffer * >::iterator RequestBufferMapIterator
 
typedef std::map< pthread_t, RequestBuffer * > RequestBufferMap
 

Detailed Description

Definition at line 35 of file wiimote.h.

Constructor & Destructor Documentation

◆ WiimoteControlProtocol()

WiimoteControlProtocol::WiimoteControlProtocol ( ARDOUR::Session )

◆ ~WiimoteControlProtocol()

virtual WiimoteControlProtocol::~WiimoteControlProtocol ( )
virtual

Member Function Documentation

◆ connect_idle()

bool WiimoteControlProtocol::connect_idle ( )
protected

◆ connect_wiimote()

bool WiimoteControlProtocol::connect_wiimote ( )
protected

◆ CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL()

WiimoteControlProtocol::CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL ( )

◆ do_request()

void WiimoteControlProtocol::do_request ( WiimoteControlUIRequest )
protectedvirtual

◆ get_state()

XMLNode& WiimoteControlProtocol::get_state ( ) const
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ set_active()

int WiimoteControlProtocol::set_active ( bool  yn)
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ set_state()

int WiimoteControlProtocol::set_state ( const XMLNode ,
int  version 
)
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ start()

int WiimoteControlProtocol::start ( )
protected

◆ start_wiimote_discovery()

void WiimoteControlProtocol::start_wiimote_discovery ( )

◆ stop()

int WiimoteControlProtocol::stop ( )
protected

◆ stop_wiimote_discovery()

void WiimoteControlProtocol::stop_wiimote_discovery ( )

◆ stripable_selection_changed()

void WiimoteControlProtocol::stripable_selection_changed ( )
inlinevirtual

Implements ARDOUR::ControlProtocol.

Definition at line 53 of file wiimote.h.

◆ thread_init()

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

◆ update_led_state()

void WiimoteControlProtocol::update_led_state ( )
protected

◆ wiimote_callback()

void WiimoteControlProtocol::wiimote_callback ( int  mesg_count,
union cwiid_mesg  mesg[] 
)

Member Data Documentation

◆ button_state

uint16_t WiimoteControlProtocol::button_state
protected

Definition at line 73 of file wiimote.h.

◆ callback_thread_registered

bool WiimoteControlProtocol::callback_thread_registered
protected

Definition at line 74 of file wiimote.h.

◆ idle_source

GSource* WiimoteControlProtocol::idle_source
protected

Definition at line 72 of file wiimote.h.

◆ session_connections

PBD::ScopedConnectionList WiimoteControlProtocol::session_connections
protected

Definition at line 70 of file wiimote.h.

◆ wiimote

cwiid_wiimote_t* WiimoteControlProtocol::wiimote
protected

Definition at line 71 of file wiimote.h.


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