Contents page

Index

Includes


//////////////////////////////////////////////////////////////////////////////
  // AudioDT.hpp
  //
  // Deryk Robosson
  // March 16, 1996
  //////////////////////////////////////////////////////////////////////////////

#ifndef __AUDIODT_HPP__ #define __AUDIODT_HPP__

////////////////////////////////////////////////////////////////////////////// // INCLUDES #include "aframe:include/aframe.hpp" #include "aframe:include/datatype.hpp"

////////////////////////////////////////////////////////////////////////////// // Definitions

typedef struct { struct VoiceHeader *vhdr; // voice header pointer struct dtTrigger dtt; // datatype trigger struct ULONG samplelength; // sample length ULONG cycles; // sample cycles ULONG period; // sample period ULONG volume; // sample volume ULONG clock; // sample clock rate BYTE *buffer; // sample buffer } AUDIODT;

////////////////////////////////////////////////////////////////////////////// // AudioDT Class

class AFAudioDT : public AFDataType { public:

AFAudioDT(); ~AFAudioDT();

virtual char *ObjectType() { return "AudioDT"; };

BOOL PlaySample(); BOOL PlayFile(char* file_name); BOOL LoadSample(char* file_name); BOOL SetVolume(int volume); BOOL SetVolume(ULONG volume); BOOL SetBuffer(UBYTE *buffer, ULONG size); BOOL SignalTask(struct Task *task); UBYTE* GetBuffer(UBYTE* buffer); ULONG GetBufferSize();

AUDIODT m_dtAudio; };

////////////////////////////////////////////////////////////////////////////// #endif // __AUDIODT_HPP__