|
02-26-2012, 01:18 PM
|
#1
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
fix for a crash with studio one (au)
https://github.com/olilarkin/wdl-ol/...55005d7e84e8bc
actually bah, not that easy, it messes up the validation
Last edited by olilarkin; 02-26-2012 at 01:32 PM.
|
|
|
02-29-2012, 05:00 AM
|
#3
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
|
Thanks for the fixes.
Quote:
Originally Posted by olilarkin
actually bah, not that easy, it messes up the validation
|
Exactly what validation does it mess up? I have tried "if (!pParam) return noErr;" (thus witout "GetHost() == kHostStudioOne"), and it seems to pass AU validation here, even with MallocStackLogging=1 and leaks.
|
|
|
02-29-2012, 01:07 PM
|
#4
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
something must have gone weird. I put it back to if (!pParam) and it's validating fine now. thanks
|
|
|
03-01-2012, 02:50 PM
|
#5
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
|
I have had another look at this, and wouldn't it be better to return an error code instead of noErr? After all we haven't completed filling the AudioUnitParameterInfo yet. Perhaps something like this:
Code:
case kAudioUnitProperty_ParameterInfo: { // 4, listenable
ASSERT_SCOPE(kAudioUnitScope_Global);
*pDataSize = sizeof(AudioUnitParameterInfo);
if (pData) {
IParam* pParam = GetParam(element);
if (!pParam) {
return kAudioUnitErr_InvalidProperty; // Or kAudioUnitErr_InvalidElement, or kAudioUnitErr_InvalidParameter?
}
AudioUnitParameterInfo* pInfo = (AudioUnitParameterInfo*) pData;
memset(pInfo, 0, sizeof(AudioUnitParameterInfo));
...
BTW, why would Studio One ask a plug-in about a non-existing parameter in the first place? It's a Studio One bug, isn't it?
|
|
|
03-04-2012, 07:19 AM
|
#6
|
Human being with feelings
Join Date: Apr 2009
Location: Berlin, Germany
Posts: 1,248
|
yeah i think you're right, but S1 doesn't seem to crash other aus when you bypass them.
|
|
|
03-06-2012, 06:07 AM
|
#7
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
|
Well, it could still be a bug in IPlug. But I don't think so, because I have traced events when clicking the standby button, and it would seem that Studio One actually calls IPlugAUEntry with kAudioUnitGetPropertySelect > kAudioUnitProperty_ParameterInfo and a parameter index of 1115241610. I have sent Presonus a bug report, so lets see what they can find (if anything).
Meanwhile I have applied a rewritten version of your fix (commit 8e09765e6a in my repository), as it does no harm, and I guess it is good practice to validate the parameter index range anyway.
|
|
|
03-09-2012, 11:17 AM
|
#8
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
|
Quote:
Originally Posted by Tale
I have sent Presonus a bug report, so lets see what they can find (if anything).
|
They have indeed found something, it should be fixed in the next Studio One update.
|
|
|
04-22-2012, 03:34 AM
|
#9
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,646
|
Fix in Studio One v2.0.5
I have just downloaded Studio One v2.0.5, and the issue now also seems to be fixed at their end.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 02:21 AM.
|