Annotation of ntddk/src/mmedia/synth/dll/driver.h, revision 1.1.1.1

1.1       root        1: /****************************************************************************
                      2:  *
                      3:  *   driver.h
                      4:  *
                      5:  *   Copyright (c) 1991 Microsoft Corporation.  All Rights Reserved.
                      6:  *
                      7:  ***************************************************************************/
                      8: 
                      9: #include <synth.h>
                     10: 
                     11: //
                     12: // Porting stuff
                     13: //
                     14: 
                     15: #define BCODE
                     16: #define _loadds
                     17: 
                     18: #define fEnabled TRUE
                     19: 
                     20: #define AsULMUL(a, b) ((DWORD)((DWORD)(a) * (DWORD)(b)))
                     21: #define AsLSHL(a, b) ((DWORD)((DWORD)(a) << (DWORD)(b)))
                     22: #define AsULSHR(a, b) ((DWORD)((DWORD)(a) >> (DWORD)(b)))
                     23: 
                     24: #define AsMemCopy memcpy
                     25: 
                     26: extern HANDLE MidiDeviceHandle;
                     27: extern SYNTH_DATA DeviceData[];
                     28: extern int MidiPosition;
                     29: extern VOID MidiFlush(VOID);
                     30: extern VOID MidiCloseDevice(HANDLE DeviceHandle);
                     31: extern MMRESULT MidiOpenDevice(LPHANDLE lpHandle, BOOL Write);
                     32: extern MMRESULT MidiSetVolume(DWORD Left, DWORD Right);
                     33: extern VOID MidiCheckVolume(VOID);
                     34: extern MMRESULT MidiGetVolume(LPDWORD lpVolume);
                     35: 
                     36: #define SYNTH_DATA_SIZE 80
                     37: MMRESULT MidiTranslateStatus(VOID);
                     38: 
                     39: extern VOID FAR PASCAL MidiSendFM (DWORD wAddress, BYTE bValue);
                     40: extern VOID FAR PASCAL MidiNewVolume (WORD wLeft, WORD wRight);
                     41: extern WORD FAR PASCAL MidiInit (VOID);
                     42: 
                     43: extern BYTE gbVelocityAtten[32];
                     44: 
                     45: //
                     46: // End of porting stuff
                     47: //
                     48: 
                     49: /*
                     50:  * midi device type - determined by kernel driver
                     51:  */
                     52: UINT gMidiType;
                     53: /*
                     54:  * values for gMidiType - set in MidiOpenDevice
                     55:  */
                     56: #define TYPE_ADLIB     1
                     57: #define TYPE_OPL3      2
                     58: 
                     59: 
                     60: 
                     61: #define SYSEX_ERROR     0xFF    // internal error code for sysexes on input
                     62: 
                     63: #define STRINGLEN               (100)
                     64: 
                     65: /* number of windows which we can have registered */
                     66: #define REGWINDOWS              (10)
                     67: 
                     68: 
                     69: /* volume defines */
                     70: #define VOL_MIDI                (0)
                     71: #define VOL_NUMVOL              (1)
                     72: 
                     73: #define VOL_LEFT                (0)
                     74: #define VOL_RIGHT               (1)
                     75: 
                     76: /* strings */
                     77: 
                     78: #define SR_ALERT                1
                     79: #define SR_ALERT_IO             2
                     80: #define SR_ALERT_NOIO           3
                     81: #define        SR_ALERT_NOPATCH        4
                     82: 
                     83: #define SR_STR_DRIVERMIDIOUT    5
                     84: #define SR_STR_VOLUME           6
                     85: #define SR_ALERT_BAD            7
                     86: #define SR_ALERT_CONFIGFAIL     8
                     87: #define SR_ALERT_FAILREMOVE     9
                     88: 
                     89: #define IDS_MENUABOUT           10
                     90: 
                     91: 
                     92: /* MIDI defines */
                     93: /* errors */
                     94: #define ERR_OUTOFMEMORY         (1)
                     95: 
                     96: #define NUMCHANNELS                     (16)
                     97: #define NUMPATCHES                      (256)
                     98: #define DRUMCHANNEL                     (9)     /* midi channel 10 */
                     99: 
                    100: /****************************************************************************
                    101: 
                    102:        typedefs
                    103: 
                    104:  ***************************************************************************/
                    105: 
                    106: 
                    107: // per allocation structure for midi
                    108: typedef struct portalloc_tag {
                    109:     DWORD               dwCallback;     // client's callback
                    110:     DWORD               dwInstance;     // client's instance data
                    111:     HMIDIOUT            hMidi;          // handle for stream
                    112:     DWORD               dwFlags;        // allocation flags
                    113: }PORTALLOC, NEAR *NPPORTALLOC;
                    114: 
                    115: 
                    116: 
                    117: 
                    118: /****************************************************************************
                    119: 
                    120:        strings
                    121: 
                    122:  ***************************************************************************/
                    123: 
                    124: #if DBG
                    125: #ifndef NOSTR
                    126:     extern char FAR STR_DRIVER[];
                    127:     extern char FAR STR_MMDEBUG[];
                    128: #endif // NOSTR
                    129:     extern WCHAR STR_CRLF[];
                    130:     extern WCHAR STR_SPACE[];
                    131: #endif
                    132: 
                    133: #define STR_HELPFILE TEXT("synth.hlp")
                    134: #define INI_STR_PATCHLIB TEXT("Patches")
                    135: #define INI_SOUND        TEXT("synth.ini")
                    136: #define INI_DRIVER       TEXT("Driver")
                    137: 
                    138: 
                    139: /****************************************************************************
                    140: 
                    141:        globals
                    142: 
                    143:  ***************************************************************************/
                    144: 
                    145: /* midi.c */
                    146: extern BYTE    gbMidiInUse;            /* if MIDI is in use */
                    147: 
                    148: 
                    149: // in init.c
                    150: extern HMODULE  ghModule;           // our module handle
                    151: 
                    152: 
                    153: 
                    154: 
                    155: 
                    156: /***************************************************************************
                    157: 
                    158:     prototypes
                    159: 
                    160: ***************************************************************************/
                    161: 
                    162: BOOL NEAR PASCAL modSuspend(void);
                    163: BOOL NEAR PASCAL modReactivate(void);
                    164: 
                    165: 
                    166: // config.c
                    167: int DrvInstall(void);
                    168: extern int DlgAboutProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
                    169: extern LRESULT ConfigRemove(HWND hDlg);
                    170: 
                    171: // drvproc.c
                    172: LRESULT DriverProc(DWORD dwDriverID, HDRVR hDriver, UINT uiMessage, LPARAM lParam1, LPARAM lParam2);
                    173: 
                    174: 
                    175: // init.c
                    176: void cdecl AlertBox(HWND hwnd, UINT wStrId, ...);
                    177: WORD GetWindowsVersionCorrectly(void);
                    178: 
                    179: 
                    180: 
                    181: /* midi.c */
                    182: VOID NEAR PASCAL MidiMessage (DWORD dwData);
                    183: DWORD  modMessage(UINT id,
                    184:         UINT msg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2);
                    185: UINT MidiOpen (VOID);
                    186: VOID MidiClose (VOID);
                    187: void MidiReset(void);
                    188: void modGetDevCaps(LPBYTE lpCaps, UINT wSize);
                    189: 
                    190: 
                    191: 
                    192: /****************************************************************************
                    193: 
                    194:        Debug output
                    195: 
                    196:  ***************************************************************************/
                    197: #if DBG
                    198:     extern WORD  wDebugLevel;     // debug level
                    199:     #define D1(sz) if (wDebugLevel >= 1) (OutputDebugStr(STR_CRLF),OutputDebugStr(TEXT(sz)))
                    200:     #define D2(sz) if (wDebugLevel >= 2) (OutputDebugStr(STR_SPACE),OutputDebugStr(TEXT(sz)))
                    201:     #define D3(sz) if (wDebugLevel >= 3) (OutputDebugStr(STR_SPACE),OutputDebugStr(TEXT(sz)))
                    202:     #define D4(sz) if (wDebugLevel >= 4) (OutputDebugStr(STR_SPACE),OutputDebugStr(TEXT(sz)))
                    203: #else
                    204:     #define D1(sz) 0
                    205:     #define D2(sz) 0
                    206:     #define D3(sz) 0
                    207:     #define D4(sz) 0
                    208: #endif
                    209: 
                    210: 
                    211: 
                    212: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.