source: trunk/src/winmm/aux.cpp@ 588

Last change on this file since 588 was 588, checked in by phaller, 26 years ago

Add: added ODINWRAP support for WINMM

File size: 4.7 KB
Line 
1/* $Id: aux.cpp,v 1.4 1999-08-19 18:46:04 phaller Exp $ */
2
3/*
4 * Auxilary multimedia apis
5 *
6 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 *
9 * Project Odin Software License can be found in LICENSE.TXT
10 *
11 */
12
13
14/****************************************************************************
15 * Includes *
16 ****************************************************************************/
17
18#include <os2win.h>
19#include <mmsystem.h>
20#include <odinwrap.h>
21#include <string.h>
22
23#include <misc.h>
24#include <unicode.h>
25
26#include "winmm.h"
27#include "aux.h"
28
29ODINDEBUGCHANNEL(WINMM-AUX)
30
31/******************************************************************************/
32/******************************************************************************/
33ODINFUNCTION3(MMRESULT, auxGetDevCapsA,
34 UINT, uDeviceID,
35 LPAUXCAPSA, pac,
36 UINT, cbac)
37{
38 if(uDeviceID == AUX_MAPPER) {//AUX mapper
39 return(MMSYSERR_NODRIVER);
40 }
41 if(uDeviceID != 0) {
42 return(MMSYSERR_BADDEVICEID);
43 }
44 if(auxOS2Open() == FALSE) {
45 return(MMSYSERR_NODRIVER);
46 }
47 pac->wMid = 0;
48 pac->wPid = 0;
49 pac->vDriverVersion = 0x0001;
50 strcpy(pac->szPname, "OS/2 Aux Device");
51 pac->wTechnology = AUXCAPS_AUXIN;
52 pac->wReserved1 = 0;
53 pac->dwSupport = AUXCAPS_LRVOLUME | AUXCAPS_VOLUME;
54 return MMSYSERR_NOERROR;
55}
56/******************************************************************************/
57/******************************************************************************/
58ODINFUNCTION3(MMRESULT, auxGetDevCapsW,
59 UINT, uDeviceID,
60 LPAUXCAPSW, pac,
61 UINT, cbac)
62{
63 if(uDeviceID == AUX_MAPPER) {//AUX mapper
64 return(MMSYSERR_NODRIVER);
65 }
66 if(uDeviceID != 0) {
67 return(MMSYSERR_BADDEVICEID);
68 }
69 if(auxOS2Open() == FALSE) {
70 return(MMSYSERR_NODRIVER);
71 }
72 pac->wMid = 0;
73 pac->wPid = 0;
74 pac->vDriverVersion = 0x0001;
75 AsciiToUnicode("OS/2 Aux Device", pac->szPname);
76 pac->wTechnology = AUXCAPS_AUXIN;
77 pac->wReserved1 = 0;
78 pac->dwSupport = AUXCAPS_LRVOLUME | AUXCAPS_VOLUME;
79 return MMSYSERR_NOERROR;
80}
81/******************************************************************************/
82/******************************************************************************/
83ODINFUNCTION2(MMRESULT, auxSetVolume,
84 UINT, uDeviceID,
85 DWORD, dwVolume)
86{
87 if(uDeviceID == AUX_MAPPER) {//AUX mapper
88 return(MMSYSERR_NODRIVER);
89 }
90 if(uDeviceID != 0) {
91 return(MMSYSERR_BADDEVICEID);
92 }
93 if(auxOS2Open() == FALSE) {
94 return(MMSYSERR_NODRIVER);
95 }
96 return auxOS2SetVolume(dwVolume);
97}
98/******************************************************************************/
99/******************************************************************************/
100ODINFUNCTION2(MMRESULT, auxGetVolume,
101 UINT, uDeviceID,
102 LPDWORD, pdwVolume)
103{
104 if(uDeviceID == AUX_MAPPER) {//AUX mapper
105 return(MMSYSERR_NODRIVER);
106 }
107 if(uDeviceID != 0) {
108 return(MMSYSERR_BADDEVICEID);
109 }
110 if(auxOS2Open() == FALSE) {
111 return(MMSYSERR_NODRIVER);
112 }
113 return auxOS2GetVolume(pdwVolume);
114}
115/******************************************************************************/
116/******************************************************************************/
117ODINFUNCTION0(UINT, auxGetNumDevs)
118{
119 if(auxOS2Open() == FALSE)
120 return(0);
121 else
122 return 1;
123}
124/******************************************************************************/
125/******************************************************************************/
126ODINFUNCTION4(MMRESULT, auxOutMessage,
127 UINT, uDeviceID,
128 UINT, uMsg,
129 DWORD, dwParam1,
130 DWORD, dwParam2)
131{
132 if(uDeviceID == AUX_MAPPER) {//AUX mapper
133 return(MMSYSERR_NODRIVER);
134 }
135 if(uDeviceID != 0) {
136 return(MMSYSERR_BADDEVICEID);
137 }
138 if(auxOS2Open() == FALSE) {
139 return(MMSYSERR_NODRIVER);
140 }
141 switch(uMsg) {
142 case DRVM_INIT:
143 case DRVM_EXIT:
144 return MMSYSERR_NOERROR;
145 case AUXDM_GETNUMDEVS:
146 return auxGetNumDevs();
147
148 case AUXDM_GETDEVCAPS:
149 return auxGetDevCapsA(uDeviceID, (AUXCAPSA *)dwParam1, dwParam2);
150
151 case AUXDM_GETVOLUME:
152 return auxGetVolume(uDeviceID, (DWORD *)dwParam1);
153
154 case AUXDM_SETVOLUME:
155 return auxSetVolume(uDeviceID, dwParam1);
156 }
157 return MMSYSERR_NOTSUPPORTED;
158}
159/******************************************************************************/
160/******************************************************************************/
161
Note: See TracBrowser for help on using the repository browser.