summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_tracer.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-02-01 03:33:52 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-02-01 03:33:52 +0000
commit85eb944c830a1400d73318a01da1e007be096377 (patch)
tree7f0efd8bb3010d7fee21f2555e1c5ecd5a71990b /gtk2_ardour/midi_tracer.h
parentbeb4a36016140e49e11a267290306ce826e24fee (diff)
improve efficiency of MIDI tracer window with a lock-free FIFO and lock-free msg pool and buffered queing; use a monospace font too
git-svn-id: svn://localhost/ardour2/branches/3.0@6603 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_tracer.h')
-rw-r--r--gtk2_ardour/midi_tracer.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk2_ardour/midi_tracer.h b/gtk2_ardour/midi_tracer.h
index 58cdd6776e..a3429e9267 100644
--- a/gtk2_ardour/midi_tracer.h
+++ b/gtk2_ardour/midi_tracer.h
@@ -9,6 +9,8 @@
#include <gtkmm/label.h>
#include "pbd/signals.h"
+#include "pbd/ringbuffer.h"
+#include "pbd/pool.h"
#include "midi++/types.h"
#include "ardour_dialog.h"
@@ -34,9 +36,13 @@ class MidiTracer : public ArdourDialog
bool autoscroll;
bool show_hex;
bool collect;
+ volatile bool update_queued;
+ RingBuffer<char *> fifo;
+ Pool buffer_pool;
+ static const size_t buffer_size = 256;
void tracer (MIDI::Parser&, MIDI::byte*, size_t);
- void add_string (std::string);
+ void update ();
Gtk::ToggleButton autoscroll_button;
Gtk::ToggleButton base_button;