Ardour  9.0-pre0-380-gbbdb6b0e63
ArdourSurface::US2400Protocol Class Reference

#include <us2400_control_protocol.h>

Inheritance diagram for ArdourSurface::US2400Protocol:
[legend]

Classes

struct  ButtonHandlers
 

Public Types

enum  ViewMode { Mixer , Busses }
 
enum  SubViewMode { None , TrackView }
 
typedef std::list< std::shared_ptr< US2400::Surface > > Surfaces
 
typedef std::list< std::shared_ptr< ARDOUR::AutomationControl > > ControlList
 
- Public Types inherited from PBD::EventLoop
enum  RequestType { range_guarantee = ~0 }
 

Public Member Functions

 US2400Protocol (ARDOUR::Session &)
 
virtual ~US2400Protocol ()
 
const US2400::DeviceInfodevice_info () const
 
US2400::DeviceProfiledevice_profile ()
 
void device_ready ()
 
int set_active (bool yn)
 
int set_device (const std::string &, bool force)
 
void set_profile (const std::string &)
 
ViewMode view_mode () const
 
SubViewMode subview_mode () const
 
std::shared_ptr< ARDOUR::Stripablesubview_stripable () const
 
bool zoom_mode () const
 
bool metering_active () const
 
bool is_track (std::shared_ptr< ARDOUR::Stripable >) const
 
bool is_audio_track (std::shared_ptr< ARDOUR::Stripable >) const
 
bool is_midi_track (std::shared_ptr< ARDOUR::Stripable >) const
 
bool is_mapped (std::shared_ptr< ARDOUR::Stripable >) const
 
std::shared_ptr< ARDOUR::Stripablefirst_selected_stripable () const
 
void check_fader_automation_state ()
 
void update_fader_automation_state ()
 
void set_automation_state (ARDOUR::AutoState)
 
void set_view_mode (ViewMode)
 
int set_subview_mode (SubViewMode, std::shared_ptr< ARDOUR::Stripable >)
 
void display_view_mode ()
 
XMLNodeget_state () const
 
int set_state (const XMLNode &, int version)
 
std::shared_ptr< US2400::Surfaceget_surface_by_raw_pointer (void *) const
 
std::shared_ptr< US2400::Surfacenth_surface (uint32_t) const
 
uint32_t global_index (US2400::Strip &)
 
uint32_t global_index_locked (US2400::Strip &)
 
std::list< std::shared_ptr< ARDOUR::Bundle > > bundles ()
 
void set_master_on_surface_strip (uint32_t surface, uint32_t strip)
 
void set_monitor_on_surface_strip (uint32_t surface, uint32_t strip)
 
uint32_t n_strips (bool with_locked_strips=true) const
 
bool has_editor () const
 
void * get_gui () const
 
void tear_down_gui ()
 
void handle_button_event (US2400::Surface &, US2400::Button &button, US2400::ButtonState)
 
void notify_subview_stripable_deleted ()
 
void notify_stripable_removed ()
 
void notify_routes_added (ARDOUR::RouteList &)
 
void notify_vca_added (ARDOUR::VCAList &)
 
void notify_presentation_info_changed (PBD::PropertyChange const &)
 
void recalibrate_faders ()
 
void toggle_backlight ()
 
void set_touch_sensitivity (int)
 
void refresh_current_bank ()
 
void notify_record_state_changed ()
 
void notify_transport_state_changed ()
 
void notify_loop_state_changed ()
 
void notify_metering_state_changed ()
 
void notify_parameter_changed (std::string const &)
 
void notify_solo_active_changed (bool)
 
void update_timecode_beats_led ()
 
void update_led (US2400::Surface &, US2400::Button &button, US2400::LedState)
 this is called to generate the midi to send in response to a button press. More...
 
void update_global_button (int id, US2400::LedState)
 
void update_global_led (int id, US2400::LedState)
 
ARDOUR::Sessionget_session ()
 
samplepos_t transport_sample () const
 
int modifier_state () const
 
int main_modifier_state () const
 
void add_down_button (ARDOUR::AutomationType, int surface, int strip)
 
void remove_down_button (ARDOUR::AutomationType, int surface, int strip)
 
ControlList down_controls (ARDOUR::AutomationType, uint32_t pressed)
 
void add_down_select_button (int surface, int strip)
 
void remove_down_select_button (int surface, int strip)
 
void select_range (uint32_t pressed)
 
int get_sends_bank ()
 
 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)
 
- 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< US2400ControlUIRequest >
 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 US2400Protocolinstance ()
 
static bool subview_mode_would_be_ok (SubViewMode, std::shared_ptr< ARDOUR::Stripable >)
 
- 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

PBD::Signal< void()> DeviceChanged
 
PBD::Signal< void(std::shared_ptr< US2400::Surface >)> ConnectionChange
 
Glib::Threads::Mutex surfaces_lock
 
Surfaces surfaces
 
- 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< US2400ControlUIRequest >
Glib::Threads::RWLock request_buffer_map_lock
 
- Public Attributes inherited from PBD::EventLoop
std::list< InvalidationRecord * > trash
 

Static Public Attributes

static const int MODIFIER_OPTION
 
static const int MODIFIER_CONTROL
 
static const int MODIFIER_SHIFT
 
static const int MODIFIER_CMDALT
 
static const int MODIFIER_ZOOM
 
static const int MODIFIER_SCRUB
 
static const int MODIFIER_MARKER
 
static const int MODIFIER_DROP
 
static const int MAIN_MODIFIER_MASK
 
- 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

typedef std::vector< std::shared_ptr< ARDOUR::Stripable > > Sorted
 
- Protected Types inherited from AbstractUI< US2400ControlUIRequest >
typedef RequestBuffer::rw_vector RequestBufferVector
 
typedef std::map< pthread_t, RequestBuffer * >::iterator RequestBufferMapIterator
 
typedef std::map< pthread_t, RequestBuffer * > RequestBufferMap
 

Protected Member Functions

void close ()
 
void update_surfaces ()
 
void connect_session_signals ()
 
void zero_all ()
 
Sorted get_sorted_stripables ()
 
int switch_banks (uint32_t first_remote_id, bool force=false)
 
void prev_track ()
 
void next_track ()
 
void do_request (US2400ControlUIRequest *)
 
int stop ()
 
void thread_init ()
 
bool stripable_is_locked_to_strip (std::shared_ptr< ARDOUR::Stripable >) const
 
- 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< US2400ControlUIRequest >
US2400ControlUIRequest * get_request (RequestType)
 
void handle_ui_requests ()
 
void send_request (US2400ControlUIRequest *)
 
virtual void do_request (US2400ControlUIRequest *)=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 Types

typedef std::map< US2400::Button::ID, ButtonHandlersButtonMap
 
typedef std::set< uint32_t > DownButtonList
 
