Ardour  8.7-11-g2d99ff9703
ArdourSurface::LaunchPadPro Class Reference

#include <lppro.h>

Inheritance diagram for ArdourSurface::LaunchPadPro:
[legend]

Classes

struct  Pad
 

Public Types

enum  PadID {
  Shift = 0x5a , Left = 0x5b , Right = 0x5c , Session = 0x5d ,
  Note = 0x5e , Chord = 0x5f , Custom = 0x60 , Sequencer = 0x61 ,
  Projects = 0x62 , Patterns = 0x59 , Steps = 0x4f , PatternSettings = 0x45 ,
  Velocity = 0x3b , Probability = 0x31 , Mutation = 0x27 , MicroStep = 0x1d ,
  PrintToClip = 0x13 , StopClip = 0x8 , Device = 0x7 , Sends = 0x6 ,
  Pan = 0x5 , Volume = 0x4 , Solo = 0x3 , Mute = 0x2 ,
  RecordArm = 0x1 , CaptureMIDI = 0xa , Play = 0x14 , FixedLength = 0x1e ,
  Quantize = 0x28 , Duplicate = 0x32 , Clear = 0x3c , Down = 0x46 ,
  Up = 0x50 , Lower1 = 0x65 , Lower2 = 0x66 , Lower3 = 0x67 ,
  Lower4 = 0x68 , Lower5 = 0x69 , Lower6 = 0x6a , Lower7 = 0x6b ,
  Lower8 = 0x6c , Logo = 0x63
}
 
- Public Types inherited from PBD::EventLoop
enum  RequestType { range_guarantee = ~0 }
 

Public Member Functions

bool light_logo ()
 
void all_pads_out ()
 
 LaunchPadPro (ARDOUR::Session &)
 
 ~LaunchPadPro ()
 
std::string input_port_name () const
 
std::string output_port_name () const
 
bool has_editor () const
 
void * get_gui () const
 
void tear_down_gui ()
 
int set_active (bool yn)
 
XMLNodeget_state () const
 
int set_state (const XMLNode &node, int version)
 
- Public Member Functions inherited from MIDISurface
 MIDISurface (ARDOUR::Session &, std::string const &name, std::string const &port_name_prefix, bool use_pad_filter)
 
 ~MIDISurface ()
 
std::shared_ptr< ARDOUR::Portinput_port ()
 
std::shared_ptr< ARDOUR::Portoutput_port ()
 
ARDOUR::Sessionget_session ()
 
void write (const MidiByteArray &)
 
void write (MIDI::byte const *, size_t)
 
std::list< std::shared_ptr< ARDOUR::Bundle > > bundles ()
 
 CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL ()
 
virtual bool midi_input_handler (Glib::IOCondition ioc, MIDI::Port *port)
 
void midi_connectivity_established (bool)
 
- 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
 
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 ()
 
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< MidiSurfaceRequest >
 AbstractUI (const std::string &name)
 
virtual ~AbstractUI ()
 
void register_thread (pthread_t, std::string, uint32_t num_requests)
 
bool call_slot (EventLoop::InvalidationRecord *, const boost::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 boost::function< void()> &)=0
 
std::string event_loop_name () const
 

Static Public Member Functions

static bool available ()
 
static bool match_usb (uint16_t, uint16_t)
 
static bool probe (std::string &, std::string &)
 
- 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)
 

Static Public Attributes

static const PadID all_pad_ids []
 
- Static Public Attributes inherited from ARDOUR::ControlProtocol
static PBD::Signal0< void > ZoomToSession
 
static PBD::Signal0< void > ZoomIn
 
static PBD::Signal0< void > ZoomOut
 
static PBD::Signal0< void > Enter
 
static PBD::Signal0< void > Undo
 
static PBD::Signal0< void > Redo
 
static PBD::Signal1< void, float > ScrollTimeline
 
static PBD::Signal1< void, uint32_t > GotoView
 
static PBD::Signal0< void > CloseDialog
 
static PBD::Signal0< void > VerticalZoomInAll
 
static PBD::Signal0< void > VerticalZoomOutAll
 
static PBD::Signal0< void > VerticalZoomInSelected
 
static PBD::Signal0< void > VerticalZoomOutSelected
 
static PBD::Signal0< void > StepTracksDown
 
static PBD::Signal0< void > StepTracksUp
 
static PBD::Signal1< 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::Signal2< void, std::string, std::string > AccessAction
 
- Static Public Attributes inherited from BaseUI
static RequestType CallSlot
 
static RequestType Quit
 

Private Types

enum  DeviceMode { Standalone , DAW , Programmer }
 
enum  Layout {
  SessionLayout , Fader , ChordLayout , CustomLayout ,
  NoteLayout , Scale , SequencerSettings , SequencerSteps ,
  SequencerVelocity , SequencerPatternSettings , SequencerProbability , SequencerMutation ,
  SequencerMicroStep , SequencerProjects , SequencerPatterns , SequencerTempo ,
  SequencerSwing , ProgrammerLayout , Settings , CustomSettings
}
 
enum  FaderBank { VolumeFaders , PanFaders , SendFaders , DeviceFaders }
 
typedef std::pair< int32_t, int32_t > StripableSlot
 
typedef std::vector< StripableSlotStripableSlotRow
 
typedef std::vector< StripableSlotRowStripableSlotColumn
 
typedef std::map< int, PadPadMap
 
typedef std::map< int, uint32_t > ColorMap
 
typedef std::map< uint32_t, int > NearestMap
 

Private Member Functions

void relax (Pad &p)
 
StripableSlot get_stripable_slot (int x, int y) const
 
void build_pad_map ()
 
Padpad_by_id (int pid)
 
void build_color_map ()
 
int find_closest_palette_color (uint32_t)
 
int begin_using_device ()
 
int stop_using_device ()
 
int device_acquire ()
 
void device_release ()
 
void run_event_loop ()
 
void stop_event_loop ()
 
void stripable_selection_changed ()
 
void select_stripable (int col)
 
void light_pad (int pad_id, int color, int mode=0)
 
void pad_off (int pad_id)
 
void all_pads_off ()
 
void all_pads_on (int color)
 
void set_device_mode (DeviceMode)
 
void set_layout (Layout, int page=0)
 
void handle_midi_controller_message (MIDI::Parser &, MIDI::EventTwoBytes *)
 
void handle_midi_note_on_message (MIDI::Parser &, MIDI::EventTwoBytes *)
 
void handle_midi_note_off_message (MIDI::Parser &, MIDI::EventTwoBytes *)
 
void handle_midi_sysex (MIDI::Parser &, MIDI::byte *, size_t count)
 
void port_registration_handler ()
 
int ports_acquire ()
 
void ports_release ()
 
void connect_daw_ports ()
 
void daw_write (const MidiByteArray &)
 
void daw_write (MIDI::byte const *, size_t)
 
void reconnect_for_programmer ()
 
void reconnect_for_session ()
 
void scroll_text (std::string const &, int color, bool loop, float speed=0)
 
void build_gui ()
 
bool pad_filter (ARDOUR::MidiBuffer &in, ARDOUR::MidiBuffer &out) const
 
void maybe_start_press_timeout (Pad &pad)
 
void start_press_timeout (Pad &pad)
 
bool long_press_timeout (int pad_id)
 
void cue_press (Pad &, int row)
 
void shift_press (Pad &)
 
void shift_release (Pad &)
 
void shift_long_press (Pad &)
 
void left_press (Pad &)
 
void left_release (Pad &)
 
void left_long_press (Pad &)
 
void right_press (Pad &)
 
void right_release (Pad &)
 
void right_long_press (Pad &)
 
void session_press (Pad &)
 
void session_release (Pad &)
 
void session_long_press (Pad &)
 
void note_press (Pad &)
 
void note_release (Pad &)
 
void note_long_press (Pad &)
 
void chord_press (Pad &)
 
void chord_release (Pad &)
 
void chord_long_press (Pad &)
 
void custom_press (Pad &)
 
void custom_release (Pad &)
 
void custom_long_press (Pad &)
 
void sequencer_press (Pad &)
 
void sequencer_release (Pad &)
 
void sequencer_long_press (Pad &)
 
void projects_press (Pad &)
 
void projects_release (Pad &)
 
void projects_long_press (Pad &)
 
void patterns_press (Pad &)
 
void patterns_release (Pad &)
 
void patterns_long_press (Pad &)
 
void steps_press (Pad &)
 
void steps_release (Pad &)
 
void steps_long_press (Pad &)
 
void pattern_settings_press (Pad &)
 
void pattern_settings_release (Pad &)
 
void pattern_settings_long_press (Pad &)
 
void velocity_press (Pad &)
 
void velocity_release (Pad &)
 
void velocity_long_press (Pad &)
 
void probability_press (Pad &)
 
void probability_release (Pad &)
 
void probability_long_press (Pad &)
 
void mutation_press (Pad &)
 
void mutation_release (Pad &)
 
void mutation_long_press (Pad &)
 
void microstep_press (Pad &)
 
void microstep_release (Pad &)
 
void microstep_long_press (Pad &)
 
void print_to_clip_press (Pad &)
 
void print_to_clip_release (Pad &)
 
void print_to_clip_long_press (Pad &)
 
void stop_clip_press (Pad &)
 
void stop_clip_release (Pad &)
 
void stop_clip_long_press (Pad &)
 
void device_press (Pad &)
 
void device_release (Pad &)
 
void device_long_press (Pad &)
 
void sends_press (Pad &)
 
void sends_release (Pad &)
 
void sends_long_press (Pad &)
 
void pan_press (Pad &)
 
void pan_release (Pad &)
 
void pan_long_press (Pad &)
 
void volume_press (Pad &)
 
void volume_release (Pad &)
 
void volume_long_press (Pad &)
 
void solo_press (Pad &)
 
void solo_release (Pad &)
 
void solo_long_press (Pad &)
 
void mute_press (Pad &)
 
void mute_release (Pad &)
 
void mute_long_press (Pad &)
 
void record_arm_press (Pad &)
 
void record_arm_release (Pad &)
 
void record_arm_long_press (Pad &)
 
void capture_midi_press (Pad &)
 
void capture_midi_release (Pad &)
 
void capture_midi_long_press (Pad &)
 
void play_press (Pad &)
 
void play_release (Pad &)
 
void play_long_press (Pad &)
 
void fixed_length_press (Pad &)
 
void fixed_length_release (Pad &)
 
void fixed_length_long_press (Pad &)
 
void quantize_press (Pad &)
 
void quantize_release (Pad &)
 
void quantize_long_press (Pad &)
 
void duplicate_press (Pad &)
 
void duplicate_release (Pad &)
 
void duplicate_long_press (Pad &)
 
void clear_press (Pad &)
 
void clear_release (Pad &)
 
void clear_long_press (Pad &)
 
void down_press (Pad &)
 
void down_release (Pad &)
 
void down_long_press (Pad &)
 
void up_press (Pad &)
 
void up_release (Pad &)
 
void up_long_press (Pad &)
 
void lower1_press (Pad &)
 
void lower1_release (Pad &)
 
void lower1_long_press (Pad &)
 
void lower2_press (Pad &)
 
void lower2_release (Pad &)
 
void lower2_long_press (Pad &)
 
void lower3_press (Pad &)
 
void lower3_release (Pad &)
 
void lower3_long_press (Pad &)
 
void lower4_press (Pad &)
 
void lower4_release (Pad &)
 
void lower4_long_press (Pad &)
 
void lower5_press (Pad &)
 
void lower5_release (Pad &)
 
void lower5_long_press (Pad &)
 
void lower6_press (Pad &)
 
void lower6_release (Pad &)
 
void lower6_long_press (Pad &)
 
void lower7_press (Pad &)
 
void lower7_release (Pad &)
 
void lower7_long_press (Pad &)
 
void lower8_press (Pad &)
 
void lower8_release (Pad &)
 
void lower8_long_press (Pad &)
 
void fader_long_press (Pad &)
 
void fader_release (Pad &)
 
void pad_press (Pad &, int velocity)
 
void pad_long_press (Pad &)
 
void pad_release (Pad &)
 
void trigger_property_change (PBD::PropertyChange, ARDOUR::Trigger *)
 
void display_session_layout ()
 
void transport_state_changed ()
 
void record_state_changed ()
 
void map_triggers ()
 
void map_triggerbox (int col)
 
void viewport_changed ()
 
void route_property_change (PBD::PropertyChange const &, int x)
 
void setup_faders (FaderBank)
 
void map_faders ()
 
void fader_move (int cc, int val)
 
void automation_control_change (int n, std::weak_ptr< ARDOUR::AutomationControl >)
 

Private Attributes

std::set< int > consumed
 
MIDI::byte logo_color
 
int scroll_x_offset
 
int scroll_y_offset
 
StripableSlotColumn stripable_slots
 
PadMap pad_map
 
ColorMap color_map
 
NearestMap nearest_map
 
std::weak_ptr< ARDOUR::MidiTrack_current_pad_target
 
MIDI::Port_daw_in_port
 
MIDI::Port_daw_out_port
 
std::shared_ptr< ARDOUR::Port_daw_in
 
std::shared_ptr< ARDOUR::Port_daw_out
 
LPPRO_GUI_gui
 
Layout _current_layout
 
bool _shift_pressed
 
bool _clear_pressed
 
bool _duplicate_pressed
 
bool _session_pressed
 
PBD::ScopedConnectionList trigger_connections
 
bool did_session_display
 
PBD::ScopedConnectionList route_connections
 
PBD::ScopedConnectionList control_connections
 
FaderBank current_fader_bank
 
bool revert_layout_on_fader_release
 
Layout pre_fader_layout
 

Static Private Attributes

static const Layout AllLayouts []
 

Additional Inherited Members

- Public Attributes inherited from MIDISurface
std::shared_ptr< ARDOUR::Bundle_input_bundle
 
std::shared_ptr< ARDOUR::Bundle_output_bundle
 
PBD::Signal0< void > ConnectionChange
 
- Public Attributes inherited from ARDOUR::ControlProtocol
PBD::Signal0< void > ActiveChanged
 
- Public Attributes inherited from PBD::Stateful
PBD::Signal1< void, const PropertyChange & > PropertyChanged
 
- Public Attributes inherited from AbstractUI< MidiSurfaceRequest >
Glib::Threads::RWLock request_buffer_map_lock
 
- Public Attributes inherited from PBD::EventLoop
std::list< InvalidationRecord * > trash
 
- Protected Types inherited from MIDISurface
enum  ConnectionState { InputConnected = 0x1 , OutputConnected = 0x2 }
 
- Protected Types inherited from AbstractUI< MidiSurfaceRequest >
typedef RequestBuffer::rw_vector RequestBufferVector
 
typedef std::map< pthread_t, RequestBuffer * >::iterator RequestBufferMapIterator
 
typedef std::map< pthread_t, RequestBuffer * > RequestBufferMap
 
- Protected Member Functions inherited from MIDISurface
void do_request (MidiSurfaceRequest *)
 
virtual void connect_to_parser ()
 
virtual void connect_to_port_parser (MIDI::Port &)
 
virtual void handle_midi_pitchbend_message (MIDI::Parser &, MIDI::pitchbend_t)
 
virtual void handle_midi_polypressure_message (MIDI::Parser &, MIDI::EventTwoBytes *)
 
virtual void thread_init ()
 
virtual void connect_session_signals ()
 
virtual void notify_record_state_changed ()
 
virtual void notify_transport_state_changed ()
 
virtual void notify_loop_state_changed ()
 
virtual void notify_parameter_changed (std::string)
 
virtual void notify_solo_active_changed (bool)
 
void drop ()
 
void port_setup ()
 
- 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< MidiSurfaceRequest >
MidiSurfaceRequestget_request (RequestType)
 
void handle_ui_requests ()
 
void send_request (MidiSurfaceRequest *)
 
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 inherited from MIDISurface
bool with_pad_filter
 
bool _in_use
 
bool _data_required
 
std::string port_name_prefix
 
MIDI::Port_input_port
 
MIDI::Port_output_port
 
std::shared_ptr< ARDOUR::Port_async_in
 
std::shared_ptr< ARDOUR::Port_async_out
 
PBD::ScopedConnectionList session_connections
 
int _connection_state
 
PBD::ScopedConnectionList port_connections
 
- 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< MidiSurfaceRequest >
RequestBufferMap request_buffers
 
std::list< MidiSurfaceRequest * > 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 63 of file lppro.h.

Member Typedef Documentation

◆ ColorMap

typedef std::map<int,uint32_t> ArdourSurface::LaunchPadPro::ColorMap
private

Definition at line 255 of file lppro.h.

◆ NearestMap

typedef std::map<uint32_t,int> ArdourSurface::LaunchPadPro::NearestMap
private

Definition at line 260 of file lppro.h.

◆ PadMap

typedef std::map<int,Pad> ArdourSurface::LaunchPadPro::PadMap
private

Definition at line 250 of file lppro.h.

◆ StripableSlot

typedef std::pair<int32_t,int32_t> ArdourSurface::LaunchPadPro::StripableSlot
private

Definition at line 243 of file lppro.h.

◆ StripableSlotColumn

Definition at line 245 of file lppro.h.

◆ StripableSlotRow

Definition at line 244 of file lppro.h.

Member Enumeration Documentation

◆ DeviceMode

Enumerator
Standalone 
DAW 
Programmer 

Definition at line 144 of file lppro.h.

◆ FaderBank

Enumerator
VolumeFaders 
PanFaders 
SendFaders 
DeviceFaders 

Definition at line 173 of file lppro.h.

◆ Layout

Enumerator
SessionLayout 
Fader 
ChordLayout 
CustomLayout 
NoteLayout 
Scale 
SequencerSettings 
SequencerSteps 
SequencerVelocity 
SequencerPatternSettings 
SequencerProbability 
SequencerMutation 
SequencerMicroStep 
SequencerProjects 
SequencerPatterns 
SequencerTempo 
SequencerSwing 
ProgrammerLayout 
Settings 
CustomSettings 

Definition at line 150 of file lppro.h.

◆ PadID

Enumerator
Shift 
Left 
Right 
Session 
Note 
Chord 
Custom 
Sequencer 
Projects 
Patterns 
Steps 
PatternSettings 
Velocity 
Probability 
Mutation 
MicroStep 
PrintToClip 
StopClip 
Device 
Sends 
Pan 
Volume 
Solo 
Mute 
RecordArm 
CaptureMIDI 
Play 
FixedLength 
Quantize 
Duplicate 
Clear 
Down 
Up 
Lower1 
Lower2 
Lower3 
Lower4 
Lower5 
Lower6 
Lower7 
Lower8 
Logo 

