#include "gtkmm/button.h"
#include "gtkmm/radiobutton.h"
#include "gtkmm/label.h"
-#include "gtkmm2ext/stateful_button.h"
+
+#include "widgets/stateful_button.h"
#include "ardour/types.h"
class MidiChannelSelector : public Gtk::Table
{
- public:
+public:
MidiChannelSelector(int n_rows = 4, int n_columns = 4, int start_row = 0, int start_column = 0);
virtual ~MidiChannelSelector() = 0;
void set_channel_colors(const uint32_t new_channel_colors[16]);
void set_default_channel_color();
- protected:
+protected:
virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr) = 0;
- Gtk::Label _button_labels[4][4];
- Gtkmm2ext::StatefulToggleButton _buttons[4][4];
- int _recursion_counter;
+ Gtk::Label _button_labels[4][4];
+ ArdourWidgets::StatefulToggleButton _buttons[4][4];
+ int _recursion_counter;
- bool was_clicked (GdkEventButton*);
+ bool was_clicked (GdkEventButton*);
};
class SingleMidiChannelSelector : public MidiChannelSelector
{
- public:
+public:
SingleMidiChannelSelector(uint8_t active_channel = 0);
uint8_t get_active_channel() const { return _active_channel; }
sigc::signal<void, uint8_t> channel_selected;
- protected:
+protected:
virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr);
Gtk::ToggleButton* _last_active_button;
class MidiMultipleChannelSelector : public MidiChannelSelector
{
- public:
+public:
MidiMultipleChannelSelector(ARDOUR::ChannelMode mode = ARDOUR::FilterChannels,
- uint16_t initial_selection = 0xFFFF);
+ uint16_t initial_selection = 0xFFFF);
virtual ~MidiMultipleChannelSelector();
uint16_t get_selected_channels() const;
void set_selected_channels(uint16_t selected_channels);
- protected:
+protected:
ARDOUR::ChannelMode _channel_mode;
ARDOUR::NoteMode _note_mode;
class MidiChannelSelectorWindow : public ArdourWindow, public PBD::ScopedConnectionList
{
- public:
+public:
MidiChannelSelectorWindow (boost::shared_ptr<ARDOUR::MidiTrack>);
~MidiChannelSelectorWindow ();
void set_channel_colors (const uint32_t new_channel_colors[16]);
void set_default_channel_color();
- private:
+private:
boost::shared_ptr<ARDOUR::MidiTrack> track;
std::vector<Gtk::ToggleButton*> playback_buttons;
std::vector<Gtk::ToggleButton*> capture_buttons;