00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifdef MKPERFORMSNDMIDI_EXPORTS
00032 #define PERFORM_API __declspec(dllexport)
00033 #else
00034 #define PERFORM_API __declspec(dllimport)
00035 #endif
00036
00037 #include "soundstruct.h"
00038
00039 #ifdef __cplusplus
00040 extern "C" {
00041 #endif
00042
00043 typedef int (*SNDNotificationFun)(SNDSoundStruct *s, int tag, int err);
00044
00045 #define SND_NULL_FUN ((SNDNotificationFun)0)
00046
00047 PERFORM_API BOOL SNDInit(BOOL guessTheDevice);
00048
00049
00050 PERFORM_API char **SNDGetAvailableDriverNames(void);
00051
00052
00053 PERFORM_API BOOL SNDSetDriverIndex(unsigned int selectedIndex);
00054
00055
00056 PERFORM_API unsigned int SNDGetAssignedDriverIndex(void);
00057
00058 PERFORM_API void SNDGetVolume(float *left, float * right);
00059
00060 PERFORM_API void SNDSetVolume(float left, float right);
00061
00062 PERFORM_API BOOL SNDIsMuted(void);
00063
00064 PERFORM_API void SNDSetMute(BOOL aFlag);
00065
00066 PERFORM_API int SNDStartPlaying(SNDSoundStruct *soundStruct, int tag, int priority, int preempt,
00067 SNDNotificationFun beginFun, SNDNotificationFun endFun);
00068
00069 PERFORM_API int SNDStartRecording(SNDSoundStruct *soundStruct, int tag, int priority, int preempt,
00070 SNDNotificationFun beginRecFun, SNDNotificationFun endRecFun);
00071
00072 PERFORM_API int SNDSamplesProcessed(int tag);
00073
00074 PERFORM_API void SNDStop(int tag);
00075
00076 PERFORM_API void SNDPause(int tag);
00077
00078 PERFORM_API void SNDResume(int tag);
00079
00080 PERFORM_API int SNDUnreserve(int dunno);
00081
00082 PERFORM_API void SNDTerminate(void);
00083
00084 #ifdef __cplusplus
00085 }
00086 #endif
00087