GVARS.H

#ifndef __GVARS_H__ 
#define __GVARS_H__

class FileInfo;
class MainWnd;
class FileInfo3D;
class ListenerInfo;

#include <dsound.h>
#include "DSShow3d.h"
#include "MainWnd.h"

#ifdef __cplusplus
extern "C" {
#endif

// Make sure to change this if you add format code entries to fdFormats[]
#define NUM_FORMATENTRIES 16

#ifdef INIT_GVARS

TCHAR gszAppName[] = "DSShow3D";
TCHAR gszAppCaption[] = "DirectSound 3D Mixing Test";
TCHAR gszAppWndClass[] = "DSShow3D_MainApp_WndClass";

FORMATDATA fdFormats[] = { { 8108, ID_OPTIONS_FORMAT_8M8, TRUE },
{ 8116, ID_OPTIONS_FORMAT_8M16, TRUE },
{ 8208, ID_OPTIONS_FORMAT_8S8, TRUE },
{ 8216, ID_OPTIONS_FORMAT_8S16, TRUE },
{ 11108, ID_OPTIONS_FORMAT_11M8, TRUE },
{ 11116, ID_OPTIONS_FORMAT_11M16, TRUE },
{ 11208, ID_OPTIONS_FORMAT_11S8, TRUE },
{ 11216, ID_OPTIONS_FORMAT_11S16, TRUE },
{ 22108, ID_OPTIONS_FORMAT_22M8, TRUE },
{ 22116, ID_OPTIONS_FORMAT_22M16, TRUE },
{ 22208, ID_OPTIONS_FORMAT_22S8, TRUE },
{ 22216, ID_OPTIONS_FORMAT_22S16, TRUE },
{ 44108, ID_OPTIONS_FORMAT_44M8, TRUE },
{ 44116, ID_OPTIONS_FORMAT_44M16, TRUE },
{ 44208, ID_OPTIONS_FORMAT_44S8, TRUE },
{ 44216, ID_OPTIONS_FORMAT_44S16, TRUE } };


DWORD aFormatOrder[] = { 44216, 44116, 44208, 44108, 22216, 22116, 22208, 22108,
11216, 11116, 11208, 11108, 8216, 8116, 8208, 8108 };

HINSTANCE ghInst;
HWND hWndMain = NULL;
HWND ghDlgActive = NULL;
DWORD gdwTimer = 0; // Timer handle.
DWORD gcbMaxWaveFormatSize= 0;
DWORD gdwOutputFormat = 0;
BOOL gfCOMInitialized = FALSE;
REGSETTINGS grs;

PWAVEFORMATEX gpwfxFormat = NULL;
ListenerInfo * gpListenerInfo = NULL;
HWND ghwndListener = NULL;

LPDIRECTSOUND gpds = NULL;
LPDIRECTSOUNDBUFFER gpdsbPrimary = NULL;
LPDIRECTSOUND3DLISTENER gp3DListener = NULL;

MainWnd AppWnd;

#else // INIT_GVARS

extern TCHAR gszAppName[];
extern TCHAR gszAppCaption[];
extern TCHAR gszAppWndClass[];

extern FORMATDATA fdFormats[];
extern DWORD aFormatOrder[];

extern HINSTANCE ghInst;
extern HWND hWndMain;
extern HWND ghDlgActive;
extern DWORD gdwTimer; // Timer handle.
extern DWORD gcbMaxWaveFormatSize;
extern DWORD gdwOutputFormat;
extern BOOL gfCOMInitialized;
extern REGSETTINGS grs;

extern PWAVEFORMATEX gpwfxFormat;
extern ListenerInfo * gpListenerInfo;
extern HWND ghwndListener;

extern LPDIRECTSOUND gpds;
extern LPDIRECTSOUNDBUFFER gpdsbPrimary;
extern LPDIRECTSOUND3DLISTENER gp3DListener;

extern MainWnd AppWnd;

#endif // INIT_GVARS


#ifdef __cplusplus
}
#endif

#endif // __GVARS_H__