summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-03-18 00:58:36 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-03-18 00:58:36 +0000
commitd69f4e9e3dde0e400c80bca37f7bfcc555fbbf1b (patch)
treed38228ec66da25d3bb9d92f19c13c75f3cdb8bd2
parent4ca4a8e237c24aff1bcef0b9a8e119f4df02d391 (diff)
band-aid fix for wrong-thread-MIDI-writes
git-svn-id: svn://localhost/ardour2/branches/3.0@3154 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/midi++2/jack_midiport.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/midi++2/jack_midiport.cc b/libs/midi++2/jack_midiport.cc
index 11cd70a051..52d05a5cfb 100644
--- a/libs/midi++2/jack_midiport.cc
+++ b/libs/midi++2/jack_midiport.cc
@@ -21,11 +21,14 @@
#include <cerrno>
#include <cassert>
+#include <pbd/error.h>
+
#include <midi++/types.h>
#include <midi++/jack.h>
using namespace std;
using namespace MIDI;
+using namespace PBD;
JACK_MidiPort::JACK_MidiPort(const XMLNode& node, jack_client_t* jack_client)
: Port(node)
@@ -58,7 +61,10 @@ JACK_MidiPort::cycle_start (nframes_t nframes)
int
JACK_MidiPort::write(byte * msg, size_t msglen, timestamp_t timestamp)
{
- assert(_currently_in_cycle);
+ if (!_currently_in_cycle) {
+ error << "JACK MIDI write ignored - not in cycle ... FIX ME PAUL!" << endmsg;
+ return msglen;
+ }
assert(timestamp < _nframes_this_cycle);
assert(_jack_output_port);