home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Amiga / Applications / Musique / PlayMF_VU.lha / PianoMeter / Source / PianoMeter.h < prev    next >
C/C++ Source or Header  |  1998-04-05  |  2KB  |  106 lines

  1. #ifndef PIANOMETER_H
  2. #define PIANOMETER_H
  3.  
  4.  
  5. /* Some defines */
  6.  
  7. #define NORMPRI  10            /* priority during normal operation */
  8.  
  9. /* Library bases */
  10.  
  11. extern struct ExecBase            *SysBase;
  12. extern struct DosLibrary        *DOSBase;
  13. extern struct GfxBase            *GfxBase;
  14. extern struct IntuitionBase    *IntuitionBase;
  15. extern struct Library             *GadToolsBase;
  16. extern struct Library            *UtilityBase;
  17. extern struct Library            *AslBase;
  18. extern struct Library            *WorkbenchBase;
  19. extern struct Library            *CamdBase;
  20.  
  21.  
  22. /* the main program's task */
  23.  
  24. extern struct Task *MyTask;
  25.  
  26.  
  27. /* these flags serve for keeping track of asynchronous tasks */
  28.  
  29. typedef enum
  30. {
  31.     AboutTask  = 0x00000001,    /* these are the asynchronous messages */
  32.     SaveTask   = 0x00000002,
  33.     ErrTask    = 0x00000004,
  34.     DropTask   = 0x00000008,
  35.     LaunchTask = 0x00000010,
  36.     CloseTask  = 0x00000020,
  37.     
  38.     PlayTask   = 0x00000100,    /* these are the file requesters */
  39.     
  40.     LinkTask   = 0x00001000,    /* the MIDI link requester */
  41.  
  42. } TaskFlag;
  43.  
  44.  
  45. /* global preferences data */
  46.  
  47. struct Prefs
  48. {
  49.     UBYTE Header[12];
  50.     UWORD Version;
  51.     UBYTE Link[32];
  52.     ULONG Flags;
  53.     UWORD Octaves;
  54.     UWORD WinX;
  55.     UWORD WinY;
  56.     UWORD WinW;
  57.     UWORD WinH;
  58.     UBYTE MIDIFile[240];
  59.     UWORD Mask;
  60. };
  61.  
  62. #define PREFF_GM         (1L<<1)
  63. #define PREFF_GS         (1L<<2)
  64. #define PREFF_XG         (1L<<3)
  65. #define PREFF_MT32       (1L<<4)
  66. #define PREFF_ASLHOOKS   (1L<<5)
  67.  
  68.  
  69. /* all data structures and pointers needed by this program */
  70.  
  71. struct Globals
  72. {
  73.     BOOL Classes;
  74.     
  75.     struct Screen *LockedScreen;
  76.     struct Screen *Screen;
  77.     APTR VisualInfo;
  78.     
  79.     struct Window *Window;
  80.     struct Menu   *Menu;
  81.     
  82.     struct Gadget *FirstGad;
  83.     struct Gadget *PianoGad;
  84.     struct Gadget *ChanLedGad[16];
  85.     
  86.     struct Window *ProcWindow;
  87.     
  88.     struct MsgPort *AppPort;
  89.     struct AppWindow *AppWindow;
  90.     
  91.     WORD ww, wh;
  92.     
  93.     struct MidiNode *midi;
  94.     struct MidiLink *link;
  95.     
  96.     UBYTE WTitle[80];
  97.     
  98.     BOOL LinkRefresh;
  99.     
  100.     struct FileRequester *MIDIFR;
  101.     
  102.     ULONG TaskAlloc;
  103. };
  104.  
  105. #endif    /* PIANOMETER_H */
  106.