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

FxPlug 4 - PROAPIAccessing needs pluginUUID #439

Open
belisoful opened this issue Dec 22, 2024 · 0 comments
Open

FxPlug 4 - PROAPIAccessing needs pluginUUID #439

belisoful opened this issue Dec 22, 2024 · 0 comments

Comments

@belisoful
Copy link

Apple Feedback Assistant ID: MISSING

DESCRIBE THE BUG:
There is no way for an FxTileableEffect to properly retrieve its registration configuration. Class name isn't enough information to identify and find its entry.


TO REPRODUCE:
This is an API bug. The code doesn't break, the API itself is broken.


EXPECTED BEHAVIOUR:
The pluginUUID built into id is simply not made publicly available. It is available in the debugger within the implementing object, but the FxTileableEffect requires its instance UUID to access its plugin configuration settings.

I'm expecting to be able to implement multiple plugins with the same Base Class, but re-configure each instance with its Registration configuration information. Like if each plugin has a different shader source file defined in the registration configuration, but it's the same Implementation class.

Looking through the registration plugin list with just the class name isn't good enough.


WORK AROUND:
The work around is to be non-compliant by accessing an internal implementation variable pluginUUID. The PROAPIAccessing protocol can be extended with

	@protocol AppleNoncompliant_FxPROAPIAccessing <PROAPIAccessing>
		@property (assign, readonly) NSString* _Nullable pluginUUID;
	@end

This allows the FxTileableEffect to know its UUID, but is technically "Apple non-compliant" for accessing internal implementation variables. That's a big "no no" except this is REQUIRED information. Apple may even remove programs from the Apple Store over accessing such internal variables? Such internal variable access is prone to breaking, though the FxPlug 4 API is pretty stable.


SPECS:

  • 2021 16-inch MacBook Pro (M1 Max, 32GB RAM, 2TB SSD)
  • macOS Sonoma 15
  • Final Cut Pro 11

ADDITIONAL COMMENTS:

This is a serious bug in the API. It's a huge oversight by the Pro Dev API Team.

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

1 participant