diff options
author | David Robillard <d@drobilla.net> | 2009-02-14 22:52:38 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2009-02-14 22:52:38 +0000 |
commit | d0cc3120ae1d2f58942a6cdd1120dd0de1510aba (patch) | |
tree | 623407bded1da077943937da8282c0911340e752 /libs/evoral/src/SMF.cpp | |
parent | ea37584cac7cee5b808e6cd84519517b79c1da69 (diff) |
Make SMF::append_event_delta take a buffer and a size rather than an Event (no point, more generic, etc.).
git-svn-id: svn://localhost/ardour2/branches/3.0@4567 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/evoral/src/SMF.cpp')
-rw-r--r-- | libs/evoral/src/SMF.cpp | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/libs/evoral/src/SMF.cpp b/libs/evoral/src/SMF.cpp index 7e5e5935ce..86110b6401 100644 --- a/libs/evoral/src/SMF.cpp +++ b/libs/evoral/src/SMF.cpp @@ -211,7 +211,7 @@ SMF<Time>::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const *size = event_size; /*printf("SMF::read_event:\n"); - for (size_t i=0; i < *size; ++i) { + for (size_t i = 0; i < *size; ++i) { printf("%X ", (*buf)[i]); } printf("\n");*/ @@ -223,28 +223,25 @@ SMF<Time>::read_event(uint32_t* delta_t, uint32_t* size, uint8_t** buf) const template<typename Time> void -SMF<Time>::append_event_delta(uint32_t delta_t, const Event<Time>& ev) +SMF<Time>::append_event_delta(uint32_t delta_t, uint32_t size, const uint8_t* buf) { - assert(ev.size() > 0); + if (size == 0) { + return; + } /*printf("SMF::append_event_delta:\n"); - for (size_t i=0; i < ev.size(); ++i) { - printf("%X ", ev.buffer()[i]); + for (size_t i = 0; i < size; ++i) { + printf("%X ", buf[i]); } printf("\n");*/ smf_event_t* event; - event = smf_event_new_from_pointer((void *) ev.buffer(), int(ev.size())); + event = smf_event_new_from_pointer(buf, size); assert(event != NULL); - memcpy(event->midi_buffer, ev.buffer(), ev.size()); - assert(_smf_track); - smf_track_add_event_delta_pulses(_smf_track, event, int(delta_t)); - - if (ev.size() > 0) { - _empty = false; - } + smf_track_add_event_delta_pulses(_smf_track, event, delta_t); + _empty = false; } template<typename Time> |