/addons/script.module.pil/
/addons/audioencoder.*
/addons/pvr.*
+/addons/adsp.*
/addons/xbmc.addon/addon.xml
/addons/xbmc.json/addon.xml
/addons/kodi.guilib/addon.xml
/lib/addons/library.kodi.guilib/project/VS2010Express/Release
/lib/addons/library.kodi.guilib/project/VS2010Express/Debug
/lib/addons/library.xbmc.addon/Makefile
+/lib/addons/library.kodi.adsp/Makefile
/lib/addons/library.xbmc.pvr/Makefile
/lib/addons/library.xbmc.codec/Makefile
/lib/addons/library.xbmc.addon/project/VS2010Express/Release
/lib/addons/library.xbmc.addon/project/VS2010Express/Debug
+/lib/addons/library.kodi.adsp/project/VS2010Express/Release
+/lib/addons/library.kodi.adsp/project/VS2010Express/Debug
/lib/addons/library.xbmc.codec/project/VS2010Express/Release
/lib/addons/library.xbmc.codec/project/VS2010Express/Debug
/lib/addons/library.xbmc.pvr/project/VS2010Express/Release
/addons/library.xbmc.addon/libXBMC_addon.dll
/addons/library.xbmc.addon/libXBMC_addon.lib
+/addons/library.kodi.adsp/libKODI_adsp.dll
+/addons/library.kodi.adsp/libKODI_adsp.lib
/addons/library.xbmc.codec/libXBMC_codec.dll
/addons/library.xbmc.codec/libXBMC_codec.lib
/addons/library.kodi.guilib/libKODI_guilib.dll
/addons/library.xbmc.pvr/libXBMC_pvr.lib
/pvr-addons
+/adsp-addons
LIBADDON_DIRS=\
lib/addons/library.xbmc.addon \
+ lib/addons/library.kodi.adsp \
lib/addons/library.xbmc.codec \
lib/addons/library.xbmc.pvr \
lib/addons/library.kodi.guilib \
libaddon: exports
$(MAKE) -C lib/addons/library.xbmc.addon
+ $(MAKE) -C lib/addons/library.kodi.adsp
$(MAKE) -C lib/addons/library.xbmc.codec
$(MAKE) -C lib/addons/library.kodi.guilib
$(MAKE) -C lib/addons/library.xbmc.pvr
INCLUDES+=-I@abs_top_srcdir@/xbmc
INCLUDES+=-I@abs_top_srcdir@/addons/library.kodi.guilib
INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.addon
+INCLUDES+=-I@abs_top_srcdir@/addons/library.kodi.adsp
INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.pvr
INCLUDES+=-I@abs_top_srcdir@/addons/library.xbmc.codec
INCLUDES+=$(sort @INCLUDES@)
--- /dev/null
+#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;
+};
xbmc/windowing/Makefile \
xbmc/windowing/egl/Makefile \
lib/addons/library.xbmc.addon/Makefile \
+ lib/addons/library.kodi.adsp/Makefile \
lib/addons/library.xbmc.codec/Makefile \
lib/addons/library.kodi.guilib/Makefile \
lib/addons/library.xbmc.pvr/Makefile \
--- /dev/null
+ARCH=@ARCH@
+INCLUDES=-I. -I../../../xbmc/addons/include -I../../../xbmc -I../../../xbmc/cores/dvdplayer/DVDDemuxers
+DEFINES+=
+CXXFLAGS=-fPIC
+LIBNAME=libKODI_adsp
+OBJS=$(LIBNAME).o
+
+LIB_SHARED=../../../addons/library.kodi.adsp/$(LIBNAME)-$(ARCH).so
+
+all: $(LIB_SHARED)
+
+$(LIB_SHARED): $(OBJS)
+ifeq ($(findstring osx,$(ARCH)), osx)
+ $(CXX) $(LDFLAGS) -Wl,-alias_list,@abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper_mach_alias \
+ -bundle -undefined dynamic_lookup -o $@ \
+ @abs_top_srcdir@/xbmc/cores/DllLoader/exports/wrapper.o $(OBJS)
+else
+ $(CXX) $(CFLAGS) $(LDFLAGS) -shared -g -o $(LIB_SHARED) $(OBJS)
+endif
+
+CLEAN_FILES = \
+ $(LIB_SHARED) \
+
+DISTCLEAN_FILES= \
+ Makefile \
+
+include ../../../Makefile.include
--- /dev/null
+/*
+ * Copyright (C) 2013-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 <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string>
+#include "../../../addons/library.kodi.adsp/libKODI_adsp.h"
+#include "addons/AddonCallbacks.h"
+
+#ifdef _WIN32
+#include <windows.h>
+#define DLLEXPORT __declspec(dllexport)
+#else
+#define DLLEXPORT
+#endif
+
+using namespace std;
+
+extern "C"
+{
+
+DLLEXPORT void* ADSP_register_me(void *hdl)
+{
+ CB_ADSPLib *cb = NULL;
+ if (!hdl)
+ fprintf(stderr, "libKODI_adsp-ERROR: ADSPLib_register_me is called with NULL handle !!!\n");
+ else
+ {
+ cb = ((AddonCB*)hdl)->ADSPLib_RegisterMe(((AddonCB*)hdl)->addonData);
+ if (!cb)
+ fprintf(stderr, "libKODI_adsp-ERROR: ADSPLib_register_me can't get callback table from KODI !!!\n");
+ }
+ return cb;
+}
+
+DLLEXPORT void ADSP_unregister_me(void *hdl, void* cb)
+{
+ if (hdl && cb)
+ ((AddonCB*)hdl)->ADSPLib_UnRegisterMe(((AddonCB*)hdl)->addonData, (CB_ADSPLib*)cb);
+}
+
+DLLEXPORT void ADSP_add_menu_hook(void *hdl, void* cb, AE_DSP_MENUHOOK *hook)
+{
+ if (cb == NULL)
+ return;
+
+ ((CB_ADSPLib*)cb)->AddMenuHook(((AddonCB*)hdl)->addonData, hook);
+}
+
+DLLEXPORT void ADSP_remove_menu_hook(void *hdl, void* cb, AE_DSP_MENUHOOK *hook)
+{
+ if (cb == NULL)
+ return;
+
+ ((CB_ADSPLib*)cb)->RemoveMenuHook(((AddonCB*)hdl)->addonData, hook);
+}
+
+DLLEXPORT void ADSP_register_mode(void *hdl, void* cb, AE_DSP_MODES::AE_DSP_MODE *mode)
+{
+ if (cb == NULL)
+ return;
+
+ ((CB_ADSPLib*)cb)->RegisterMode(((AddonCB*)hdl)->addonData, mode);
+}
+
+DLLEXPORT void ADSP_unregister_mode(void *hdl, void* cb, AE_DSP_MODES::AE_DSP_MODE *mode)
+{
+ if (cb == NULL)
+ return;
+
+ ((CB_ADSPLib*)cb)->UnregisterMode(((AddonCB*)hdl)->addonData, mode);
+}
+
+};
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{44F93C4D-85DD-4452-99BB-F1D196174024}</ProjectGuid>
+ <RootNamespace>KODI_ADSP</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(SolutionDir)\XBMC.core-defaults.props" />
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets">
+ <Import Project="$(SolutionDir)\XBMC.defaults.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\addons\library.kodi.adsp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\addons\library.kodi.adsp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\..\..\..\addons\library.xbmc.addon\;$(IncludePath)</IncludePath>
+ <IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\..\..\..\addons\library.xbmc.addon\;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>..\..\..\..\..\xbmc;..\..\..\..\..\xbmc\addons\include;..\..\..\..\..\xbmc\cores\dvdplayer\DVDDemuxers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>VDR_EXPORTS;_WIN32PC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <OutputFile>..\..\..\..\..\addons\library.kodi.adsp\$(ProjectName).dll</OutputFile>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>..\..\..\..\..\xbmc;..\..\..\..\..\xbmc\addons\include;..\..\..\..\..\xbmc\cores\dvdplayer\DVDDemuxers;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>HAS_SDL_OPENGL;HAS_SDL;_USRDLL;XBMC_VDR_EXPORTS;_WIN32PC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <ExceptionHandling>Sync</ExceptionHandling>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ </ClCompile>
+ <Link>
+ <OutputFile>..\..\..\..\..\addons\library.kodi.adsp\$(ProjectName).dll</OutputFile>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\libKODI_adsp.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{A463B136-5D8C-4995-A8D5-67FA2B90B6A8}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{EAFF7342-E9A9-4164-A40A-639A72C620DA}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\libKODI_adsp.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Effects11", "..\..\lib\win32\Effects11\Effects11_2013.vcxproj", "{DF460EAB-570D-4B50-9089-2E2FC801BF38}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libKODI_adsp", "..\..\lib\addons\library.kodi.adsp\project\VS2010Express\libKODI_adsp.vcxproj", "{44F93C4D-85DD-4452-99BB-F1D196174024}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
BINDINGS+=xbmc/addons/include/xbmc_vis_types.h
BINDINGS+=xbmc/addons/include/xbmc_stream_utils.hpp
BINDINGS+=addons/library.xbmc.addon/libXBMC_addon.h
+BINDINGS+=addons/library.kodi.adsp/libKODI_adsp.h
BINDINGS+=addons/library.kodi.guilib/libKODI_guilib.h
BINDINGS+=addons/library.xbmc.pvr/libXBMC_pvr.h
BINDINGS+=addons/library.xbmc.codec/libXBMC_codec.h