Ardour  9.0-pre0-582-g084a23a80d
ArdourSurface::Push2 Class Reference

#include <push2.h>

Inheritance diagram for ArdourSurface::Push2:
[legend]

Classes

struct  Button
 
struct  ColorButton
 
struct  LED
 
struct  Pad
 
struct  WhiteButton
 

Public Types

enum  ButtonID {
  TapTempo , Metronome , Upper1 , Upper2 ,
  Upper3 , Upper4 , Upper5 , Upper6 ,
  Upper7 , Upper8 , Setup , User ,
  Delete , AddDevice , Device , Mix ,
  Undo , AddTrack , Browse , Clip ,
  Mute , Solo , Stop , Lower1 ,
  Lower2 , Lower3 , Lower4 , Lower5 ,
  Lower6 , Lower7 , Lower8 , Master ,
  Convert , DoubleLoop , Quantize , Duplicate ,
  New , FixedLength , Automate , RecordEnable ,
  Play , Fwd32ndT , Fwd32nd , Fwd16thT ,
  Fwd16th , Fwd8thT , Fwd8th , Fwd4trT ,
  Fwd4tr , Up , Right , Down ,
  Left , Repeat , Accent , Scale ,
  Layout , Note , Session , OctaveUp ,
  PageRight , OctaveDown , PageLeft , Shift ,
  Select
}
 
enum  ColorName {
  DarkBackground , LightBackground , ParameterName , StripableName ,
  ClockText , KnobArcBackground , KnobArcStart , KnobArcEnd ,
  KnobLine , KnobLineShadow , KnobForeground , KnobBackground ,
  KnobShadow , KnobBorder
}
 
enum  PressureMode { AfterTouch , PolyPressure }
 
enum  NoteGridOrigin { Fixed , Rooted }
 
enum  RowInterval { Third , Fourth , Fifth , Sequential }
 
enum  PadNoteKind { RootNote , InScaleNote , OutOfScaleNote }
 "Kind" of pad that plays a note More...
 
enum  ModifierState { None = 0 , ModShift = 0x1 , ModSelect = 0x2 }
 
typedef std::map< int, std::shared_ptr< Pad > > PadMap
 
- Public Types inherited from PBD::EventLoop
enum  RequestType { range_guarantee = ~0 }
 

Public Member Functions

 Push2 (ARDOUR::Session &)
 
 ~Push2 ()
 
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)
 
int pad_note (int row, int col) const
 
void update_selection_color ()
 
void set_pad_note_kind (Pad &pad, PadNoteKind kind)
 Set up a pad to represent a "kind" of note. More...
 
void set_pad_scale_in_key (int root, int octave, MusicalMode::Type mode, NoteGridOrigin origin, int ideal_vertical_semitones)
 
void set_pad_scale_chromatic (int root, int octave, MusicalMode::Type mode, NoteGridOrigin origin, int vertical_semitones)
 
void set_pad_scale (int root, int octave, MusicalMode::Type mode, NoteGridOrigin origin, RowInterval row_interval, bool inkey)
 
MusicalMode::Type mode () const
 
NoteGridOrigin note_grid_origin ()
 
RowInterval row_interval () const
 
int scale_root () const
 
int root_octave () const
 
bool in_key () const
 
Push2Layoutcurrent_layout () const
 
void use_previous_layout ()
 
Push2Canvascanvas () const
 
ModifierState modifier_state () const
 
std::shared_ptr< Buttonbutton_by_id (ButtonID)
 
void strip_buttons_off ()
 
uint8_t get_color_index (Gtkmm2ext::Color rgba)
 
Gtkmm2ext::Color get_color (ColorName)
 
PressureMode pressure_mode () const
 
void set_pressure_mode (PressureMode)
 
libusb_device_handle * usb_handle () const
 
bool stop_down () const
 
PadMap const & nn_pad_map () const
 
std::shared_ptr< Padpad_by_xy (int x, int y)
 
std::shared_ptr< Buttonlower_button_by_column (uint32_t col)
 
- 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 ()
 
 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< 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 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 bool available ()
 
static bool match_usb (uint16_t, uint16_t)
 
static bool probe (std::string &, std::string &)
 
static std::string button_name_by_id (ButtonID)
 
- 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()> PadChange
 
PBD::Signal< void()> ScaleChange
 
PBD::Signal< void(PressureMode)> PressureModeChange
 
- Public Attributes inherited from MIDISurface
std::shared_ptr< ARDOUR::Bundle_input_bundle
 
std::shared_ptr< ARDOUR::Bundle_output_bundle
 
PBD::Signal< void()> ConnectionChange
 
- 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< MidiSurfaceRequest >
Glib::Threads::RWLock request_buffer_map_lock
 
- Public Attributes inherited from PBD::EventLoop
std::list< InvalidationRecord * > trash
 

Private Types

typedef std::map< int, std::shared_ptr< Button > > CCButtonMap
 