Definition at line 69 of file lppro.h.

Constructor & Destructor Documentation

◆ LaunchPadPro()

ArdourSurface::LaunchPadPro::LaunchPadPro ( ARDOUR::Session )

◆ ~LaunchPadPro()

ArdourSurface::LaunchPadPro::~LaunchPadPro ( )

Member Function Documentation

◆ all_pads_off()

void ArdourSurface::LaunchPadPro::all_pads_off ( )
private

◆ all_pads_on()

void ArdourSurface::LaunchPadPro::all_pads_on ( int  color)
private

◆ all_pads_out()

void ArdourSurface::LaunchPadPro::all_pads_out ( )

◆ automation_control_change()

void ArdourSurface::LaunchPadPro::automation_control_change ( int  n,
std::weak_ptr< ARDOUR::AutomationControl  
)
private

◆ available()

static bool ArdourSurface::LaunchPadPro::available ( )
static

◆ begin_using_device()

int ArdourSurface::LaunchPadPro::begin_using_device ( )
privatevirtual

Reimplemented from MIDISurface.

◆ build_color_map()

void ArdourSurface::LaunchPadPro::build_color_map ( )
private

◆ build_gui()

void ArdourSurface::LaunchPadPro::build_gui ( )
private

◆ build_pad_map()

void ArdourSurface::LaunchPadPro::build_pad_map ( )
private

◆ capture_midi_long_press()

void ArdourSurface::LaunchPadPro::capture_midi_long_press ( Pad )
inlineprivate

Definition at line 401 of file lppro.h.

◆ capture_midi_press()

void ArdourSurface::LaunchPadPro::capture_midi_press ( Pad )
private

◆ capture_midi_release()

void ArdourSurface::LaunchPadPro::capture_midi_release ( Pad )
inlineprivate

Definition at line 400 of file lppro.h.

◆ chord_long_press()

void ArdourSurface::LaunchPadPro::chord_long_press ( Pad )
inlineprivate

Definition at line 341 of file lppro.h.

◆ chord_press()

void ArdourSurface::LaunchPadPro::chord_press ( Pad )
private

◆ chord_release()

void ArdourSurface::LaunchPadPro::chord_release ( Pad )
inlineprivate

Definition at line 340 of file lppro.h.

◆ clear_long_press()

void ArdourSurface::LaunchPadPro::clear_long_press ( Pad )
inlineprivate

Definition at line 416 of file lppro.h.

◆ clear_press()

void ArdourSurface::LaunchPadPro::clear_press ( Pad )
private

◆ clear_release()

void ArdourSurface::LaunchPadPro::clear_release ( Pad )
private

◆ connect_daw_ports()

void ArdourSurface::LaunchPadPro::connect_daw_ports ( )
private

◆ cue_press()

void ArdourSurface::LaunchPadPro::cue_press ( Pad ,
int  row 
)
private

◆ custom_long_press()

void ArdourSurface::LaunchPadPro::custom_long_press ( Pad )
inlineprivate

Definition at line 344 of file lppro.h.

◆ custom_press()

void ArdourSurface::LaunchPadPro::custom_press ( Pad )
private

◆ custom_release()

void ArdourSurface::LaunchPadPro::custom_release ( Pad )
inlineprivate

Definition at line 343 of file lppro.h.

◆ daw_write() [1/2]

void ArdourSurface::LaunchPadPro::daw_write ( const MidiByteArray )
private

◆ daw_write() [2/2]

void ArdourSurface::LaunchPadPro::daw_write ( MIDI::byte const *  ,
size_t   
)
private

◆ device_acquire()

int ArdourSurface::LaunchPadPro::device_acquire ( )
inlineprivatevirtual

Implements MIDISurface.

Definition at line 265 of file lppro.h.

◆ device_long_press()

void ArdourSurface::LaunchPadPro::device_long_press ( Pad )
inlineprivate

Definition at line 380 of file lppro.h.

◆ device_press()

void ArdourSurface::LaunchPadPro::device_press ( Pad )
private

◆ device_release() [1/2]

void ArdourSurface::LaunchPadPro::device_release ( )
inlineprivatevirtual

Implements MIDISurface.

Definition at line 266 of file lppro.h.

◆ device_release() [2/2]

void ArdourSurface::LaunchPadPro::device_release ( Pad )
inlineprivate

Definition at line 379 of file lppro.h.

◆ display_session_layout()

void ArdourSurface::LaunchPadPro::display_session_layout ( )
private

◆ down_long_press()

void ArdourSurface::LaunchPadPro::down_long_press ( Pad )
inlineprivate

Definition at line 419 of file lppro.h.

◆ down_press()

void ArdourSurface::LaunchPadPro::down_press ( Pad )
private

◆ down_release()

void ArdourSurface::LaunchPadPro::down_release ( Pad )
inlineprivate

Definition at line 418 of file lppro.h.

◆ duplicate_long_press()

void ArdourSurface::LaunchPadPro::duplicate_long_press ( Pad )
inlineprivate

Definition at line 413 of file lppro.h.

◆ duplicate_press()

void ArdourSurface::LaunchPadPro::duplicate_press ( Pad )
private

◆ duplicate_release()

void ArdourSurface::LaunchPadPro::duplicate_release ( Pad )
inlineprivate

Definition at line 412 of file lppro.h.

◆ fader_long_press()

void ArdourSurface::LaunchPadPro::fader_long_press ( Pad )
private

◆ fader_move()

void ArdourSurface::LaunchPadPro::fader_move ( int  cc,
int  val 
)
private

◆ fader_release()

void ArdourSurface::LaunchPadPro::fader_release ( Pad )
private

◆ find_closest_palette_color()

int ArdourSurface::LaunchPadPro::find_closest_palette_color ( uint32_t  )
private

◆ fixed_length_long_press()

void ArdourSurface::LaunchPadPro::fixed_length_long_press ( Pad )
inlineprivate

Definition at line 407 of file lppro.h.

◆ fixed_length_press()

void ArdourSurface::LaunchPadPro::fixed_length_press ( Pad )
private