typedef std::map< ARDOUR::AutomationType, DownButtonListDownButtonMap
 

Private Member Functions

bool profile_exists (std::string const &) const
 
int create_surfaces ()
 
bool periodic ()
 
bool redisplay ()
 
bool redisplay_subview_mode ()
 
bool hui_heartbeat ()
 
void build_gui ()
 
bool midi_input_handler (Glib::IOCondition ioc, MIDI::Port *port)
 
void clear_ports ()
 
void clear_surfaces ()
 
void force_special_stripable_to_strip (std::shared_ptr< ARDOUR::Stripable > r, uint32_t surface, uint32_t strip_number)
 
void build_button_map ()
 
void stripable_selection_changed ()
 
void initialize ()
 
int set_device_info (const std::string &device_name)
 
void update_configuration_state () const
 
void connection_handler (std::weak_ptr< ARDOUR::Port >, std::string name1, std::weak_ptr< ARDOUR::Port >, std::string name2, bool)
 
void pull_stripable_range (DownButtonList &, ARDOUR::StripableList &, uint32_t pressed)
 
US2400::LedState stop_press (US2400::Button &)
 
US2400::LedState stop_release (US2400::Button &)
 
US2400::LedState play_press (US2400::Button &)
 
US2400::LedState play_release (US2400::Button &)
 
US2400::LedState record_press (US2400::Button &)
 
US2400::LedState record_release (US2400::Button &)
 
US2400::LedState loop_press (US2400::Button &)
 
US2400::LedState loop_release (US2400::Button &)
 
US2400::LedState rewind_press (US2400::Button &button)
 
US2400::LedState rewind_release (US2400::Button &button)
 
US2400::LedState ffwd_press (US2400::Button &button)
 
US2400::LedState ffwd_release (US2400::Button &button)
 
US2400::LedState cursor_up_press (US2400::Button &)
 
US2400::LedState cursor_up_release (US2400::Button &)
 
US2400::LedState cursor_down_press (US2400::Button &)
 
US2400::LedState cursor_down_release (US2400::Button &)
 
US2400::LedState cursor_left_press (US2400::Button &)
 
US2400::LedState cursor_left_release (US2400::Button &)
 
US2400::LedState cursor_right_press (US2400::Button &)
 
US2400::LedState cursor_right_release (US2400::Button &)
 
US2400::LedState left_press (US2400::Button &)
 
US2400::LedState left_release (US2400::Button &)
 
US2400::LedState right_press (US2400::Button &)
 
US2400::LedState right_release (US2400::Button &)
 
US2400::LedState channel_left_press (US2400::Button &)
 
US2400::LedState channel_left_release (US2400::Button &)
 
US2400::LedState channel_right_press (US2400::Button &)
 
US2400::LedState channel_right_release (US2400::Button &)
 
US2400::LedState marker_press (US2400::Button &)
 
US2400::LedState marker_release (US2400::Button &)
 
US2400::LedState save_press (US2400::Button &)
 
US2400::LedState save_release (US2400::Button &)
 
US2400::LedState timecode_beats_press (US2400::Button &)
 
US2400::LedState timecode_beats_release (US2400::Button &)
 
US2400::LedState zoom_press (US2400::Button &)
 
US2400::LedState zoom_release (US2400::Button &)
 
US2400::LedState scrub_press (US2400::Button &)
 
US2400::LedState scrub_release (US2400::Button &)
 
US2400::LedState undo_press (US2400::Button &)
 
US2400::LedState undo_release (US2400::Button &)
 
US2400::LedState shift_press (US2400::Button &)
 
US2400::LedState shift_release (US2400::Button &)
 
US2400::LedState option_press (US2400::Button &)
 
US2400::LedState option_release (US2400::Button &)
 
US2400::LedState control_press (US2400::Button &)
 
US2400::LedState control_release (US2400::Button &)
 
US2400::LedState cmd_alt_press (US2400::Button &)
 
US2400::LedState cmd_alt_release (US2400::Button &)
 
US2400::LedState pan_press (US2400::Button &)
 
US2400::LedState pan_release (US2400::Button &)
 
US2400::LedState plugin_press (US2400::Button &)
 
US2400::LedState plugin_release (US2400::Button &)
 
US2400::LedState eq_press (US2400::Button &)
 
US2400::LedState eq_release (US2400::Button &)
 
US2400::LedState dyn_press (US2400::Button &)
 
US2400::LedState dyn_release (US2400::Button &)
 
US2400::LedState flip_press (US2400::Button &)
 
US2400::LedState flip_release (US2400::Button &)
 
US2400::LedState mstr_press (US2400::Button &)
 
US2400::LedState mstr_release (US2400::Button &)
 
US2400::LedState name_value_press (US2400::Button &)
 
US2400::LedState name_value_release (US2400::Button &)
 
US2400::LedState touch_press (US2400::Button &)
 
US2400::LedState touch_release (US2400::Button &)
 
US2400::LedState enter_press (US2400::Button &)
 
US2400::LedState enter_release (US2400::Button &)
 
US2400::LedState cancel_press (US2400::Button &)
 
US2400::LedState cancel_release (US2400::Button &)
 
US2400::LedState user_a_press (US2400::Button &)
 
US2400::LedState user_a_release (US2400::Button &)
 
US2400::LedState user_b_press (US2400::Button &)
 
US2400::LedState user_b_release (US2400::Button &)
 
US2400::LedState fader_touch_press (US2400::Button &)
 
US2400::LedState fader_touch_release (US2400::Button &)
 
US2400::LedState master_fader_touch_press (US2400::Button &)
 
US2400::LedState master_fader_touch_release (US2400::Button &)
 
US2400::LedState read_press (US2400::Button &)
 
US2400::LedState read_release (US2400::Button &)
 
US2400::LedState write_press (US2400::Button &)
 
US2400::LedState write_release (US2400::Button &)
 
US2400::LedState clearsolo_press (US2400::Button &)
 
US2400::LedState clearsolo_release (US2400::Button &)
 
US2400::LedState track_press (US2400::Button &)
 
US2400::LedState track_release (US2400::Button &)
 
US2400::LedState send_press (US2400::Button &)
 
US2400::LedState send_release (US2400::Button &)
 
US2400::LedState miditracks_press (US2400::Button &)
 
US2400::LedState miditracks_release (US2400::Button &)
 
US2400::LedState inputs_press (US2400::Button &)
 
US2400::LedState inputs_release (US2400::Button &)
 
US2400::LedState audiotracks_press (US2400::Button &)
 
US2400::LedState audiotracks_release (US2400::Button &)
 
US2400::LedState audioinstruments_press (US2400::Button &)
 
US2400::LedState audioinstruments_release (US2400::Button &)
 
US2400::LedState aux_press (US2400::Button &)
 
