From 79f66a36b45cc3fbe0218b8af9377377332968d6 Mon Sep 17 00:00:00 2001 From: "Julien \"_FrnchFrgg_\" RIVAUD" Date: Thu, 4 Aug 2016 12:29:19 +0200 Subject: Take midi into account for penalty computation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Demote configurations if they have mismatched midi in or out with the same mechanism as for audio, but with lower coefficients so that mismatched midi has less influence than mismatched audio in selecting the best configuration. POLICY CHANGE. --- libs/ardour/luaproc.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libs/ardour/luaproc.cc') diff --git a/libs/ardour/luaproc.cc b/libs/ardour/luaproc.cc index 35e39fe4eb..46fc0aef2f 100644 --- a/libs/ardour/luaproc.cc +++ b/libs/ardour/luaproc.cc @@ -379,6 +379,7 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan // preferred setting (provided by plugin_insert) const int preferred_out = out.n_audio (); + const int preferred_midiout = out.n_midi (); int midi_out = -1; int audio_out = -1; @@ -402,8 +403,12 @@ LuaProc::can_support_io_configuration (const ChanCount& in, ChanCount& out, Chan #define FOUNDCFG_IMPRECISE(in, out) { \ const float p = fabsf ((float)(out) - preferred_out) * \ (((out) > preferred_out) ? 1.1 : 1) \ + + fabsf ((float)possible_midiout - preferred_midiout) * \ + ((possible_midiout - preferred_midiout) ? 0.6 : 0.5) \ + fabsf ((float)(in) - audio_in) * \ - (((in) > audio_in) ? 275 : 250); \ + (((in) > audio_in) ? 275 : 250) \ + + fabsf ((float)possible_midiin - midi_in) * \ + ((possible_midiin - midi_in) ? 100 : 110); \ FOUNDCFG_PENALTY(in, out, p); \ } -- cgit v1.2.3