bool CActiveAEDSP::GetMenuHooks(int iDSPAddonID, AE_DSP_MENUHOOK_CAT cat, AE_DSP_MENUHOOKS &hooks) { bool bReturn(false); if (iDSPAddonID < 0) return bReturn; AE_DSP_ADDON addon; if (GetReadyAudioDSPAddon(iDSPAddonID, addon) && addon->HaveMenuHooks(cat)) { AE_DSP_MENUHOOKS *addonhooks = addon->GetMenuHooks(); for (unsigned int i = 0; i < addonhooks->size(); ++i) { if (cat == AE_DSP_MENUHOOK_ALL || addonhooks->at(i).category == cat) { hooks.push_back(addonhooks->at(i)); bReturn = true; } } } return bReturn; }
void CAddonCallbacksADSP::ADSPAddMenuHook(void *addonData, AE_DSP_MENUHOOK *hook) { CActiveAEDSPAddon *client = GetAudioDSPAddon(addonData); if (!hook || !client) { CLog::Log(LOGERROR, "Audio DSP - %s - invalid handler data", __FUNCTION__); return; } AE_DSP_MENUHOOKS *hooks = client->GetMenuHooks(); if (hooks) { AE_DSP_MENUHOOK hookInt; hookInt.iHookId = hook->iHookId; hookInt.iLocalizedStringId = hook->iLocalizedStringId; hookInt.category = hook->category; hookInt.iRelevantModeId = hook->iRelevantModeId; hookInt.bNeedPlayback = hook->bNeedPlayback; /* add this new hook */ hooks->push_back(hookInt); } }
void CActiveAEDSPAddon::cb_add_menu_hook(void *kodiInstance, AE_DSP_MENUHOOK *hook) { CActiveAEDSPAddon *client = static_cast<CActiveAEDSPAddon*>(kodiInstance); if (!hook || !client) { CLog::Log(LOGERROR, "Audio DSP - %s - invalid handler data", __FUNCTION__); return; } AE_DSP_MENUHOOKS *hooks = client->GetMenuHooks(); if (hooks) { AE_DSP_MENUHOOK hookInt; hookInt.iHookId = hook->iHookId; hookInt.iLocalizedStringId = hook->iLocalizedStringId; hookInt.category = hook->category; hookInt.iRelevantModeId = hook->iRelevantModeId; hookInt.bNeedPlayback = hook->bNeedPlayback; /* add this new hook */ hooks->push_back(hookInt); } }