new trim cursors from chrisg, fix up hotspots for said cursors, make Editor cursors...
[ardour.git] / gtk2_ardour / route_ui.h
index a01db6dd8ecd55c20dc3dada4ebb634ce2716483..cc11b1809470f69aaf2eaf773117116e4fcafbd5 100644 (file)
@@ -47,6 +47,7 @@ namespace Gtk {
 }
 
 class BindableToggleButton;
+class LED;
 
 class RouteUI : public virtual AxisView
 {
@@ -69,8 +70,6 @@ class RouteUI : public virtual AxisView
        boost::shared_ptr<ARDOUR::AudioTrack> audio_track() const;
        boost::shared_ptr<ARDOUR::MidiTrack>  midi_track() const;
 
-       boost::shared_ptr<ARDOUR::Diskstream> get_diskstream() const;
-
        std::string name() const;
 
        // protected: XXX sigh this should be here
@@ -91,6 +90,9 @@ class RouteUI : public virtual AxisView
        BindableToggleButton* rec_enable_button; /* audio tracks */
        BindableToggleButton* show_sends_button; /* busses */
 
+        LED* solo_safe_led;
+        LED* solo_isolated_led;
+
        Gtk::Label solo_button_label;
        Gtk::Label mute_button_label;
        Gtk::Label invert_button_label;
@@ -133,7 +135,7 @@ class RouteUI : public virtual AxisView
        void create_sends (ARDOUR::Placement);
        void create_selected_sends (ARDOUR::Placement);
 
-       void solo_changed(void*);
+       void solo_changed(bool, void*);
        void solo_changed_so_update_mute ();
        void mute_changed(void*);
        void listen_changed(void*);
@@ -146,6 +148,9 @@ class RouteUI : public virtual AxisView
        void solo_isolated_toggle (void*, Gtk::CheckMenuItem*);
        void toggle_solo_isolated (Gtk::CheckMenuItem*);
 
+        bool solo_isolate_button_release (GdkEventButton*);
+        bool solo_safe_button_release (GdkEventButton*);
+
        void solo_safe_toggle (void*, Gtk::CheckMenuItem*);
        void toggle_solo_safe (Gtk::CheckMenuItem*);