source: trunk/src/winmm/auxiliary.cpp@ 2812

Last change on this file since 2812 was 2812, checked in by sandervl, 26 years ago

Added new logging feature + fixed waveout query format bug

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