From 0b5d88d2332b91211ae03a3364397369d155e6ba Mon Sep 17 00:00:00 2001 From: tobigun Date: Tue, 22 Apr 2008 15:55:50 +0000 Subject: - new layout of the projectM lib-dir. - PROJECTM_..._PLUS variable in config-....inc not needed anymore. - Support for projectM 1.1 (=1.10) git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1030 b956fd51-792f-4845-bead-9b4dfca2ff2c --- .../Code/lib/projectM/cwrapper/projectM-cwrapper.h | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h (limited to 'Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h') diff --git a/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h b/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h new file mode 100755 index 00000000..60e1dbb8 --- /dev/null +++ b/Game/Code/lib/projectM/cwrapper/projectM-cwrapper.h @@ -0,0 +1,65 @@ +#ifndef __PROJECTM_CWRAPPER_H__ +#define __PROJECTM_CWRAPPER_H__ + +#include "projectM.hpp" + +#define PROJECTM_VERSION_1_00_00 1000000 // 1.00.00 = 1.0 or 1.01 +#define PROJECTM_VERSION_1_10_00 1010000 // 1.10.00 = 1.1 + +// version of projectM to wrap (see PROJECTM_VERSION) +#ifndef PROJECTM_VERSION_INT +#define PROJECTM_VERSION_INT PROJECTM_VERSION_1_10_00 +#endif + +extern "C" { + + #if (PROJECTM_VERSION_INT >= 1010000) + struct Settings { + int meshX; + int meshY; + int fps; + int textureSize; + int windowWidth; + int windowHeight; + const char* presetURL; + const char* titleFontURL; + const char* menuFontURL; + int smoothPresetDuration; + int presetDuration; + float beatSensitivity; + char aspectCorrection; + float easterEgg; + char shuffleEnabled; + }; + #endif + + typedef void* projectM_ptr; + + DLLEXPORT projectM_ptr projectM_create1(char* config_file); + #if (PROJECTM_VERSION_INT < 1010000) + DLLEXPORT projectM_ptr projectM_create2(int gx, int gy, int fps, int texsize, + int width, int height, char* preset_url, + char* title_fonturl, char* title_menuurl); + #endif + + DLLEXPORT void projectM_resetGL(projectM_ptr pm, int width, int height); + DLLEXPORT void projectM_setTitle(projectM_ptr pm, char* title); + DLLEXPORT void projectM_renderFrame(projectM_ptr pm); + DLLEXPORT unsigned projectM_initRenderToTexture(projectM_ptr pm); + DLLEXPORT void projectM_key_handler(projectM_ptr pm, projectMEvent event, + projectMKeycode keycode, projectMModifier modifier); + + DLLEXPORT void projectM_free(projectM_ptr pm); + + DLLEXPORT void PCM_addPCMfloat(projectM_ptr pm, float *PCMdata, int samples); + DLLEXPORT void PCM_addPCM16(projectM_ptr pm, short [2][512]); + DLLEXPORT void PCM_addPCM16Data(projectM_ptr pm, const short* pcm_data, short samples); + DLLEXPORT void PCM_addPCM8(projectM_ptr pm, unsigned char [2][1024]); + DLLEXPORT void PCM_addPCM8_512(projectM_ptr pm, const unsigned char [2][512]); + + #if (PROJECTM_VERSION_INT >= 1010000) + DLLEXPORT void projectM_settings(projectM_ptr pm, Settings* settings); + #endif +} + +#endif -- cgit v1.2.3