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

Update DPF and CI builds; Fixes and LTO optimization #120

Merged
merged 7 commits into from
Jan 11, 2022

Conversation

falkTX
Copy link
Contributor

@falkTX falkTX commented Jan 11, 2022

Hi again, here comes a big one :)

Listing the changes, in no particular order:

  1. Update to latest DPF develop branch
  2. Small adjustments to work better with latest DPF
  3. Remove an unused file
  4. Fixes on UI code usage (DistrhoUI.hpp is different per-plugin, so we cant share it across builds, a symlink works fine here)
  5. LTO is enabled on the CI builds (using the new optional make WITH_LTO=true in DPF) which should show small performance improvements
  6. JACK always enabled, because it builds and works on all platforms, and why not
  7. VST3 also enabled, it is still experimental but already works in most cases (please send any bug reports about it)

JACK can be used on any OS now, and has RtAudio fallback

Signed-off-by: falkTX <[email protected]>
Signed-off-by: falkTX <[email protected]>
Otherwise the build setup would depend on the plugin being built,
we dont want that since this is a shared file

Signed-off-by: falkTX <[email protected]>
AbstractUI imports DistrhoUI.hpp, which is different per plugin.

Signed-off-by: falkTX <[email protected]>
@falkTX
Copy link
Contributor Author

falkTX commented Jan 11, 2022

Oh, I updated the CI builds to use Ubuntu 20.04, as with Ubuntu 18.04 we needed ugly hacks in order to cross-build ARM stuff.
And soon enough 20.04 will be 2 years old

@michaelwillis
Copy link
Owner

Thanks @falkTX! I'm going to do some additional work on the CI stuff to get if I can promote the resulting artifacts to downloadable releases.

@michaelwillis michaelwillis merged commit 438121a into michaelwillis:master Jan 11, 2022
@falkTX
Copy link
Contributor Author

falkTX commented Jan 11, 2022

Cool, I will be on watch for that :)

On a different topic, we should make the UI scalable to high-dpi at some point, DPF already provides such APIs (getScaleFactor() on UI side).
I implemented it on my plugins and works well, besides the bitmap based stuff ending up blurred.
Can help you set that up later if you want.

@michaelwillis
Copy link
Owner

DPF already provides such APIs (getScaleFactor() on UI side).

Oh nice. I might try replacing the raster images with new higher detailed ones, and then scale down for low DPI instead of scaling up for high DPI.

@gitterdude
Copy link

It's a bit sad to see the build fail in Ubuntu 18.04 with commit 886880
18.04 is in Standard Support mode for another year, after all.

Maybe 20.04 could be the lowest supported ARM version, while still having a working x86/64 18.04?

@falkTX
Copy link
Contributor Author

falkTX commented Feb 2, 2022

Having different setups for 18.04 and 20.04 complicates things.
But this is quite easy to build yourself anyway, just some barebones dependencies and a "make" command.

@gitterdude
Copy link

gitterdude commented Feb 2, 2022

I've built it myself since forever, but the build process bugs out on commit 886880.

But I figured out that the bug is in the symlinks to common/AbstractUI.hpp/cpp in the plugin subfolders.
Replacing ../../common/AbstractUI.hpp with #include "../../common/AbstractUI.hpp" , and the same for the cpp files, solved the build problem.

Never mind. I eventually noticed that I had set symlinks = false in my .gitconfig, to prevent an old security bug, and that created AbstractUI files containing back-references instead of proper symlinks

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

Successfully merging this pull request may close these issues.

3 participants