Honor effFlagsIsSynth and always assume those VSTs are instruments
This will incorrectly list some vocders or reaktor and the likes of plugins with audio + midi input as Instruments IFF they also announce effFlagsIsSynth flag. NB. this is a first step only. we still need to override PluginInfo
This commit is contained in:
parent
b06713bd8e
commit
0b9c648e49
@ -312,10 +312,11 @@ vstfx_load_info_block (FILE* fp, VSTInfo *info)
|
||||
info->wantMidi = 1;
|
||||
}
|
||||
|
||||
// TODO read isInstrument -- effFlagsIsSynth
|
||||
info->isInstrument = info->numInputs == 0 && info->numOutputs > 0 && 1 == (info->wantMidi & 1);
|
||||
info->isInstrument = (info->wantMidi & 4) ? 1 : 0;
|
||||
|
||||
info->isInstrument |= info->numInputs == 0 && info->numOutputs > 0 && 1 == (info->wantMidi & 1);
|
||||
if (!strcmp (info->Category, "Instrument")) {
|
||||
info->isInstrument = true;
|
||||
info->isInstrument = 1;
|
||||
}
|
||||
|
||||
if ((info->numParams) == 0) {
|
||||
@ -396,10 +397,9 @@ vstfx_write_info_block (FILE* fp, VSTInfo *info)
|
||||
fprintf (fp, "%d\n", info->numInputs);
|
||||
fprintf (fp, "%d\n", info->numOutputs);
|
||||
fprintf (fp, "%d\n", info->numParams);
|
||||
fprintf (fp, "%d\n", info->wantMidi);
|
||||
fprintf (fp, "%d\n", info->wantMidi | (info->isInstrument ? 4 : 0));
|
||||
fprintf (fp, "%d\n", info->hasEditor);
|
||||
fprintf (fp, "%d\n", info->canProcessReplacing);
|
||||
// TODO write isInstrument in a backwards compat way
|
||||
|
||||
for (int i = 0; i < info->numParams; i++) {
|
||||
fprintf (fp, "%s\n", info->ParamNames[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user