X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmidi_channel_selector.h;h=c5e6a5a3783d0d81eee10fb1107367d7539081ae;hb=2db69318cef5bc7b49a3c6e00b3ca3f0f2023374;hp=2777282e2cc41491b3b193792cd90361b16b6a06;hpb=0bbc9144cca18495775cdc8b2050e5141bfcdc12;p=ardour.git diff --git a/gtk2_ardour/midi_channel_selector.h b/gtk2_ardour/midi_channel_selector.h index 2777282e2c..c5e6a5a378 100644 --- a/gtk2_ardour/midi_channel_selector.h +++ b/gtk2_ardour/midi_channel_selector.h @@ -23,12 +23,13 @@ #include #include "boost/shared_ptr.hpp" #include "sigc++/trackable.h" + #include "gtkmm/table.h" #include "gtkmm/button.h" -#include "gtkmm/togglebutton.h" #include "gtkmm/label.h" -#include "ardour/types.h" +#include "gtkmm2ext/stateful_button.h" +#include "ardour/types.h" class MidiChannelSelector : public Gtk::Table { @@ -36,7 +37,6 @@ public: MidiChannelSelector(int n_rows = 4, int n_columns = 4, int start_row = 0, int start_column = 0); virtual ~MidiChannelSelector() = 0; - sigc::signal mode_changed; sigc::signal clicked; void set_channel_colors(const uint32_t new_channel_colors[16]); @@ -45,7 +45,7 @@ public: protected: virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr) = 0; Gtk::Label _button_labels[4][4]; - Gtk::ToggleButton _buttons[4][4]; + Gtkmm2ext::StatefulToggleButton _buttons[4][4]; int _recursion_counter; bool was_clicked (GdkEventButton*); }; @@ -74,6 +74,12 @@ public: virtual ~MidiMultipleChannelSelector(); + /** The channel mode or selected channel(s) has changed. + * First parameter is the new channel mode, second parameter is a bitmask + * of the currently selected channels. + */ + sigc::signal mode_changed; + void set_channel_mode(ARDOUR::ChannelMode mode, uint16_t mask); /**