|
@@ -434,22 +434,15 @@ public: |
|
|
|
|
|
|
|
|
if (fDescriptor->extension_data != nullptr) |
|
|
if (fDescriptor->extension_data != nullptr) |
|
|
{ |
|
|
{ |
|
|
for (uint32_t i=0; i < fRdfUiDescriptor->ExtensionCount; ++i) |
|
|
|
|
|
{ |
|
|
|
|
|
if (std::strcmp(fRdfUiDescriptor->Extensions[i], LV2_PROGRAMS__UIInterface) == 0) |
|
|
|
|
|
{ |
|
|
|
|
|
fExt.options = (const LV2_Options_Interface*)fDescriptor->extension_data(LV2_OPTIONS__interface); |
|
|
|
|
|
fExt.idle = (const LV2UI_Idle_Interface*)fDescriptor->extension_data(LV2_UI__idleInterface); |
|
|
|
|
|
fExt.programs = (const LV2_Programs_UI_Interface*)fDescriptor->extension_data(LV2_PROGRAMS__UIInterface); |
|
|
|
|
|
|
|
|
|
|
|
// check if invalid |
|
|
|
|
|
if (fExt.idle != nullptr && fExt.idle->idle == nullptr) |
|
|
|
|
|
fExt.idle = nullptr; |
|
|
|
|
|
|
|
|
|
|
|
if (fExt.programs != nullptr && fExt.programs->select_program == nullptr) |
|
|
|
|
|
fExt.programs = nullptr; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
fExt.programs = (const LV2_Programs_UI_Interface*)fDescriptor->extension_data(LV2_PROGRAMS__UIInterface); |
|
|
|
|
|
fExt.options = (const LV2_Options_Interface*)fDescriptor->extension_data(LV2_OPTIONS__interface); |
|
|
|
|
|
fExt.idle = (const LV2UI_Idle_Interface*)fDescriptor->extension_data(LV2_UI__idleInterface); |
|
|
|
|
|
|
|
|
|
|
|
// check if invalid |
|
|
|
|
|
if (fExt.programs != nullptr && fExt.programs->select_program == nullptr) |
|
|
|
|
|
fExt.programs = nullptr; |
|
|
|
|
|
if (fExt.idle != nullptr && fExt.idle->idle == nullptr) |
|
|
|
|
|
fExt.idle = nullptr; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return true; |
|
|
return true; |
|
|