20 #ifndef __ardour_ui_midi_channel_selector_h__
21 #define __ardour_ui_midi_channel_selector_h__
24 #include "boost/shared_ptr.hpp"
25 #include "sigc++/trackable.h"
27 #include "gtkmm/table.h"
28 #include "gtkmm/button.h"
29 #include "gtkmm/radiobutton.h"
30 #include "gtkmm/label.h"
44 MidiChannelSelector(
int n_rows = 4,
int n_columns = 4,
int start_row = 0,
int start_column = 0);
53 virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr) = 0;
71 virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr);
81 uint16_t initial_selection = 0xFFFF);
106 virtual void button_toggled(Gtk::ToggleButton* button, uint8_t button_nr);
ARDOUR::NoteMode _note_mode
void set_channel_mode(ARDOUR::ChannelMode mode, uint16_t mask)
std::vector< Gtk::Widget * > playback_mask_controls
void playback_invert_clicked()
void set_channel_colors(const uint32_t new_channel_colors[16])
void playback_mode_changed()
virtual ~MidiChannelSelector()=0
void set_selected_channels(uint16_t selected_channels)
Gtk::RadioButtonGroup playback_button_group
std::vector< Gtk::Widget * > capture_mask_controls
void set_capture_selected_channels(uint16_t)
void playback_mask_changed()
ARDOUR::ChannelMode _channel_mode
ARDOUR::ChannelMode last_drawn_playback_mode
std::vector< Gtk::ToggleButton * > capture_buttons
ARDOUR::ChannelMode last_drawn_capture_mode
Gtk::RadioButton playback_filter_button
uint8_t get_active_channel() const
virtual void button_toggled(Gtk::ToggleButton *button, uint8_t button_nr)
void playback_none_clicked()
sigc::signal< void > clicked
void capture_mask_changed()
uint16_t get_selected_channels() const
boost::shared_ptr< ARDOUR::MidiTrack > track
Gtk::RadioButton playback_all_button
void invert_playback_mask()
void set_default_channel_color()
sigc::signal< void, uint8_t > channel_selected
ARDOUR::ChannelMode get_channel_mode() const
void fill_playback_mask()
Gtk::Button _invert_selection
void set_channel_colors(const uint32_t new_channel_colors[16])
virtual void button_toggled(Gtk::ToggleButton *button, uint8_t button_nr)
Gtkmm2ext::StatefulToggleButton _buttons[4][4]
MidiMultipleChannelSelector(ARDOUR::ChannelMode mode=ARDOUR::FilterChannels, uint16_t initial_selection=0xFFFF)
void playback_mode_toggled(ARDOUR::ChannelMode)
sigc::signal< void, ARDOUR::ChannelMode, uint16_t > mode_changed
void invert_capture_mask()
void capture_all_clicked()
void playback_all_clicked()
std::vector< Gtk::ToggleButton * > playback_buttons
void force_channels_button_toggled()
bool was_clicked(GdkEventButton *)
Gtk::Label _button_labels[4][4]
~MidiChannelSelectorWindow()
void capture_invert_clicked()
Gtk::RadioButton capture_filter_button
void invert_selection(void)
Gtk::ToggleButton * _last_active_button
void zero_playback_mask()
Gtk::RadioButton playback_force_button
void set_default_channel_color()
void capture_mode_changed()
SingleMidiChannelSelector(uint8_t active_channel=0)
Gtk::HBox playback_mask_box
MidiChannelSelector(int n_rows=4, int n_columns=4, int start_row=0, int start_column=0)
void capture_none_clicked()
Gtk::RadioButtonGroup capture_button_group
Gtk::RadioButton capture_force_button
Gtk::RadioButton capture_all_button
void playback_channel_clicked(uint16_t)
Gtk::ToggleButton _force_channel
void set_playback_selected_channels(uint16_t)
MidiChannelSelectorWindow(boost::shared_ptr< ARDOUR::MidiTrack >)
Gtk::HBox capture_mask_box
virtual ~MidiMultipleChannelSelector()
virtual void button_toggled(Gtk::ToggleButton *button, uint8_t button_nr)=0
Ignore events on certain channels.
void capture_channel_clicked(uint16_t)
void capture_mode_toggled(ARDOUR::ChannelMode)