MCPcopy Create free account
hub / github.com/DISTRHO/DPF / query_interface_edit_controller

Function query_interface_edit_controller

distrho/src/DistrhoPluginVST3.cpp:3536–3587  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3534 // v3_funknown
3535
3536 static v3_result V3_API query_interface_edit_controller(void* const self, const v3_tuid iid, void** const iface)
3537 {
3538 dpf_edit_controller* const controller = *static_cast<dpf_edit_controller**>(self);
3539
3540 if (v3_tuid_match(iid, v3_funknown_iid) ||
3541 v3_tuid_match(iid, v3_plugin_base_iid) ||
3542 v3_tuid_match(iid, v3_edit_controller_iid))
3543 {
3544 d_debug("query_interface_edit_controller => %p %s %p | OK", self, tuid2str(iid), iface);
3545 ++controller->refcounter;
3546 *iface = self;
3547 return V3_OK;
3548 }
3549
3550 if (v3_tuid_match(iid, v3_midi_mapping_iid))
3551 {
3552 #if DISTRHO_PLUGIN_WANT_MIDI_INPUT
3553 d_debug("query_interface_edit_controller => %p %s %p | OK convert static", self, tuid2str(iid), iface);
3554 static dpf_midi_mapping midi_mapping;
3555 static dpf_midi_mapping* midi_mapping_ptr = &midi_mapping;
3556 *iface = &midi_mapping_ptr;
3557 return V3_OK;
3558 #else
3559 d_debug("query_interface_edit_controller => %p %s %p | reject unused", self, tuid2str(iid), iface);
3560 *iface = nullptr;
3561 return V3_NO_INTERFACE;
3562 #endif
3563 }
3564
3565 if (v3_tuid_match(iid, v3_connection_point_iid))
3566 {
3567 #if DPF_VST3_USES_SEPARATE_CONTROLLER
3568 d_debug("query_interface_edit_controller => %p %s %p | OK convert %p",
3569 self, tuid2str(iid), iface, controller->connectionComp2Ctrl.get());
3570
3571 if (controller->connectionComp2Ctrl == nullptr)
3572 controller->connectionComp2Ctrl = new dpf_comp2ctrl_connection_point(controller->vst3);
3573 else
3574 ++controller->connectionComp2Ctrl->refcounter;
3575 *iface = &controller->connectionComp2Ctrl;
3576 return V3_OK;
3577 #else
3578 d_debug("query_interface_edit_controller => %p %s %p | reject unwanted", self, tuid2str(iid), iface);
3579 *iface = nullptr;
3580 return V3_NO_INTERFACE;
3581 #endif
3582 }
3583
3584 d_debug("query_interface_edit_controller => %p %s %p | WARNING UNSUPPORTED", self, tuid2str(iid), iface);
3585 *iface = nullptr;
3586 return V3_NO_INTERFACE;
3587 }
3588
3589 static uint32_t V3_API ref_edit_controller(void* const self)
3590 {

Callers

nothing calls this directly

Calls 3

v3_tuid_matchFunction · 0.85
d_debugFunction · 0.85
tuid2strFunction · 0.85

Tested by

no test coverage detected