diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-10 17:45:18 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-10 17:45:18 +0000 |
commit | 90d6916ca3443b81a4eaf615c014ac065554b4f2 (patch) | |
tree | 69d14f3bf15b34f054455afd71791ae3616b8260 /gtk2_ardour/route_ui.h | |
parent | b5ca5713fbf2d58485084d7cd70a2a52fb1d7ef5 (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.h | 25 |
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__ */ |