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

Add Linux support #5

Open
wants to merge 7 commits into
base: develop
Choose a base branch
from
Open

Conversation

kyv001
Copy link
Contributor

@kyv001 kyv001 commented Nov 23, 2024

In posix systems, cp is used instead of copy, so the command used to copy files needs to depend on OS type.
On Linux, Fontconfig is needed to be linked with the executables.
Also, the dynamic library juce-full doesn't work for whatever reason, so the static version juce-full-static is used instead.
GCC does not compile (and creates strange error messages) so only LLVM is supported.
SynthEngineDemo.vst3 needs to be installed manually because it is not copied to the right place automatically for some reason.

The vcpkg-overlay is still needed to be updated for VocalShaper to be able to compile on Linux.

@FangCunWuChang FangCunWuChang added the enhancement New feature or request label Nov 23, 2024
@FangCunWuChang
Copy link
Member

I will test and resolve SynthEngineDemo.vst3 copy and juce-full runtime issues on Linux in the near future.

Copy link
Member

@FangCunWuChang FangCunWuChang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will do these later before merging this PR:

  • Test on Linux
  • Fixed SynthEngineDemo.vst3 copy issue
  • Fixed juce-full runtime issue

@kyv001
Copy link
Contributor Author

kyv001 commented Nov 23, 2024

Another problem is that it keeps getting segmentation faults (in ActionDispatcher.cpp ActionDispatcher::dispatch) when creating an audio bus. That makes it not usable on Linux.

@kyv001
Copy link
Contributor Author

kyv001 commented Nov 23, 2024

In ActionDispatcher::dispatch, the object action is used (action->getName()) AFTER it is released. Here I get the name before releasing it, so that it does not segfault.

@FangCunWuChang
Copy link
Member

In ActionDispatcher::dispatch, the object action is used (action->getName()) AFTER it is released. Here I get the name before releasing it, so that it does not segfault.

I understand. Different compilers calculate function parameters in different orders.
Suggest creating a separate PR for this bug.

@kyv001
Copy link
Contributor Author

kyv001 commented Nov 30, 2024

Need to update vcpkg-overlay to use the x64-linux-llvm triplet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

2 participants