summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_ui.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2009-12-10 17:45:18 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2009-12-10 17:45:18 +0000
commit90d6916ca3443b81a4eaf615c014ac065554b4f2 (patch)
tree69d14f3bf15b34f054455afd71791ae3616b8260 /gtk2_ardour/route_ui.h
parentb5ca5713fbf2d58485084d7cd70a2a52fb1d7ef5 (diff)
restore rec-enable, solo & mute functionality; remove all Global*Command cruft; reimplement momentary solo&mute; refactor session RT event stuff to be even cleaner and finally compatible with everything-is-a-UI idea ; make all UIs derive from a primitive type that pprovides only void call_slot (sigc::slot<void>) as a way to execute arbitrary code in the UI thread
git-svn-id: svn://localhost/ardour2/branches/3.0@6338 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_ui.h')
-rw-r--r--gtk2_ardour/route_ui.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/gtk2_ardour/route_ui.h b/gtk2_ardour/route_ui.h
index 90bdaa7fb7..c38a4aac6d 100644
--- a/gtk2_ardour/route_ui.h
+++ b/gtk2_ardour/route_ui.h
@@ -155,10 +155,6 @@ class RouteUI : public virtual AxisView
void build_mute_menu(void);
void init_mute_menu(ARDOUR::MuteMaster::MutePoint, Gtk::CheckMenuItem*);
- void set_route_group_solo (boost::shared_ptr<ARDOUR::Route>, bool);
- void set_route_group_mute (boost::shared_ptr<ARDOUR::Route>, bool);
- void set_route_group_rec_enable (boost::shared_ptr<ARDOUR::Route>, bool);
-
int set_color_from_route ();
void remove_this_route ();
@@ -191,9 +187,6 @@ class RouteUI : public virtual AxisView
virtual void map_frozen ();
- void reversibly_apply_route_boolean (std::string name, void (ARDOUR::Route::*func)(bool, void*), bool, void *);
- void reversibly_apply_track_boolean (std::string name, void (ARDOUR::Track::*func)(bool, void*), bool, void *);
-
void adjust_latency ();
void save_as_template ();
void open_remote_control_id_dialog ();
@@ -215,9 +208,21 @@ class RouteUI : public virtual AxisView
void parameter_changed (std::string const &);
void relabel_solo_button ();
- void post_rtop_cleanup (ARDOUR::SessionEvent* ev);
- void post_group_rtop_cleanup (ARDOUR::SessionEvent* ev, ARDOUR::RouteGroup*, ARDOUR::RouteGroup::Property);
- void post_solo_cleanup (ARDOUR::SessionEvent* ev, bool was_not_latched);
+ struct SoloMuteRelease {
+ SoloMuteRelease (bool was_active)
+ : active (was_active)
+ , exclusive (false) {}
+
+ boost::shared_ptr<ARDOUR::RouteList> routes;
+ boost::shared_ptr<ARDOUR::RouteList> routes_on;
+ boost::shared_ptr<ARDOUR::RouteList> routes_off;
+ boost::shared_ptr<ARDOUR::Route> route;
+ bool active;
+ bool exclusive;
+ };
+
+ SoloMuteRelease* _solo_release;
+ SoloMuteRelease* _mute_release;
};
#endif /* __ardour_route_ui__ */