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 VST3 preset_data property to get/set .vstpreset data directly #351

Merged
merged 2 commits into from
Jul 30, 2024

Conversation

kmontag
Copy link
Contributor

@kmontag kmontag commented Jul 5, 2024

Setting the property has the same behavior as load_preset (but doesn't require a file). Getting the property returns the .vstpreset data representing the current plugin state.

Previously, it wasn't quite possible to generate .vstpresets purely from pedalboard objects, since they need to include a class ID, which isn't exposed anywhere else.

(I'm running into issues getting type stubs generated - perhaps someone could generate stubs before merging?)

Setting the property has the same behavior as `load_preset` (but
doesn't require a file). Getting the property returns the .vstpreset
data representing the current plugin state.

Previously, it wasn't quite possible to generate .vstpresets purely
from `pedalboard` objects, since they need to include a [class
ID](https://forum.juce.com/t/how-to-get-vst3-class-id-aka-cid-aka-component-id/41041/3),
which isn't exposed elsewhere.
Copy link
Member

@psobot psobot left a comment

Choose a reason for hiding this comment

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

Looks great, thanks @kmontag! I'll regenerate type stubs and release this as part of v0.9.12.

@@ -302,6 +306,59 @@ def test_preset_parameters(plugin_filename: str, plugin_preset: str):
), f"Expected attribute {name} to be different from default ({default}), but was {actual}"


@pytest.mark.skipif(
not AVAILABLE_VST3_PLUGINS_IN_TEST_ENVIRONMENT,
reason="No VST3 plugin containers installed in test environment!",
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
reason="No VST3 plugin containers installed in test environment!",
reason="No VST3 plugins installed in test environment!",

@psobot psobot merged commit d1b27ab into spotify:master Jul 30, 2024
33 checks passed
@kmontag kmontag deleted the get-vstpreset branch July 30, 2024 19:43
@psobot
Copy link
Member

psobot commented Jul 30, 2024

This is now on PyPI as v0.9.12. Thanks again @kmontag!

@kmontag
Copy link
Contributor Author

kmontag commented Jul 30, 2024

Awesome 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

Successfully merging this pull request may close these issues.

2 participants