Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automation list is wrong in AAX Wrapper #12

Closed
raygit83 opened this issue Mar 7, 2018 · 3 comments
Closed

Automation list is wrong in AAX Wrapper #12

raygit83 opened this issue Mar 7, 2018 · 3 comments

Comments

@raygit83
Copy link

raygit83 commented Mar 7, 2018

The wrong set of parameters is added in AAXWrapper_Parameters::EffectInit() (see screenshot).
You can see the faulty extra Bypass parameter described in #11.
Besides that the "Wet Mix" and "Level" parameters are missing, although they are marked as automatable and they are correctly exposed in VST2, VST3 and AU.

I have also inspected the loop that sets up mParameterMap in Vst2Wrapper::setupParameters() which correctly iterates the expected parameters. The loop in AAXWrapper_Parameters::EffectInit(), however then finds and adds the wrong set of parameters that can also be seen in the screenshot.

bucket

@raygit83
Copy link
Author

raygit83 commented Mar 7, 2018

I think I found what's wrong: The VST2 index retrieved from mParamIndexMap in AAXWrapper::getParameterInfo() doesn't necessarily correspond to the correct order of parameters in the VST3 implementation (e.g. hidden program list parameter, bypass parameter which are potentially filtered in Vst2Wrapper::setupParameters()). In my case the exposed parameters indices were off by 2, basically. I suggest to set up a separate mVst3ParamIndexMap for the AAX Wrapper or use something along the lines of

int32 AAXWrapper::getParameterInfo (AAX_CParamID aaxId, Vst::ParameterInfo& paramInfo)
{
	Vst::ParamID id = getVstParamID (aaxId);
	if (id == -1)
		return AAX_ERROR_INVALID_PARAMETER_ID;

	for(auto iter=mParameterMap.begin(); iter!=mParameterMap.end(); ++iter)
	{
		if(iter->vst3ID == id
		&& mController->getParameterInfo(iter->vst3Index, paramInfo) == kResultTrue)
			return AAX_SUCCESS;
	}

	return AAX_ERROR_INVALID_PARAMETER_ID;
}

to retrieve the correct parameter info in aaxwrapper.cpp

@raygit83
Copy link
Author

raygit83 commented Mar 7, 2018

This is addressed in the following PR steinbergmedia/vst3_public_sdk#5

@ygrabit
Copy link
Contributor

ygrabit commented May 30, 2018

will be fixed in next update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants