Skip to content

Commit 35fa6cf

Browse files
committed
Bug 2036 - Mac: Some AU plug-in effects can be enabled but fail to register
None of the effects listed in the bug expose any parameters.
1 parent d15308b commit 35fa6cf

File tree

1 file changed

+21
-18
lines changed

1 file changed

+21
-18
lines changed

src/effects/audiounits/AudioUnitEffect.cpp

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1092,30 +1092,33 @@ bool AudioUnitEffect::SetHost(EffectHostInterface *host)
10921092

10931093
// And get them
10941094
UInt32 cnt = dataSize / sizeof(AudioUnitParameterID);
1095-
ArrayOf<AudioUnitParameterID> array {cnt};
1096-
1097-
result = AudioUnitGetProperty(mUnit,
1098-
kAudioUnitProperty_ParameterList,
1099-
kAudioUnitScope_Global,
1100-
0,
1101-
array.get(),
1102-
&dataSize);
1103-
if (result != noErr)
1095+
if (cnt != 0)
11041096
{
1105-
return false;
1106-
}
1097+
ArrayOf<AudioUnitParameterID> array {cnt};
11071098

1108-
// Register them as something we're interested in
1109-
for (int i = 0; i < cnt; i++)
1110-
{
1111-
event.mArgument.mParameter.mParameterID = array[i];
1112-
result = AUEventListenerAddEventType(mEventListenerRef,
1113-
this,
1114-
&event);
1099+
result = AudioUnitGetProperty(mUnit,
1100+
kAudioUnitProperty_ParameterList,
1101+
kAudioUnitScope_Global,
1102+
0,
1103+
array.get(),
1104+
&dataSize);
11151105
if (result != noErr)
11161106
{
11171107
return false;
11181108
}
1109+
1110+
// Register them as something we're interested in
1111+
for (int i = 0; i < cnt; i++)
1112+
{
1113+
event.mArgument.mParameter.mParameterID = array[i];
1114+
result = AUEventListenerAddEventType(mEventListenerRef,
1115+
this,
1116+
&event);
1117+
if (result != noErr)
1118+
{
1119+
return false;
1120+
}
1121+
}
11191122
}
11201123

11211124
event.mEventType = kAudioUnitEvent_PropertyChange;

0 commit comments

Comments
 (0)