more show() stuff, and replaced strip->show_all(); untill its actually finished
[ardour.git] / gtk2_ardour / midi_time_axis.h
index 17b3d72794be3aebc6811e70e7d1c0e3d574722e..039affd979a125a84c9db54bee5c70a1de43265e 100644 (file)
 #include "enums.h"
 #include "route_time_axis.h"
 #include "canvas.h"
-#include "color.h"
 
 namespace ARDOUR {
        class Session;
        class MidiDiskstream;
        class RouteGroup;
-       class Insert;
-       class Insert;
+       class Processor;
        class Location;
        class MidiPlaylist;
 }
 
 class PublicEditor;
+class MidiStreamView;
 
 class MidiTimeAxisView : public RouteTimeAxisView
 {
@@ -58,19 +57,33 @@ class MidiTimeAxisView : public RouteTimeAxisView
        MidiTimeAxisView (PublicEditor&, ARDOUR::Session&, boost::shared_ptr<ARDOUR::Route>, ArdourCanvas::Canvas& canvas);
        virtual ~MidiTimeAxisView ();
 
+       MidiStreamView* midi_view();
+
        /* overridden from parent to store display state */
        guint32 show_at (double y, int& nth, Gtk::VBox *parent);
        void hide ();
-       
-       void set_state (const XMLNode&);
-       XMLNode* get_child_xml_node (const string & childname);
+
+       void add_controller_track ();
+       void create_automation_child (ARDOUR::Parameter param, bool show);
+
+       ARDOUR::NoteMode note_mode() const { return _note_mode; }
 
   private:
+       
+       void build_automation_action_menu ();
+       Gtk::Menu* build_mode_menu();
+
+       void set_note_mode(ARDOUR::NoteMode mode);
+
        void route_active_changed ();
 
-       void add_insert_to_subplugin_menu (ARDOUR::Insert *);
+       void add_insert_to_subplugin_menu (ARDOUR::Processor *);
        
-       Gtk::Menu subplugin_menu;
+       Gtk::Menu _subplugin_menu;
+
+       ARDOUR::NoteMode    _note_mode;
+       Gtk::RadioMenuItem* _note_mode_item;
+       Gtk::RadioMenuItem* _percussion_mode_item;
 };
 
 #endif /* __ardour_midi_time_axis_h__ */