From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Plugins/Input/in_wmvdrm/api.cpp | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 Src/Plugins/Input/in_wmvdrm/api.cpp (limited to 'Src/Plugins/Input/in_wmvdrm/api.cpp') diff --git a/Src/Plugins/Input/in_wmvdrm/api.cpp b/Src/Plugins/Input/in_wmvdrm/api.cpp new file mode 100644 index 00000000..05749577 --- /dev/null +++ b/Src/Plugins/Input/in_wmvdrm/api.cpp @@ -0,0 +1,56 @@ +#include "main.h" +#include "api.h" +#include +#include "../Winamp/wa_ipc.h" +#include "FactoryHelper.h" +#include "MetaTagFactory.h" +#include "factory_Handler.h" +#include "AlbumArt.h" +#include "RawReader.h" +#include "../nu/Singleton.h" +MetaTagFactory metaTagFactory; + +api_service *serviceManager = 0; +api_playlistmanager *playlistManager=0; +api_config *AGAVE_API_CONFIG=0; +api_application *applicationApi=0; + +// wasabi based services for localisation support +api_language *WASABI_API_LNG = 0; +HINSTANCE WASABI_API_LNG_HINST = 0, WASABI_API_ORIG_HINST = 0; +api_memmgr *WASABI_API_MEMMGR = 0; +WPLHandlerFactory wplHandlerFactory; +ASXHandlerFactory asxHandlerFactory; +AlbumArtFactory albumArtFactory; +static RawMediaReaderService raw_media_reader_service; +static SingletonServiceFactory raw_factory; + +int LoadWasabi() +{ + ServiceBuild(AGAVE_API_CONFIG, AgaveConfigGUID); + ServiceBuild(playlistManager, api_playlistmanagerGUID); + ServiceBuild(WASABI_API_APP, applicationApiServiceGuid); + ServiceBuild(WASABI_API_LNG, languageApiGUID); + ServiceBuild(WASABI_API_MEMMGR, memMgrApiServiceGuid); + plugin.service->service_register(&metaTagFactory); + plugin.service->service_register(&wplHandlerFactory); + plugin.service->service_register(&asxHandlerFactory); + plugin.service->service_register(&albumArtFactory); + raw_factory.Register(plugin.service, &raw_media_reader_service); + + return TRUE; +} + +void UnloadWasabi() +{ + plugin.service->service_deregister(&metaTagFactory); + plugin.service->service_deregister(&wplHandlerFactory); + plugin.service->service_deregister(&asxHandlerFactory); + plugin.service->service_deregister(&albumArtFactory); + plugin.service->service_deregister(&raw_factory); + ServiceRelease(playlistManager, api_playlistmanagerGUID); + ServiceRelease(AGAVE_API_CONFIG, AgaveConfigGUID); + ServiceRelease(WASABI_API_APP, applicationApiServiceGuid); + ServiceRelease(WASABI_API_LNG, languageApiGUID); + ServiceRelease(WASABI_API_MEMMGR, memMgrApiServiceGuid); +} \ No newline at end of file -- cgit