23 #ifndef ardour_surface_cc121_h
24 #define ardour_surface_cc121_h
29 #include <glibmm/threads.h>
31 #define ABSTRACT_UI_EXPORTS
50 #include "glibmm/main.h"
157 std::list<std::shared_ptr<ARDOUR::Bundle> >
bundles ();
181 bool connection_handler (std::weak_ptr<ARDOUR::Port>, std::string name1, std::weak_ptr<ARDOUR::Port>, std::string name2,
bool yn);
253 std::function<void()>
function;
256 typedef std::map<CC121::ButtonState,ToDo>
ToDoMap;
std::list< std::shared_ptr< ARDOUR::Bundle > > bundles()
std::shared_ptr< ARDOUR::AsyncMIDIPort > _input_port
bool midi_input_handler(Glib::IOCondition ioc, std::shared_ptr< ARDOUR::AsyncMIDIPort > port)
sigc::connection blink_connection
CONTROL_PROTOCOL_THREADS_NEED_TEMPO_MAP_DECL()
void map_stripable_state()
std::shared_ptr< ARDOUR::AsyncMIDIPort > _output_port
void encoder_handler(MIDI::Parser &, MIDI::EventTwoBytes *tb)
void stop_blinking(ButtonID)
std::string get_action(ButtonID, bool on_press, CC121::ButtonState=ButtonState(0))
std::set< ButtonID > consumed
void stop_midi_handling()
PBD::ScopedConnectionList session_connections
Button & get_button(ButtonID) const
void connect_session_signals()
void button_press_handler(MIDI::Parser &, MIDI::EventTwoBytes *tb)
std::shared_ptr< ARDOUR::Port > output_port()
PBD::ScopedConnectionList midi_connections
void start_midi_handling()
void stripable_selection_changed()
sigc::connection heartbeat_connection
XMLNode & get_state() const
PBD::Signal< void()> ConnectionChange
std::shared_ptr< ARDOUR::Port > input_port()
std::shared_ptr< ARDOUR::Bundle > _input_bundle
std::map< ButtonID, Button > ButtonMap
PBD::microseconds_t last_encoder_time
void set_current_stripable(std::shared_ptr< ARDOUR::Stripable >)
bool connection_handler(std::weak_ptr< ARDOUR::Port >, std::string name1, std::weak_ptr< ARDOUR::Port >, std::string name2, bool yn)
void set_controllable(std::shared_ptr< ARDOUR::AutomationControl >, float)
void set_action(ButtonID, std::string const &action_name, bool on_press, CC121::ButtonState=ButtonState(0))
std::shared_ptr< ARDOUR::Stripable > _current_stripable
std::weak_ptr< ARDOUR::Stripable > pre_monitor_stripable
void map_recenable_state()
void drop_current_stripable()
int set_state(const XMLNode &, int version)
int last_good_encoder_delta
std::set< ButtonID > buttons_down
sigc::connection periodic_connection
void start_blinking(ButtonID)
void do_request(CC121Request *)
std::shared_ptr< ARDOUR::Bundle > _output_bundle
int last_last_encoder_delta
void button_release_handler(MIDI::Parser &, MIDI::EventTwoBytes *tb)
PBD::ScopedConnection selection_connection
PBD::ScopedConnectionList stripable_connections
std::list< ButtonID > Blinkers
PBD::ScopedConnection port_connection
void map_transport_state()
std::weak_ptr< ARDOUR::Stripable > pre_master_stripable
void fader_handler(MIDI::Parser &, MIDI::pitchbend_t pb)
std::shared_ptr< PBD::Controllable > Controllable
unsigned short pitchbend_t