typedef std::map< ButtonID, std::shared_ptr< Button > > IDButtonMap
 
typedef std::multimap< int, std::shared_ptr< Pad > > FNPadMap
 
typedef std::map< Gtkmm2ext::Color, uint8_t > ColorMap
 
typedef std::stack< uint8_t > ColorMapFreeList
 
typedef std::map< ColorName, Gtkmm2ext::ColorColors
 

Private Member Functions

int begin_using_device ()
 
int stop_using_device ()
 
int device_acquire ()
 
void device_release ()
 
void run_event_loop ()
 
void stop_event_loop ()
 
void relax ()
 
bool button_long_press_timeout (ButtonID id)
 
void start_press_timeout (std::shared_ptr< Button >, ButtonID)
 
void init_buttons (bool startup)
 
void init_touch_strip (bool with_shift)
 
void set_button_color (ButtonID, uint8_t color_index)
 
void set_button_state (ButtonID, LED::State)
 
void set_led_color (ButtonID, uint8_t color_index)
 
void set_led_state (ButtonID, LED::State)
 
void build_maps ()
 
void handle_midi_pitchbend_message (MIDI::Parser &, MIDI::pitchbend_t)
 
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 notify_record_state_changed ()
 
void notify_transport_state_changed ()
 
void notify_loop_state_changed ()
 
void notify_parameter_changed (std::string)
 
void notify_solo_active_changed (bool)
 
void button_play ()
 
void button_recenable ()
 
void button_up ()
 
void button_down ()
 
void button_right ()
 
void button_left ()
 
void button_metronome ()
 
void button_repeat ()
 
void button_mute ()
 
void button_solo ()
 
void button_solo_long_press ()
 
void button_fixed_length ()
 
void button_new ()
 
void button_browse ()
 
void button_clip ()
 
void button_session ()
 
void button_undo ()
 
void button_fwd32t ()
 
void button_fwd32 ()
 
void button_fwd16t ()
 
void button_fwd16 ()
 
void button_fwd8t ()
 
void button_fwd8 ()
 
void button_fwd4t ()
 
void button_fwd4 ()
 
void button_add_track ()
 
void button_stop_press ()
 
void button_stop_release ()
 
void button_stop_long_press ()
 
void button_master ()
 
void button_quantize ()
 
void button_duplicate ()
 
void button_shift_press ()
 
void button_shift_release ()
 
void button_shift_long_press ()
 
void button_select_press ()
 
void button_select_release ()
 
void button_select_long_press ()
 
void button_page_left ()
 
void button_page_right ()
 
void button_octave_up ()
 
void button_octave_down ()
 
void button_layout_press ()
 
void button_scale_press ()
 
void button_mix_press ()
 
void button_upper (uint32_t n)
 
void button_lower (uint32_t n)
 
void button_upper_1 ()
 
void button_upper_2 ()
 
void button_upper_3 ()
 
void button_upper_4 ()
 
void button_upper_5 ()
 
void button_upper_6 ()
 
void button_upper_7 ()
 
void button_upper_8 ()
 
void button_lower_1 ()
 
void button_lower_2 ()
 
void button_lower_3 ()
 
void button_lower_4 ()
 
void button_lower_5 ()
 
void button_lower_6 ()
 
void button_lower_7 ()
 
void button_lower_8 ()
 
void start_shift ()
 
void end_shift ()
 
void other_vpot (int, int)
 
void other_vpot_touch (int, bool)
 
bool vblank ()
 
void splash ()
 
void set_current_layout (Push2Layout *)
 
bool pad_filter (ARDOUR::MidiBuffer &in, ARDOUR::MidiBuffer &out) const
 
void build_gui ()
 
void stripable_selection_changed ()
 
void restore_pad_scale ()
 
void set_percussive_mode (bool)
 
void build_color_map ()
 
void fill_color_table ()
 
void reset_pad_colors ()
 
void request_pressure_mode ()
 

Private Attributes

libusb_device_handle * _handle
 
ModifierState _modifier_state
 
CCButtonMap _cc_button_map
 
IDButtonMap _id_button_map
 
std::set< ButtonID_buttons_down
 
std::set< ButtonID_consumed
 
PadMap _nn_pad_map
 
std::vector< std::shared_ptr< Pad > > _xy_pad_map
 
FNPadMap _fn_pad_map
 
std::shared_ptr< ARDOUR::Stripable_master
 
sigc::connection _vblank_connection
 
PBD::microseconds_t _splash_start
 
Push2Canvas_canvas
 
Glib::Threads::Mutex layout_lock
 
Push2Layout_current_layout
 
Push2Layout_previous_layout
 
Push2Layout_mix_layout
 
Push2Layout_scale_layout
 
Push2Layout_track_mix_layout
 
Push2Layout_splash_layout
 
Push2Layout_cue_layout
 
