Revert VST3 kMono arrangement experiment #9418
Apparently kMono is not a flag and implies connection of the first port This reverts commit8aebfc45dc
. and2698b23f82
.
This commit is contained in:
parent
dfc52fd5fb
commit
86d818e4b9
@ -332,6 +332,9 @@ private:
|
|||||||
int _n_midi_inputs;
|
int _n_midi_inputs;
|
||||||
int _n_midi_outputs;
|
int _n_midi_outputs;
|
||||||
int _n_factory_presets;
|
int _n_factory_presets;
|
||||||
|
|
||||||
|
/* work around UADx plugin crash */
|
||||||
|
bool _no_kMono;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Steinberg
|
} // namespace Steinberg
|
||||||
|
@ -1161,6 +1161,7 @@ VST3PI::VST3PI (std::shared_ptr<ARDOUR::VST3PluginModule> m, std::string unique_
|
|||||||
, _owner (0)
|
, _owner (0)
|
||||||
, _add_to_selection (false)
|
, _add_to_selection (false)
|
||||||
, _n_factory_presets (0)
|
, _n_factory_presets (0)
|
||||||
|
, _no_kMono (false)
|
||||||
{
|
{
|
||||||
using namespace std;
|
using namespace std;
|
||||||
IPluginFactory* factory = m->factory ();
|
IPluginFactory* factory = m->factory ();
|
||||||
@ -1173,6 +1174,16 @@ VST3PI::VST3PI (std::shared_ptr<ARDOUR::VST3PluginModule> m, std::string unique_
|
|||||||
throw failed_constructor ();
|
throw failed_constructor ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PFactoryInfo fi;
|
||||||
|
if (factory->getFactoryInfo (&fi) == kResultTrue) {
|
||||||
|
/* work around issue with UADx VST3s not recognizing
|
||||||
|
* Vst::SpeakerArr::kMono. (see commit message for details)
|
||||||
|
*/
|
||||||
|
if (0 == strcmp (fi.vendor, "Universal Audio (UADx)")) {
|
||||||
|
_no_kMono = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
if (DEBUG_ENABLED (DEBUG::VST3Config)) {
|
if (DEBUG_ENABLED (DEBUG::VST3Config)) {
|
||||||
char fuid[33];
|
char fuid[33];
|
||||||
@ -2210,8 +2221,8 @@ VST3PI::enable_io (std::vector<bool> const& ins, std::vector<bool> const& outs)
|
|||||||
}
|
}
|
||||||
cnt += n_chn;
|
cnt += n_chn;
|
||||||
/* special case for Left only == Mono */
|
/* special case for Left only == Mono */
|
||||||
if (sa == 1 /*Vst::SpeakerArr::kSpeakerL */) {
|
if (sa == 1 /*Vst::SpeakerArr::kSpeakerL */ && !_no_kMono) {
|
||||||
sa |= Vst::SpeakerArr::kMono; /* 1 << 19 */
|
sa = Vst::SpeakerArr::kMono; /* 1 << 19 */
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::VST3Config, string_compose ("VST3PI::enable_io: activateBus (kAudio, kInput, %1, %2) used-chn: %3 spk-arr: %4\n", sa_in.size (), enable, _bus_info_in[sa_in.size ()].n_used_chn, std::hex, sa));
|
DEBUG_TRACE (DEBUG::VST3Config, string_compose ("VST3PI::enable_io: activateBus (kAudio, kInput, %1, %2) used-chn: %3 spk-arr: %4\n", sa_in.size (), enable, _bus_info_in[sa_in.size ()].n_used_chn, std::hex, sa));
|
||||||
@ -2234,8 +2245,8 @@ VST3PI::enable_io (std::vector<bool> const& ins, std::vector<bool> const& outs)
|
|||||||
}
|
}
|
||||||
cnt += n_chn;
|
cnt += n_chn;
|
||||||
/* special case for Left only == Mono */
|
/* special case for Left only == Mono */
|
||||||
if (sa == 1 /*Vst::SpeakerArr::kSpeakerL */) {
|
if (sa == 1 /*Vst::SpeakerArr::kSpeakerL */ && !_no_kMono) {
|
||||||
sa |= Vst::SpeakerArr::kMono; /* 1 << 19 */
|
sa = Vst::SpeakerArr::kMono; /* 1 << 19 */
|
||||||
}
|
}
|
||||||
DEBUG_TRACE (DEBUG::VST3Config, string_compose ("VST3PI::enable_io: activateBus (kAudio, kOutput, %1, %2) used-chn: %3 spk-arr: %4\n", sa_out.size (), enable, _bus_info_out[sa_out.size ()].n_used_chn, std::hex, sa));
|
DEBUG_TRACE (DEBUG::VST3Config, string_compose ("VST3PI::enable_io: activateBus (kAudio, kOutput, %1, %2) used-chn: %3 spk-arr: %4\n", sa_out.size (), enable, _bus_info_out[sa_out.size ()].n_used_chn, std::hex, sa));
|
||||||
_component->activateBus (Vst::kAudio, Vst::kOutput, sa_out.size (), enable);
|
_component->activateBus (Vst::kAudio, Vst::kOutput, sa_out.size (), enable);
|
||||||
|
Loading…
Reference in New Issue
Block a user