US2400::LedState aux_release (US2400::Button &)
 
US2400::LedState busses_press (US2400::Button &)
 
US2400::LedState busses_release (US2400::Button &)
 
US2400::LedState outputs_press (US2400::Button &)
 
US2400::LedState outputs_release (US2400::Button &)
 
US2400::LedState user_press (US2400::Button &)
 
US2400::LedState user_release (US2400::Button &)
 
US2400::LedState trim_press (US2400::Button &)
 
US2400::LedState trim_release (US2400::Button &)
 
US2400::LedState latch_press (US2400::Button &)
 
US2400::LedState latch_release (US2400::Button &)
 
US2400::LedState grp_press (US2400::Button &)
 
US2400::LedState grp_release (US2400::Button &)
 
US2400::LedState nudge_press (US2400::Button &)
 
US2400::LedState nudge_release (US2400::Button &)
 
US2400::LedState drop_press (US2400::Button &)
 
US2400::LedState drop_release (US2400::Button &)
 
US2400::LedState replace_press (US2400::Button &)
 
US2400::LedState replace_release (US2400::Button &)
 
US2400::LedState click_press (US2400::Button &)
 
US2400::LedState click_release (US2400::Button &)
 
US2400::LedState view_press (US2400::Button &)
 
US2400::LedState view_release (US2400::Button &)
 
US2400::LedState bank_release (US2400::Button &, uint32_t bank_num)
 

Private Attributes

US2400::DeviceInfo _device_info
 
US2400::DeviceProfile _device_profile
 
sigc::connection periodic_connection
 
sigc::connection redisplay_connection
 
sigc::connection hui_connection
 
uint32_t _current_initial_bank
 
PBD::ScopedConnectionList audio_engine_connections
 
PBD::ScopedConnectionList session_connections
 
PBD::ScopedConnectionList stripable_connections
 
PBD::ScopedConnectionList subview_stripable_connections
 
PBD::ScopedConnectionList gui_connections
 
US2400::Timer _frm_left_last
 
std::string _timecode_last
 
samplepos_t _sample_last
 
ARDOUR::AnyTime::Type _timecode_type
 
std::shared_ptr< ARDOUR::Bundle_input_bundle
 
std::shared_ptr< ARDOUR::Bundle_output_bundle
 
void * _gui
 
bool _scrub_mode
 
ViewMode _view_mode
 
SubViewMode _subview_mode
 
std::shared_ptr< ARDOUR::Stripable_subview_stripable
 
int _modifier_state
 
ButtonMap button_map
 
bool _metering_active
 
bool _initialized
 
XMLNodeconfiguration_state
 
int state_version
 
int _last_bank [9]
 
bool marker_modifier_consumed_by_button
 
bool nudge_modifier_consumed_by_button
 
int _sends_bank
 
std::shared_ptr< ArdourSurface::US2400::Surface_master_surface
 
PBD::ScopedConnection port_connection
 
DownButtonMap _down_buttons
 
DownButtonList _down_select_buttons
 

Static Private Attributes

static US2400Protocol_instance
 

Additional Inherited Members

- 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< US2400ControlUIRequest >
RequestBufferMap request_buffers
 
std::list< US2400ControlUIRequest * > 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 68 of file us2400_control_protocol.h.

Member Typedef Documentation

◆ ButtonMap

◆ ControlList

Definition at line 202 of file us2400_control_protocol.h.

◆ DownButtonList

typedef std::set<uint32_t> ArdourSurface::US2400Protocol::DownButtonList
private

Definition at line 331 of file us2400_control_protocol.h.

◆ DownButtonMap

◆ Sorted

typedef std::vector<std::shared_ptr<ARDOUR::Stripable> > ArdourSurface::US2400Protocol::Sorted
protected

Fetch the set of Stripables to be considered for control by the surface. Excluding master, hidden and control routes, and inactive routes

Definition at line 235 of file us2400_control_protocol.h.

◆ Surfaces

typedef std::list<std::shared_ptr<US2400::Surface> > ArdourSurface::US2400Protocol::Surfaces

Definition at line 140 of file us2400_control_protocol.h.

Member Enumeration Documentation

◆ SubViewMode

Enumerator
None 
TrackView 

Definition at line 88 of file us2400_control_protocol.h.

◆ ViewMode

Enumerator
Mixer 
Busses 

Definition at line 83 of file us2400_control_protocol.h.

Constructor & Destructor Documentation

◆ US2400Protocol()

ArdourSurface::US2400Protocol::US2400Protocol ( ARDOUR::Session )

◆ ~US2400Protocol()

virtual ArdourSurface::US2400Protocol::~US2400Protocol ( )
virtual

Member Function Documentation

◆ add_down_button()

void ArdourSurface::US2400Protocol::add_down_button ( ARDOUR::AutomationType  ,
int  surface,
int  strip 
)

◆ add_down_select_button()

void ArdourSurface::US2400Protocol::add_down_select_button ( int  surface,
int  strip 
)

◆ audioinstruments_press()

US2400::LedState ArdourSurface::US2400Protocol::audioinstruments_press ( US2400::Button )
private

◆ audioinstruments_release()

US2400::LedState ArdourSurface::US2400Protocol::audioinstruments_release ( US2400::Button )
private

◆ audiotracks_press()

US2400::LedState ArdourSurface::US2400Protocol::audiotracks_press ( US2400::Button )
private

◆ audiotracks_release()

US2400::LedState ArdourSurface::US2400Protocol::audiotracks_release ( US2400::Button )
private

◆ aux_press()

US2400::LedState ArdourSurface::US2400Protocol::aux_press ( US2400::Button )
private

◆ aux_release()

US2400::LedState ArdourSurface::US2400Protocol::aux_release ( US2400::Button )
private

◆ bank_release()

US2400::LedState ArdourSurface::US2400Protocol::bank_release ( US2400::Button ,
uint32_t  bank_num 
)
private

◆ build_button_map()

void ArdourSurface::US2400Protocol::build_button_map ( )
private

◆ build_gui()

void ArdourSurface::US2400Protocol::build_gui ( )
private

◆ bundles()

std::list<std::shared_ptr<ARDOUR::Bundle> > ArdourSurface::US2400Protocol::bundles ( )
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ busses_press()

US2400::LedState ArdourSurface::US2400Protocol::busses_press ( US2400::Button )
private

◆ busses_release()

US2400::LedState ArdourSurface::US2400Protocol::busses_release ( US2400::Button )
private

◆ cancel_press()

US2400::LedState ArdourSurface::US2400Protocol::cancel_press ( US2400::Button )
private

◆ cancel_release()

US2400::LedState ArdourSurface::US2400Protocol::cancel_release ( US2400::Button )
private

◆ channel_left_press()

US2400::LedState ArdourSurface::US2400Protocol::channel_left_press ( US2400::Button )
private

