19 #ifndef __ardour_lk4_h__
20 #define __ardour_lk4_h__
31 #define ABSTRACT_UI_EXPORTS
53 class AutomationControl;
63 #define LAUNCHPAD_NAMESPACE LP_MINI
65 #define LAUNCHPAD_NAMESPACE LP_X
137 static bool probe (std::string&, std::string&);
168 Pad (
int pid,
int xx,
int yy)
175 Pad () : id (-1), x (-1), y (-1)
274 void knob (
int which,
int value);
282 StationaryDisplay = 0x20,
283 GlobalTemporaryDisplay = 0x21,
284 DAWPadFunctionDisplay = 0x22,
285 DawDrumrackModeDisplay = 0x23,
287 PluginPotMode = 0x25,
289 TransportPotMode = 0x27,
328 std::shared_ptr<ARDOUR::Stripable> stripable[8];
374 void show_encoder_value (
int which, std::shared_ptr<ARDOUR::Plugin> plugin,
int control, std::shared_ptr<ARDOUR::AutomationControl> ac,
bool display);
397 void in_msecs (
int msecs, std::function<
void()> func);
399 std::weak_ptr<ARDOUR::AutomationControl>
controls[24];
void show_encoder_value(int which, std::shared_ptr< ARDOUR::Plugin > plugin, int control, std::shared_ptr< ARDOUR::AutomationControl > ac, bool display)
void show_solo(int which)
std::shared_ptr< ARDOUR::Port > _daw_out
void handle_midi_note_off_message(MIDI::Parser &, MIDI::EventTwoBytes *)
PBD::ScopedConnectionList trigger_connections
void toggle_button_mode()
void encoder_plugin(int which, int step)
void show_rec_enable(int which)
void rec_enable_changed(uint32_t which)
void encoder_level(int which, int step)
std::weak_ptr< ARDOUR::MidiTrack > _current_pad_target
void stripable_property_change(PBD::PropertyChange const &what_changed, uint32_t which)
void encoder_senda(int which, int step)
void fader_move(int which, int val)
void mute_changed(uint32_t which)
std::map< uint32_t, int > NearestMap
LaunchKey4(ARDOUR::Session &)
void in_msecs(int msecs, std::function< void()> func)
void start_press_timeout(Pad &pad)
bool revert_layout_on_fader_release
int find_closest_palette_color(uint32_t)
void encoder_transport(int which, int step)
void button_release(int button)
void select_display_target(DisplayTarget dt)
void pad_trigger(Pad &, int velocity)
void set_display_target(DisplayTarget dt, int field, std::string const &, bool display=false)
void trigger_property_change(PBD::PropertyChange, ARDOUR::Trigger *)
void map_triggerbox(int col)
void port_registration_handler()
void encoder_pan(int which, int step)
void transport_state_changed()
std::map< int, uint32_t > ColorMap
void maybe_start_press_timeout(Pad &pad)
void record_state_changed()
void jump_to_marker(int step)
std::weak_ptr< ARDOUR::Plugin > current_plugin
void button_press(int button)
std::shared_ptr< ARDOUR::Port > _daw_in
void daw_write(MIDI::byte const *, size_t)
void light_button(int which, LightingMode, int color_index)
void daw_write(const MidiByteArray &)
void trigger_pad_light(Pad &pad, std::shared_ptr< ARDOUR::Route > r, ARDOUR::Trigger *t)
void set_encoder_mode(EncoderMode)
void plugin_selected(std::weak_ptr< ARDOUR::PluginInsert >)
void set_pad_function(PadFunction)
void switch_bank(uint32_t)
void select_stripable(int col)
void display_session_layout()
void set_encoder_bank(int)
static bool match_usb(uint16_t, uint16_t)
void handle_midi_note_on_message(MIDI::Parser &, MIDI::EventTwoBytes *)
std::string output_port_name() const
int set_state(const XMLNode &node, int version)
void stripable_selection_changed()
PBD::ScopedConnectionList route_connections
MIDI::Port * _daw_in_port
void loop_start_move(int step)
PBD::ScopedConnectionList stripable_connections
void setup_screen_for_encoder_plugins()
FaderBank current_fader_bank
void route_property_change(PBD::PropertyChange const &, int x)
void reconnect_for_programmer()
void all_pads(int color_index)
void transport_shuttle(int step)
void automation_control_change(int n, std::weak_ptr< ARDOUR::AutomationControl >)
void pad_mute_solo(Pad &)
void loop_end_move(int step)
void handle_midi_sysex(MIDI::Parser &, MIDI::byte *, size_t count)
PBD::ScopedConnectionList control_connections
void finish_begin_using_device()
void unlight_pad(int pad_id)
void set_encoder_titles_to_route_names()
static bool probe(std::string &, std::string &)
void show_mute(int which)
void set_plugin_encoder_name(int encoder, int field, std::string const &)
void encoder(int which, int step)
void handle_midi_controller_message(MIDI::Parser &, MIDI::EventTwoBytes *)
XMLNode & get_state() const
void configure_display(DisplayTarget dt, int config)
void light_pad(int pad_id, int color_index)
MIDI::Port * _daw_out_port
void show_selection(int which)
std::string input_port_name() const
void encoder_mixer(int which, int step)
void knob(int which, int value)
uint32_t num_plugin_controls
void reconnect_for_session()
bool long_press_timeout(int pad_id)
void light_pad(int pid, LightingMode, int color_index)
void handle_midi_controller_message_chnF(MIDI::Parser &, MIDI::EventTwoBytes *)
#define LAUNCHPAD_NAMESPACE
Pad(int pid, int xx, int yy)
sigc::connection timeout_connection
link region and track false waveform clip max inline controls