summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2012-01-23 18:17:09 +0000
committerCarl Hetherington <carl@carlh.net>2012-01-23 18:17:09 +0000
commita71172feb2af77d88f77ae26c9cfd0052540ef4b (patch)
treea44b27109aaf48994de06258bdf62e1119354020 /libs
parent9b4f0f724222818173a4a74521d3b3f4af4e447a (diff)
Trim calls to parameter_count() a bit during the process
thread. git-svn-id: svn://localhost/ardour2/branches/3.0@11316 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/lv2_plugin.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index 4c288d32c3..2e9f49c4e7 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -1012,13 +1012,14 @@ LV2Plugin::connect_and_run(BufferSet& bufs,
bufs_count.set(DataType::MIDI, 1);
BufferSet& silent_bufs = _session.get_silent_buffers(bufs_count);
BufferSet& scratch_bufs = _session.get_silent_buffers(bufs_count);
+ uint32_t const num_ports = parameter_count();
uint32_t audio_in_index = 0;
uint32_t audio_out_index = 0;
uint32_t midi_in_index = 0;
uint32_t midi_out_index = 0;
bool valid;
- for (uint32_t port_index = 0; port_index < parameter_count(); ++port_index) {
+ for (uint32_t port_index = 0; port_index < num_ports; ++port_index) {
if (parameter_is_audio(port_index)) {
if (parameter_is_input(port_index)) {
const uint32_t buf_index = in_map.get(DataType::AUDIO, audio_in_index++, &valid);
@@ -1065,7 +1066,7 @@ LV2Plugin::connect_and_run(BufferSet& bufs,
run(nframes);
midi_out_index = 0;
- for (uint32_t port_index = 0; port_index < parameter_count(); ++port_index) {
+ for (uint32_t port_index = 0; port_index < num_ports; ++port_index) {
if (parameter_is_midi(port_index) && parameter_is_output(port_index)) {
const uint32_t buf_index = out_map.get(DataType::MIDI, midi_out_index++, &valid);
if (valid) {
@@ -1157,7 +1158,8 @@ LV2Plugin::get_scale_points(uint32_t port_index) const
void
LV2Plugin::run(pframes_t nframes)
{
- for (uint32_t i = 0; i < parameter_count(); ++i) {
+ uint32_t const N = parameter_count();
+ for (uint32_t i = 0; i < N; ++i) {
if (parameter_is_control(i) && parameter_is_input(i)) {
_control_data[i] = _shadow_data[i];
}