diff options
author | Hans Baier <hansfbaier@googlemail.com> | 2008-05-06 09:15:45 +0000 |
---|---|---|
committer | Hans Baier <hansfbaier@googlemail.com> | 2008-05-06 09:15:45 +0000 |
commit | 8557d0c69f999bef86c241fab05584b99432df31 (patch) | |
tree | c539552b130bf16c9d3adf7ac38de56978a1886a /libs/midi++2/midi++/event.h | |
parent | cb88f8cce97658ad3c990850104feca9fb0138ef (diff) |
* bugfix: SMFSource: track footer overwrote the last MIDI event
git-svn-id: svn://localhost/ardour2/branches/3.0@3319 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/midi++2/midi++/event.h')
-rw-r--r-- | libs/midi++2/midi++/event.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/midi++2/midi++/event.h b/libs/midi++2/midi++/event.h index 79f78c35e9..7f792af1e9 100644 --- a/libs/midi++2/midi++/event.h +++ b/libs/midi++2/midi++/event.h @@ -181,20 +181,24 @@ struct Event { inline uint8_t velocity() const { return (_buffer[2]); } inline uint8_t cc_number() const { return (_buffer[1]); } inline uint8_t cc_value() const { return (_buffer[2]); } - inline uint16_t pitch_bender_value() const { return (((0x7F & _buffer[1]) << 7) | (0x7F & _buffer[2])); } inline uint8_t pitch_bender_lsb() const { return (_buffer[1]); } inline uint8_t pitch_bender_msb() const { return (_buffer[2]); } + inline uint16_t pitch_bender_value() const { return (((0x7F & _buffer[2]) << 7) | (0x7F & _buffer[1])); } inline uint8_t pgm_number() const { return (_buffer[1]); } inline void set_pgm_number(uint8_t number){ _buffer[1] = number; } inline uint8_t aftertouch() const { return (_buffer[1]); } inline uint8_t channel_aftertouch() const { return (_buffer[1]); } + // midi channel events range from 0x80 to 0xE0 + inline bool is_channel_event() const { return (0x80 <= type()) && (type() <= 0xE0); } + inline bool is_smf_meta_event() const { return _buffer[0] == 0xFF; } + inline bool is_sysex() const { return _buffer[0] == 0xF0 || _buffer[0] == 0xF7; } inline const uint8_t* buffer() const { return _buffer; } inline uint8_t*& buffer() { return _buffer; } private: double _time; /**< Sample index (or beat time) at which event is valid */ uint32_t _size; /**< Number of uint8_ts of data in \a buffer */ - uint8_t* _buffer; /**< Raw MIDI data */ + uint8_t* _buffer; /**< Raw MIDI data */ #ifdef MIDI_EVENT_ALLOW_ALLOC bool _owns_buffer; /**< Whether buffer is locally allocated */ |