/*
Copyright (C) 2006-2007 Paul Davis
- Author: Dave Robillard
+ Author: David Robillard
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
* Note that offset and nframes refer to sample time, NOT buffer offsets or event counts.
*/
void
-MidiBuffer::read_from (const Buffer& src, nframes_t nframes, nframes_t dst_offset, nframes_t src_offset)
+MidiBuffer::read_from (const Buffer& src, framecnt_t nframes, framecnt_t dst_offset, framecnt_t src_offset)
{
assert (src.type() == DataType::MIDI);
assert (&src != this);
if (ev.time() >= src_offset && ev.time() < (nframes+src_offset)) {
push_back (ev);
} else {
- cerr << "MIDI event @ " << ev.time() << " skipped, not within range " << src_offset << " .. "
- << (nframes + src_offset) << endl;
- }
+ cerr << "MIDI event @ " << ev.time() << " skipped, not within range "
+ << src_offset << " .. " << (nframes + src_offset) << endl;
+ }
}
_silent = src.silent();
}
void
-MidiBuffer::merge_from (const Buffer& src, nframes_t /*nframes*/, nframes_t /*dst_offset*/, nframes_t /*src_offset*/)
+MidiBuffer::merge_from (const Buffer& src, framecnt_t /*nframes*/, framecnt_t /*dst_offset*/, framecnt_t /*src_offset*/)
{
const MidiBuffer* mbuf = dynamic_cast<const MidiBuffer*>(&src);
assert (mbuf);
cerr << "MidiBuffer::push_back failed (buffer is full)" << endl;
return false;
}
-
+
if (!Evoral::midi_event_is_valid(ev.buffer(), ev.size())) {
cerr << "WARNING: MidiBuffer ignoring illegal MIDI event" << endl;
return false;
const size_t stamp_size = sizeof(TimeType);
#ifndef NDEBUG
- DEBUG_STR_DECL(a);
- DEBUG_STR_APPEND(a, string_compose ("midibuffer %1 push event @ %2 sz %3 ", this, time, size));
+ if (DEBUG::MidiIO & PBD::debug_bits) {
+ DEBUG_STR_DECL(a);
+ DEBUG_STR_APPEND(a, string_compose ("midibuffer %1 push event @ %2 sz %3 ", this, time, size));
for (size_t i=0; i < size; ++i) {
DEBUG_STR_APPEND(a,hex);
DEBUG_STR_APPEND(a,"0x");
DEBUG_STR_APPEND(a,(int)data[i]);
- DEBUG_STR_APPEND(a,' ');
+ DEBUG_STR_APPEND(a,' ');
}
- DEBUG_STR_APPEND(a,'\n');
- DEBUG_TRACE (DEBUG::MidiIO, DEBUG_STR(a).str());
+ DEBUG_STR_APPEND(a,'\n');
+ DEBUG_TRACE (DEBUG::MidiIO, DEBUG_STR(a).str());
+ }
#endif
if (_size + stamp_size + size >= _capacity) {
void
-MidiBuffer::silence (nframes_t /*nframes*/, nframes_t /*offset*/)
+MidiBuffer::silence (framecnt_t /*nframes*/, framecnt_t /*offset*/)
{
/* XXX iterate over existing events, find all in range given by offset & nframes,
and delete them.
++them;
}
-#if 0
+#if 0
if (us != end())
cerr << "us @ " << (*us).time() << endl;
if (them != other.end())