◆ channel_left_release()

US2400::LedState ArdourSurface::US2400Protocol::channel_left_release ( US2400::Button )
private

◆ channel_right_press()

US2400::LedState ArdourSurface::US2400Protocol::channel_right_press ( US2400::Button )
private

◆ channel_right_release()

US2400::LedState ArdourSurface::US2400Protocol::channel_right_release ( US2400::Button )
private

◆ check_fader_automation_state()

void ArdourSurface::US2400Protocol::check_fader_automation_state ( )

◆ clear_ports()

void ArdourSurface::US2400Protocol::clear_ports ( )
private

◆ clear_surfaces()

void ArdourSurface::US2400Protocol::clear_surfaces ( )
private

◆ clearsolo_press()

US2400::LedState ArdourSurface::US2400Protocol::clearsolo_press ( US2400::Button )
private

◆ clearsolo_release()

US2400::LedState ArdourSurface::US2400Protocol::clearsolo_release ( US2400::Button )
private

◆ click_press()

US2400::LedState ArdourSurface::US2400Protocol::click_press ( US2400::Button )
private

◆ click_release()

US2400::LedState ArdourSurface::US2400Protocol::click_release ( US2400::Button )
private

◆ close()

void ArdourSurface::US2400Protocol::close ( )
protected

◆ cmd_alt_press()

US2400::LedState ArdourSurface::US2400Protocol::cmd_alt_press ( US2400::Button )
private

◆ cmd_alt_release()

US2400::LedState ArdourSurface::US2400Protocol::cmd_alt_release ( US2400::Button )
private

◆ connect_session_signals()

void ArdourSurface::US2400Protocol::connect_session_signals ( )
protected

◆ connection_handler()

void ArdourSurface::US2400Protocol::connection_handler ( std::weak_ptr< ARDOUR::Port ,
std::string  name1,
std::weak_ptr< ARDOUR::Port ,
std::string  name2,
bool   
)
private

◆ control_press()

US2400::LedState ArdourSurface::US2400Protocol::control_press ( US2400::Button )
private

◆ CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL()

ArdourSurface::US2400Protocol::CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL ( )

◆ control_release()

US2400::LedState ArdourSurface::US2400Protocol::control_release ( US2400::Button )
private

◆ create_surfaces()

int ArdourSurface::US2400Protocol::create_surfaces ( )
private

◆ cursor_down_press()

US2400::LedState ArdourSurface::US2400Protocol::cursor_down_press ( US2400::Button )
private

◆ cursor_down_release()

US2400::LedState ArdourSurface::US2400Protocol::cursor_down_release ( US2400::Button )
private

◆ cursor_left_press()

US2400::LedState ArdourSurface::US2400Protocol::cursor_left_press ( US2400::Button )
private

◆ cursor_left_release()

US2400::LedState ArdourSurface::US2400Protocol::cursor_left_release ( US2400::Button )
private

◆ cursor_right_press()

US2400::LedState ArdourSurface::US2400Protocol::cursor_right_press ( US2400::Button )
private

◆ cursor_right_release()

US2400::LedState ArdourSurface::US2400Protocol::cursor_right_release ( US2400::Button )
private

◆ cursor_up_press()

US2400::LedState ArdourSurface::US2400Protocol::cursor_up_press ( US2400::Button )
private

◆ cursor_up_release()

US2400::LedState ArdourSurface::US2400Protocol::cursor_up_release ( US2400::Button )
private

◆ device_info()

const US2400::DeviceInfo& ArdourSurface::US2400Protocol::device_info ( ) const
inline

Definition at line 98 of file us2400_control_protocol.h.

◆ device_profile()

US2400::DeviceProfile& ArdourSurface::US2400Protocol::device_profile ( )
inline

Definition at line 99 of file us2400_control_protocol.h.

◆ device_ready()

void ArdourSurface::US2400Protocol::device_ready ( )

◆ display_view_mode()

void ArdourSurface::US2400Protocol::display_view_mode ( )

◆ do_request()

void ArdourSurface::US2400Protocol::do_request ( US2400ControlUIRequest )
protected

◆ down_controls()

ControlList ArdourSurface::US2400Protocol::down_controls ( ARDOUR::AutomationType  ,
uint32_t  pressed 
)

◆ drop_press()

US2400::LedState ArdourSurface::US2400Protocol::drop_press ( US2400::Button )
private

◆ drop_release()

US2400::LedState ArdourSurface::US2400Protocol::drop_release ( US2400::Button )
private

◆ dyn_press()

US2400::LedState ArdourSurface::US2400Protocol::dyn_press ( US2400::Button )
private

◆ dyn_release()

US2400::LedState ArdourSurface::US2400Protocol::dyn_release ( US2400::Button )
private

◆ enter_press()

US2400::LedState ArdourSurface::US2400Protocol::enter_press ( US2400::Button )
private

◆ enter_release()

US2400::LedState ArdourSurface::US2400Protocol::enter_release ( US2400::Button )
private

◆ eq_press()

US2400::LedState ArdourSurface::US2400Protocol::eq_press ( US2400::Button )
private

◆ eq_release()

US2400::LedState ArdourSurface::US2400Protocol::eq_release ( US2400::Button )
private

◆ fader_touch_press()

US2400::LedState ArdourSurface::US2400Protocol::fader_touch_press ( US2400::Button )
private

◆ fader_touch_release()

US2400::LedState ArdourSurface::US2400Protocol::fader_touch_release ( US2400::Button )
private

◆ ffwd_press()

US2400::LedState ArdourSurface::US2400Protocol::ffwd_press ( US2400::Button button)
private

◆ ffwd_release()

US2400::LedState ArdourSurface::US2400Protocol::ffwd_release ( US2400::Button button)
private

◆ first_selected_stripable()

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::US2400Protocol::first_selected_stripable ( ) const

◆ flip_press()

US2400::LedState ArdourSurface::US2400Protocol::flip_press ( US2400::Button )
private

◆ flip_release()

US2400::LedState ArdourSurface::US2400Protocol::flip_release ( US2400::Button )
private

◆ force_special_stripable_to_strip()

void ArdourSurface::US2400Protocol::force_special_stripable_to_strip ( std::shared_ptr< ARDOUR::Stripable r,
uint32_t  surface,
uint32_t  strip_number 
)
private

◆ get_gui()

void* ArdourSurface::US2400Protocol::get_gui ( ) const
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ get_sends_bank()

int ArdourSurface::US2400Protocol::get_sends_bank ( )

◆ get_session()

ARDOUR::Session& ArdourSurface::US2400Protocol::get_session ( )
inline

Definition at line 196 of file us2400_control_protocol.h.

◆ get_sorted_stripables()

Sorted ArdourSurface::US2400Protocol::get_sorted_stripables ( )
protected

◆ get_state()

