home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / SND_TOOL / CDMP16.ZIP / SOURCE.ZIP / SOUNDDRV.H < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-30  |  2.6 KB  |  75 lines

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*                                                                         */
  4. /*                   (c) 1993,1994 by Kaya Memisoglu                       */
  5. /*                                    aka Marc van Shaney                  */
  6. /*                                                                         */
  7. /* Die kommerzielle Nutzung des Source-Codes ohne meine schriftliche       */
  8. /* Genehmigung ist untersagt. Desweiteren hafte ich für keinerlei          */
  9. /* Schaden den das Programm verursacht.                                    */
  10. /*                                                                         */
  11. /* Geschrieben mit Borland C++ 3.1                                         */
  12. /*     Borland C++ ist eingetragenes Warenzeichen der                      */
  13. /*                                  Borland Inernational INC               */
  14. /*                                                                         */
  15. /*                                                                         */
  16. /* 18.1.1994 - Kaya Memisoglu                                              */
  17. /*                                                                         */
  18. /***************************************************************************/
  19.  
  20.  
  21. #ifndef __SOUNDDRV_H
  22. #define __SOUNDDRV_H
  23.  
  24. #define SOUND_PLAYING        1
  25. #define SOUND_READY        2
  26. #define SOUND_RECORDING        4
  27. #define SOUND_CAN_PLAY        1
  28. #define SOUND_CAN_RECORD    2
  29. #define SOUND_CAN_STEREO    4
  30. #define SOUND_CAN_MONO        8
  31. #define SOUND_CAN_8BIT        16
  32. #define SOUND_CAN_16BIT        32
  33. #define SOUND_USES_TIMER    64
  34.  
  35. #ifndef __SOUND_BLOCK
  36. #define __SOUND_BLOCK
  37. typedef struct {
  38.         unsigned int Speed;
  39.         unsigned int Size;
  40.         unsigned char Bits_per_Sample;
  41.         unsigned char Channels;
  42.         char Reserved[10];
  43.            } Sound_Block;
  44. #endif
  45.  
  46.  
  47.  
  48.  
  49. typedef struct
  50.          {
  51.           char Ident[32];
  52.           char Type[16];
  53.           char Name[32];
  54.           int Version;
  55.           int Function_Count;
  56.           char *Driver_Setup;
  57.  
  58.           int (*Init_Driver) (void);
  59.           int (*Exit_Driver) (void);
  60.           int (*Play_Voice) (Sound_Block *);
  61.           int (*Stop_Voice) (void);
  62.           int (*Record_Voice) (Sound_Block *);
  63.           int (*Set_Play_Handler) (int (*Handler) (void));
  64.           int (*Set_Record_Handler) (int (*Handler) (void));
  65.           int (*Set_Next_Block) (Sound_Block *);
  66.  
  67.               long Capabilities;
  68.               int MaxRecordRate;
  69.               int MaxPlayRate;
  70.           int Status;
  71.           char far *Voice;
  72.          } SoundDrv;
  73.  
  74.  
  75. #endif