GenericUI: Show automation UI for dropdowns
[ardour.git] / gtk2_ardour / automation_time_axis.cc
index 820cc62501ebcab000e747efa0a0d13cb1de756f..e2b74dae97898c93cb92184a76e5e2dbb2657b9a 100644 (file)
@@ -52,7 +52,7 @@
 #include "item_counts.h"
 #include "ui_config.h"
 
-#include "i18n.h"
+#include "pbd/i18n.h"
 
 using namespace std;
 using namespace ARDOUR;
@@ -84,7 +84,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
        const string & nom,
        const string & nomparent
        )
-       : AxisView (s)
+       : SessionHandlePtr (s)
        , TimeAxisView (s, e, &parent, canvas)
        , _route (r)
        , _control (c)
@@ -200,12 +200,12 @@ AutomationTimeAxisView::AutomationTimeAxisView (
        // subscribe to route_active_changed, ...
        if (rtv && rtv->is_audio_track()) {
                blank0->set_name ("AudioTrackControlsBaseUnselected");
-       }
-       else if (rtv && rtv->is_midi_track()) {
+       } else if (rtv && rtv->is_midi_track()) {
                blank0->set_name ("MidiTrackControlsBaseUnselected");
-       }
-       else {
+       } else if (rtv) {
                blank0->set_name ("AudioBusControlsBaseUnselected");
+       } else {
+               blank0->set_name ("UnknownControlsBaseUnselected");
        }
        blank0->set_size_request (-1, -1);
        blank1->set_size_request (1, 0);
@@ -270,6 +270,7 @@ AutomationTimeAxisView::AutomationTimeAxisView (
                        );
 
                line->set_line_color (UIConfiguration::instance().color ("processor automation line"));
+               line->set_fill (true);
                line->queue_reset ();
                add_line (line);
        }
@@ -657,7 +658,7 @@ AutomationTimeAxisView::add_automation_event (GdkEvent* event, framepos_t when,
 }
 
 bool
-AutomationTimeAxisView::paste (framepos_t pos, const Selection& selection, PasteContext& ctx)
+AutomationTimeAxisView::paste (framepos_t pos, const Selection& selection, PasteContext& ctx, const int32_t sub_num)
 {
        if (_line) {
                return paste_one (pos, ctx.count, ctx.times, selection, ctx.counts, ctx.greedy);
@@ -1038,3 +1039,21 @@ AutomationTimeAxisView::cut_copy_clear_one (AutomationLine& line, Selection& sel
                }
        }
 }
+
+PresentationInfo const &
+AutomationTimeAxisView::presentation_info () const
+{
+       return _route->presentation_info();
+}
+
+boost::shared_ptr<Stripable>
+AutomationTimeAxisView::stripable () const
+{
+       return _route;
+}
+
+Gdk::Color
+AutomationTimeAxisView::color () const
+{
+       return gdk_color_from_rgb (_route->presentation_info().color());
+}