www.pudn.com > LSJ_MIDIPLYR.rar > MIDIPLYR.H


/***************************************************************************** 
* 
*  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF 
*  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED 
*  TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR 
*  A PARTICULAR PURPOSE. 
* 
*  Copyright (C) 1993 - 1997 Microsoft Corporation. All Rights Reserved. 
* 
****************************************************************************** 
* 
* MIDIPlyr.H 
* 
* Main include file for the polymessage MIDI playback app. 
* 
*****************************************************************************/ 
 
#ifndef _MIDIPLYR_ 
#define _MIDIPLYR_ 
 
#include "seq.h" 
 
#define MAX_FILEPATH        256 
 
/* Number and size of playback buffers to keep around 
*/ 
#define C_MIDI_BUFFERS      4 
#define CB_MIDI_BUFFERS     1024 
 
 
/* Popup menu positions in main menu bar 
*/ 
#define POS_FILE            0 
#define POS_ACTIONS         1 
#define POS_OPTIONS         2 
#define POS_PLAYTHRU        3 
 
/* Status bar pane indices 
*/ 
#define SB_N_PANES          2 
#define SB_PANE_STATE       0 
#define SB_PANE_TFMT        1 
 
/* Resource ID's 
*/ 
#define ID_ICON             50 
#define ID_MENU             51 
 
#define IDM_EXIT            100 
#define IDM_ABOUT           101 
#define IDM_OPEN            102 
#define IDM_PLAY            103 
#define IDM_PAUSE           104 
#define IDM_STOP            105 
#define IDM_TOOLBAR         106 
#define IDM_STATUS          107 
#define IDM_AUTOPLAY        108 
 
#define IDM_DEVMIN          129 
#define IDM_MAPPER          129         /* MUST be IDM_DEVICES - 1 */ 
#define IDM_DEVICES         130         /* 129 thru 149 */ 
#define IDM_DEVMAX          149 
 
#define IDM_SYNCUI          150         /* DEBUG */ 
 
#define IDB_TOOLBAR         200 
 
#define IDC_TOOLBAR         300 
#define IDC_STATBAR         301 
 
#define IDS_APPTITLEMASK    1000 
#define IDS_APPNAME         1001 
#define IDS_UNTITLED        1002 
 
/* ID's for these must be contiguous !!! 
** Note that we also use these as IDM_ items in the Options menu 
*/ 
#define IDS_TF_FIRST        1010 
#define IDS_HMS             1010 
#define IDS_TICKS           1011 
#define IDS_TF_LAST         1011 
 
/* ID's for sequencer state descriptions 
** These must also be contigous and in the same order as the SEQ_S 
** states in seq.h 
*/ 
#define IDS_STATES          1020 
#define IDS_NOFILE          (IDS_STATES + SEQ_S_NOFILE) 
#define IDS_OPENED          (IDS_STATES + SEQ_S_OPENED) 
#define IDS_PREROLLING      (IDS_STATES + SEQ_S_PREROLLING) 
#define IDS_PREROLLED       (IDS_STATES + SEQ_S_PREROLLED) 
#define IDS_PLAYING         (IDS_STATES + SEQ_S_PLAYING) 
#define IDS_PAUSED          (IDS_STATES + SEQ_S_PAUSED) 
#define IDS_STOPPING        (IDS_STATES + SEQ_S_STOPPING) 
 
#define N_TIME_FORMATS      (IDS_TF_LAST - IDS_TF_FIRST + 1) 
#define CB_TIME_FORMATS     40 
 
#define IDS_OPENFAILED      1050 
#define IDS_PREROLLFAILED   1051 
#define IDS_TESTERR         1052 
#define IDS_STOPFAILED		1053 
 
/* Globals 
*/ 
extern  HINSTANCE       ghInst; 
extern  char BCODE      gszMWndClass[]; 
extern  char BCODE      gszTWndClass[]; 
extern  PSEQ            gpSeq; 
extern  char            gszUntitled[80]; 
extern  char            gszAppLongName[80]; 
extern  char            gszAppTitleMask[80]; 
extern  char            grgszTimeFormats[N_TIME_FORMATS][CB_TIME_FORMATS]; 
extern  RECT            grcTWnd; 
extern  int             gnTimeFormat; 
 
/* MainWnd.C 
*/ 
VOID FNLOCAL InitToolbar( 
    HWND                    hWnd); 
 
VOID FNLOCAL InitToolbar( 
    HWND                    hWnd); 
 
LRESULT CALLBACK MWnd_WndProc( 
    HWND                    hWnd, 
    UINT                    msg, 
    WPARAM                  wParam, 
    LPARAM                  lParam); 
 
/* TimeWnd.C 
*/ 
LRESULT CALLBACK TWnd_WndProc( 
    HWND                    hWnd, 
    UINT                    msg, 
    WPARAM                  wParam, 
    LPARAM                  lParam); 
 
/* UiUtils.C 
*/ 
VOID FNLOCAL MessagePump( 
    VOID); 
 
VOID FNLOCAL Error( 
     HWND                   hWnd, 
     int                    nErrDesc, 
     MMRESULT               mmrc); 
 
VOID FNLOCAL EmbossedTextOut( 
     HDC                    hDC, 
     int                    x, 
     int                    y, 
     LPSTR                  lpsz, 
     UINT                   cb, 
     COLORREF               crText, 
     COLORREF               crShadow, 
     int                    cx, 
     int                    cy);    
 
HFONT FNLOCAL CreateScaledFont( 
     HDC                    hDC, 
     LPRECT                 lpRect, 
     LPSTR                  lpszFormat, 
     int                    anPosX[], 
     int* nPosY); 
 
#endif