XMLNode& ArdourSurface::US2400Protocol::get_state ( ) const
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ get_surface_by_raw_pointer()

std::shared_ptr<US2400::Surface> ArdourSurface::US2400Protocol::get_surface_by_raw_pointer ( void *  ) const

◆ global_index()

uint32_t ArdourSurface::US2400Protocol::global_index ( US2400::Strip )

◆ global_index_locked()

uint32_t ArdourSurface::US2400Protocol::global_index_locked ( US2400::Strip )

◆ grp_press()

US2400::LedState ArdourSurface::US2400Protocol::grp_press ( US2400::Button )
private

◆ grp_release()

US2400::LedState ArdourSurface::US2400Protocol::grp_release ( US2400::Button )
private

◆ handle_button_event()

void ArdourSurface::US2400Protocol::handle_button_event ( US2400::Surface ,
US2400::Button button,
US2400::ButtonState   
)

◆ has_editor()

bool ArdourSurface::US2400Protocol::has_editor ( ) const
inlinevirtual

Reimplemented from ARDOUR::ControlProtocol.

Definition at line 156 of file us2400_control_protocol.h.

◆ hui_heartbeat()

bool ArdourSurface::US2400Protocol::hui_heartbeat ( )
private

◆ initialize()

void ArdourSurface::US2400Protocol::initialize ( )
private

◆ inputs_press()

US2400::LedState ArdourSurface::US2400Protocol::inputs_press ( US2400::Button )
private

◆ inputs_release()

US2400::LedState ArdourSurface::US2400Protocol::inputs_release ( US2400::Button )
private

◆ instance()

static US2400Protocol* ArdourSurface::US2400Protocol::instance ( )
inlinestatic

Definition at line 96 of file us2400_control_protocol.h.

◆ is_audio_track()

bool ArdourSurface::US2400Protocol::is_audio_track ( std::shared_ptr< ARDOUR::Stripable ) const

◆ is_mapped()

bool ArdourSurface::US2400Protocol::is_mapped ( std::shared_ptr< ARDOUR::Stripable ) const

◆ is_midi_track()

bool ArdourSurface::US2400Protocol::is_midi_track ( std::shared_ptr< ARDOUR::Stripable ) const

◆ is_track()

bool ArdourSurface::US2400Protocol::is_track ( std::shared_ptr< ARDOUR::Stripable ) const

◆ latch_press()

US2400::LedState ArdourSurface::US2400Protocol::latch_press ( US2400::Button )
private

◆ latch_release()

US2400::LedState ArdourSurface::US2400Protocol::latch_release ( US2400::Button )
private

◆ left_press()

US2400::LedState ArdourSurface::US2400Protocol::left_press ( US2400::Button )
private

◆ left_release()

US2400::LedState ArdourSurface::US2400Protocol::left_release ( US2400::Button )
private

◆ loop_press()

US2400::LedState ArdourSurface::US2400Protocol::loop_press ( US2400::Button )
private

◆ loop_release()

US2400::LedState ArdourSurface::US2400Protocol::loop_release ( US2400::Button )
private

◆ main_modifier_state()

int ArdourSurface::US2400Protocol::main_modifier_state ( ) const
inline

Definition at line 200 of file us2400_control_protocol.h.

◆ marker_press()

US2400::LedState ArdourSurface::US2400Protocol::marker_press ( US2400::Button )
private

◆ marker_release()

US2400::LedState ArdourSurface::US2400Protocol::marker_release ( US2400::Button )
private

◆ master_fader_touch_press()

US2400::LedState ArdourSurface::US2400Protocol::master_fader_touch_press ( US2400::Button )
private

◆ master_fader_touch_release()

US2400::LedState ArdourSurface::US2400Protocol::master_fader_touch_release ( US2400::Button )
private

◆ metering_active()

bool ArdourSurface::US2400Protocol::metering_active ( ) const
inline

Definition at line 115 of file us2400_control_protocol.h.

◆ midi_input_handler()

bool ArdourSurface::US2400Protocol::midi_input_handler ( Glib::IOCondition  ioc,
MIDI::Port port 
)
private

◆ miditracks_press()

US2400::LedState ArdourSurface::US2400Protocol::miditracks_press ( US2400::Button )
private

◆ miditracks_release()

US2400::LedState ArdourSurface::US2400Protocol::miditracks_release ( US2400::Button )
private

◆ modifier_state()

int ArdourSurface::US2400Protocol::modifier_state ( ) const
inline

Definition at line 199 of file us2400_control_protocol.h.

◆ mstr_press()

US2400::LedState ArdourSurface::US2400Protocol::mstr_press ( US2400::Button )
private

◆ mstr_release()

US2400::LedState ArdourSurface::US2400Protocol::mstr_release ( US2400::Button )
private

◆ n_strips()

uint32_t ArdourSurface::US2400Protocol::n_strips ( bool  with_locked_strips = true) const

◆ name_value_press()

US2400::LedState ArdourSurface::US2400Protocol::name_value_press ( US2400::Button )
private

◆ name_value_release()

US2400::LedState ArdourSurface::US2400Protocol::name_value_release ( US2400::Button )
private

◆ next_track()

void ArdourSurface::US2400Protocol::next_track ( )
protected

◆ notify_loop_state_changed()

void ArdourSurface::US2400Protocol::notify_loop_state_changed ( )

◆ notify_metering_state_changed()

void ArdourSurface::US2400Protocol::notify_metering_state_changed ( )

◆ notify_parameter_changed()

void ArdourSurface::US2400Protocol::notify_parameter_changed ( std::string const &  )

◆ notify_presentation_info_changed()

void ArdourSurface::US2400Protocol::notify_presentation_info_changed ( PBD::PropertyChange const &  )

◆ notify_record_state_changed()

void ArdourSurface::US2400Protocol::notify_record_state_changed ( )

◆ notify_routes_added()

void ArdourSurface::US2400Protocol::notify_routes_added ( ARDOUR::RouteList )

◆ notify_solo_active_changed()

void ArdourSurface::US2400Protocol::notify_solo_active_changed ( bool  )

◆ notify_stripable_removed()

void ArdourSurface::US2400Protocol::notify_stripable_removed ( )

◆ notify_subview_stripable_deleted()

void ArdourSurface::US2400Protocol::notify_subview_stripable_deleted ( )

◆ notify_transport_state_changed()

void ArdourSurface::US2400Protocol::notify_transport_state_changed ( )

◆ notify_vca_added()

void ArdourSurface::US2400Protocol::notify_vca_added ( ARDOUR::VCAList )

◆ nth_surface()

std::shared_ptr<US2400::Surface> ArdourSurface::US2400Protocol::nth_surface ( uint32_t  ) const

◆ nudge_press()

US2400::LedState ArdourSurface::US2400Protocol::nudge_press ( US2400::Button )
private

