Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
b4905d22
Commit
b4905d22
authored
Jun 24, 2000
by
Eric Pouech
Committed by
Alexandre Julliard
Jun 24, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleaned up loading/init code in OSS.
Cleaned up getDevCaps in midi part. Implemented asynchronous waveIn recording using a thread.
parent
c32169c1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
62 deletions
+15
-62
audio.c
dlls/winmm/wineoss/audio.c
+0
-0
midi.c
dlls/winmm/wineoss/midi.c
+12
-61
oss.c
dlls/winmm/wineoss/oss.c
+1
-1
oss.h
dlls/winmm/wineoss/oss.h
+2
-0
No files found.
dlls/winmm/wineoss/audio.c
View file @
b4905d22
This diff is collapsed.
Click to expand it.
dlls/winmm/wineoss/midi.c
View file @
b4905d22
...
...
@@ -135,7 +135,7 @@ static int MIDI_UnixToWindowsDeviceType(int type)
*
* Initializes the MIDI devices information variables
*/
static
BOOL
OSS_MidiInit
(
void
)
BOOL
OSS_MidiInit
(
void
)
{
int
i
,
status
,
numsynthdevs
=
255
,
nummididevs
=
255
;
struct
synth_info
sinfo
;
...
...
@@ -591,29 +591,12 @@ static VOID WINAPI midTimeCallback(HWND hwnd, UINT msg, UINT id, DWORD dwTime)
*/
static
DWORD
midGetDevCaps
(
WORD
wDevID
,
LPMIDIINCAPSA
lpCaps
,
DWORD
dwSize
)
{
LPMIDIINCAPSA
tmplpCaps
;
TRACE
(
"(%04X, %p, %08lX);
\n
"
,
wDevID
,
lpCaps
,
dwSize
);
if
(
wDevID
>=
MIDM_NUMDEVS
)
{
return
MMSYSERR_BADDEVICEID
;
}
if
(
lpCaps
==
NULL
)
{
return
MMSYSERR_INVALPARAM
;
}
tmplpCaps
=
midiInDevices
[
wDevID
];
lpCaps
->
wMid
=
tmplpCaps
->
wMid
;
lpCaps
->
wPid
=
tmplpCaps
->
wPid
;
lpCaps
->
vDriverVersion
=
tmplpCaps
->
vDriverVersion
;
strcpy
(
lpCaps
->
szPname
,
tmplpCaps
->
szPname
);
if
(
dwSize
==
sizeof
(
MIDIINCAPSA
))
{
/* we should run win 95, so make use of dwSupport */
lpCaps
->
dwSupport
=
tmplpCaps
->
dwSupport
;
}
else
if
(
dwSize
!=
sizeof
(
MIDIINCAPSA
)
-
sizeof
(
DWORD
))
{
TRACE
(
"bad size for lpCaps
\n
"
);
return
MMSYSERR_INVALPARAM
;
}
if
(
wDevID
>=
MIDM_NUMDEVS
)
return
MMSYSERR_BADDEVICEID
;
if
(
lpCaps
==
NULL
)
return
MMSYSERR_INVALPARAM
;
memcpy
(
lpCaps
,
midiInDevices
[
wDevID
],
min
(
dwSize
,
sizeof
(
*
lpCaps
)));
return
MMSYSERR_NOERROR
;
}
...
...
@@ -956,42 +939,15 @@ static void modFMReset(WORD wDevID)
/**************************************************************************
* modGetDevCaps [internal]
*/
static
DWORD
modGetDevCaps
(
WORD
wDevID
,
LPMIDIOUTCAPSA
lpCaps
,
DWORD
dwSize
)
static
DWORD
modGetDevCaps
(
WORD
wDevID
,
LPMIDIOUTCAPSA
lpCaps
,
DWORD
dwSize
)
{
TRACE
(
"(%04X, %p, %08lX);
\n
"
,
wDevID
,
lpCaps
,
dwSize
);
if
(
wDevID
==
(
WORD
)
MIDI_MAPPER
)
{
lpCaps
->
wMid
=
0x00FF
;
/* Manufac ID */
lpCaps
->
wPid
=
0x0001
;
/* Product ID */
lpCaps
->
vDriverVersion
=
0x001
;
/* Product Version */
strcpy
(
lpCaps
->
szPname
,
"MIDI Mapper (not functional yet)"
);
/* FIXME Does it make any difference ? */
lpCaps
->
wTechnology
=
MOD_FMSYNTH
;
lpCaps
->
wVoices
=
14
;
/* FIXME */
lpCaps
->
wNotes
=
14
;
/* FIXME */
/* FIXME Does it make any difference ? */
lpCaps
->
dwSupport
=
MIDICAPS_VOLUME
|
MIDICAPS_LRVOLUME
;
}
else
{
LPMIDIOUTCAPSA
tmplpCaps
;
if
(
wDevID
>=
MODM_NUMDEVS
)
{
TRACE
(
"MAX_MIDIOUTDRV reached !
\n
"
);
return
MMSYSERR_BADDEVICEID
;
}
/* FIXME There is a way to do it so easily, but I'm too
* sleepy to think and I want to test
*/
tmplpCaps
=
midiOutDevices
[
wDevID
];
lpCaps
->
wMid
=
tmplpCaps
->
wMid
;
lpCaps
->
wPid
=
tmplpCaps
->
wPid
;
lpCaps
->
vDriverVersion
=
tmplpCaps
->
vDriverVersion
;
strcpy
(
lpCaps
->
szPname
,
tmplpCaps
->
szPname
);
lpCaps
->
wTechnology
=
tmplpCaps
->
wTechnology
;
lpCaps
->
wVoices
=
tmplpCaps
->
wVoices
;
lpCaps
->
wNotes
=
tmplpCaps
->
wNotes
;
lpCaps
->
dwSupport
=
tmplpCaps
->
dwSupport
;
}
if
(
wDevID
>=
MODM_NUMDEVS
)
return
MMSYSERR_BADDEVICEID
;
if
(
lpCaps
==
NULL
)
return
MMSYSERR_INVALPARAM
;
memcpy
(
lpCaps
,
midiOutDevices
[
wDevID
],
min
(
dwSize
,
sizeof
(
*
lpCaps
)));
return
MMSYSERR_NOERROR
;
}
...
...
@@ -1578,9 +1534,6 @@ DWORD WINAPI OSS_midMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
switch
(
wMsg
)
{
#ifdef HAVE_OSS_MIDI
case
DRVM_INIT
:
OSS_MidiInit
();
/* fall thru */
case
DRVM_EXIT
:
case
DRVM_ENABLE
:
case
DRVM_DISABLE
:
/* FIXME: Pretend this is supported */
...
...
@@ -1624,8 +1577,6 @@ DWORD WINAPI OSS_modMessage(UINT wDevID, UINT wMsg, DWORD dwUser,
switch
(
wMsg
)
{
#ifdef HAVE_OSS_MIDI
case
DRVM_INIT
:
OSS_MidiInit
();
/* fall thru */
case
DRVM_EXIT
:
case
DRVM_ENABLE
:
case
DRVM_DISABLE
:
...
...
dlls/winmm/wineoss/oss.c
View file @
b4905d22
...
...
@@ -49,7 +49,7 @@ LONG CALLBACK OSS_DriverProc(DWORD dwDevID, HDRVR hDriv, DWORD wMsg,
/* EPP dwDevID, hDriv, wMsg, dwParam1, dwParam2); */
switch
(
wMsg
)
{
case
DRV_LOAD
:
return
1
;
case
DRV_LOAD
:
OSS_WaveInit
();
OSS_MidiInit
();
return
1
;
case
DRV_FREE
:
return
1
;
case
DRV_OPEN
:
return
OSS_drvOpen
((
LPSTR
)
dwParam1
);
case
DRV_CLOSE
:
return
OSS_drvClose
(
dwDevID
);
...
...
dlls/winmm/wineoss/oss.h
View file @
b4905d22
...
...
@@ -18,4 +18,6 @@
#define IOCTL(a,b,c) (c = ioctl(a,b,c))
#endif
extern
LONG
OSS_WaveInit
(
void
);
extern
BOOL
OSS_MidiInit
(
void
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment