SOSRES.H 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /****************************************************************************
  2. File : sosres.h
  3. Programmer(s) : Don Fowler, Nick Skrepetos
  4. Date :
  5. Purpose : Include Files For Zortech C++ Compiler
  6. Last Updated :
  7. ****************************************************************************
  8. Copyright(c) 1993,1994 Human Machine Interfaces
  9. All Rights Reserved
  10. ****************************************************************************/
  11. #define _SOS_RESOURCE
  12. #ifndef _SOS_RESOURCE
  13. #define _SOS_RESOURCE
  14. // structure for resource file header
  15. typedef struct
  16. {
  17. // file version
  18. WORD wVersion;
  19. // file size
  20. LONG dwFileSize;
  21. // number of resources in file
  22. WORD wResCount;
  23. // offset of resource data from top of file
  24. LONG dwResOffset;
  25. // offset of sync track from top of file
  26. LONG dwSyncTrackOffset;
  27. } _RES_FILE_HEADER;
  28. // structure for resource block header
  29. typedef struct
  30. {
  31. // resource id
  32. WORD wID;
  33. // resource type
  34. WORD wResType;
  35. // offset of next block
  36. LONG dwNextBlock;
  37. // size of the current resource information
  38. LONG dwResSize;
  39. // rate to play block at
  40. WORD wBlockRate;
  41. // id for the sync track to use
  42. WORD wSyncTrackID;
  43. } _RES_BLOCK_HEADER;
  44. // structure for sync mark tag
  45. typedef struct _tagSYNCMARK
  46. {
  47. // ID of the type of mark being used
  48. WORD wID;
  49. // location in data of sync mark
  50. LONG dwSyncOffset;
  51. // length of sync block
  52. LONG dwSyncSize;
  53. // start sample data
  54. _SOS_START_SAMPLE sampleData;
  55. } _RES_SYNCMARK;
  56. typedef union
  57. {
  58. // structure for sync mark tag
  59. _RES_SYNCMARK syncMark;
  60. } _RES_TAG;
  61. // union for filter information for prepareWave
  62. typedef union
  63. {
  64. // filter type
  65. WORD wFilterID;
  66. // structure for volume
  67. struct volume
  68. {
  69. WORD wVolume;
  70. };
  71. // structure for delay
  72. struct delay
  73. {
  74. WORD wDelaySamples;
  75. };
  76. } _SOS_FILTER;
  77. #endif
  78.