diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-01-06 21:56:23 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-01-06 21:56:23 +0000 |
commit | ed6545eb5b360afc1a11f3dec0bb553a11e64436 (patch) | |
tree | 5c81bbab7de9bfc2ddde49d6bcfa77da12dd7f60 /gtk2_ardour/midi_tracer.h | |
parent | 285e4c648a794a1bf311621029883b1adbb32c8d (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.h | 55 |
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__ */ |