◆ nudge_release()

US2400::LedState ArdourSurface::US2400Protocol::nudge_release ( US2400::Button )
private

◆ option_press()

US2400::LedState ArdourSurface::US2400Protocol::option_press ( US2400::Button )
private

◆ option_release()

US2400::LedState ArdourSurface::US2400Protocol::option_release ( US2400::Button )
private

◆ outputs_press()

US2400::LedState ArdourSurface::US2400Protocol::outputs_press ( US2400::Button )
private

◆ outputs_release()

US2400::LedState ArdourSurface::US2400Protocol::outputs_release ( US2400::Button )
private

◆ pan_press()

US2400::LedState ArdourSurface::US2400Protocol::pan_press ( US2400::Button )
private

◆ pan_release()

US2400::LedState ArdourSurface::US2400Protocol::pan_release ( US2400::Button )
private

◆ periodic()

bool ArdourSurface::US2400Protocol::periodic ( )
private

◆ play_press()

US2400::LedState ArdourSurface::US2400Protocol::play_press ( US2400::Button )
private

◆ play_release()

US2400::LedState ArdourSurface::US2400Protocol::play_release ( US2400::Button )
private

◆ plugin_press()

US2400::LedState ArdourSurface::US2400Protocol::plugin_press ( US2400::Button )
private

◆ plugin_release()

US2400::LedState ArdourSurface::US2400Protocol::plugin_release ( US2400::Button )
private

◆ prev_track()

void ArdourSurface::US2400Protocol::prev_track ( )
protected

◆ profile_exists()

bool ArdourSurface::US2400Protocol::profile_exists ( std::string const &  ) const
private

◆ pull_stripable_range()

void ArdourSurface::US2400Protocol::pull_stripable_range ( DownButtonList ,
ARDOUR::StripableList ,
uint32_t  pressed 
)
private

◆ read_press()

US2400::LedState ArdourSurface::US2400Protocol::read_press ( US2400::Button )
private

◆ read_release()

US2400::LedState ArdourSurface::US2400Protocol::read_release ( US2400::Button )
private

◆ recalibrate_faders()

void ArdourSurface::US2400Protocol::recalibrate_faders ( )

◆ record_press()

US2400::LedState ArdourSurface::US2400Protocol::record_press ( US2400::Button )
private

◆ record_release()

US2400::LedState ArdourSurface::US2400Protocol::record_release ( US2400::Button )
private

◆ redisplay()

bool ArdourSurface::US2400Protocol::redisplay ( )
private

◆ redisplay_subview_mode()

bool ArdourSurface::US2400Protocol::redisplay_subview_mode ( )
private

◆ refresh_current_bank()

void ArdourSurface::US2400Protocol::refresh_current_bank ( )

rebuild the current bank. Called on route or vca added/removed and presentation info changed.

◆ remove_down_button()

void ArdourSurface::US2400Protocol::remove_down_button ( ARDOUR::AutomationType  ,
int  surface,
int  strip 
)

◆ remove_down_select_button()

void ArdourSurface::US2400Protocol::remove_down_select_button ( int  surface,
int  strip 
)

◆ replace_press()

US2400::LedState ArdourSurface::US2400Protocol::replace_press ( US2400::Button )
private

◆ replace_release()

US2400::LedState ArdourSurface::US2400Protocol::replace_release ( US2400::Button )
private

◆ rewind_press()

US2400::LedState ArdourSurface::US2400Protocol::rewind_press ( US2400::Button button)
private

◆ rewind_release()

US2400::LedState ArdourSurface::US2400Protocol::rewind_release ( US2400::Button button)
private

◆ right_press()

US2400::LedState ArdourSurface::US2400Protocol::right_press ( US2400::Button )
private

◆ right_release()

US2400::LedState ArdourSurface::US2400Protocol::right_release ( US2400::Button )
private

◆ save_press()

US2400::LedState ArdourSurface::US2400Protocol::save_press ( US2400::Button )
private

◆ save_release()

US2400::LedState ArdourSurface::US2400Protocol::save_release ( US2400::Button )
private

◆ scrub_press()

US2400::LedState ArdourSurface::US2400Protocol::scrub_press ( US2400::Button )
private

◆ scrub_release()

US2400::LedState ArdourSurface::US2400Protocol::scrub_release ( US2400::Button )
private

◆ select_range()

void ArdourSurface::US2400Protocol::select_range ( uint32_t  pressed)

◆ send_press()

US2400::LedState ArdourSurface::US2400Protocol::send_press ( US2400::Button )
private

◆ send_release()

US2400::LedState ArdourSurface::US2400Protocol::send_release ( US2400::Button )
private

◆ set_active()

int ArdourSurface::US2400Protocol::set_active ( bool  yn)
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ set_automation_state()

void ArdourSurface::US2400Protocol::set_automation_state ( ARDOUR::AutoState  )

◆ set_device()

int ArdourSurface::US2400Protocol::set_device ( const std::string &  ,
bool  force 
)

◆ set_device_info()

int ArdourSurface::US2400Protocol::set_device_info ( const std::string &  device_name)
private

◆ set_master_on_surface_strip()

void ArdourSurface::US2400Protocol::set_master_on_surface_strip ( uint32_t  surface,
uint32_t  strip 
)

◆ set_monitor_on_surface_strip()

void ArdourSurface::US2400Protocol::set_monitor_on_surface_strip ( uint32_t  surface,
uint32_t  strip 
)

◆ set_profile()

void ArdourSurface::US2400Protocol::set_profile ( const std::string &  )

◆ set_state()

int ArdourSurface::US2400Protocol::set_state ( const XMLNode ,
int  version 
)
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ set_subview_mode()

int ArdourSurface::US2400Protocol::set_subview_mode ( SubViewMode  ,
std::shared_ptr< ARDOUR::Stripable  
)

◆ set_touch_sensitivity()

void ArdourSurface::US2400Protocol::set_touch_sensitivity ( int  )

◆ set_view_mode()

void ArdourSurface::US2400Protocol::set_view_mode ( ViewMode  )

◆ shift_press()

US2400::LedState ArdourSurface::US2400Protocol::shift_press ( US2400::Button )
private

◆ shift_release()

US2400::LedState ArdourSurface::US2400Protocol::shift_release ( US2400::Button )
private

◆ stop()

int ArdourSurface::US2400Protocol::stop ( )
protected

◆ stop_press()

US2400::LedState ArdourSurface::US2400Protocol::stop_press ( US2400::Button )
private

◆ stop_release()

US2400::LedState ArdourSurface::US2400Protocol::stop_release ( US2400::Button )
private

◆ stripable_is_locked_to_strip()

bool ArdourSurface::US2400Protocol::stripable_is_locked_to_strip ( std::shared_ptr< ARDOUR::Stripable ) const
protected

