+ SurfacePort* _port;
+ surface_type_t _stype;
+ uint32_t _number;
+ std::string _name;
+ bool _active;
+ bool _connected;
+ Mackie::JogWheel* _jog_wheel;
+ Fader* _master_fader;
+ float _last_master_gain_written;
+ PBD::ScopedConnection master_connection;
+
+ void handle_midi_sysex (MIDI::Parser&, MIDI::byte *, size_t count);
+ MidiByteArray host_connection_query (MidiByteArray& bytes);
+ MidiByteArray host_connection_confirmation (const MidiByteArray& bytes);
+
+ void say_hello ();
+ void init_controls ();
+ void init_strips (uint32_t n);
+ void setup_master ();
+ void master_gain_changed ();
+
+ enum ConnectionState {
+ InputConnected = 0x1,
+ OutputConnected = 0x2
+ };
+
+ int connection_state;
+
+ // QCon Flag
+ bool is_qcon;
+
+ MidiByteArray display_line (std::string const& msg, int line_num);
+
+ public:
+ /* IP MIDI devices need to keep a handle on this and destroy it */
+ GSource* input_source;