diff options
author | Carl Hetherington <carl@carlh.net> | 2012-01-23 18:17:09 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-01-23 18:17:09 +0000 |
commit | a71172feb2af77d88f77ae26c9cfd0052540ef4b (patch) | |
tree | a44b27109aaf48994de06258bdf62e1119354020 /libs | |
parent | 9b4f0f724222818173a4a74521d3b3f4af4e447a (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.cc | 8 |
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]; } |