MIDIMON.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /**************************************************************************
  2.  *
  3.  *  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4.  *  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5.  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6.  *  PURPOSE.
  7.  *
  8.  *  Copyright (C) 1993 - 1997  Microsoft Corporation.  All Rights Reserved.
  9.  * 
  10.  **************************************************************************/
  11. /*
  12.  *    midimon.h
  13.  */
  14. /* Compile-time application metrics
  15.  */
  16. #define MAX_NUM_DEVICES         8       // max # of MIDI input devices
  17. #define INPUT_BUFFER_SIZE       200     // size of input buffer in events
  18. #define DISPLAY_BUFFER_SIZE     1000    // size of display buffer in events
  19. /* Menu IDs 
  20.  */
  21. #define IDM_SAVE                101
  22. #define IDM_EXIT                102
  23. #define IDM_SETBUFSIZE          201
  24. #define IDM_SETDISPLAY          202
  25. #define IDM_SAVESETUP           203
  26. #define IDM_SENDTOMAPPER        204
  27. #define IDM_FILTCHAN0           300
  28. #define IDM_FILTCHAN1           301
  29. #define IDM_FILTCHAN2           302
  30. #define IDM_FILTCHAN3           303
  31. #define IDM_FILTCHAN4           304
  32. #define IDM_FILTCHAN5           305
  33. #define IDM_FILTCHAN6           306
  34. #define IDM_FILTCHAN7           307
  35. #define IDM_FILTCHAN8           308
  36. #define IDM_FILTCHAN9           309
  37. #define IDM_FILTCHAN10          310
  38. #define IDM_FILTCHAN11          311
  39. #define IDM_FILTCHAN12          312
  40. #define IDM_FILTCHAN13          313
  41. #define IDM_FILTCHAN14          314
  42. #define IDM_FILTCHAN15          315
  43. #define IDM_NOTEOFF             316
  44. #define IDM_NOTEON              317
  45. #define IDM_POLYAFTERTOUCH      318
  46. #define IDM_CONTROLCHANGE       319
  47. #define IDM_PROGRAMCHANGE       320
  48. #define IDM_CHANNELAFTERTOUCH   321
  49. #define IDM_PITCHBEND           322
  50. #define IDM_CHANNELMODE         323
  51. #define IDM_SYSTEMEXCLUSIVE     324
  52. #define IDM_SYSTEMCOMMON        325
  53. #define IDM_SYSTEMREALTIME      326
  54. #define IDM_ACTIVESENSE         327
  55. #define IDM_STARTSTOP           400
  56. #define IDM_CLEAR               500
  57. #define IDM_ABOUT               600
  58. /* String resource IDs 
  59.  */
  60. #define IDS_APPNAME             1
  61. #define IDS_LABEL 16
  62. #define IDS_UNKNOWN_EVENT 17
  63. #define IDS_NOMIDIIN 18
  64. #define IDS_NOMEM_IBUF 19
  65. #define IDS_NOMEM_DBUF 20
  66. #define IDS_NOMEM 21
  67. #define IDS_START 22
  68. #define IDS_STOP 23
  69. #define IDS_WRITEERR 24
  70. /* Custom messages sent by low-level callback to application 
  71.  */
  72. #define MM_MIDIINPUT    WM_USER + 0
  73. /* The label for the display window.
  74.  */
  75. // now defined as IDS_LABEL in midimon.rc stringtable
  76. /* Structure for translating virtual key messages to scroll messages.
  77.  */
  78. typedef struct keyToScroll_tag
  79. {
  80.      WORD wVirtKey;
  81.      int  iMessage;
  82.      WORD wRequest;
  83. } KEYTOSCROLL;
  84. /* Structure to represent a single MIDI event.
  85.  */
  86. #define EVNT_F_ERROR    0x00000001L
  87. typedef struct event_tag
  88. {
  89.     DWORD fdwEvent;
  90.     DWORD dwDevice;
  91.     DWORD timestamp;
  92.     DWORD data;
  93. } EVENT;
  94. typedef EVENT FAR *LPEVENT;
  95. /* Function prototypes 
  96.  */
  97. LRESULT FAR PASCAL WndProc(HWND, UINT, WPARAM , LPARAM);
  98. VOID CommandMsg(HWND hWnd, WPARAM wParam, LPARAM lParam);
  99. void DoMenuItemCheck(HWND hWnd, WORD menuItem, BOOL newState);
  100. void SetupCustomChecks(HANDLE hInstance, HWND hWnd);
  101. BOOL InitFirstInstance(HANDLE);
  102. int Error(LPSTR msg);
  103. LPTSTR GetStringRes (int id);