20 #ifndef mackie_surface_h
21 #define mackie_surface_h
25 #include <sigc++/trackable.h>
53 class MackieControlProtocol;
54 class MackieButtonHandler;
56 class MackieMidiBuilder;
82 uint32_t
number()
const {
return _number; }
83 const std::string&
name() {
return _name; }
87 bool active()
const {
return _active; }
99 MACKIE_NAMESPACE::JogWheel*
jog_wheel()
const {
return _jog_wheel; }
106 uint32_t
n_strips (
bool with_locked_strips =
true)
const;
113 typedef std::map<std::string,Group*>
Groups;
199 bool connection_handler (std::weak_ptr<ARDOUR::Port>, std::string name1, std::weak_ptr<ARDOUR::Port>, std::string name2,
bool);
227 std::string pending_display[2];
228 std::string current_display[2];
246 InputConnected = 0x1,
247 OutputConnected = 0x2
void set_touch_sensitivity(int)
std::map< int, Control * > controls_by_device_independent_id
void master_meter_changed()
float scrub_scaling_factor() const
const MidiByteArray & sysex_hdr() const
void reset()
sends MCP "reset" message to surface
MackieControlProtocol & mcp() const
void master_property_changed(const PBD::PropertyChange &)
void display_bank_start(uint32_t)
display an indicator of the first switched-in Route. Do nothing by default.
void handle_midi_sysex(MIDI::Parser &, MIDI::byte *, size_t count)
void periodic(PBD::microseconds_t now_usecs)
std::map< int, Led * > leds
void display_timecode(const std::string &, const std::string &)
PBD::ScopedConnection master_connection
MidiByteArray host_connection_confirmation(const MidiByteArray &bytes)
void handle_midi_note_on_message(MIDI::Parser &, MIDI::EventTwoBytes *)
void master_monitor_may_have_changed()
Strip * nth_strip(uint32_t n) const
MidiByteArray display_colors_on_xtouch(const XTouchColors color_values[]) const
bool master_stripable_is_master_monitor()
MidiByteArray host_connection_query(MidiByteArray &bytes)
uint32_t n_strips(bool with_locked_strips=true) const
void connect_to_signals()
bool connection_handler(std::weak_ptr< ARDOUR::Port >, std::string name1, std::weak_ptr< ARDOUR::Port >, std::string name2, bool)
bool stripable_is_mapped(std::shared_ptr< ARDOUR::Stripable >) const
Surface(MackieControlProtocol &, const std::string &name, uint32_t number, surface_type_t stype)
std::shared_ptr< ARDOUR::Stripable > _master_stripable
MidiByteArray blank_master_display(uint32_t line_number)
SurfacePort & port() const
bool stripable_is_locked_to_strip(std::shared_ptr< ARDOUR::Stripable >) const
std::vector< Control * > Controls
int set_state(const XMLNode &, int version)
std::map< int, Meter * > meters
surface_type_t type() const
void recalibrate_faders()
uint8_t convert_color_to_xtouch_value(uint32_t color) const
std::map< int, Pot * > pots
MackieControlProtocol & _mcp
void notify_metering_state_changed()
void write(const MidiByteArray &)
proxy write for port
void map_stripables(const std::vector< std::shared_ptr< ARDOUR::Stripable > > &)
void write_sysex(MIDI::byte msg)
std::vector< Strip * > Strips
The collection of all numbered strips.
NS_MCU ::JogWheel * _jog_wheel
const std::string & name()
void write_sysex(const MidiByteArray &mba)
write a sysex message
void show_two_char_display(const std::string &msg, const std::string &dots=" ")
void set_jog_mode(NS_MCU ::JogWheel::Mode)
void init_strips(uint32_t n)
void master_gain_changed()
std::map< int, Button * > buttons
float scaled_delta(float delta, float current_speed)
std::map< int, Fader * > faders
void handle_midi_controller_message(MIDI::Parser &, MIDI::EventTwoBytes *)
MidiByteArray master_display(uint32_t line_number, const std::string &)
void zero_all()
called from MackieControlProtocol::zero_all to turn things off
void update_strip_selection()
std::map< std::string, Group * > Groups
This collection owns the groups.
void update_view_mode_display(bool with_helpful_text)
void display_message_for(std::string const &msg, uint64_t msecs)
void handle_midi_pitchbend_message(MIDI::Parser &, MIDI::pitchbend_t, uint32_t channel_id)
float _last_master_gain_written
void redisplay(PBD::microseconds_t now_usecs, bool force)
XMLNode & get_state() const
void update_flip_mode_display()
NS_MCU ::JogWheel * jog_wheel() const
MidiByteArray display_line(std::string const &msg, int line_num)
Fader * master_fader() const
void subview_mode_changed()
void toggle_master_monitor()
void show_two_char_display(unsigned int value, const std::string &dots=" ")
GtkImageIconNameData name
PBD::PropertyDescriptor< uint32_t > color
unsigned short pitchbend_t