home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / graphics / audio / midiplyr / midiplyr.h < prev    next >
C/C++ Source or Header  |  1997-10-05  |  5KB  |  168 lines

  1. /*****************************************************************************
  2. *
  3. *  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  4. *  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
  5. *  TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR
  6. *  A PARTICULAR PURPOSE.
  7. *
  8. *  Copyright (C) 1993 - 1997 Microsoft Corporation. All Rights Reserved.
  9. *
  10. ******************************************************************************
  11. *
  12. * MIDIPlyr.H
  13. *
  14. * Main include file for the polymessage MIDI playback app.
  15. *
  16. *****************************************************************************/
  17.  
  18. #ifndef _MIDIPLYR_
  19. #define _MIDIPLYR_
  20.  
  21. #include "seq.h"
  22.  
  23. #define MAX_FILEPATH        256
  24.  
  25. /* Number and size of playback buffers to keep around
  26. */
  27. #define C_MIDI_BUFFERS      4
  28. #define CB_MIDI_BUFFERS     1024
  29.  
  30.  
  31. /* Popup menu positions in main menu bar
  32. */
  33. #define POS_FILE            0
  34. #define POS_ACTIONS         1
  35. #define POS_OPTIONS         2
  36. #define POS_PLAYTHRU        3
  37.  
  38. /* Status bar pane indices
  39. */
  40. #define SB_N_PANES          2
  41. #define SB_PANE_STATE       0
  42. #define SB_PANE_TFMT        1
  43.  
  44. /* Resource ID's
  45. */
  46. #define ID_ICON             50
  47. #define ID_MENU             51
  48.  
  49. #define IDM_EXIT            100
  50. #define IDM_ABOUT           101
  51. #define IDM_OPEN            102
  52. #define IDM_PLAY            103
  53. #define IDM_PAUSE           104
  54. #define IDM_STOP            105
  55. #define IDM_TOOLBAR         106
  56. #define IDM_STATUS          107
  57. #define IDM_AUTOPLAY        108
  58.  
  59. #define IDM_DEVMIN          129
  60. #define IDM_MAPPER          129         /* MUST be IDM_DEVICES - 1 */
  61. #define IDM_DEVICES         130         /* 129 thru 149 */
  62. #define IDM_DEVMAX          149
  63.  
  64. #define IDM_SYNCUI          150         /* DEBUG */
  65.  
  66. #define IDB_TOOLBAR         200
  67.  
  68. #define IDC_TOOLBAR         300
  69. #define IDC_STATBAR         301
  70.  
  71. #define IDS_APPTITLEMASK    1000
  72. #define IDS_APPNAME         1001
  73. #define IDS_UNTITLED        1002
  74.  
  75. /* ID's for these must be contiguous !!!
  76. ** Note that we also use these as IDM_ items in the Options menu
  77. */
  78. #define IDS_TF_FIRST        1010
  79. #define IDS_HMS             1010
  80. #define IDS_TICKS           1011
  81. #define IDS_TF_LAST         1011
  82.  
  83. /* ID's for sequencer state descriptions
  84. ** These must also be contigous and in the same order as the SEQ_S
  85. ** states in seq.h
  86. */
  87. #define IDS_STATES          1020
  88. #define IDS_NOFILE          (IDS_STATES + SEQ_S_NOFILE)
  89. #define IDS_OPENED          (IDS_STATES + SEQ_S_OPENED)
  90. #define IDS_PREROLLING      (IDS_STATES + SEQ_S_PREROLLING)
  91. #define IDS_PREROLLED       (IDS_STATES + SEQ_S_PREROLLED)
  92. #define IDS_PLAYING         (IDS_STATES + SEQ_S_PLAYING)
  93. #define IDS_PAUSED          (IDS_STATES + SEQ_S_PAUSED)
  94. #define IDS_STOPPING        (IDS_STATES + SEQ_S_STOPPING)
  95.  
  96. #define N_TIME_FORMATS      (IDS_TF_LAST - IDS_TF_FIRST + 1)
  97. #define CB_TIME_FORMATS     40
  98.  
  99. #define IDS_OPENFAILED      1050
  100. #define IDS_PREROLLFAILED   1051
  101. #define IDS_TESTERR         1052
  102. #define IDS_STOPFAILED        1053
  103.  
  104. /* Globals
  105. */
  106. extern  HINSTANCE       ghInst;
  107. extern  char BCODE      gszMWndClass[];
  108. extern  char BCODE      gszTWndClass[];
  109. extern  PSEQ            gpSeq;
  110. extern  char            gszUntitled[80];
  111. extern  char            gszAppLongName[80];
  112. extern  char            gszAppTitleMask[80];
  113. extern  char            grgszTimeFormats[N_TIME_FORMATS][CB_TIME_FORMATS];
  114. extern  RECT            grcTWnd;
  115. extern  int             gnTimeFormat;
  116.  
  117. /* MainWnd.C
  118. */
  119. VOID FNLOCAL InitToolbar(
  120.     HWND                    hWnd);
  121.  
  122. VOID FNLOCAL InitToolbar(
  123.     HWND                    hWnd);
  124.  
  125. LRESULT CALLBACK MWnd_WndProc(
  126.     HWND                    hWnd,
  127.     UINT                    msg,
  128.     WPARAM                  wParam,
  129.     LPARAM                  lParam);
  130.  
  131. /* TimeWnd.C
  132. */
  133. LRESULT CALLBACK TWnd_WndProc(
  134.     HWND                    hWnd,
  135.     UINT                    msg,
  136.     WPARAM                  wParam,
  137.     LPARAM                  lParam);
  138.  
  139. /* UiUtils.C
  140. */
  141. VOID FNLOCAL MessagePump(
  142.     VOID);
  143.  
  144. VOID FNLOCAL Error(
  145.      HWND                   hWnd,
  146.      int                    nErrDesc,
  147.      MMRESULT               mmrc);
  148.  
  149. VOID FNLOCAL EmbossedTextOut(
  150.      HDC                    hDC,
  151.      int                    x,
  152.      int                    y,
  153.      LPSTR                  lpsz,
  154.      UINT                   cb,
  155.      COLORREF               crText,
  156.      COLORREF               crShadow,
  157.      int                    cx,
  158.      int                    cy);   
  159.  
  160. HFONT FNLOCAL CreateScaledFont(
  161.      HDC                    hDC,
  162.      LPRECT                 lpRect,
  163.      LPSTR                  lpszFormat,
  164.      int                    anPosX[],
  165.      int* nPosY);
  166.  
  167. #endif
  168.