DSP-Load Window: subscribe to newly added routes
[ardour.git] / gtk2_ardour / patch_change.h
index ed1f4aadf4acdbcacd01d4883aa6086106c0fda4..e10b2fdda1db373bdc5ec40717e0debb93ddb91b 100644 (file)
@@ -33,45 +33,45 @@ namespace MIDI {
 class PatchChange
 {
 public:
-       PatchChange(
-               MidiRegionView& region,
-               ArdourCanvas::Layout* parent,
-               const string&   text,
-               double          height,
-               double          x,
-               double          y,
-               ARDOUR::InstrumentInfo& info,
-               ARDOUR::MidiModel::PatchChangePtr patch
-               );
+       PatchChange(MidiRegionView&                   region,
+                   ArdourCanvas::Container*          parent,
+                   const std::string&                text,
+                   double                            height,
+                   double                            x,
+                   double                            y,
+                   ARDOUR::InstrumentInfo&           info,
+                   ARDOUR::MidiModel::PatchChangePtr patch,
+                   Gtkmm2ext::Color               outline_color,
+                   Gtkmm2ext::Color               fill_color);
 
        ~PatchChange();
 
-       ARDOUR::MidiModel::PatchChangePtr patch () const { return _patch; }
-
        void initialize_popup_menus();
 
        void on_patch_menu_selected(const MIDI::Name::PatchPrimaryKey& key);
 
-       ArdourCanvas::Item* canvas_item () const {
-               return _flag;
-       }
 
        void move (ArdourCanvas::Duple);
        void set_height (ArdourCanvas::Distance);
        void hide ();
        void show ();
 
-        ArdourCanvas::Item& item() const { return *_flag; }
+       double width() const { return _flag->width(); }
+       void set_text (std::string const & s) { _flag->set_text (s); }
+
+       ARDOUR::MidiModel::PatchChangePtr patch()       const { return _patch; }
+       ArdourCanvas::Item*               canvas_item() const { return _flag; }
+       ArdourCanvas::Item&               item()        const { return *_flag; }
 
 private:
        bool event_handler (GdkEvent *);
 
-       MidiRegionView& _region;
-        ARDOUR::InstrumentInfo& _info;
+       MidiRegionView&                   _region;
+       ARDOUR::InstrumentInfo&           _info;
        ARDOUR::MidiModel::PatchChangePtr _patch;
-       Gtk::Menu     _popup;
-       bool          _popup_initialized;
-       ArdourCanvas::Flag* _flag;
+       Gtk::Menu                         _popup;
+       bool                              _popup_initialized;
+       ArdourCanvas::Flag*               _flag;
 };
 
 #endif /* __PATCH_CHANGE_H__ */