X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fardour%2Fasync_midi_port.h;h=96a50ab198df1c18136d396197e768e30be55af3;hb=e845b9f9357c4ff471c02b1f63a61275bb4a7d28;hp=cbe9bb1a9c73ee762c33304ae275e9ea4d81f04a;hpb=2f0c998210134195c93188c6eb2192d0521d33d4;p=ardour.git diff --git a/libs/ardour/ardour/async_midi_port.h b/libs/ardour/ardour/async_midi_port.h index cbe9bb1a9c..96a50ab198 100644 --- a/libs/ardour/ardour/async_midi_port.h +++ b/libs/ardour/ardour/async_midi_port.h @@ -1,5 +1,5 @@ /* - Copyright (C) 1998-2010 Paul Barton-Davis + Copyright (C) 1998-2010 Paul Barton-Davis 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 Software Foundation; either version 2 of the License, or @@ -51,14 +51,14 @@ class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port { void cycle_start (pframes_t nframes); void cycle_end (pframes_t nframes); - + /* called from non-RT context */ - + void parse (framecnt_t timestamp); int write (const MIDI::byte *msg, size_t msglen, MIDI::timestamp_t timestamp); int read (MIDI::byte *buf, size_t bufsize); /* waits for output to be cleared */ - void drain (int check_interval_usecs); + void drain (int check_interval_usecs, int total_usecs_to_wait); /* clears async request communication channel */ void clear () { @@ -77,7 +77,7 @@ class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port { static pthread_t get_process_thread () { return _process_thread; } static bool is_process_thread(); - private: + private: bool _currently_in_cycle; MIDI::timestamp_t _last_write_timestamp; bool have_timer; @@ -90,7 +90,7 @@ class LIBARDOUR_API AsyncMIDIPort : public ARDOUR::MidiPort, public MIDI::Port { int create_port (); /** Channel used to signal to the MidiControlUI that input has arrived */ - + std::string _connections; PBD::ScopedConnection connect_connection; PBD::ScopedConnection halt_connection;