ext_data
An ext_data contains the data for extended MIDI messages, i.e.
system exclusive messages and meta messages. It is
like a tagged union but the data members are all present rather than
overlapping.
class ext_data
{
public:
uchar st;
baws sys_ex;
meta meta_event;
ext_data( const ext_data& e );
ext_data( const uchar *r, long len );
ext_data( int meta_ty, const uchar *r, long len );
long size() const;
int sprint( char *s ) const;
UtilStringPtr unparse() const;
ext_data& operator=(const ext_data& e);
};
- uchar st
- Indicates the type of the extended data. Below is a list of
what values it may take and what corresponding members of ext_data
contain the data for that type of meta message.
smsgt::sys_ex
baws sys_ex contains the System Exclusive data.
smsgt::file_meta
meta meta_event contains the meta message.
ext_data( const uchar *r, long len )
- Creates an ext_data System Exclusive from the the raw
sequence of
len bytes pointed to by r.
ext_data( int meta_ty, const uchar *r, long len )
- Creates an ext_data meta message of type
ty from
the raw sequence of len bytes pointed to by
r.
long size()
- For a System Exclusive ext_data, returns the length of the
System Exclusive message. For a meta message ext_data, returns
zero.
int sprint( char *s )
- Puts a textual representation of the object into
s.
UtilStringPtr unparse()
- Same as
sprint() but returns a UtilStringPtr.