◆ stripable_selection_changed()

void ArdourSurface::US2400Protocol::stripable_selection_changed ( )
privatevirtual

◆ subview_mode()

SubViewMode ArdourSurface::US2400Protocol::subview_mode ( ) const
inline

Definition at line 111 of file us2400_control_protocol.h.

◆ subview_mode_would_be_ok()

static bool ArdourSurface::US2400Protocol::subview_mode_would_be_ok ( SubViewMode  ,
std::shared_ptr< ARDOUR::Stripable  
)
static

◆ subview_stripable()

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::US2400Protocol::subview_stripable ( ) const

◆ switch_banks()

int ArdourSurface::US2400Protocol::switch_banks ( uint32_t  first_remote_id,
bool  force = false 
)
protected

◆ tear_down_gui()

void ArdourSurface::US2400Protocol::tear_down_gui ( )
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ thread_init()

void ArdourSurface::US2400Protocol::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.

◆ timecode_beats_press()

US2400::LedState ArdourSurface::US2400Protocol::timecode_beats_press ( US2400::Button )
private

◆ timecode_beats_release()

US2400::LedState ArdourSurface::US2400Protocol::timecode_beats_release ( US2400::Button )
private

◆ toggle_backlight()

void ArdourSurface::US2400Protocol::toggle_backlight ( )

◆ touch_press()

US2400::LedState ArdourSurface::US2400Protocol::touch_press ( US2400::Button )
private

◆ touch_release()

US2400::LedState ArdourSurface::US2400Protocol::touch_release ( US2400::Button )
private

◆ track_press()

US2400::LedState ArdourSurface::US2400Protocol::track_press ( US2400::Button )
private

◆ track_release()

US2400::LedState ArdourSurface::US2400Protocol::track_release ( US2400::Button )
private

◆ transport_sample()

samplepos_t ArdourSurface::US2400Protocol::transport_sample ( ) const

◆ trim_press()

US2400::LedState ArdourSurface::US2400Protocol::trim_press ( US2400::Button )
private

◆ trim_release()

US2400::LedState ArdourSurface::US2400Protocol::trim_release ( US2400::Button )
private

◆ undo_press()

US2400::LedState ArdourSurface::US2400Protocol::undo_press ( US2400::Button )
private

◆ undo_release()

US2400::LedState ArdourSurface::US2400Protocol::undo_release ( US2400::Button )
private

◆ update_configuration_state()

void ArdourSurface::US2400Protocol::update_configuration_state ( ) const
private

◆ update_fader_automation_state()

void ArdourSurface::US2400Protocol::update_fader_automation_state ( )

◆ update_global_button()

void ArdourSurface::US2400Protocol::update_global_button ( int  id,
US2400::LedState   
)

◆ update_global_led()

void ArdourSurface::US2400Protocol::update_global_led ( int  id,
US2400::LedState   
)

◆ update_led()

void ArdourSurface::US2400Protocol::update_led ( US2400::Surface ,
US2400::Button button,
US2400::LedState   
)

this is called to generate the midi to send in response to a button press.

◆ update_surfaces()

void ArdourSurface::US2400Protocol::update_surfaces ( )
protected

◆ update_timecode_beats_led()

void ArdourSurface::US2400Protocol::update_timecode_beats_led ( )

Turn timecode on and beats off, or vice versa, depending on state of _timecode_type

◆ user_a_press()

US2400::LedState ArdourSurface::US2400Protocol::user_a_press ( US2400::Button )
private

◆ user_a_release()

US2400::LedState ArdourSurface::US2400Protocol::user_a_release ( US2400::Button )
private

◆ user_b_press()

US2400::LedState ArdourSurface::US2400Protocol::user_b_press ( US2400::Button )
private

◆ user_b_release()

US2400::LedState ArdourSurface::US2400Protocol::user_b_release ( US2400::Button )
private

◆ user_press()

US2400::LedState ArdourSurface::US2400Protocol::user_press ( US2400::Button )
private

◆ user_release()

US2400::LedState ArdourSurface::US2400Protocol::user_release ( US2400::Button )
private

◆ view_mode()

ViewMode ArdourSurface::US2400Protocol::view_mode ( ) const
inline

Definition at line 110 of file us2400_control_protocol.h.

◆ view_press()

US2400::LedState ArdourSurface::US2400Protocol::view_press ( US2400::Button )
private

◆ view_release()

US2400::LedState ArdourSurface::US2400Protocol::view_release ( US2400::Button )
private

◆ write_press()

US2400::LedState ArdourSurface::US2400Protocol::write_press ( US2400::Button )
private

◆ write_release()

US2400::LedState ArdourSurface::US2400Protocol::write_release ( US2400::Button )
private

◆ zero_all()

void ArdourSurface::US2400Protocol::zero_all ( )
protected

◆ zoom_mode()

bool ArdourSurface::US2400Protocol::zoom_mode ( ) const
inline

Definition at line 114 of file us2400_control_protocol.h.

◆ zoom_press()

US2400::LedState ArdourSurface::US2400Protocol::zoom_press ( US2400::Button )
private

◆ zoom_release()

US2400::LedState ArdourSurface::US2400Protocol::zoom_release ( US2400::Button )
private

Member Data Documentation

◆ _current_initial_bank

uint32_t ArdourSurface::US2400Protocol::_current_initial_bank
private

Definition at line 273 of file us2400_control_protocol.h.

◆ _device_info

US2400::DeviceInfo ArdourSurface::US2400Protocol::_device_info
private

Definition at line 268 of file us2400_control_protocol.h.

◆ _device_profile

US2400::DeviceProfile ArdourSurface::US2400Protocol::_device_profile
private

Definition at line 269 of file us2400_control_protocol.h.

◆ _down_buttons

DownButtonMap ArdourSurface::US2400Protocol::_down_buttons
private

Definition at line 333 of file us2400_control_protocol.h.

◆ _down_select_buttons

DownButtonList ArdourSurface::US2400Protocol::_down_select_buttons
private

Definition at line 334 of file us2400_control_protocol.h.

◆ _frm_left_last

US2400::Timer ArdourSurface::US2400Protocol::_frm_left_last
private

Definition at line 280 of file us2400_control_protocol.h.

◆ _gui

void* ArdourSurface::US2400Protocol::_gui
private

Definition at line 290 of file us2400_control_protocol.h.

◆ _initialized

bool ArdourSurface::US2400Protocol::_initialized
private

Definition at line 298 of file us2400_control_protocol.h.

◆ _input_bundle

std::shared_ptr<ARDOUR::Bundle> ArdourSurface::US2400Protocol::_input_bundle
private

Definition at line 287 of file us2400_control_protocol.h.

◆ _instance

US2400Protocol* ArdourSurface::US2400Protocol::_instance
staticprivate

Definition at line 264 of file us2400_control_protocol.h.