◆ fixed_length_release()

void ArdourSurface::LaunchPadPro::fixed_length_release ( Pad )
inlineprivate

Definition at line 406 of file lppro.h.

◆ get_gui()

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

Reimplemented from ARDOUR::ControlProtocol.

◆ get_state()

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

Reimplemented from MIDISurface.

◆ get_stripable_slot()

StripableSlot ArdourSurface::LaunchPadPro::get_stripable_slot ( int  x,
int  y 
) const
private

◆ handle_midi_controller_message()

void ArdourSurface::LaunchPadPro::handle_midi_controller_message ( MIDI::Parser ,
MIDI::EventTwoBytes  
)
privatevirtual

Reimplemented from MIDISurface.

◆ handle_midi_note_off_message()

void ArdourSurface::LaunchPadPro::handle_midi_note_off_message ( MIDI::Parser ,
MIDI::EventTwoBytes  
)
privatevirtual

Reimplemented from MIDISurface.

◆ handle_midi_note_on_message()

void ArdourSurface::LaunchPadPro::handle_midi_note_on_message ( MIDI::Parser ,
MIDI::EventTwoBytes  
)
privatevirtual

Reimplemented from MIDISurface.

◆ handle_midi_sysex()

void ArdourSurface::LaunchPadPro::handle_midi_sysex ( MIDI::Parser ,
MIDI::byte ,
size_t  count 
)
privatevirtual

Reimplemented from MIDISurface.

◆ has_editor()

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

Reimplemented from ARDOUR::ControlProtocol.

Definition at line 135 of file lppro.h.

◆ input_port_name()

std::string ArdourSurface::LaunchPadPro::input_port_name ( ) const
virtual

Implements MIDISurface.

◆ left_long_press()

void ArdourSurface::LaunchPadPro::left_long_press ( Pad )
inlineprivate

Definition at line 329 of file lppro.h.

◆ left_press()

void ArdourSurface::LaunchPadPro::left_press ( Pad )
private

◆ left_release()

void ArdourSurface::LaunchPadPro::left_release ( Pad )
inlineprivate

Definition at line 328 of file lppro.h.

◆ light_logo()

bool ArdourSurface::LaunchPadPro::light_logo ( )

◆ light_pad()

void ArdourSurface::LaunchPadPro::light_pad ( int  pad_id,
int  color,
int  mode = 0 
)
private

◆ long_press_timeout()

bool ArdourSurface::LaunchPadPro::long_press_timeout ( int  pad_id)
private

◆ lower1_long_press()

void ArdourSurface::LaunchPadPro::lower1_long_press ( Pad )
inlineprivate

Definition at line 425 of file lppro.h.

◆ lower1_press()

void ArdourSurface::LaunchPadPro::lower1_press ( Pad )
private

◆ lower1_release()

void ArdourSurface::LaunchPadPro::lower1_release ( Pad )
inlineprivate

Definition at line 424 of file lppro.h.

◆ lower2_long_press()

void ArdourSurface::LaunchPadPro::lower2_long_press ( Pad )
inlineprivate

Definition at line 428 of file lppro.h.

◆ lower2_press()

void ArdourSurface::LaunchPadPro::lower2_press ( Pad )
private

◆ lower2_release()

void ArdourSurface::LaunchPadPro::lower2_release ( Pad )
inlineprivate

Definition at line 427 of file lppro.h.

◆ lower3_long_press()

void ArdourSurface::LaunchPadPro::lower3_long_press ( Pad )
inlineprivate

Definition at line 431 of file lppro.h.

◆ lower3_press()

void ArdourSurface::LaunchPadPro::lower3_press ( Pad )
private

◆ lower3_release()

void ArdourSurface::LaunchPadPro::lower3_release ( Pad )
inlineprivate

Definition at line 430 of file lppro.h.

◆ lower4_long_press()

void ArdourSurface::LaunchPadPro::lower4_long_press ( Pad )
inlineprivate

Definition at line 434 of file lppro.h.

◆ lower4_press()

void ArdourSurface::LaunchPadPro::lower4_press ( Pad )
private

◆ lower4_release()

void ArdourSurface::LaunchPadPro::lower4_release ( Pad )
inlineprivate

Definition at line 433 of file lppro.h.

◆ lower5_long_press()

void ArdourSurface::LaunchPadPro::lower5_long_press ( Pad )
inlineprivate

Definition at line 437 of file lppro.h.

◆ lower5_press()

void ArdourSurface::LaunchPadPro::lower5_press ( Pad )
private

◆ lower5_release()

void ArdourSurface::LaunchPadPro::lower5_release ( Pad )
inlineprivate

Definition at line 436 of file lppro.h.

◆ lower6_long_press()

void ArdourSurface::LaunchPadPro::lower6_long_press ( Pad )
inlineprivate

Definition at line 440 of file lppro.h.

◆ lower6_press()

void ArdourSurface::LaunchPadPro::lower6_press ( Pad )
private

◆ lower6_release()

void ArdourSurface::LaunchPadPro::lower6_release ( Pad )
inlineprivate

Definition at line 439 of file lppro.h.

◆ lower7_long_press()

void ArdourSurface::LaunchPadPro::lower7_long_press ( Pad )
inlineprivate

Definition at line 443 of file lppro.h.

◆ lower7_press()

void ArdourSurface::LaunchPadPro::lower7_press ( Pad )
private

◆ lower7_release()

void ArdourSurface::LaunchPadPro::lower7_release ( Pad )
inlineprivate

Definition at line 442 of file lppro.h.

◆ lower8_long_press()

void ArdourSurface::LaunchPadPro::lower8_long_press ( Pad )
inlineprivate

Definition at line 446 of file lppro.h.

◆ lower8_press()

void ArdourSurface::LaunchPadPro::lower8_press ( Pad )
private

◆ lower8_release()

void ArdourSurface::LaunchPadPro::lower8_release ( Pad )
inlineprivate

Definition at line 445 of file lppro.h.

◆ map_faders()

void ArdourSurface::LaunchPadPro::map_faders ( )
private

◆ map_triggerbox()

void ArdourSurface::LaunchPadPro::map_triggerbox ( int  col)
private

◆ map_triggers()

void ArdourSurface::LaunchPadPro::map_triggers ( )
private

