summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_tracer.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-01-06 21:56:23 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-01-06 21:56:23 +0000
commited6545eb5b360afc1a11f3dec0bb553a11e64436 (patch)
tree5c81bbab7de9bfc2ddde49d6bcfa77da12dd7f60 /gtk2_ardour/midi_tracer.h
parent285e4c648a794a1bf311621029883b1adbb32c8d (diff)
screw up MIDI control "automation" tracks quite a bit while trying to improve menu structure BUT add a MIDI tracer window and fix a crashing bug caused by regions prematurely being destroyed
git-svn-id: svn://localhost/ardour2/branches/3.0@6465 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_tracer.h')
-rw-r--r--gtk2_ardour/midi_tracer.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/gtk2_ardour/midi_tracer.h b/gtk2_ardour/midi_tracer.h
new file mode 100644
index 0000000000..fc6abee15c
--- /dev/null
+++ b/gtk2_ardour/midi_tracer.h
@@ -0,0 +1,55 @@
+#ifndef __ardour_gtk_midi_tracer_h__
+#define __ardour_gtk_midi_tracer_h__
+
+#include <types.h>
+#include <gtkmm/textview.h>
+#include <gtkmm/scrolledwindow.h>
+#include <gtkmm/togglebutton.h>
+#include <gtkmm/adjustment.h>
+#include <gtkmm/spinbutton.h>
+#include <gtkmm/label.h>
+
+#include "pbd/signals.h"
+#include "midi++/types.h"
+#include "ardour_dialog.h"
+
+namespace MIDI {
+ class Parser;
+}
+
+class MidiTracer : public ArdourDialog
+{
+ public:
+ MidiTracer (const std::string&, MIDI::Parser&);
+ ~MidiTracer();
+
+ private:
+ MIDI::Parser& parser;
+ Gtk::TextView text;
+ Gtk::ScrolledWindow scroller;
+ Gtk::Adjustment line_count_adjustment;
+ Gtk::SpinButton line_count_spinner;
+ Gtk::Label line_count_label;
+ Gtk::HBox line_count_box;
+
+ bool autoscroll;
+ bool show_hex;
+ bool collect;
+
+ void tracer (MIDI::Parser&, MIDI::byte*, size_t);
+ void add_string (std::string);
+
+ Gtk::ToggleButton autoscroll_button;
+ Gtk::ToggleButton base_button;
+ Gtk::ToggleButton collect_button;
+
+ void base_toggle ();
+ void autoscroll_toggle ();
+ void collect_toggle ();
+
+ void connect ();
+ void disconnect ();
+ PBD::Connection connection;
+};
+
+#endif /* __ardour_gtk_midi_tracer_h__ */