std::weak_ptr< ARDOUR::MidiTrack_current_pad_target
 
P2GUI_gui
 
MusicalMode::Type _mode
 
NoteGridOrigin _note_grid_origin
 
RowInterval _row_interval
 
int _scale_root
 
int _root_octave
 
bool _in_key
 
int _octave_shift
 
bool _percussion
 
ColorMap _color_map
 
ColorMapFreeList _color_map_free_list
 
Colors _colors
 
PressureMode _pressure_mode
 
uint8_t _selection_color
 
uint8_t _contrast_color
 
bool _in_range_select
 
bool _stop_down
 

Additional Inherited Members

- Static Public Attributes inherited from ARDOUR::ControlProtocol
static PBD::Signal< void()> ZoomToSession
 
static PBD::Signal< void()> ZoomIn
 
static PBD::Signal< void()> ZoomOut
 
static PBD::Signal< void()> Enter
 
static PBD::Signal< void()> Undo
 
static PBD::Signal< void()> Redo
 
static PBD::Signal< void(float)> ScrollTimeline
 
static PBD::Signal< void(uint32_t)> GotoView
 
static PBD::Signal< void()> CloseDialog
 
static PBD::Signal< void()> VerticalZoomInAll
 
static PBD::Signal< void()> VerticalZoomOutAll
 
static PBD::Signal< void()> VerticalZoomInSelected
 
static PBD::Signal< void()> VerticalZoomOutSelected
 
static PBD::Signal< void()> StepTracksDown
 
static PBD::Signal< void()> StepTracksUp
 
static PBD::Signal< void(std::weak_ptr< ARDOUR::PluginInsert >)> PluginSelected
 
static const std::string state_node_name
 
- Static Public Attributes inherited from PBD::Stateful
static int current_state_version
 
static int loading_state_version
 
- Static Public Attributes inherited from BasicUI
static PBD::Signal< void(std::string, std::string)> AccessAction
 
- Static Public Attributes inherited from BaseUI
static RequestType CallSlot
 
static RequestType Quit
 
- Protected Types inherited from 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_polypressure_message (MIDI::Parser &, MIDI::EventTwoBytes *)
 
virtual void thread_init ()
 
virtual void connect_session_signals ()
 
virtual void port_registration_handler ()
 
virtual int ports_acquire ()
 
virtual void ports_release ()
 
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 push2.h.

Member Typedef Documentation

◆ CCButtonMap

typedef std::map<int,std::shared_ptr<Button> > ArdourSurface::Push2::CCButtonMap
private

Definition at line 467 of file push2.h.

◆ ColorMap

typedef std::map<Gtkmm2ext::Color,uint8_t> ArdourSurface::Push2::ColorMap
private

Definition at line 643 of file push2.h.

◆ ColorMapFreeList

typedef std::stack<uint8_t> ArdourSurface::Push2::ColorMapFreeList
private

Definition at line 644 of file push2.h.

◆ Colors

Definition at line 651 of file push2.h.

◆ FNPadMap

typedef std::multimap<int,std::shared_ptr<Pad> > ArdourSurface::Push2::FNPadMap
private

Definition at line 492 of file push2.h.

◆ IDButtonMap

typedef std::map<ButtonID,std::shared_ptr<Button> > ArdourSurface::Push2::IDButtonMap
private

Definition at line 470 of file push2.h.

◆ PadMap

typedef std::map<int,std::shared_ptr<Pad> > ArdourSurface::Push2::PadMap

Definition at line 447 of file push2.h.

Member Enumeration Documentation

◆ ButtonID

Enumerator
TapTempo 
Metronome 
Upper1 
Upper2 
Upper3 
Upper4 
Upper5 
Upper6 
Upper7 
Upper8 
Setup 
User 
Delete 
AddDevice 
Device 
Mix 
Undo 
AddTrack 
Browse 
Clip 
Mute 
Solo 
Stop 
Lower1 
Lower2 
Lower3 
Lower4 
Lower5 
Lower6 
Lower7 
Lower8 
Master 
Convert 
DoubleLoop 
Quantize 
Duplicate 
New 
FixedLength 
Automate 
RecordEnable 
Play 
Fwd32ndT 
Fwd32nd 
Fwd16thT 
Fwd16th 
Fwd8thT 
Fwd8th 
Fwd4trT 
Fwd4tr 
Up 
Right 
Down 
Left 
Repeat 
Accent 
Scale 
Layout 
Note 
Session 
OctaveUp 
PageRight 
OctaveDown 
PageLeft 
Shift 
Select 

Definition at line 66 of file push2.h.

◆ ColorName

Enumerator
DarkBackground 
LightBackground 
ParameterName 
StripableName 
ClockText 
KnobArcBackground 
KnobArcStart 
KnobArcEnd 
KnobLine 
KnobLineShadow 
KnobForeground 
KnobBackground 
KnobShadow 
KnobBorder 

Definition at line 269 of file push2.h.

◆ ModifierState

Enumerator
None 
ModShift 
ModSelect 

Definition at line 423 of file push2.h.

◆ NoteGridOrigin

The "origin" or "root" of the note grid.

This controls whether the grid is "fixed" in terms of the notes that it plays (so changing the scale is effectively just an overlay), or "rooted" so the root note of the scale is in the bottom left.

Enumerator
Fixed 

Bottom left pad is always C, or as close as possible.

Rooted 

Bottom left pad is the scale root.

Definition at line 325 of file push2.h.

◆ PadNoteKind

"Kind" of pad that plays a note

Enumerator
RootNote 
InScaleNote 
OutOfScaleNote 

Definition at line 344 of file push2.h.

◆ PressureMode

Enumerator
AfterTouch 
PolyPressure 

Definition at line 290 of file push2.h.

◆ RowInterval

Interval between vertically adjacent note pads ("layout").

The comments describe the ideal interval that is used in chromatic mode. For in-scale mode, they may be slightly adjusted, hence the more general enumerator names.

Enumerator
Third 
Fourth 

Major third or 4 semitones.

Fifth 

Perfect fourth or 5 semitones.

Sequential 

Perfect fifth or 7 semitones.

Definition at line 336 of file push2.h.

Constructor & Destructor Documentation

◆ Push2()

ArdourSurface::Push2::Push2 ( ARDOUR::Session )

◆ ~Push2()

ArdourSurface::Push2::~Push2 ( )

Member Function Documentation

◆ available()

static bool ArdourSurface::Push2::available ( )
static

◆ begin_using_device()

int ArdourSurface::Push2::begin_using_device ( )
privatevirtual

Reimplemented from MIDISurface.

◆ build_color_map()

void ArdourSurface::Push2::build_color_map ( )
private

◆ build_gui()

void ArdourSurface::Push2::build_gui ( )
private

◆ build_maps()

void ArdourSurface::Push2::build_maps ( )
private

◆ button_add_track()

void ArdourSurface::Push2::button_add_track ( )
private

◆ button_browse()

void ArdourSurface::Push2::button_browse ( )
private

◆ button_by_id()

std::shared_ptr<Button> ArdourSurface::Push2::button_by_id ( ButtonID  )

◆ button_clip()

void ArdourSurface::Push2::button_clip ( )
private

◆ button_down()

void ArdourSurface::Push2::button_down ( )
private

◆ button_duplicate()

void ArdourSurface::Push2::button_duplicate ( )
private

◆ button_fixed_length()

void ArdourSurface::Push2::button_fixed_length ( )
private

◆ button_fwd16()

void ArdourSurface::Push2::button_fwd16 ( )
private

◆ button_fwd16t()

void ArdourSurface::Push2::button_fwd16t ( )
private

◆ button_fwd32()

void ArdourSurface::Push2::button_fwd32 ( )
private

◆ button_fwd32t()

void ArdourSurface::Push2::button_fwd32t ( )
private

◆ button_fwd4()

void ArdourSurface::Push2::button_fwd4 ( )
private

◆ button_fwd4t()

void ArdourSurface::Push2::button_fwd4t ( )
private

◆ button_fwd8()

void ArdourSurface::Push2::button_fwd8 ( )
private

◆ button_fwd8t()

void ArdourSurface::Push2::button_fwd8t ( )
private

◆ button_layout_press()

void ArdourSurface::Push2::button_layout_press ( )
private

◆ button_left()

void ArdourSurface::Push2::button_left ( )
private

◆ button_long_press_timeout()

bool ArdourSurface::Push2::button_long_press_timeout ( ButtonID  id)
private

◆ button_lower()

void ArdourSurface::Push2::button_lower ( uint32_t  n)
private

◆ button_lower_1()

void ArdourSurface::Push2::button_lower_1 ( )
inlineprivate

Definition at line 572 of file push2.h.

◆ button_lower_2()

void ArdourSurface::Push2::button_lower_2 ( )
inlineprivate

Definition at line 573 of file push2.h.

◆ button_lower_3()

void ArdourSurface::Push2::button_lower_3 ( )
inlineprivate

Definition at line 574 of file push2.h.

◆ button_lower_4()

void ArdourSurface::Push2::button_lower_4 ( )
inlineprivate

Definition at line 575 of file push2.h.

◆ button_lower_5()

void ArdourSurface::Push2::button_lower_5 ( )
inlineprivate

Definition at line 576 of file push2.h.

◆ button_lower_6()

void ArdourSurface::Push2::button_lower_6 ( )
inlineprivate

Definition at line 577 of file push2.h.

◆ button_lower_7()

void ArdourSurface::Push2::button_lower_7 ( )
inlineprivate

Definition at line 578 of file push2.h.

◆ button_lower_8()

void ArdourSurface::Push2::button_lower_8 ( )
inlineprivate

Definition at line 579 of file push2.h.

◆ button_master()

void ArdourSurface::Push2::button_master ( )
private

◆ button_metronome()

void ArdourSurface::Push2::button_metronome ( )
private

◆ button_mix_press()

void ArdourSurface::Push2::button_mix_press ( )
private

◆ button_mute()

void ArdourSurface::Push2::button_mute ( )
private

◆ button_name_by_id()

static std::string ArdourSurface::Push2::button_name_by_id ( ButtonID  )
static

◆ button_new()

void ArdourSurface::Push2::button_new ( )
private

◆ button_octave_down()

void ArdourSurface::Push2::button_octave_down ( )
private

◆ button_octave_up()

void ArdourSurface::Push2::button_octave_up ( )
private

◆ button_page_left()

void ArdourSurface::Push2::button_page_left ( )
private

◆ button_page_right()

void ArdourSurface::Push2::button_page_right ( )
private

◆ button_play()

void ArdourSurface::Push2::button_play ( )
private

◆ button_quantize()

void ArdourSurface::Push2::button_quantize ( )
private

◆ button_recenable()

void ArdourSurface::Push2::button_recenable ( )
private

◆ button_repeat()

void ArdourSurface::Push2::button_repeat ( )
private

◆ button_right()

void ArdourSurface::Push2::button_right ( )
private

◆ button_scale_press()

void ArdourSurface::Push2::button_scale_press ( )
private

◆ button_select_long_press()

void ArdourSurface::Push2::button_select_long_press ( )
private

◆ button_select_press()

void ArdourSurface::Push2::button_select_press ( )
private

◆ button_select_release()

void ArdourSurface::Push2::button_select_release ( )
private

◆ button_session()

void ArdourSurface::Push2::button_session ( )
private

◆ button_shift_long_press()

void ArdourSurface::Push2::button_shift_long_press ( )
private

◆ button_shift_press()

void ArdourSurface::Push2::button_shift_press ( )
private

◆ button_shift_release()

void ArdourSurface::Push2::button_shift_release ( )
private

◆ button_solo()

void ArdourSurface::Push2::button_solo ( )
private

◆ button_solo_long_press()

void ArdourSurface::Push2::button_solo_long_press ( )
private

◆ button_stop_long_press()

void ArdourSurface::Push2::button_stop_long_press ( )
private

◆ button_stop_press()

void ArdourSurface::Push2::button_stop_press ( )
private

◆ button_stop_release()

void ArdourSurface::Push2::button_stop_release ( )
private

◆ button_undo()

void ArdourSurface::Push2::button_undo ( )
private

◆ button_up()

void ArdourSurface::Push2::button_up ( )
private

◆ button_upper()

void ArdourSurface::Push2::button_upper ( uint32_t  n)
private

◆ button_upper_1()

void ArdourSurface::Push2::button_upper_1 ( )
inlineprivate

Definition at line 564 of file push2.h.

◆ button_upper_2()

void ArdourSurface::Push2::button_upper_2 ( )
inlineprivate

Definition at line 565 of file push2.h.

◆ button_upper_3()

void ArdourSurface::Push2::button_upper_3 ( )
inlineprivate

Definition at line 566 of file push2.h.

◆ button_upper_4()

void ArdourSurface::Push2::button_upper_4 ( )
inlineprivate

Definition at line 567 of file push2.h.

◆ button_upper_5()

void ArdourSurface::Push2::button_upper_5 ( )
inlineprivate

Definition at line 568 of file push2.h.

◆ button_upper_6()

void ArdourSurface::Push2::button_upper_6 ( )
inlineprivate

Definition at line 569 of file push2.h.

◆ button_upper_7()

void ArdourSurface::Push2::button_upper_7 ( )
inlineprivate

Definition at line 570 of file push2.h.

◆ button_upper_8()

void ArdourSurface::Push2::button_upper_8 ( )
inlineprivate

Definition at line 571 of file push2.h.

◆ canvas()

Push2Canvas* ArdourSurface::Push2::canvas ( ) const
inline

Definition at line 421 of file push2.h.

◆ current_layout()

Push2Layout* ArdourSurface::Push2::current_layout ( ) const

◆ device_acquire()

int ArdourSurface::Push2::device_acquire ( )
privatevirtual

Implements MIDISurface.

◆ device_release()

void ArdourSurface::Push2::device_release ( )
privatevirtual

Implements MIDISurface.

◆ end_shift()

void ArdourSurface::Push2::end_shift ( )
private

◆ fill_color_table()

void ArdourSurface::Push2::fill_color_table ( )
private

◆ get_color()

Gtkmm2ext::Color ArdourSurface::Push2::get_color ( ColorName  )

◆ get_color_index()

uint8_t ArdourSurface::Push2::get_color_index ( Gtkmm2ext::Color  rgba)

◆ get_gui()

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

Reimplemented from ARDOUR::ControlProtocol.

◆ get_state()

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

Reimplemented from MIDISurface.

◆ handle_midi_controller_message()

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

Reimplemented from MIDISurface.

◆ handle_midi_note_off_message()

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

Reimplemented from MIDISurface.

◆ handle_midi_note_on_message()

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

Reimplemented from MIDISurface.

◆ handle_midi_pitchbend_message()

void ArdourSurface::Push2::handle_midi_pitchbend_message ( MIDI::Parser ,
MIDI::pitchbend_t   
)
privatevirtual

Reimplemented from MIDISurface.

◆ handle_midi_sysex()

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

Reimplemented from MIDISurface.

◆ has_editor()

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

Reimplemented from ARDOUR::ControlProtocol.

Definition at line 306 of file push2.h.

◆ in_key()

bool ArdourSurface::Push2::in_key ( ) const
inline

Definition at line 416 of file push2.h.

◆ init_buttons()

void ArdourSurface::Push2::init_buttons ( bool  startup)
private

◆ init_touch_strip()

void ArdourSurface::Push2::init_touch_strip ( bool  with_shift)
private

◆ input_port_name()

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

Implements MIDISurface.

◆ lower_button_by_column()

std::shared_ptr<Button> ArdourSurface::Push2::lower_button_by_column ( uint32_t  col)

◆ match_usb()

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

◆ mode()

MusicalMode::Type ArdourSurface::Push2::mode ( ) const
inline

Definition at line 411 of file push2.h.

◆ modifier_state()

ModifierState ArdourSurface::Push2::modifier_state ( ) const
inline

Definition at line 429 of file push2.h.

◆ nn_pad_map()

PadMap const& ArdourSurface::Push2::nn_pad_map ( ) const
inline

Definition at line 448 of file push2.h.

◆ note_grid_origin()

NoteGridOrigin ArdourSurface::Push2::note_grid_origin ( )
inline

Definition at line 412 of file push2.h.

◆ notify_loop_state_changed()

void ArdourSurface::Push2::notify_loop_state_changed ( )
privatevirtual

Reimplemented from MIDISurface.

◆ notify_parameter_changed()

void ArdourSurface::Push2::notify_parameter_changed ( std::string  )
privatevirtual

Reimplemented from MIDISurface.

◆ notify_record_state_changed()

void ArdourSurface::Push2::notify_record_state_changed ( )
privatevirtual

Reimplemented from MIDISurface.

◆ notify_solo_active_changed()

void ArdourSurface::Push2::notify_solo_active_changed ( bool  )
privatevirtual

Reimplemented from MIDISurface.

◆ notify_transport_state_changed()

void ArdourSurface::Push2::notify_transport_state_changed ( )
privatevirtual

Reimplemented from MIDISurface.

◆ other_vpot()

void ArdourSurface::Push2::other_vpot ( int  ,
int   
)
private

◆ other_vpot_touch()

void ArdourSurface::Push2::other_vpot_touch ( int  ,
bool   
)
private

◆ output_port_name()

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

Implements MIDISurface.

◆ pad_by_xy()

std::shared_ptr<Pad> ArdourSurface::Push2::pad_by_xy ( int  x,
int  y 
)

◆ pad_filter()

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

Reimplemented from MIDISurface.

◆ pad_note()

int ArdourSurface::Push2::pad_note ( int  row,
int  col 
) const

◆ pressure_mode()

PressureMode ArdourSurface::Push2::pressure_mode ( ) const
inline

Definition at line 439 of file push2.h.

◆ probe()

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

◆ relax()

void ArdourSurface::Push2::relax ( )
inlineprivate

Definition at line 464 of file push2.h.

◆ request_pressure_mode()

void ArdourSurface::Push2::request_pressure_mode ( )
private

◆ reset_pad_colors()

void ArdourSurface::Push2::reset_pad_colors ( )
private

◆ restore_pad_scale()

void ArdourSurface::Push2::restore_pad_scale ( )
private

◆ root_octave()

int ArdourSurface::Push2::root_octave ( ) const
inline

Definition at line 415 of file push2.h.

◆ row_interval()

RowInterval ArdourSurface::Push2::row_interval ( ) const
inline

Definition at line 413 of file push2.h.

◆ run_event_loop()

void ArdourSurface::Push2::run_event_loop ( )
private

◆ scale_root()

int ArdourSurface::Push2::scale_root ( ) const
inline

Definition at line 414 of file push2.h.

◆ set_active()

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

Reimplemented from ARDOUR::ControlProtocol.

◆ set_button_color()

void ArdourSurface::Push2::set_button_color ( ButtonID  ,
uint8_t  color_index 
)
private

◆ set_button_state()

void ArdourSurface::Push2::set_button_state ( ButtonID  ,
LED::State   
)
private

◆ set_current_layout()

void ArdourSurface::Push2::set_current_layout ( Push2Layout )
private