◆ match_usb()

static bool ArdourSurface::LaunchPadPro::match_usb ( uint16_t  ,
uint16_t   
)
static

◆ maybe_start_press_timeout()

void ArdourSurface::LaunchPadPro::maybe_start_press_timeout ( Pad pad)
private

◆ microstep_long_press()

void ArdourSurface::LaunchPadPro::microstep_long_press ( Pad )
inlineprivate

Definition at line 371 of file lppro.h.

◆ microstep_press()

void ArdourSurface::LaunchPadPro::microstep_press ( Pad )
private

◆ microstep_release()

void ArdourSurface::LaunchPadPro::microstep_release ( Pad )
inlineprivate

Definition at line 370 of file lppro.h.

◆ mutation_long_press()

void ArdourSurface::LaunchPadPro::mutation_long_press ( Pad )
inlineprivate

Definition at line 368 of file lppro.h.

◆ mutation_press()

void ArdourSurface::LaunchPadPro::mutation_press ( Pad )
private

◆ mutation_release()

void ArdourSurface::LaunchPadPro::mutation_release ( Pad )
inlineprivate

Definition at line 367 of file lppro.h.

◆ mute_long_press()

void ArdourSurface::LaunchPadPro::mute_long_press ( Pad )
inlineprivate

Definition at line 395 of file lppro.h.

◆ mute_press()

void ArdourSurface::LaunchPadPro::mute_press ( Pad )
private

◆ mute_release()

void ArdourSurface::LaunchPadPro::mute_release ( Pad )
inlineprivate

Definition at line 394 of file lppro.h.

◆ note_long_press()

void ArdourSurface::LaunchPadPro::note_long_press ( Pad )
inlineprivate

Definition at line 338 of file lppro.h.

◆ note_press()

void ArdourSurface::LaunchPadPro::note_press ( Pad )
private

◆ note_release()

void ArdourSurface::LaunchPadPro::note_release ( Pad )
inlineprivate

Definition at line 337 of file lppro.h.

◆ output_port_name()

std::string ArdourSurface::LaunchPadPro::output_port_name ( ) const
virtual

Implements MIDISurface.

◆ pad_by_id()

Pad* ArdourSurface::LaunchPadPro::pad_by_id ( int  pid)
private

◆ pad_filter()

bool ArdourSurface::LaunchPadPro::pad_filter ( ARDOUR::MidiBuffer in,
ARDOUR::MidiBuffer out 
) const
privatevirtual

Reimplemented from MIDISurface.

◆ pad_long_press()

void ArdourSurface::LaunchPadPro::pad_long_press ( Pad )
private

◆ pad_off()

void ArdourSurface::LaunchPadPro::pad_off ( int  pad_id)
private

◆ pad_press()

void ArdourSurface::LaunchPadPro::pad_press ( Pad ,
int  velocity 
)
private

◆ pad_release()

void ArdourSurface::LaunchPadPro::pad_release ( Pad )
private

◆ pan_long_press()

void ArdourSurface::LaunchPadPro::pan_long_press ( Pad )
inlineprivate

Definition at line 386 of file lppro.h.

◆ pan_press()

void ArdourSurface::LaunchPadPro::pan_press ( Pad )
private

◆ pan_release()

void ArdourSurface::LaunchPadPro::pan_release ( Pad )
inlineprivate

Definition at line 385 of file lppro.h.

◆ pattern_settings_long_press()

void ArdourSurface::LaunchPadPro::pattern_settings_long_press ( Pad )
inlineprivate

Definition at line 359 of file lppro.h.

◆ pattern_settings_press()

void ArdourSurface::LaunchPadPro::pattern_settings_press ( Pad )
private

◆ pattern_settings_release()

void ArdourSurface::LaunchPadPro::pattern_settings_release ( Pad )
inlineprivate

Definition at line 358 of file lppro.h.

◆ patterns_long_press()

void ArdourSurface::LaunchPadPro::patterns_long_press ( Pad )
inlineprivate

Definition at line 353 of file lppro.h.

◆ patterns_press()

void ArdourSurface::LaunchPadPro::patterns_press ( Pad )
private

◆ patterns_release()

void ArdourSurface::LaunchPadPro::patterns_release ( Pad )
inlineprivate

Definition at line 352 of file lppro.h.

◆ play_long_press()

void ArdourSurface::LaunchPadPro::play_long_press ( Pad )
inlineprivate

Definition at line 404 of file lppro.h.

◆ play_press()

void ArdourSurface::LaunchPadPro::play_press ( Pad )
private

◆ play_release()

void ArdourSurface::LaunchPadPro::play_release ( Pad )
inlineprivate

Definition at line 403 of file lppro.h.

◆ port_registration_handler()

void ArdourSurface::LaunchPadPro::port_registration_handler ( )
privatevirtual

Reimplemented from MIDISurface.

◆ ports_acquire()

int ArdourSurface::LaunchPadPro::ports_acquire ( )
privatevirtual

Reimplemented from MIDISurface.

◆ ports_release()

void ArdourSurface::LaunchPadPro::ports_release ( )
privatevirtual

Reimplemented from MIDISurface.

◆ print_to_clip_long_press()

void ArdourSurface::LaunchPadPro::print_to_clip_long_press ( Pad )
inlineprivate

Definition at line 374 of file lppro.h.

◆ print_to_clip_press()

void ArdourSurface::LaunchPadPro::print_to_clip_press ( Pad )
private

◆ print_to_clip_release()

void ArdourSurface::LaunchPadPro::print_to_clip_release ( Pad )
inlineprivate

Definition at line 373 of file lppro.h.

◆ probability_long_press()

void ArdourSurface::LaunchPadPro::probability_long_press ( Pad )
inlineprivate

Definition at line 365 of file lppro.h.

◆ probability_press()

void ArdourSurface::LaunchPadPro::probability_press ( Pad )
private

◆ probability_release()

void ArdourSurface::LaunchPadPro::probability_release ( Pad )
inlineprivate

Definition at line 364 of file lppro.h.

◆ probe()

static bool ArdourSurface::LaunchPadPro::probe ( std::string &  ,
std::string &   
)
static

◆ projects_long_press()

void ArdourSurface::LaunchPadPro::projects_long_press ( Pad )
inlineprivate

