--- np2/sound/sound.h 2003/10/20 06:36:33 1.2 +++ np2/sound/sound.h 2004/03/24 06:07:57 1.7 @@ -33,6 +33,58 @@ void sound_sync(void); const SINT32 *sound_pcmlock(void); void sound_pcmunlock(const SINT32 *hdl); +#if defined(SUPPORT_WAVEREC) +BOOL sound_recstart(const char *filename); +void sound_recstop(void); +#endif + +#ifdef __cplusplus +} +#endif + + + +// ---- PCM MIX + +enum { + PMIXFLAG_L = 0x0001, + PMIXFLAG_R = 0x0002, + PMIXFLAG_LOOP = 0x0004 +}; + +typedef struct { + UINT32 playing; + UINT32 enable; +} PMIXHDR; + +typedef struct { + SINT16 *sample; + UINT samples; +} PMIXDAT; + +typedef struct { +const SINT16 *pcm; + UINT remain; + PMIXDAT data; + UINT flag; + SINT32 volume; +} PMIXTRK; + +typedef struct { + PMIXHDR hdr; + PMIXTRK trk[1]; +} _PCMMIX, *PCMMIX; + + +#ifdef __cplusplus +extern "C" { +#endif + +BOOL pcmmix_regist(PMIXDAT *dat, void *datptr, UINT datsize, UINT rate); +BOOL pcmmix_regfile(PMIXDAT *dat, const char *fname, UINT rate); + +void SOUNDCALL pcmmix_getpcm(PCMMIX hdl, SINT32 *pcm, UINT count); + #ifdef __cplusplus } #endif