30 #ifndef PLATFORM_WINDOWS
72 virtual int read (
byte *buf,
size_t bufsize) = 0;
80 virtual void drain (
int ,
int ) {}
87 return !(write (msg, len, timestamp) == (int) len);
102 return _channel[chn&0x7F];
109 const char *
name ()
const {
return _tagname.c_str(); }
110 bool ok ()
const {
return _ok; }
virtual bool centrally_parsed() const
virtual void parse(samplecnt_t timestamp)=0
virtual int read(byte *buf, size_t bufsize)=0
Channel * channel(channel_t chn)
bool receives_input() const
void init(std::string const &, Flags)
virtual XMLNode & get_state() const
int midimsg(byte *msg, size_t len, timestamp_t timestamp)
const char * name() const
virtual void drain(int, int)
virtual void set_state(const XMLNode &)
Port(std::string const &, Flags)
bool clock(timestamp_t timestamp)
virtual int write(const byte *msg, size_t msglen, timestamp_t timestamp)=0
bool sends_output() const
virtual int selectable() const =0
static std::string state_node_name
void set_centrally_parsed(bool yn)
std::ostream & operator<<(std::ostream &os, const Port &port)
std::list< XMLNode > ports
Descriptor(const XMLNode &)
XMLNode & get_state() const