Definition at line 350 of file lppro.h.

◆ projects_press()

void ArdourSurface::LaunchPadPro::projects_press ( Pad )
private

◆ projects_release()

void ArdourSurface::LaunchPadPro::projects_release ( Pad )
inlineprivate

Definition at line 349 of file lppro.h.

◆ quantize_long_press()

void ArdourSurface::LaunchPadPro::quantize_long_press ( Pad )
inlineprivate

Definition at line 410 of file lppro.h.

◆ quantize_press()

void ArdourSurface::LaunchPadPro::quantize_press ( Pad )
private

◆ quantize_release()

void ArdourSurface::LaunchPadPro::quantize_release ( Pad )
inlineprivate

Definition at line 409 of file lppro.h.

◆ reconnect_for_programmer()

void ArdourSurface::LaunchPadPro::reconnect_for_programmer ( )
private

◆ reconnect_for_session()

void ArdourSurface::LaunchPadPro::reconnect_for_session ( )
private

◆ record_arm_long_press()

void ArdourSurface::LaunchPadPro::record_arm_long_press ( Pad )
inlineprivate

Definition at line 398 of file lppro.h.

◆ record_arm_press()

void ArdourSurface::LaunchPadPro::record_arm_press ( Pad )
private

◆ record_arm_release()

void ArdourSurface::LaunchPadPro::record_arm_release ( Pad )
inlineprivate

Definition at line 397 of file lppro.h.

◆ record_state_changed()

void ArdourSurface::LaunchPadPro::record_state_changed ( )
private

◆ relax()

void ArdourSurface::LaunchPadPro::relax ( Pad p)
private

◆ right_long_press()

void ArdourSurface::LaunchPadPro::right_long_press ( Pad )
inlineprivate

Definition at line 332 of file lppro.h.

◆ right_press()

void ArdourSurface::LaunchPadPro::right_press ( Pad )
private

◆ right_release()

void ArdourSurface::LaunchPadPro::right_release ( Pad )
inlineprivate

Definition at line 331 of file lppro.h.

◆ route_property_change()

void ArdourSurface::LaunchPadPro::route_property_change ( PBD::PropertyChange const &  ,
int  x 
)
private

◆ run_event_loop()

void ArdourSurface::LaunchPadPro::run_event_loop ( )
private

◆ scroll_text()

void ArdourSurface::LaunchPadPro::scroll_text ( std::string const &  ,
int  color,
bool  loop,
float  speed = 0 
)
private

◆ select_stripable()

void ArdourSurface::LaunchPadPro::select_stripable ( int  col)
private

◆ sends_long_press()

void ArdourSurface::LaunchPadPro::sends_long_press ( Pad )
inlineprivate

Definition at line 383 of file lppro.h.

◆ sends_press()

void ArdourSurface::LaunchPadPro::sends_press ( Pad )
private

◆ sends_release()

void ArdourSurface::LaunchPadPro::sends_release ( Pad )
inlineprivate

Definition at line 382 of file lppro.h.

◆ sequencer_long_press()

void ArdourSurface::LaunchPadPro::sequencer_long_press ( Pad )
inlineprivate

Definition at line 347 of file lppro.h.

◆ sequencer_press()

void ArdourSurface::LaunchPadPro::sequencer_press ( Pad )
private

◆ sequencer_release()

void ArdourSurface::LaunchPadPro::sequencer_release ( Pad )
inlineprivate

Definition at line 346 of file lppro.h.

◆ session_long_press()

void ArdourSurface::LaunchPadPro::session_long_press ( Pad )
inlineprivate

Definition at line 335 of file lppro.h.

◆ session_press()

void ArdourSurface::LaunchPadPro::session_press ( Pad )
private

◆ session_release()

void ArdourSurface::LaunchPadPro::session_release ( Pad )
private

◆ set_active()

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

Reimplemented from ARDOUR::ControlProtocol.

◆ set_device_mode()

void ArdourSurface::LaunchPadPro::set_device_mode ( DeviceMode  )
private

◆ set_layout()

void ArdourSurface::LaunchPadPro::set_layout ( Layout  ,
int  page = 0 
)
private

◆ set_state()

int ArdourSurface::LaunchPadPro::set_state ( const XMLNode node,
int  version 
)
virtual

Reimplemented from MIDISurface.

◆ setup_faders()

void ArdourSurface::LaunchPadPro::setup_faders ( FaderBank  )
private

◆ shift_long_press()

void ArdourSurface::LaunchPadPro::shift_long_press ( Pad )
inlineprivate

Definition at line 326 of file lppro.h.

◆ shift_press()

void ArdourSurface::LaunchPadPro::shift_press ( Pad )
private

◆ shift_release()

void ArdourSurface::LaunchPadPro::shift_release ( Pad )
private

◆ solo_long_press()

void ArdourSurface::LaunchPadPro::solo_long_press ( Pad )
private

◆ solo_press()

void ArdourSurface::LaunchPadPro::solo_press ( Pad )
private

◆ solo_release()

void ArdourSurface::LaunchPadPro::solo_release ( Pad )
inlineprivate

Definition at line 391 of file lppro.h.

◆ start_press_timeout()

void ArdourSurface::LaunchPadPro::start_press_timeout ( Pad pad)
private

◆ steps_long_press()

void ArdourSurface::LaunchPadPro::steps_long_press ( Pad )
inlineprivate

Definition at line 356 of file lppro.h.

◆ steps_press()

void ArdourSurface::LaunchPadPro::steps_press ( Pad )
private

◆ steps_release()

void ArdourSurface::LaunchPadPro::steps_release ( Pad )
inlineprivate

Definition at line 355 of file lppro.h.

◆ stop_clip_long_press()

void ArdourSurface::LaunchPadPro::stop_clip_long_press ( Pad )
inlineprivate

Definition at line 377 of file lppro.h.

◆ stop_clip_press()

void ArdourSurface::LaunchPadPro::stop_clip_press ( Pad )
private

◆ stop_clip_release()

void ArdourSurface::LaunchPadPro::stop_clip_release ( Pad )
inlineprivate

Definition at line 376 of file lppro.h.

◆ stop_event_loop()

void ArdourSurface::LaunchPadPro::stop_event_loop ( )
private

◆ stop_using_device()

