|
- diff --git a/gate.cpp b/gate.cpp
- index bfd3135..420392a 100644
- --- a/gate.cpp
- +++ b/gate.cpp
- @@ -27,7 +27,7 @@
- #define OPENED 3
- #define DECAY 4
-
- -static LV2_Descriptor *gateDescriptor = NULL;
- +static LV2_Descriptor gateDescriptor;
-
- class Gate {
- public:
- @@ -191,28 +191,26 @@ static void cleanupGate(LV2_Handle instance) {
- }
-
- static void init() {
- -
- - gateDescriptor = (LV2_Descriptor *) malloc(sizeof(LV2_Descriptor));
- - gateDescriptor->URI = p_uri;
- - gateDescriptor->instantiate = instantiateGate;
- - gateDescriptor->connect_port = connectPortGate;
- - gateDescriptor->activate = NULL;
- - gateDescriptor->run = runGate;
- - gateDescriptor->deactivate = NULL;
- - gateDescriptor->cleanup = cleanupGate;
- - gateDescriptor->extension_data = NULL;
- + gateDescriptor.URI = p_uri;
- + gateDescriptor.instantiate = instantiateGate;
- + gateDescriptor.connect_port = connectPortGate;
- + gateDescriptor.activate = NULL;
- + gateDescriptor.run = runGate;
- + gateDescriptor.deactivate = NULL;
- + gateDescriptor.cleanup = cleanupGate;
- + gateDescriptor.extension_data = NULL;
- }
-
- LV2_SYMBOL_EXPORT
- const LV2_Descriptor *lv2_descriptor(uint32_t index) {
-
- - if (!gateDescriptor) {
- + if (!gateDescriptor.URI) {
- init();
- }
-
- switch (index) {
- case 0:
- - return gateDescriptor;
- + return &gateDescriptor;
- default:
- return NULL;
- }
|