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 |