diff options
author | Alwin Esch <alwin.esch@web.de> | 2016-02-25 21:05:58 +0100 |
---|---|---|
committer | Alwin Esch <alwin.esch@web.de> | 2016-02-29 13:30:48 +0100 |
commit | 8b934bbd8b386650d616227541485ed9ff4de5f3 (patch) | |
tree | d52fc629ae96256c99d77ef0d8f4798d1b838e8b /addons/library.kodi.adsp | |
parent | 17a472756b4e267e7fd37b5e07e2600083db9fa5 (diff) |
[addon] rename add-on include folder to match new style and prevent header #ifdef's
Diffstat (limited to 'addons/library.kodi.adsp')
-rw-r--r-- | addons/library.kodi.adsp/libKODI_adsp.h | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/addons/library.kodi.adsp/libKODI_adsp.h b/addons/library.kodi.adsp/libKODI_adsp.h deleted file mode 100644 index df13459f64..0000000000 --- a/addons/library.kodi.adsp/libKODI_adsp.h +++ /dev/null @@ -1,236 +0,0 @@ -#pragma once -/* - * Copyright (C) 2005-2014 Team KODI - * http://kodi.tv - * - * This Program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This Program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with KODI; see the file COPYING. If not, see - * <http://www.gnu.org/licenses/>. - * - */ - -#include <string> -#include <vector> -#include <string.h> -#include <stdlib.h> -#include <stdio.h> -#ifdef BUILD_KODI_ADDON -#include "kodi/kodi_adsp_types.h" -#else -#include "addons/include/kodi_adsp_types.h" -#endif -#include "libXBMC_addon.h" - -typedef void* ADSPHANDLE; - -#ifdef _WIN32 -#define ADSP_HELPER_DLL "\\library.kodi.adsp\\libKODI_adsp" ADDON_HELPER_EXT -#else -#define ADSP_HELPER_DLL_NAME "libKODI_adsp-" ADDON_HELPER_ARCH ADDON_HELPER_EXT -#define ADSP_HELPER_DLL "/library.kodi.adsp/" ADSP_HELPER_DLL_NAME -#endif - -class CAddonSoundPlay; - -class CHelper_libKODI_adsp -{ -public: - CHelper_libKODI_adsp(void) - { - m_libKODI_adsp = NULL; - m_Handle = NULL; - } - - ~CHelper_libKODI_adsp(void) - { - if (m_libKODI_adsp) - { - ADSP_unregister_me(m_Handle, m_Callbacks); - dlclose(m_libKODI_adsp); - } - } - - /*! - * @brief Resolve all callback methods - * @param handle Pointer to the add-on - * @return True when all methods were resolved, false otherwise. - */ - bool RegisterMe(void* handle) - { - m_Handle = handle; - - std::string libBasePath; - libBasePath = ((cb_array*)m_Handle)->libPath; - libBasePath += ADSP_HELPER_DLL; - -#if defined(ANDROID) - struct stat st; - if(stat(libBasePath.c_str(),&st) != 0) - { - std::string tempbin = getenv("XBMC_ANDROID_LIBS"); - libBasePath = tempbin + "/" + ADSP_HELPER_DLL_NAME; - } -#endif - - m_libKODI_adsp = dlopen(libBasePath.c_str(), RTLD_LAZY); - if (m_libKODI_adsp == NULL) - { - fprintf(stderr, "Unable to load %s\n", dlerror()); - return false; - } - - ADSP_register_me = (void* (*)(void *HANDLE)) - dlsym(m_libKODI_adsp, "ADSP_register_me"); - if (ADSP_register_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_unregister_me = (void (*)(void* HANDLE, void* CB)) - dlsym(m_libKODI_adsp, "ADSP_unregister_me"); - if (ADSP_unregister_me == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_add_menu_hook = (void (*)(void* HANDLE, void* CB, AE_DSP_MENUHOOK *hook)) - dlsym(m_libKODI_adsp, "ADSP_add_menu_hook"); - if (ADSP_add_menu_hook == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_remove_menu_hook = (void (*)(void* HANDLE, void* CB, AE_DSP_MENUHOOK *hook)) - dlsym(m_libKODI_adsp, "ADSP_remove_menu_hook"); - if (ADSP_remove_menu_hook == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_register_mode = (void (*)(void *HANDLE, void* CB, AE_DSP_MODES::AE_DSP_MODE *modes)) - dlsym(m_libKODI_adsp, "ADSP_register_mode"); - if (ADSP_register_mode == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_unregister_mode = (void (*)(void* HANDLE, void* CB, AE_DSP_MODES::AE_DSP_MODE *modes)) - dlsym(m_libKODI_adsp, "ADSP_unregister_mode"); - if (ADSP_unregister_mode == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_get_sound_play = (CAddonSoundPlay* (*)(void *HANDLE, void *CB, const char *filename)) - dlsym(m_libKODI_adsp, "ADSP_get_sound_play"); - if (ADSP_get_sound_play == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - ADSP_release_sound_play = (void (*)(CAddonSoundPlay* p)) - dlsym(m_libKODI_adsp, "ADSP_release_sound_play"); - if (ADSP_release_sound_play == NULL) { fprintf(stderr, "Unable to assign function %s\n", dlerror()); return false; } - - m_Callbacks = ADSP_register_me(m_Handle); - return m_Callbacks != NULL; - } - - /*! - * @brief Add or replace a menu hook for the context menu for this add-on - * @param hook The hook to add - */ - void AddMenuHook(AE_DSP_MENUHOOK* hook) - { - return ADSP_add_menu_hook(m_Handle, m_Callbacks, hook); - } - - /*! - * @brief Remove a menu hook for the context menu for this add-on - * @param hook The hook to remove - */ - void RemoveMenuHook(AE_DSP_MENUHOOK* hook) - { - return ADSP_remove_menu_hook(m_Handle, m_Callbacks, hook); - } - - /*! - * @brief Add or replace master mode information inside audio dsp database. - * Becomes identifier written inside mode to iModeID if it was 0 (undefined) - * @param mode The master mode to add or update inside database - */ - void RegisterMode(AE_DSP_MODES::AE_DSP_MODE* mode) - { - return ADSP_register_mode(m_Handle, m_Callbacks, mode); - } - - /*! - * @brief Remove a master mode from audio dsp database - * @param mode The Mode to remove - */ - void UnregisterMode(AE_DSP_MODES::AE_DSP_MODE* mode) - { - return ADSP_unregister_mode(m_Handle, m_Callbacks, mode); - } - - /*! - * @brief Open a sound playing class - * @param filename The wav filename to open - */ - CAddonSoundPlay* GetSoundPlay(const char *filename) - { - return ADSP_get_sound_play(m_Handle, m_Callbacks, filename); - } - - /*! - * @brief Remove a played file class - * @param p The playback to remove - */ - void ReleaseSoundPlay(CAddonSoundPlay* p) - { - return ADSP_release_sound_play(p); - } - -protected: - void* (*ADSP_register_me)(void*); - - void (*ADSP_unregister_me)(void*, void*); - void (*ADSP_add_menu_hook)(void*, void*, AE_DSP_MENUHOOK*); - void (*ADSP_remove_menu_hook)(void*, void*, AE_DSP_MENUHOOK*); - void (*ADSP_register_mode)(void*, void*, AE_DSP_MODES::AE_DSP_MODE*); - void (*ADSP_unregister_mode)(void*, void*, AE_DSP_MODES::AE_DSP_MODE*); - CAddonSoundPlay* (*ADSP_get_sound_play)(void*, void*, const char *); - void (*ADSP_release_sound_play)(CAddonSoundPlay*); - -private: - void* m_libKODI_adsp; - void* m_Handle; - void* m_Callbacks; - struct cb_array - { - const char* libPath; - }; -}; - -class CAddonSoundPlay -{ -public: - CAddonSoundPlay(void *hdl, void *cb, const char *filename); - virtual ~CAddonSoundPlay(); - - /*! play the sound this object represents */ - virtual void Play(); - - /*! stop playing the sound this object represents */ - virtual void Stop(); - - /*! return true if the sound is currently playing */ - virtual bool IsPlaying(); - - /*! set the playback channel position of this sound, AE_DSP_CH_INVALID for all */ - virtual void SetChannel(AE_DSP_CHANNEL channel); - - /*! get the current playback volume of this sound, AE_DSP_CH_INVALID for all */ - virtual AE_DSP_CHANNEL GetChannel(); - - /*! set the playback volume of this sound */ - virtual void SetVolume(float volume); - - /*! get the current playback volume of this sound */ - virtual float GetVolume(); - -private: - std::string m_Filename; - void *m_Handle; - void *m_cb; - ADSPHANDLE m_PlayHandle; -}; |