-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Initial support for CLAP plugins #7199
Draft
messmerd
wants to merge
129
commits into
LMMS:master
Choose a base branch
from
messmerd:clap-host-dev
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Fix crash due to double free - Implement the host's thread check CLAP extension - Fix bug when a directory in the CLAP search path ends with ".clap" - Set input audio buffers' constant_mask when unused - Better audio port issue checking - Add some thread checks
It isn't being used yet, but I'll do that later
Base64 strings cannot be concatenated then decoded
Thanks to baconpaul for the fix
This was referenced May 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This has been in the works for over a year now, so I'm really excited to share it.
There are a number of known issues (listed below) that I'd like to fix before it's ready to merge, which is why I'm marking this as a draft for now.
I've decided to create this draft PR because until now I've only been running this on Linux Mint, so I need people who can test it on Mac and Windows. Don't expect a finished product yet - there will be bugs and even crashes! - though many of the free CLAP plugins listed on https://clapdb.tech/ should run without major issues. On Linux at least.
Other than the parameter and events code, I don't see much significant refactoring needed, and I'm pretty satisfied with the current design. Because of this, feel free to leave code reviews if you'd like. Fortunately most of the code is isolated from the rest of the LMMS codebase, so that will make things a bit easier, though it's still quite a bit for one PR.
Features
WindowEmbed
class and used it to improve some other parts of LMMS, though maybe that work should be moved to a separate PRCLAP_PATH
LMMS_CLAP_PATH
export LMMS_CLAP_PATH=
effectively disables CLAP support at startupLMMS_CLAP_DEBUG=1
Known Issues
Plugins with known issues
TODO for this PR
TODO for future PRs
I don't plan for this PR to be the end of my contributions to CLAP support in LMMS.
In the future I'd like to add more features:
My goal is for CLAP support in LMMS to far outclass our VST support so that we have little reason to use VSTs again.
Testing
This branch has not been tested on any OS other than Linux Mint, so I'd appreciate testing on Windows and Mac.
If you find any bugs not listed above, please let me know either here or on Discord. Thanks!
Special thanks to