Task Force Viking: operation green line
[ardour.git] / gtk2_ardour / midi_time_axis.h
index 1f179baca67cfa25548181524c920920d940ad17..25e89fc2e08e47ff922c8d1b3eeb260d87ab9f70 100644 (file)
@@ -39,7 +39,6 @@
 #include "route_time_axis.h"
 #include "canvas.h"
 #include "midi_streamview.h"
-#include "midi_channel_selector.h"
 
 namespace MIDI {
 namespace Name {
@@ -62,6 +61,7 @@ class MidiScroomer;
 class PianoRollHeader;
 class StepEntry;
 class StepEditor;
+class MidiChannelSelectorWindow;
 
 class MidiTimeAxisView : public RouteTimeAxisView
 {
@@ -92,12 +92,6 @@ class MidiTimeAxisView : public RouteTimeAxisView
 
        void update_range();
 
-       sigc::signal<void, ARDOUR::ChannelMode, uint16_t>& signal_channel_mode_changed() {
-               return _channel_selector.mode_changed;
-       }
-
-       const MidiMultipleChannelSelector& channel_selector() { return _channel_selector; }
-
        Gtk::CheckMenuItem* automation_child_menu_item (Evoral::Parameter);
 
        StepEditor* step_editor() { return _step_editor; }
@@ -140,8 +134,12 @@ class MidiTimeAxisView : public RouteTimeAxisView
        Gtk::RadioMenuItem*          _meter_color_mode_item;
        Gtk::RadioMenuItem*          _channel_color_mode_item;
        Gtk::RadioMenuItem*          _track_color_mode_item;
-       Gtk::Table                   _midi_controls_box;
-       MidiMultipleChannelSelector  _channel_selector;
+        Gtk::Label                   _playback_channel_status;
+        Gtk::Label                   _capture_channel_status;
+       Gtk::HBox                    _channel_status_box;
+        Gtk::Button                  _channel_selector_button;
+       Gtk::VBox                    _midi_controls_box;
+       MidiChannelSelectorWindow*   _channel_selector;
        Gtk::ComboBoxText            _midnam_model_selector;
        Gtk::ComboBoxText            _midnam_custom_device_mode_selector;
 
@@ -157,6 +155,8 @@ class MidiTimeAxisView : public RouteTimeAxisView
        void add_single_channel_controller_item (Gtk::Menu_Helpers::MenuList& ctl_items, int ctl, const std::string& name);
        void add_multi_channel_controller_item (Gtk::Menu_Helpers::MenuList& ctl_items, int ctl, const std::string& name);
        void build_controller_menu ();
+        void toggle_channel_selector ();
+        void channel_selector_hidden ();
        void set_channel_mode (ARDOUR::ChannelMode, uint16_t);
 
        void set_note_selection (uint8_t note);
@@ -176,6 +176,9 @@ class MidiTimeAxisView : public RouteTimeAxisView
        ParameterMenuMap _controller_menu_map;
 
        StepEditor* _step_editor;
+
+        void capture_channel_mode_changed();
+        void playback_channel_mode_changed();
 };
 
 #endif /* __ardour_midi_time_axis_h__ */