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

Carla plugin fails to build with 'develop' branch of Carla #4909

Closed
PhysSong opened this issue Mar 23, 2019 · 7 comments
Closed

Carla plugin fails to build with 'develop' branch of Carla #4909

PhysSong opened this issue Mar 23, 2019 · 7 comments

Comments

@PhysSong
Copy link
Member

As of falkTX/Carla@d4a0292, Carla plugin fails to build. The API-breaking commit changed the type of inBuffer parameter of NativePluginDescriptor::process from float** to const float**.

The conversion from float** to const float** can't be done implicitly, while float**-to-const float* const* conversion can be implicit(in C++, not in C).
This means if we want to fix the build for newer versions of Carla, we must drop support for old versions(which Mac builds use) since the only way to convert pointers between float** and const float** in C++ is explicit const_casts.

@falkTX

@falkTX
Copy link
Contributor

falkTX commented Mar 23, 2019

There are some other changes actually, that make it ABI incompatible between 2.0 and future 2.1
I took the chance to cleanup the API since backwards compatibility was going to be broken anyway.
This is all happening on the develop branch, for which there might still be more changes.
I will send a PR-fix to LMMS when I get finalize tests and decisions.

This is not yet something that LMMS needs to be concerned about, I think.
Though if building packages for Linux still uses KXStudio repos for its carla-git (I guess this is how you noticed the breakage?) then simply change the package name to carla.
I am releasing v2.0 as stable in the next few days, the changes in the repos reflect that.

See also https://kx.studio/News/?action=view&url=changes-in-kxstudio-repos-regarding-carla-and-jack2

@PhysSong PhysSong changed the title Carla plugin fails to build due to API changes Carla plugin fails to build with 'develop' branch of carla Mar 26, 2019
@PhysSong PhysSong changed the title Carla plugin fails to build with 'develop' branch of carla Carla plugin fails to build with 'develop' branch of Carla Mar 26, 2019
@PhysSong
Copy link
Member Author

As of 032c324, Travis-CI builds use carla. Please let us know when you make a final decision.

@falkTX
Copy link
Contributor

falkTX commented Mar 26, 2019

As of falkTX/Carla@0514349 Carla 2.1 plugin ABI is now backwards compatible with 2.0 again.
So both versions are fine, though I recommend to keep using the carla stable version without git/develop[ment] stuff.

Note there might be some minor compiler warnings building against 2.1 of carla, since new enum values got added. but they are all optional

@tresf
Copy link
Member

tresf commented Jan 10, 2020

As of falkTX/Carla@0514349 Carla 2.1 plugin ABI is now backwards compatible with 2.0 again.

@falkTX working on #4813 I encountered the same exact issue mentioned above using the tip of the develop branch, so I believe this statement to be incorrect, no?

The temporary fix for #4813 was to checkout the submodule at revision v2.0.0, which is currently working just fine.

@falkTX
Copy link
Contributor

falkTX commented Jan 10, 2020

ah I forgot this part. I will update Carla so that it matches old API.

@falkTX
Copy link
Contributor

falkTX commented Jan 10, 2020

Should be fixed now, please confirm

@tresf
Copy link
Member

tresf commented Jan 10, 2020

Should be fixed now, please confirm

Seems to work just fine, thanks!

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

3 participants