◆ set_led_color()

void ArdourSurface::Push2::set_led_color ( ButtonID  ,
uint8_t  color_index 
)
private

◆ set_led_state()

void ArdourSurface::Push2::set_led_state ( ButtonID  ,
LED::State   
)
private

◆ set_pad_note_kind()

void ArdourSurface::Push2::set_pad_note_kind ( Pad pad,
PadNoteKind  kind 
)

Set up a pad to represent a "kind" of note.

◆ set_pad_scale()

void ArdourSurface::Push2::set_pad_scale ( int  root,
int  octave,
MusicalMode::Type  mode,
NoteGridOrigin  origin,
RowInterval  row_interval,
bool  inkey 
)

◆ set_pad_scale_chromatic()

void ArdourSurface::Push2::set_pad_scale_chromatic ( int  root,
int  octave,
MusicalMode::Type  mode,
NoteGridOrigin  origin,
int  vertical_semitones 
)

Set a "chromatic" scale on the pads.

"Chromatic" mode is chromatic from left to right, and "tuned" to some interval from bottom up, like a stringed instrument. The default vertical interval is 5 semitones, or a perfect 4th, like strings on a bass guitar.

Parameters
rootThe root note in the lowest octave (at most 11).
octaveThe octave number of the "actual" root (at most 10).
modeThe active musical mode (scale).
originThe note assigned to the bottom left pad
vertical_semitonesThe interval between rows in semitones. This mode guarantees that the vertical interval for all rows is always exactly this.

◆ set_pad_scale_in_key()

void ArdourSurface::Push2::set_pad_scale_in_key ( int  root,
int  octave,
MusicalMode::Type  mode,
NoteGridOrigin  origin,
int  ideal_vertical_semitones 
)

Set an "in-key" scale on the pads.

"In-key" mode shows only notes which are in the scale, so every pad is in the scale and there are no "spaces". This provides access to a wide range of notes in the scale, but no access to notes outside the scale at all.

Parameters
rootThe root note in the lowest octave (at most 11).
octaveThe octave number of the "actual" root (at most 10).
modeThe active musical mode (scale).
originThe note assigned to the bottom left pad
ideal_vertical_semitonesThe ideal interval between rows in semitones. This is an "ideal" because it may not be possible to use exactly this interval for every row depending on the scale. It may be bumped up to the next note in the scale if necessary, so with this mode, rows are not guaranteed to all have the same vertical interval.

◆ set_percussive_mode()

void ArdourSurface::Push2::set_percussive_mode ( bool  )
private

◆ set_pressure_mode()

void ArdourSurface::Push2::set_pressure_mode ( PressureMode  )

◆ set_state()

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

Reimplemented from MIDISurface.

◆ splash()

void ArdourSurface::Push2::splash ( )
private

◆ start_press_timeout()

void ArdourSurface::Push2::start_press_timeout ( std::shared_ptr< Button ,
ButtonID   
)
private

◆ start_shift()

void ArdourSurface::Push2::start_shift ( )
private

◆ stop_down()

bool ArdourSurface::Push2::stop_down ( ) const
inline

Definition at line 445 of file push2.h.

◆ stop_event_loop()

void ArdourSurface::Push2::stop_event_loop ( )
private

◆ stop_using_device()

int ArdourSurface::Push2::stop_using_device ( )
privatevirtual

Reimplemented from MIDISurface.

◆ strip_buttons_off()

void ArdourSurface::Push2::strip_buttons_off ( )

◆ stripable_selection_changed()

void ArdourSurface::Push2::stripable_selection_changed ( )
privatevirtual

◆ tear_down_gui()

void ArdourSurface::Push2::tear_down_gui ( )
virtual

Reimplemented from ARDOUR::ControlProtocol.

◆ update_selection_color()

void ArdourSurface::Push2::update_selection_color ( )

◆ usb_handle()

libusb_device_handle* ArdourSurface::Push2::usb_handle ( ) const
inline

Definition at line 443 of file push2.h.

◆ use_previous_layout()

void ArdourSurface::Push2::use_previous_layout ( )

◆ vblank()

bool ArdourSurface::Push2::vblank ( )
private

Member Data Documentation

◆ _buttons_down

std::set<ButtonID> ArdourSurface::Push2::_buttons_down
private

Definition at line 472 of file push2.h.

◆ _canvas

Push2Canvas* ArdourSurface::Push2::_canvas
private

Definition at line 601 of file push2.h.

◆ _cc_button_map

CCButtonMap ArdourSurface::Push2::_cc_button_map
private

Definition at line 468 of file push2.h.

◆ _color_map

ColorMap ArdourSurface::Push2::_color_map
private

Definition at line 645 of file push2.h.

◆ _color_map_free_list

ColorMapFreeList ArdourSurface::Push2::_color_map_free_list
private

Definition at line 646 of file push2.h.

◆ _colors

Colors ArdourSurface::Push2::_colors
private

Definition at line 652 of file push2.h.

◆ _consumed

std::set<ButtonID> ArdourSurface::Push2::_consumed
private

Definition at line 473 of file push2.h.

◆ _contrast_color

uint8_t ArdourSurface::Push2::_contrast_color
private

Definition at line 660 of file push2.h.

◆ _cue_layout

Push2Layout* ArdourSurface::Push2::_cue_layout
private

Definition at line 612 of file push2.h.

◆ _current_layout

Push2Layout* ArdourSurface::Push2::_current_layout
private

Definition at line 606 of file push2.h.

◆ _current_pad_target

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

Definition at line 617 of file push2.h.

◆ _fn_pad_map

FNPadMap ArdourSurface::Push2::_fn_pad_map
private

Definition at line 493 of file push2.h.

◆ _gui

P2GUI* ArdourSurface::Push2::_gui
mutableprivate

Definition at line 621 of file push2.h.

◆ _handle

libusb_device_handle* ArdourSurface::Push2::_handle
private

Definition at line 454 of file push2.h.

◆ _id_button_map

IDButtonMap ArdourSurface::Push2::_id_button_map
private

Definition at line 471 of file push2.h.

◆ _in_key

bool ArdourSurface::Push2::_in_key
private

Definition at line 633 of file push2.h.

◆ _in_range_select

bool ArdourSurface::Push2::_in_range_select
private

Definition at line 662 of file push2.h.

◆ _master

std::shared_ptr<ARDOUR::Stripable> ArdourSurface::Push2::_master
private

Definition at line 591 of file push2.h.

◆ _mix_layout

Push2Layout* ArdourSurface::Push2::_mix_layout
private

Definition at line 608 of file push2.h.

◆ _mode

MusicalMode::Type ArdourSurface::Push2::_mode
private

Definition at line 628 of file push2.h.

◆ _modifier_state

ModifierState ArdourSurface::Push2::_modifier_state
private

Definition at line 455 of file push2.h.

◆ _nn_pad_map

PadMap ArdourSurface::Push2::_nn_pad_map
private

Definition at line 484 of file push2.h.

◆ _note_grid_origin

NoteGridOrigin ArdourSurface::Push2::_note_grid_origin
private

Definition at line 629 of file push2.h.

◆ _octave_shift

int ArdourSurface::Push2::_octave_shift
private

Definition at line 634 of file push2.h.

◆ _percussion

bool ArdourSurface::Push2::_percussion
private

Definition at line 635 of file push2.h.

◆ _pressure_mode

PressureMode ArdourSurface::Push2::_pressure_mode
private

Definition at line 656 of file push2.h.

◆ _previous_layout

Push2Layout* ArdourSurface::Push2::_previous_layout
private

Definition at line 607 of file push2.h.

◆ _root_octave

int ArdourSurface::Push2::_root_octave
private

Definition at line 632 of file push2.h.

◆ _row_interval

RowInterval ArdourSurface::Push2::_row_interval
private

Definition at line 630 of file push2.h.

◆ _scale_layout

Push2Layout* ArdourSurface::Push2::_scale_layout
private

Definition at line 609 of file push2.h.

◆ _scale_root

int ArdourSurface::Push2::_scale_root
private

Definition at line 631 of file push2.h.

◆ _selection_color

uint8_t ArdourSurface::Push2::_selection_color
private

Definition at line 659 of file push2.h.

◆ _splash_layout

Push2Layout* ArdourSurface::Push2::_splash_layout
private

Definition at line 611 of file push2.h.

◆ _splash_start

PBD::microseconds_t ArdourSurface::Push2::_splash_start
private

Definition at line 597 of file push2.h.

◆ _stop_down

bool ArdourSurface::Push2::_stop_down
private

Definition at line 663 of file push2.h.

◆ _track_mix_layout

Push2Layout* ArdourSurface::Push2::_track_mix_layout
private

Definition at line 610 of file push2.h.

◆ _vblank_connection

sigc::connection ArdourSurface::Push2::_vblank_connection
private

Definition at line 593 of file push2.h.

◆ _xy_pad_map

std::vector<std::shared_ptr<Pad> > ArdourSurface::Push2::_xy_pad_map
private

Definition at line 488 of file push2.h.

◆ layout_lock

Glib::Threads::Mutex ArdourSurface::Push2::layout_lock
mutableprivate

Definition at line 605 of file push2.h.

◆ PadChange

PBD::Signal<void()> ArdourSurface::Push2::PadChange

Definition at line 315 of file push2.h.

◆ PressureModeChange

PBD::Signal<void(PressureMode)> ArdourSurface::Push2::PressureModeChange

Definition at line 441 of file push2.h.

◆ ScaleChange

PBD::Signal<void()> ArdourSurface::Push2::ScaleChange

Definition at line 409 of file push2.h.


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