* enlage MidiBuffer size to 128 bytes to allow for sysex events
[ardour.git] / libs / evoral / src / Sequence.cpp
index 3de24106d4aa7e322b840a7600800c582ecefecd..7781ea890707259dae0422d965ff083f6677babf 100644 (file)
 #include <algorithm>
 #include <stdexcept>
 #include <stdint.h>
-#include <evoral/Sequence.hpp>
-#include <evoral/ControlList.hpp>
-#include <evoral/Control.hpp>
-#include <evoral/ControlSet.hpp>
-#include <evoral/EventSink.hpp>
-#include <evoral/MIDIParameters.hpp>
-#include <evoral/TypeMap.hpp>
+#include "evoral/Sequence.hpp"
+#include "evoral/ControlList.hpp"
+#include "evoral/Control.hpp"
+#include "evoral/ControlSet.hpp"
+#include "evoral/EventSink.hpp"
+#include "evoral/MIDIParameters.hpp"
+#include "evoral/TypeMap.hpp"
 
 using namespace std;
 
@@ -193,9 +193,7 @@ Sequence::const_iterator& Sequence::const_iterator::operator++()
                const bool ret = _control_iter->list->rt_safe_earliest_event_unlocked(
                                _control_iter->x, DBL_MAX, x, y, false);
 
-               if ( !(!ret || x > _control_iter->x) ) {
-                       cerr << "Warning: Assertion failed: !ret || x > _control_iter->x in Sequence.cpp" << endl;
-               }
+               assert(!ret || x > _control_iter->x);
 
                if (ret) {
                        _control_iter->x = x;
@@ -538,7 +536,11 @@ Sequence::append(const Event& event)
        } else if (ev.is_note_off()) {
                append_note_off_unlocked(ev.channel(), ev.time(), ev.note());
        } else if (!_type_map.type_is_midi(ev.event_type())) {
-               printf("WARNING: Sequence: Unknown event type %X\n", ev.event_type());
+               printf("WARNING: Sequence: Unknown event type %X: ", ev.event_type());
+               for (size_t i=0; i < ev.size(); ++i) {
+                       printf("%X ", ev.buffer()[i]);
+               }
+               printf("\n");
        } else if (ev.is_cc()) {
                append_control_unlocked(
                                Evoral::MIDI::ContinuousController(ev.event_type(), ev.channel(), ev.cc_number()),
@@ -632,7 +634,8 @@ Sequence::append_control_unlocked(const Parameter& param, EventTime time, double
 {
        debugout << this << " " << _type_map.to_symbol(param) << " @ " << time << " \t= \t" << value
                        << " # controls: " << _controls.size() << endl;
-       control(param, true)->list()->rt_add(time, value);
+       boost::shared_ptr<Control> c = control(param, true);
+       c->list()->rt_add(time, value);
 }