/*****************************************************************************
*
* 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 1993 - 1998 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_STOPFAILED1053
/* 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