Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
244 chris 1
#ifndef __BASSLOADER_H__
2
#define __BASSLOADER_H__
3
 
4
#define WIN32_LEAN_AND_MEAN
5
#include <windows.h>
6
#include <stdio.h>
7
 
8
#include "bass.h"
9
 
10
///////////////////////////////////////////////////////////////////////////////
11
///////////////////////////////////////////////////////////////////////////////
12
namespace Sexy
13
{
14
 
15
struct BASS_INSTANCE
16
{
17
        BASS_INSTANCE(const char *dllName);
18
        virtual ~BASS_INSTANCE();
19
 
20
        BOOL BASS_MusicSetAmplify(HMUSIC handle, DWORD amp);
21
        BOOL BASS_MusicPlay(HMUSIC handle);
22
        BOOL BASS_MusicPlayEx(HMUSIC handle, DWORD pos, int flags, BOOL reset);
23
        BOOL BASS_ChannelResume(DWORD handle);
24
        BOOL BASS_StreamPlay(HSTREAM handle, BOOL flush, DWORD flags);
25
 
26
 
27
 
28
    HMODULE         mModule;
29
        bool                    mVersion2;
30
 
31
        DWORD(WINAPI *BASS_GetVersion)();
32
 
33
        BOOL(WINAPI *BASS_Init)(int device, DWORD freq, DWORD flags, HWND win);
34
        BOOL(WINAPI *BASS_Init2)(int device, DWORD freq, DWORD flags, HWND win, GUID* clsid);
35
        void(WINAPI *BASS_Free)();
36
        BOOL(WINAPI *BASS_Stop)();
37
        BOOL(WINAPI *BASS_Start)();
38
        void(WINAPI *BASS_SetGlobalVolumes)(int musvol, int samvol, int strvol);
39
        BOOL(WINAPI *BASS_SetVolume)(DWORD volume);
40
        BOOL(WINAPI *BASS_GetVolume)();
41
        BOOL(WINAPI *BASS_GetInfo)(BASS_INFO* info);
42
 
43
        DWORD(WINAPI *BASS_SetConfig)(DWORD option, DWORD value);
44
        DWORD(WINAPI *BASS_GetConfig)(DWORD option);
45
 
46
        BOOL(WINAPI *BASS_ChannelStop)(DWORD handle);
47
        BOOL(WINAPI *BASS_ChannelPlay)(DWORD handle, BOOL restart);
48
        BOOL(WINAPI *BASS_ChannelPause)(DWORD handle);
49
        BOOL(WINAPI *BASS_ChannelSetAttributes)(DWORD handle, int freq, int volume, int pan);
50
        BOOL(WINAPI *BASS_ChannelGetAttributes)(DWORD handle, DWORD* freq, DWORD* volume, int* pan);
51
        BOOL(WINAPI *BASS_ChannelSetPosition)(DWORD handle, QWORD pos);
52
        QWORD(WINAPI *BASS_ChannelGetPosition)(DWORD handle);
53
        BOOL (WINAPI *BASS_ChannelSetFlags)(DWORD handle, DWORD flags);
54
        DWORD(WINAPI *BASS_ChannelIsActive)(DWORD handle);
55
        BOOL (WINAPI *BASS_ChannelSlideAttributes)(DWORD handle, int freq, int volume, int pan, DWORD time);
56
        DWORD (WINAPI *BASS_ChannelIsSliding)(DWORD handle);
57
        DWORD (WINAPI *BASS_ChannelGetLevel)(DWORD handle);
58
        HFX (WINAPI *BASS_ChannelSetFX)(DWORD handle, DWORD theType, int priority);
59
        BOOL (WINAPI *BASS_ChannelRemoveFX)(DWORD handle, HFX fx);
60
        QWORD (WINAPI *BASS_ChannelGetLength)(DWORD handle);
61
        DWORD (WINAPI *BASS_ChannelGetData)(DWORD handle, void* buffer, DWORD length);
62
        BOOL (WINAPI *BASS_ChannelPreBuf)(DWORD handle, DWORD length);
63
        HSYNC (WINAPI *BASS_ChannelSetSync)(DWORD handle, DWORD theType, QWORD theParam, SYNCPROC* proc, DWORD user);
64
        BOOL (WINAPI *BASS_ChannelRemoveSync)(DWORD handle, HSYNC sync);
65
 
66
        HMUSIC(WINAPI *BASS_MusicLoad)(BOOL mem, void *file, DWORD offset, DWORD length, DWORD flags);
67
        HMUSIC(WINAPI *BASS_MusicLoad2)(BOOL mem, void *file, DWORD offset, DWORD length, DWORD flags, DWORD freq);
68
        void(WINAPI *BASS_MusicFree)(HMUSIC handle);
69
 
70
        HSTREAM(WINAPI *BASS_StreamCreateFile)(BOOL mem, void *file, DWORD offset, DWORD length, DWORD flags);
71
        void(WINAPI *BASS_StreamFree)(HSTREAM handle);
72
 
73
        BOOL (WINAPI *BASS_FXSetParameters)(HFX handle, void *par);
74
        BOOL (WINAPI *BASS_FXGetParameters)(HFX handle, void *par);
75
 
76
        DWORD(WINAPI *BASS_MusicGetAttribute)(DWORD handle, DWORD attrib);
77
        void(WINAPI *BASS_MusicSetAttribute)(DWORD handle, DWORD attrib,DWORD value);
78
 
79
        DWORD (WINAPI *BASS_MusicGetOrders)(HMUSIC handle);
80
        DWORD (WINAPI *BASS_MusicGetOrderPosition)(HMUSIC handle);
81
 
82
        HPLUGIN (WINAPI *BASS_PluginLoad)(char *file, DWORD flags);
83
 
84
        HSAMPLE (WINAPI *BASS_SampleLoad)(BOOL mem, void *file, DWORD offset, DWORD length, DWORD max, DWORD flags);
85
        BOOL (WINAPI *BASS_SampleFree)(HSAMPLE handle);
86
        BOOL (WINAPI *BASS_SampleSetInfo)(HSAMPLE handle, BASS_SAMPLE *info);
87
        BOOL (WINAPI *BASS_SampleGetInfo)(HSAMPLE handle, BASS_SAMPLE *info);
88
        HCHANNEL (WINAPI *BASS_SampleGetChannel)(HSAMPLE handle, BOOL onlynew);
89
        BOOL (WINAPI *BASS_SampleStop)(HSAMPLE handle);
90
 
91
        int (WINAPI *BASS_ErrorGetCode)();
92
};
93
 
94
 
95
extern BASS_INSTANCE *gBass;
96
 
97
BASS_INSTANCE* BASS_CreateInstance(char *dllName);
98
void BASS_FreeInstance(BASS_INSTANCE *instance);
99
void LoadBassDLL(); // exits on failure
100
void FreeBassDLL();
101
 
102
} // namespace Sexy
103
 
104
#endif