From 398a318934769dae51efe972f7ffdefc52ea2963 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 7 Nov 2016 05:14:55 -0500 Subject: Fix event type and parameter type confusion I'm not sure if this is really the best way to do event types (should it just be a completely static enum in evoral, or completely dynamic and provided by the type map, or a mix like currently?), but previously the event type was frequently set to either total garbage, or parameter types, which are a different thing. This fixes all those cases, and makes Evoral::EventType an enum so the compiler will warn about implicit conversions from int. --- libs/ardour/ardour/midi_buffer.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libs/ardour/ardour/midi_buffer.h') diff --git a/libs/ardour/ardour/midi_buffer.h b/libs/ardour/ardour/midi_buffer.h index 1b0bf2a151..cc48e28d61 100644 --- a/libs/ardour/ardour/midi_buffer.h +++ b/libs/ardour/ardour/midi_buffer.h @@ -20,8 +20,9 @@ #ifndef __ardour_midi_buffer_h__ #define __ardour_midi_buffer_h__ -#include "evoral/midi_util.h" #include "evoral/EventSink.hpp" +#include "evoral/midi_util.h" +#include "evoral/types.hpp" #include "midi++/event.h" @@ -93,7 +94,7 @@ public: uint8_t* ev_start = buffer->_data + offset + sizeof(TimeType); int event_size = Evoral::midi_event_size(ev_start); assert(event_size >= 0); - return EventType(midi_parameter_type(*ev_start), + return EventType(Evoral::MIDI_EVENT, *(reinterpret_cast((uintptr_t)(buffer->_data + offset))), event_size, ev_start); } @@ -166,8 +167,6 @@ public: return iterator (*this, i.offset); } - uint8_t* data() const { return _data; } - /** * returns true if the message with the second argument as its MIDI * status byte should preceed the message with the first argument as -- cgit v1.2.3