diff options
author | Doug McLain <doug@nostar.net> | 2008-06-10 03:36:29 +0000 |
---|---|---|
committer | Doug McLain <doug@nostar.net> | 2008-06-10 03:36:29 +0000 |
commit | 8d5e5ecd169f0c418f58d6399fe23f8006eb5763 (patch) | |
tree | e2fa926d832cac5e9190cb1f76a273d7398a8112 /libs/ardour/route.cc | |
parent | a6f6a3909cbdefd8ad108b22e726d46fddcb0fcf (diff) |
Apply the fix for post fader redirects
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3452 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/route.cc')
-rw-r--r-- | libs/ardour/route.cc | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index 1b57962bde..7b645b5d49 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -1133,7 +1133,8 @@ Route::_reset_plugin_counts (uint32_t* err_streams) uint32_t send_cnt = 0; map<Placement,list<InsertCount> > insert_map; RedirectList::iterator prev; - int32_t initial_streams, previous_initial_streams = -1; + int32_t initial_streams = n_inputs ();; + int32_t previous_initial_streams = n_inputs (); int ret = -1; redirect_max_outs = 0; @@ -1209,6 +1210,15 @@ Route::_reset_plugin_counts (uint32_t* err_streams) goto streamcount; } + if (!insert_map[PostFader].empty()) { + for (list<InsertCount>::iterator i = insert_map[PostFader].begin(); i != insert_map[PostFader].end(); i++) { + if (i->insert->can_do (previous_initial_streams, initial_streams) < 0) { + goto streamcount; + } + previous_initial_streams = initial_streams; + } + } + /* OK, everything can be set up correctly, so lets do it */ apply_some_plugin_counts (insert_map[PreFader]); |