home *** CD-ROM | disk | FTP | other *** search
/ The Best of Mecomp Multimedia 2 / MECOMP-CD-II.iso / amiga / datatypes / mididt / source / midiclass.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-10-04  |  1.9 KB  |  90 lines

  1. #ifndef DATATYPES_MIDI_H
  2. #define DATATYPES_MIDI_H
  3.  
  4. /*
  5. ** $PROJECT: midi.datatype
  6. **
  7. ** $VER: midiclass.h 40.0 (11.09.97)
  8. **
  9. ** Interface definitions for DataType midi objects.
  10. ** 
  11. ** Copyright 1997 by Martin Gierich.
  12. ** All Rights Reserved !
  13. **
  14. ** $HISTORY:
  15. ** 11.09.97 : 40.00 : Initial BETA release
  16. **
  17. ** $TABSIZE: 8
  18. */
  19.  
  20.  
  21. /* ------------------------------- includes ------------------------------- */
  22.  
  23. #include <exec/types.h>
  24. #include <utility/tagitem.h>
  25. #include <datatypes/datatypesclass.h>
  26. #include <intuition/intuition.h>
  27. #include <libraries/gadtools.h>
  28.  
  29.  
  30. /* ------------------------------ class name ------------------------------ */
  31.  
  32. #define MIDIDTCLASS    "midi.datatype"
  33.  
  34.  
  35. /* -------------------- new methods for midi.datatype --------------------- */
  36. /* (none yet) */
  37.  
  38.  
  39. /* ------------------------------ attributes ------------------------------ */
  40.  
  41. #define MDTA_Dummy    (DTA_Dummy + 0x880)
  42. #define MDTA_Cluster    (MDTA_Dummy + 0x01)
  43. #define MDTA_Buffer    (MDTA_Dummy + 0x02)
  44. #define MDTA_BufferLen    (MDTA_Dummy + 0x03)
  45.  
  46.  
  47. /* ------------------------------ structures ------------------------------ */
  48.  
  49. /* Private structure used by midi.datatype */
  50. /* Do not use this in applications ! */
  51. struct MidiDTData
  52. {
  53.     /* General */
  54.     UBYTE        *mdt_Buffer;
  55.     UBYTE        *mdt_BufferEnd;
  56.     ULONG         mdt_BufferLen;
  57.     UWORD         mdt_Flags;
  58.     UBYTE         mdt_FileName[256];
  59.     UBYTE         mdt_Name[32];
  60.  
  61.     /* Player */
  62.     UWORD         mdt_Volume;
  63.     UWORD         mdt_Cycles;
  64.     struct Task    *mdt_SignalTask;
  65.     ULONG         mdt_SignalBit;
  66.     BOOL         mdt_Immediate;
  67.     BOOL         mdt_Repeat;
  68.     struct Process    *mdt_PlayProc;
  69.     UBYTE         mdt_Playing;
  70.     UBYTE         mdt_Cluster[31];
  71.  
  72.     /* User Interface */
  73.     struct IBox    *mdt_Domain;
  74.  
  75.     /* GadTools gadgets
  76.     void        *mdt_gtvisual;
  77.     struct Gadget    *mdt_gtcontext;
  78.     struct Gadget    *mdt_gtlist;
  79.     struct NewGadget mdt_gtnew; */
  80. };
  81.  
  82. /* mdt_Flags */
  83. #define MDTF_ALLOCATED         (1<<1)
  84. #define MDTF_NEEDLAYOUT        (1<<2)
  85. #define MDTF_NEEDRENDERING     (1<<3)
  86.  
  87.  
  88. #endif /* !DATATYPES_MIDI_H */
  89.  
  90.