diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-01 03:33:52 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-02-01 03:33:52 +0000 |
commit | 85eb944c830a1400d73318a01da1e007be096377 (patch) | |
tree | 7f0efd8bb3010d7fee21f2555e1c5ecd5a71990b /gtk2_ardour/midi_tracer.h | |
parent | beb4a36016140e49e11a267290306ce826e24fee (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.h | 8 |
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; |