home *** CD-ROM | disk | FTP | other *** search
/ NEXT Generation 27 / NEXT27.iso / pc / demos / emperor / dx3.exe / SDK / SAMPLES / DSSHOW3D / DSSHOW3D.H < prev    next >
C/C++ Source or Header  |  1996-08-28  |  3KB  |  96 lines

  1. /*==========================================================================
  2.  *
  3.  *  Copyright (C) 1995-1996 Microsoft Corporation. All Rights Reserved.
  4.  *
  5.  *  File:       DSShow3D.h
  6.  *  Content:    DirectSound Mixing Test with 3D sound main header file
  7.  *
  8.  ***************************************************************************/
  9. #ifndef __DSSHOW3D_H__
  10. #define __DSSHOW3D_H__
  11.  
  12. #define QQUOTE(x) #x
  13. #define QUOTE(y) QQUOTE(y)
  14. #define REMIND(str) __FILE__ "(" QUOTE(__LINE__) ") : " str
  15.  
  16. #include <mmsystem.h>
  17. #include <dsound.h>
  18. #include <d3dtypes.h>
  19.  
  20. #include "resource.h"
  21. #include "debug.h"
  22.  
  23. #define MAXCONTROLS             200 // An insanely large number of controls
  24.  
  25. // To check for stopping of sounds, a timer is set...use this for the rate.
  26. #define TIMERPERIOD     300 // In milliseconds
  27.  
  28.  
  29. #define OPENFILENAME_F_LOCALFOCUS   0x00000001
  30. #define OPENFILENAME_F_STICKYFOCUS  0x00000002
  31. #define OPENFILENAME_F_GLOBALFOCUS  0x00000004
  32.  
  33. #define OPENFILENAME_F_GETPOS       0x00000008
  34. #define OPENFILENAME_F_GETPOS2      0x00000010
  35.  
  36. #define OPENFILENAME_F_3D       0x00000020
  37.  
  38.  
  39. #define MAXVOL_VAL  0
  40. #define MIDPAN_VAL  0
  41.  
  42. // Registry Keys and Values
  43. #define REG_SETTINGS_KEY        TEXT("Software\\Microsoft\\DSShow3D")
  44. #define REG_SETTING_DEVICE_DEFAULT  TEXT("UseDSoundDefault")
  45. #define REG_SETTING_USE_EXCLUSIVE   TEXT("UseExclusiveMode")
  46. #define REG_SETTING_OUTPUT_FORMAT   TEXT("PreferredOutputFormat")
  47. #define REG_SETTING_FOCUS_FLAG      TEXT("Focus")
  48. #define REG_SETTING_OPEN3D      TEXT("DefaultOpen3D")
  49. #define REG_SETTING_INITIAL_DIR     TEXT("InitialDirectory")
  50. #define REG_SETTING_DEVICE_GUID     TEXT("PreferredDevice")
  51. #define REG_DIRECT3D_KEY        TEXT("Software\\Microsoft\\Direct3D")
  52. #define REG_D3DPATH_VAL         TEXT("D3D Path")
  53.  
  54.  
  55. typedef struct tag_rs
  56. {
  57.     BOOL    fDefaultDevice;     // Use the DSound default device?
  58.     BOOL    fOpen3D;            // Default to opening in 3D?
  59.     BOOL    fUseExclusiveMode;      // Use exclusive mode?
  60.     DWORD   dwDefaultFocusFlag;     // The DSBCAPS flag for the default focus
  61.     DWORD   dwPreferredFormat;      // Preferred output format
  62.     char    szInitialDir[MAX_PATH]; // Initial open directory
  63.     GUID    guPreferredDevice;      // GUID of preferred device, if not default
  64. } REGSETTINGS, *PREGSETTINGS;
  65.  
  66.  
  67. typedef struct tag_fd
  68. {
  69.     DWORD   dwCode;
  70.     WORD    wCommandID;
  71.     BOOL    fEnable;
  72. } FORMATDATA, *PFORMATDATA;
  73.  
  74. ///////////////////////////////////////////////////////////////////////
  75. // Function prototypes
  76. //
  77.  
  78. BOOL CALLBACK DSEnumProc( LPGUID, LPSTR, LPSTR, LPVOID );
  79. BOOL CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM);
  80. BOOL CALLBACK SettingsDlgProc(HWND, UINT, WPARAM, LPARAM);
  81. UINT CALLBACK FileOpenCustomTemplateDlgProc(HWND, UINT, WPARAM, LPARAM);
  82.  
  83. BOOL OpenFileDialog(HWND, LPSTR, int *, LPDWORD);
  84. BOOL IsValidWave(LPSTR);
  85.  
  86. BOOL FormatCodeToWFX( DWORD, PWAVEFORMATEX );
  87. BOOL FormatCodeToText( DWORD, LPSTR, int );
  88.  
  89. DWORD FormatCodeFromCommandID( WORD );
  90. WORD CommandIDFromFormatCode( DWORD );
  91. void DisableFormatCode( DWORD );
  92. void EnableFormatCode( DWORD );
  93.  
  94.  
  95. #endif  // __DSSHOW3D_H__
  96.