summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-23 15:22:58 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-23 15:22:58 +0000
commit7e531020180affdae2d98ddd93594e7a1e9b4721 (patch)
tree2329a282a5be65183968e2db2c188d6ec6a843bd /libs
parent80c6243429ea1996ec0d3be2f42d33d92e5f578f (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')
-rw-r--r--libs/ardour/audio_unit.cc1
-rw-r--r--libs/ardour/insert.cc26
-rw-r--r--libs/ardour/session.cc2
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 ();