summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_port.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/midi_port.cc')
-rw-r--r--libs/ardour/midi_port.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/libs/ardour/midi_port.cc b/libs/ardour/midi_port.cc
index f2f347a076..30084c6718 100644
--- a/libs/ardour/midi_port.cc
+++ b/libs/ardour/midi_port.cc
@@ -26,12 +26,10 @@ using namespace ARDOUR;
using namespace std;
MidiPort::MidiPort (const std::string& name, Flags flags)
- : Port (name, DataType::MIDI, flags)
+ : Port (name, DataType::MIDI, flags)
, _has_been_mixed_down (false)
{
- // FIXME: size kludge (see BufferSet::ensure_buffers)
- // Jack needs to tell us this
- _buffer = new MidiBuffer (1024 * 32);
+ _buffer = new MidiBuffer (raw_buffer_size(0));
}
MidiPort::~MidiPort()
@@ -39,7 +37,6 @@ MidiPort::~MidiPort()
delete _buffer;
}
-
void
MidiPort::cycle_start (nframes_t nframes)
{
@@ -133,3 +130,9 @@ MidiPort::flush_buffers (nframes_t nframes, nframes_t offset)
}
}
+size_t
+MidiPort::raw_buffer_size (nframes_t nframes) const
+{
+ return jack_midi_max_event_size(jack_port_get_buffer(_jack_port, nframes));
+}
+