◆ _last_bank

int ArdourSurface::US2400Protocol::_last_bank[9]
private

Definition at line 301 of file us2400_control_protocol.h.

◆ _master_surface

std::shared_ptr<ArdourSurface::US2400::Surface> ArdourSurface::US2400Protocol::_master_surface
private

Definition at line 306 of file us2400_control_protocol.h.

◆ _metering_active

bool ArdourSurface::US2400Protocol::_metering_active
private

Definition at line 297 of file us2400_control_protocol.h.

◆ _modifier_state

int ArdourSurface::US2400Protocol::_modifier_state
private

Definition at line 295 of file us2400_control_protocol.h.

◆ _output_bundle

std::shared_ptr<ARDOUR::Bundle> ArdourSurface::US2400Protocol::_output_bundle
private

Definition at line 289 of file us2400_control_protocol.h.

◆ _sample_last

samplepos_t ArdourSurface::US2400Protocol::_sample_last
private

Definition at line 283 of file us2400_control_protocol.h.

◆ _scrub_mode

bool ArdourSurface::US2400Protocol::_scrub_mode
private

Definition at line 291 of file us2400_control_protocol.h.

◆ _sends_bank

int ArdourSurface::US2400Protocol::_sends_bank
private

Definition at line 304 of file us2400_control_protocol.h.

◆ _subview_mode

SubViewMode ArdourSurface::US2400Protocol::_subview_mode
private

Definition at line 293 of file us2400_control_protocol.h.

◆ _subview_stripable

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::US2400Protocol::_subview_stripable
private

Definition at line 294 of file us2400_control_protocol.h.

◆ _timecode_last

std::string ArdourSurface::US2400Protocol::_timecode_last
private

Definition at line 282 of file us2400_control_protocol.h.

◆ _timecode_type

ARDOUR::AnyTime::Type ArdourSurface::US2400Protocol::_timecode_type
private

Definition at line 285 of file us2400_control_protocol.h.

◆ _view_mode

ViewMode ArdourSurface::US2400Protocol::_view_mode
private

Definition at line 292 of file us2400_control_protocol.h.

◆ audio_engine_connections

PBD::ScopedConnectionList ArdourSurface::US2400Protocol::audio_engine_connections
private

Definition at line 274 of file us2400_control_protocol.h.

◆ button_map

ButtonMap ArdourSurface::US2400Protocol::button_map
private

Definition at line 296 of file us2400_control_protocol.h.

◆ configuration_state

XMLNode* ArdourSurface::US2400Protocol::configuration_state
mutableprivate

Definition at line 299 of file us2400_control_protocol.h.

◆ ConnectionChange

PBD::Signal<void(std::shared_ptr<US2400::Surface> )> ArdourSurface::US2400Protocol::ConnectionChange

Definition at line 102 of file us2400_control_protocol.h.

◆ DeviceChanged

PBD::Signal<void()> ArdourSurface::US2400Protocol::DeviceChanged

Definition at line 101 of file us2400_control_protocol.h.

◆ gui_connections

PBD::ScopedConnectionList ArdourSurface::US2400Protocol::gui_connections
private

Definition at line 278 of file us2400_control_protocol.h.

◆ hui_connection

sigc::connection ArdourSurface::US2400Protocol::hui_connection
private

Definition at line 272 of file us2400_control_protocol.h.

◆ MAIN_MODIFIER_MASK

const int ArdourSurface::US2400Protocol::MAIN_MODIFIER_MASK
static

Definition at line 81 of file us2400_control_protocol.h.

◆ marker_modifier_consumed_by_button

bool ArdourSurface::US2400Protocol::marker_modifier_consumed_by_button
private

Definition at line 302 of file us2400_control_protocol.h.

◆ MODIFIER_CMDALT

const int ArdourSurface::US2400Protocol::MODIFIER_CMDALT
static

Definition at line 76 of file us2400_control_protocol.h.

◆ MODIFIER_CONTROL

const int ArdourSurface::US2400Protocol::MODIFIER_CONTROL
static

Definition at line 74 of file us2400_control_protocol.h.

◆ MODIFIER_DROP

const int ArdourSurface::US2400Protocol::MODIFIER_DROP
static

Definition at line 80 of file us2400_control_protocol.h.

◆ MODIFIER_MARKER

const int ArdourSurface::US2400Protocol::MODIFIER_MARKER
static

Definition at line 79 of file us2400_control_protocol.h.

◆ MODIFIER_OPTION

const int ArdourSurface::US2400Protocol::MODIFIER_OPTION
static

Definition at line 73 of file us2400_control_protocol.h.

◆ MODIFIER_SCRUB

const int ArdourSurface::US2400Protocol::MODIFIER_SCRUB
static

Definition at line 78 of file us2400_control_protocol.h.

◆ MODIFIER_SHIFT

const int ArdourSurface::US2400Protocol::MODIFIER_SHIFT
static

Definition at line 75 of file us2400_control_protocol.h.

◆ MODIFIER_ZOOM

const int ArdourSurface::US2400Protocol::MODIFIER_ZOOM
static

Definition at line 77 of file us2400_control_protocol.h.

◆ nudge_modifier_consumed_by_button

bool ArdourSurface::US2400Protocol::nudge_modifier_consumed_by_button
private

Definition at line 303 of file us2400_control_protocol.h.

◆ periodic_connection

sigc::connection ArdourSurface::US2400Protocol::periodic_connection
private

Definition at line 270 of file us2400_control_protocol.h.

◆ port_connection

PBD::ScopedConnection ArdourSurface::US2400Protocol::port_connection
private

Definition at line 326 of file us2400_control_protocol.h.

◆ redisplay_connection

sigc::connection ArdourSurface::US2400Protocol::redisplay_connection
private

Definition at line 271 of file us2400_control_protocol.h.

◆ session_connections

PBD::ScopedConnectionList ArdourSurface::US2400Protocol::session_connections
private

Definition at line 275 of file us2400_control_protocol.h.

◆ state_version

int ArdourSurface::US2400Protocol::state_version
private

Definition at line 300 of file us2400_control_protocol.h.

◆ stripable_connections

PBD::ScopedConnectionList ArdourSurface::US2400Protocol::stripable_connections
private

Definition at line 276 of file us2400_control_protocol.h.

◆ subview_stripable_connections

PBD::ScopedConnectionList ArdourSurface::US2400Protocol::subview_stripable_connections
private

Definition at line 277 of file us2400_control_protocol.h.

◆ surfaces

Surfaces ArdourSurface::US2400Protocol::surfaces

Definition at line 141 of file us2400_control_protocol.h.

◆ surfaces_lock

Glib::Threads::Mutex ArdourSurface::US2400Protocol::surfaces_lock
mutable

Definition at line 139 of file us2400_control_protocol.h.


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