mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-15 13:00:02 +02:00
Add fixmes for incorrect byte orders
As pointed out on the Discord. Fixing this will require a breaking change, but right we report incorrect plugin IDs meaning that projects saved under Windows cannot be opened under Linux with yabridge so this really needs a fix.
This commit is contained in:
@@ -66,6 +66,9 @@ class YaPlugInterfaceSupport : public Steinberg::Vst::IPlugInterfaceSupport {
|
||||
* Message to pass through a call to
|
||||
* `IPlugInterfaceSupport::isPlugInterfaceSupported(iid)` to the host
|
||||
* context provided by the host.
|
||||
*
|
||||
* TODO: Figure out if we should translate the UIDs from Windows COM to
|
||||
* non-Windows COM.
|
||||
*/
|
||||
struct IsPlugInterfaceSupported {
|
||||
using Response = UniversalTResult;
|
||||
|
||||
@@ -25,6 +25,13 @@ YaPluginFactory::ConstructArgs::ConstructArgs() {}
|
||||
|
||||
YaPluginFactory::ConstructArgs::ConstructArgs(
|
||||
Steinberg::IPtr<Steinberg::IPluginFactory> factory) {
|
||||
// FIXME: The class IDs are incorrect! See the `INLINE_UID` macro. We need
|
||||
// to shuffle the byte orders around for plugins to be compatible
|
||||
// with projects saved under Windows and with native Linux versions
|
||||
// of the same plugin.
|
||||
// FIXME: We need to do similar translations everywhere where we encounter
|
||||
// `ArrayUID`, such as `IComponent::getControllerClassId()`
|
||||
|
||||
// `IPluginFactory::getFactoryInfo`
|
||||
if (Steinberg::PFactoryInfo info;
|
||||
factory->getFactoryInfo(&info) == Steinberg::kResultOk) {
|
||||
|
||||
Reference in New Issue
Block a user