19 #ifndef _ardour_surfaces_fp8base_h_
20 #define _ardour_surfaces_fp8base_h_
28 # define FP_NAMESPACE FP16
29 #elif defined FADERPORT2
30 # define FP_NAMESPACE FP2
32 # define FP_NAMESPACE FP8
38 #define fp8_loop dynamic_cast<BaseUI*>(&_base)->main_loop
39 #define fp8_context() dynamic_cast<BaseUI*>(&_base)
40 #define fp8_protocol() dynamic_cast<ControlProtocol*>(&_base)
57 virtual size_t tx_midi (std::vector<uint8_t>
const&)
const = 0;
58 virtual std::string
const&
timecode ()
const = 0;
68 std::vector<uint8_t> d;
74 size_t tx_midi3 (uint8_t sb, uint8_t d1, uint8_t d2)
const
76 std::vector<uint8_t> d;
85 std::vector<uint8_t> d;
89 va_start (var_args, count);
90 for (
size_t i = 0; i < count; ++i)
93 uint8_t b = va_arg (var_args,
int);
102 size_t tx_text (uint8_t
id, uint8_t line, uint8_t align, std::string
const& txt)
104 std::vector<uint8_t> d;
107 d.push_back (
id & 0x0f);
108 d.push_back (line & 0x03);
109 d.push_back (align & 0x07);
111 for (
size_t i = 0; i < txt.size(); ++i)
116 d.push_back (txt[i]);
size_t tx_sysex(size_t count,...)
virtual bool twolinetext() const =0
virtual size_t tx_midi(std::vector< uint8_t > const &) const =0
virtual bool show_panner() const =0
virtual uint32_t clock_mode() const =0
virtual bool show_meters() const =0
size_t tx_midi2(uint8_t sb, uint8_t d1) const
PBD::Signal< void()> Periodic
void sysexhdr(std::vector< uint8_t > &d)
virtual std::string const & musical_time() const =0
size_t tx_midi3(uint8_t sb, uint8_t d1, uint8_t d2) const
virtual std::string const & timecode() const =0
virtual bool shift_mod() const =0
PBD::Signal< void(bool)> BlinkIt
PBD::Signal< void(bool)> ShiftButtonChange
PBD::Signal< void(bool)> ARMButtonChange
size_t tx_text(uint8_t id, uint8_t line, uint8_t align, std::string const &txt)