int ArdourSurface::LaunchPadPro::stop_using_device ( )
privatevirtual

Reimplemented from MIDISurface.

◆ stripable_selection_changed()

void ArdourSurface::LaunchPadPro::stripable_selection_changed ( )
privatevirtual

◆ tear_down_gui()

void ArdourSurface::LaunchPadPro::tear_down_gui ( )
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ transport_state_changed()

void ArdourSurface::LaunchPadPro::transport_state_changed ( )
private

◆ trigger_property_change()

void ArdourSurface::LaunchPadPro::trigger_property_change ( PBD::PropertyChange  ,
ARDOUR::Trigger  
)
private

◆ up_long_press()

void ArdourSurface::LaunchPadPro::up_long_press ( Pad )
inlineprivate

Definition at line 422 of file lppro.h.

◆ up_press()

void ArdourSurface::LaunchPadPro::up_press ( Pad )
private

◆ up_release()

void ArdourSurface::LaunchPadPro::up_release ( Pad )
inlineprivate

Definition at line 421 of file lppro.h.

◆ velocity_long_press()

void ArdourSurface::LaunchPadPro::velocity_long_press ( Pad )
inlineprivate

Definition at line 362 of file lppro.h.

◆ velocity_press()

void ArdourSurface::LaunchPadPro::velocity_press ( Pad )
private

◆ velocity_release()

void ArdourSurface::LaunchPadPro::velocity_release ( Pad )
inlineprivate

Definition at line 361 of file lppro.h.

◆ viewport_changed()

void ArdourSurface::LaunchPadPro::viewport_changed ( )
private

◆ volume_long_press()

void ArdourSurface::LaunchPadPro::volume_long_press ( Pad )
inlineprivate

Definition at line 389 of file lppro.h.

◆ volume_press()

void ArdourSurface::LaunchPadPro::volume_press ( Pad )
private

◆ volume_release()

void ArdourSurface::LaunchPadPro::volume_release ( Pad )
inlineprivate

Definition at line 388 of file lppro.h.

Member Data Documentation

◆ _clear_pressed

bool ArdourSurface::LaunchPadPro::_clear_pressed
private

Definition at line 317 of file lppro.h.

◆ _current_layout

Layout ArdourSurface::LaunchPadPro::_current_layout
private

Definition at line 308 of file lppro.h.

◆ _current_pad_target

std::weak_ptr<ARDOUR::MidiTrack> ArdourSurface::LaunchPadPro::_current_pad_target
private

Definition at line 272 of file lppro.h.

◆ _daw_in

std::shared_ptr<ARDOUR::Port> ArdourSurface::LaunchPadPro::_daw_in
private

Definition at line 289 of file lppro.h.

◆ _daw_in_port

MIDI::Port* ArdourSurface::LaunchPadPro::_daw_in_port
private

Definition at line 287 of file lppro.h.

◆ _daw_out

std::shared_ptr<ARDOUR::Port> ArdourSurface::LaunchPadPro::_daw_out
private

Definition at line 290 of file lppro.h.

◆ _daw_out_port

MIDI::Port* ArdourSurface::LaunchPadPro::_daw_out_port
private

Definition at line 288 of file lppro.h.

◆ _duplicate_pressed

bool ArdourSurface::LaunchPadPro::_duplicate_pressed
private

Definition at line 318 of file lppro.h.

◆ _gui

LPPRO_GUI* ArdourSurface::LaunchPadPro::_gui
mutableprivate

Definition at line 305 of file lppro.h.

◆ _session_pressed

bool ArdourSurface::LaunchPadPro::_session_pressed
private

Definition at line 319 of file lppro.h.

◆ _shift_pressed

bool ArdourSurface::LaunchPadPro::_shift_pressed
private

Definition at line 316 of file lppro.h.

◆ all_pad_ids

const PadID ArdourSurface::LaunchPadPro::all_pad_ids[]
static

Definition at line 123 of file lppro.h.

◆ AllLayouts

const Layout ArdourSurface::LaunchPadPro::AllLayouts[]
staticprivate

Definition at line 180 of file lppro.h.

◆ color_map

ColorMap ArdourSurface::LaunchPadPro::color_map
private

Definition at line 256 of file lppro.h.

◆ consumed

std::set<int> ArdourSurface::LaunchPadPro::consumed
private

Definition at line 237 of file lppro.h.

◆ control_connections

PBD::ScopedConnectionList ArdourSurface::LaunchPadPro::control_connections
private

Definition at line 474 of file lppro.h.

◆ current_fader_bank

FaderBank ArdourSurface::LaunchPadPro::current_fader_bank
private

Definition at line 475 of file lppro.h.

◆ did_session_display

bool ArdourSurface::LaunchPadPro::did_session_display
private

Definition at line 459 of file lppro.h.

◆ logo_color

MIDI::byte ArdourSurface::LaunchPadPro::logo_color
private

Definition at line 239 of file lppro.h.

◆ nearest_map

NearestMap ArdourSurface::LaunchPadPro::nearest_map
private

Definition at line 261 of file lppro.h.

◆ pad_map

PadMap ArdourSurface::LaunchPadPro::pad_map
private

Definition at line 251 of file lppro.h.

◆ pre_fader_layout

Layout ArdourSurface::LaunchPadPro::pre_fader_layout
private

Definition at line 477 of file lppro.h.

◆ revert_layout_on_fader_release

bool ArdourSurface::LaunchPadPro::revert_layout_on_fader_release
private

Definition at line 476 of file lppro.h.

◆ route_connections

PBD::ScopedConnectionList ArdourSurface::LaunchPadPro::route_connections
private

Definition at line 468 of file lppro.h.

◆ scroll_x_offset

int ArdourSurface::LaunchPadPro::scroll_x_offset
private

Definition at line 241 of file lppro.h.

◆ scroll_y_offset

int ArdourSurface::LaunchPadPro::scroll_y_offset
private

Definition at line 242 of file lppro.h.

◆ stripable_slots

StripableSlotColumn ArdourSurface::LaunchPadPro::stripable_slots
private

Definition at line 246 of file lppro.h.

◆ trigger_connections

PBD::ScopedConnectionList ArdourSurface::LaunchPadPro::trigger_connections
private

Definition at line 456 of file lppro.h.


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