diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-09-05 23:09:10 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-09-05 23:09:10 +0000 |
commit | 222a85ca1074f30d9aea4a770900785d15420a84 (patch) | |
tree | cdca3566f684def1cebb4322dc21ed6a4674c836 /libs/ardour/route.cc | |
parent | b8e813c455f58150f9c2bd44b2a9d08b4393310b (diff) |
optionally tie together editor+mixer display orders; provide GUI control for timecode-is-synced; make Ctrl-w close any dialog
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2422 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 84712851eb..2cd4cb70cf 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -49,7 +49,7 @@ using namespace ARDOUR; using namespace PBD; uint32_t Route::order_key_cnt = 0; - +sigc::signal<void> Route::SyncOrderKeys; Route::Route (Session& sess, string name, int input_min, int input_max, int output_min, int output_max, Flag flg, DataType default_type) : IO (sess, name, input_min, input_max, output_min, output_max, default_type), @@ -157,10 +157,35 @@ void Route::set_order_key (const char* name, long n) { order_keys[strdup(name)] = n; + + if (Config->get_sync_all_route_ordering()) { + for (OrderKeys::iterator x = order_keys.begin(); x != order_keys.end(); ++x) { + x->second = n; + } + } + _session.set_dirty (); } void +Route::sync_order_keys () +{ + uint32_t key; + + if (order_keys.empty()) { + return; + } + + OrderKeys::iterator x = order_keys.begin(); + key = x->second; + ++x; + + for (; x != order_keys.end(); ++x) { + x->second = key; + } +} + +void Route::inc_gain (gain_t fraction, void *src) { IO::inc_gain (fraction, src); |