home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / APP / TRAIL_PG / GEMJING / GEMJ136.LZH / Develop / JINGLE.H < prev    next >
C/C++ Source or Header  |  2000-05-25  |  3KB  |  99 lines

  1. #if !defined(__JINGLE__)
  2. #define __JINGLE__
  3.  
  4. #define RT_NO_MEM     117
  5. #define RT_NO_FILE    118
  6. #define RT_PACKED     119
  7. #define RT_WRONG_CHUNK  120
  8. #define RT_WRONG_FILE 121
  9. #define RT_LOCKED     122
  10. #define RT_SND_ERR    123
  11. #define RT_WRONG_HARDWARE 124
  12. #define RT_UNSUPPORTED_AU_SND 125
  13.  
  14. #define MLC_ST_RAM  0
  15. #define MLC_TT_RAM  1
  16. #define MLC_STTT_RAM  2
  17. #define MLC_TTST_RAM  3
  18.  
  19. #define ST      0
  20. #define TT      1
  21. #define FALCON  2
  22.  
  23. #define _SND_COOKIE 0x5f534e44L
  24. #define McSn_COOKIE 0x4d63536eL
  25. #define HSN_COOKIE  0x48536e64L
  26. #define MagX_COOKIE 0x4D616758L
  27. #define MiNT_COOKIE 0x4D694E54L
  28. #define FSEL_COOKIE 0x4653454cL
  29. #define STIC_COOKIE 0x53744963L
  30. #define MgMc_COOKIE 0x4D674D63L
  31. #define MgPC_COOKIE 0x4D675043L
  32. #define Lity_COOKIE 0x4C697479L
  33. #define strk_COOKIE 0x7374726bL
  34.  
  35. #define HSND_COMP   1
  36. #define MSND_COMP   2
  37. #define F030_COMP   3
  38. #define STE_COMP    4
  39. #define ST_COMP   5
  40. #define ST_W_COMP   6    /* "weiche" Frequenzen: alle sind möglich */
  41. #define ST_H_COMP   7    /* "harte" Frequenzen, es gehen nur bestimmte, siehe flc_play_sam() */
  42.  
  43. #define NONE_COMP   100
  44.  
  45. typedef struct
  46. {
  47.     short   vers;   /* Version in BCD*/
  48.     short   size;   /* Grö₧e der Struktur */
  49.  
  50.     short   play;   /* Abspielfähigkeiten */
  51.     short   record; /* Aufnahmefähigkeiten */
  52.     short   dsp;    /* Ist der DSP da? */
  53.     short   pint;   /* Playing: Interrupt möglich bei Frame-Ende */
  54.     short   rint;   /* Recording: Interrupt möglich bei Frame-Ende */
  55.  
  56.     long    res1;   /* Reserviert....... */
  57.     long    res2;
  58.     long    res3;
  59.     long    res4;
  60. } McSnCookie_STRCT;
  61.  
  62. typedef struct
  63. {
  64.   WORD    *adr;           /* Startadresse       */
  65.   WORD    *end;           /* Endadresse         */
  66.   ULONG   len;            /* Samplelänge          */
  67.   ULONG   header_len;   /* gesamter Header!     */
  68.   WORD    *sample_start;/* Adresse, ab der der Datenteil anfängt */
  69.   UWORD   res;            /* Auflösung          */
  70.   ULONG   frq;            /* Frequenz in Hz       */
  71.   UWORD   channels;       /* Kanäle           */
  72.   WORD    fmt;            /* Format: 1=WAV, 2=DVS, 3=SMP, 4=STE */
  73.   WORD    snd_system;   /* vorhandene Soundhardware des Systems */
  74.  /* WORD    malloc_flag; */ /* 0, wenn die Routinen RAM allozieren sollen, ==1, wenn es der Aufrufer tat */
  75.   WORD    delayrate;    /* Pause zw. Wiederholungen in Sekunden; 0 = keine Pause */
  76.   WORD    repeatrate;   /* Wie oft wiederholen? 0 = keinmal Wiederholen = einmal Spielen */
  77.   BYTE *     memoryplay;    /* Aus dem Speicher heraus spielen */
  78.   ULONG     memoryplay_len;    /* Aus dem Speicher heraus spielen */
  79.   BOOLEAN no_menu;      /* */
  80.   BOOLEAN gs_valid;        /* Parameter-Flag für GEMScript, siehe split_gs_line() */
  81.   BYTE    *file;          /* Zu spielende Datei */
  82. } NEWDEF;
  83.  
  84. extern BYTE sam_flag;
  85.  
  86. WORD spiele_sample(NEWDEF *new);
  87. WORD get_cookie(CONST LONG cookie, LONG *value);
  88.  
  89.  
  90. LONG    FileLen(CONST BYTE *fname);
  91. VOID    *OwnMalloc(CONST LONG amount, CONST WORD typ);
  92. VOID    OwnMfree(CONST VOID *adr);
  93. BOOLEAN Laden(CONST BYTE *fname, BYTE *addr, CONST LONG len);
  94. VOID    handle_SIGUSR1(VOID);
  95. VOID    handle_SIGTERM(VOID);
  96. VOID    output(NEWDEF *new);
  97.  
  98. #endif
  99.