diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-23 15:22:58 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-23 15:22:58 +0000 |
commit | 7e531020180affdae2d98ddd93594e7a1e9b4721 (patch) | |
tree | 2329a282a5be65183968e2db2c188d6ec6a843bd /libs/ardour | |
parent | 80c6243429ea1996ec0d3be2f42d33d92e5f578f (diff) |
fix up use of plugin input counts when running; SAE menu tweaks; fix up management and display of edit point selection; AU window stuff
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3117 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/audio_unit.cc | 1 | ||||
-rw-r--r-- | libs/ardour/insert.cc | 26 | ||||
-rw-r--r-- | libs/ardour/session.cc | 2 |
3 files changed, 12 insertions, 17 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc index 695c98ff0a..b846fa5033 100644 --- a/libs/ardour/audio_unit.cc +++ b/libs/ardour/audio_unit.cc @@ -811,7 +811,6 @@ AUPluginInfo::discover_by_description (PluginInfoList& plugs, CAComponentDescrip info->n_inputs = -1; info->n_outputs = -1; - plugs.push_back (info); comp = FindNextComponent (comp, &desc); diff --git a/libs/ardour/insert.cc b/libs/ardour/insert.cc index 8958dc8008..f9c20a35d1 100644 --- a/libs/ardour/insert.cc +++ b/libs/ardour/insert.cc @@ -356,12 +356,11 @@ PluginInsert::silence (nframes_t nframes, nframes_t offset) { int32_t in_index = 0; int32_t out_index = 0; - - uint32_t n; + int32_t n; if (active()) { for (vector<boost::shared_ptr<Plugin> >::iterator i = _plugins.begin(); i != _plugins.end(); ++i) { - n = (*i) -> get_info()->n_inputs; + n = input_streams(); (*i)->connect_and_run (_session.get_silent_buffers (n), n, in_index, out_index, nframes, offset); } } @@ -380,20 +379,17 @@ PluginInsert::run (vector<Sample *>& bufs, uint32_t nbufs, nframes_t nframes, nf } else { - uint32_t in = _plugins[0]->get_info()->n_inputs; - uint32_t out = _plugins[0]->get_info()->n_outputs; + uint32_t in = input_streams (); + uint32_t out = output_streams (); - if (in < 0 || out < 0) { + if (out > in) { - } else { - - if (out > in) { - - /* not active, but something has make up for any channel count increase */ - - for (uint32_t n = out - in; n < out; ++n) { - memcpy (bufs[n], bufs[in - 1], sizeof (Sample) * nframes); - } + /* not active, but something has make up for any channel count increase, + so copy the last buffer to the extras. + */ + + for (uint32_t n = out - in; n < out && n < nbufs; ++n) { + memcpy (bufs[n], bufs[in - 1], sizeof (Sample) * nframes); } } } diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index c1afa92684..ac7789e5db 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -848,7 +848,7 @@ Session::when_engine_running () add_connection (c); } - BootMessage (_("Connect ports")); + BootMessage (_("Setup signal flow and plugins")); hookup_io (); |