mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-06 04:11:01 +00:00
wineoss.drv: Move opening devices to their respective xxxMessage functions.
This commit is contained in:
parent
ce91ee441a
commit
c0a602c2e9
|
@ -1140,18 +1140,22 @@ static char* StrDup(const char* str, const char* def)
|
||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int WAVE_loadcount;
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
* OSS_WaveInit
|
* OSS_WaveInit
|
||||||
*
|
*
|
||||||
* Initialize internal structures from OSS information
|
* Initialize internal structures from OSS information
|
||||||
*/
|
*/
|
||||||
LRESULT OSS_WaveInit(void)
|
static LRESULT OSS_WaveInit(void)
|
||||||
{
|
{
|
||||||
char* str;
|
char* str;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
/* FIXME: Remove unneeded members of WOutDev and WInDev */
|
/* FIXME: Remove unneeded members of WOutDev and WInDev */
|
||||||
TRACE("()\n");
|
TRACE("(%i)\n", WAVE_loadcount);
|
||||||
|
if (WAVE_loadcount++)
|
||||||
|
return 1;
|
||||||
|
|
||||||
str=getenv("AUDIODEV");
|
str=getenv("AUDIODEV");
|
||||||
if (str!=NULL)
|
if (str!=NULL)
|
||||||
|
@ -1230,10 +1234,12 @@ LRESULT OSS_WaveInit(void)
|
||||||
*
|
*
|
||||||
* Delete/clear internal structures of OSS information
|
* Delete/clear internal structures of OSS information
|
||||||
*/
|
*/
|
||||||
LRESULT OSS_WaveExit(void)
|
static LRESULT OSS_WaveExit(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
TRACE("()\n");
|
TRACE("(%i)\n", WAVE_loadcount);
|
||||||
|
if (--WAVE_loadcount)
|
||||||
|
return 1;
|
||||||
|
|
||||||
for (i = 0; i < MAX_WAVEDRV; ++i)
|
for (i = 0; i < MAX_WAVEDRV; ++i)
|
||||||
{
|
{
|
||||||
|
@ -3136,7 +3142,9 @@ DWORD WINAPI OSS_widMessage(WORD wDevID, WORD wMsg, DWORD_PTR dwUser,
|
||||||
|
|
||||||
switch (wMsg) {
|
switch (wMsg) {
|
||||||
case DRVM_INIT:
|
case DRVM_INIT:
|
||||||
|
return OSS_WaveInit();
|
||||||
case DRVM_EXIT:
|
case DRVM_EXIT:
|
||||||
|
return OSS_WaveExit();
|
||||||
case DRVM_ENABLE:
|
case DRVM_ENABLE:
|
||||||
case DRVM_DISABLE:
|
case DRVM_DISABLE:
|
||||||
/* FIXME: Pretend this is supported */
|
/* FIXME: Pretend this is supported */
|
||||||
|
|
|
@ -170,23 +170,23 @@ static int MIDI_UnixToWindowsDeviceType(int type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int MIDI_loadcount;
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* OSS_MidiInit [internal]
|
* OSS_MidiInit [internal]
|
||||||
*
|
*
|
||||||
* Initializes the MIDI devices information variables
|
* Initializes the MIDI devices information variables
|
||||||
*/
|
*/
|
||||||
LRESULT OSS_MidiInit(void)
|
static LRESULT OSS_MidiInit(void)
|
||||||
{
|
{
|
||||||
int i, status, numsynthdevs = 255, nummididevs = 255;
|
int i, status, numsynthdevs = 255, nummididevs = 255;
|
||||||
struct synth_info sinfo;
|
struct synth_info sinfo;
|
||||||
struct midi_info minfo;
|
struct midi_info minfo;
|
||||||
static BOOL bInitDone = FALSE;
|
|
||||||
|
|
||||||
if (bInitDone)
|
TRACE("(%i)\n", MIDI_loadcount);
|
||||||
return 0;
|
if (MIDI_loadcount++)
|
||||||
|
return 1;
|
||||||
|
|
||||||
TRACE("Initializing the MIDI variables.\n");
|
TRACE("Initializing the MIDI variables.\n");
|
||||||
bInitDone = TRUE;
|
|
||||||
|
|
||||||
/* try to open device */
|
/* try to open device */
|
||||||
if (midiOpenSeq() == -1) {
|
if (midiOpenSeq() == -1) {
|
||||||
|
@ -381,9 +381,12 @@ LRESULT OSS_MidiInit(void)
|
||||||
*
|
*
|
||||||
* Release the MIDI devices information variables
|
* Release the MIDI devices information variables
|
||||||
*/
|
*/
|
||||||
LRESULT OSS_MidiExit(void)
|
static LRESULT OSS_MidiExit(void)
|
||||||
{
|
{
|
||||||
TRACE("()\n");
|
TRACE("(%i)\n", MIDI_loadcount);
|
||||||
|
|
||||||
|
if (--MIDI_loadcount)
|
||||||
|
return 1;
|
||||||
|
|
||||||
ZeroMemory(MidiInDev, sizeof(MidiInDev));
|
ZeroMemory(MidiInDev, sizeof(MidiInDev));
|
||||||
ZeroMemory(MidiOutDev, sizeof(MidiOutDev));
|
ZeroMemory(MidiOutDev, sizeof(MidiOutDev));
|
||||||
|
@ -1654,21 +1657,6 @@ static DWORD modReset(WORD wDevID)
|
||||||
return MMSYSERR_NOERROR;
|
return MMSYSERR_NOERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* HAVE_OSS_MIDI */
|
|
||||||
|
|
||||||
LRESULT OSS_MidiInit(void)
|
|
||||||
{
|
|
||||||
TRACE("()\n");
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
LRESULT OSS_MidiExit(void)
|
|
||||||
{
|
|
||||||
TRACE("()\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* HAVE_OSS_MIDI */
|
#endif /* HAVE_OSS_MIDI */
|
||||||
|
|
||||||
/*======================================================================*
|
/*======================================================================*
|
||||||
|
@ -1686,7 +1674,9 @@ DWORD WINAPI OSS_midMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
|
||||||
switch (wMsg) {
|
switch (wMsg) {
|
||||||
#ifdef HAVE_OSS_MIDI
|
#ifdef HAVE_OSS_MIDI
|
||||||
case DRVM_INIT:
|
case DRVM_INIT:
|
||||||
|
return OSS_MidiInit();
|
||||||
case DRVM_EXIT:
|
case DRVM_EXIT:
|
||||||
|
return OSS_MidiExit();
|
||||||
case DRVM_ENABLE:
|
case DRVM_ENABLE:
|
||||||
case DRVM_DISABLE:
|
case DRVM_DISABLE:
|
||||||
/* FIXME: Pretend this is supported */
|
/* FIXME: Pretend this is supported */
|
||||||
|
@ -1711,6 +1701,10 @@ DWORD WINAPI OSS_midMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
|
||||||
return midStart(wDevID);
|
return midStart(wDevID);
|
||||||
case MIDM_STOP:
|
case MIDM_STOP:
|
||||||
return midStop(wDevID);
|
return midStop(wDevID);
|
||||||
|
#else
|
||||||
|
case DRVM_INIT:
|
||||||
|
case MIDM_GETNUMDEVS:
|
||||||
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
TRACE("Unsupported message\n");
|
TRACE("Unsupported message\n");
|
||||||
|
@ -1730,7 +1724,9 @@ DWORD WINAPI OSS_modMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
|
||||||
switch (wMsg) {
|
switch (wMsg) {
|
||||||
#ifdef HAVE_OSS_MIDI
|
#ifdef HAVE_OSS_MIDI
|
||||||
case DRVM_INIT:
|
case DRVM_INIT:
|
||||||
|
return OSS_MidiInit();
|
||||||
case DRVM_EXIT:
|
case DRVM_EXIT:
|
||||||
|
return OSS_MidiExit();
|
||||||
case DRVM_ENABLE:
|
case DRVM_ENABLE:
|
||||||
case DRVM_DISABLE:
|
case DRVM_DISABLE:
|
||||||
/* FIXME: Pretend this is supported */
|
/* FIXME: Pretend this is supported */
|
||||||
|
@ -1757,6 +1753,10 @@ DWORD WINAPI OSS_modMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
|
||||||
return 0;
|
return 0;
|
||||||
case MODM_RESET:
|
case MODM_RESET:
|
||||||
return modReset(wDevID);
|
return modReset(wDevID);
|
||||||
|
#else
|
||||||
|
case DRVM_INIT:
|
||||||
|
case MODM_GETNUMDEVS:
|
||||||
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
TRACE("Unsupported message\n");
|
TRACE("Unsupported message\n");
|
||||||
|
|
|
@ -1433,7 +1433,7 @@ static DWORD MIX_SetControlDetails(WORD wDevID, LPMIXERCONTROLDETAILS lpmcd,
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* MIX_Init [internal]
|
* MIX_Init [internal]
|
||||||
*/
|
*/
|
||||||
LRESULT OSS_MixerInit(void)
|
static LRESULT OSS_MixerInit(void)
|
||||||
{
|
{
|
||||||
int i, mixer;
|
int i, mixer;
|
||||||
|
|
||||||
|
@ -1485,7 +1485,7 @@ LRESULT OSS_MixerInit(void)
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* MIX_Exit [internal]
|
* MIX_Exit [internal]
|
||||||
*/
|
*/
|
||||||
LRESULT OSS_MixerExit(void)
|
static LRESULT OSS_MixerExit(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -1524,7 +1524,9 @@ DWORD WINAPI OSS_mxdMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
|
||||||
switch (wMsg)
|
switch (wMsg)
|
||||||
{
|
{
|
||||||
case DRVM_INIT:
|
case DRVM_INIT:
|
||||||
|
return OSS_MixerInit();
|
||||||
case DRVM_EXIT:
|
case DRVM_EXIT:
|
||||||
|
return OSS_MixerExit();
|
||||||
case DRVM_ENABLE:
|
case DRVM_ENABLE:
|
||||||
case DRVM_DISABLE:
|
case DRVM_DISABLE:
|
||||||
/* FIXME: Pretend this is supported */
|
/* FIXME: Pretend this is supported */
|
||||||
|
|
|
@ -49,7 +49,7 @@ static int NumDev = 6;
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
LRESULT OSS_AuxInit(void)
|
static LRESULT OSS_AuxInit(void)
|
||||||
{
|
{
|
||||||
int mixer;
|
int mixer;
|
||||||
TRACE("()\n");
|
TRACE("()\n");
|
||||||
|
@ -66,7 +66,7 @@ LRESULT OSS_AuxInit(void)
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
|
|
||||||
LRESULT OSS_AuxExit(void)
|
static LRESULT OSS_AuxExit(void)
|
||||||
{
|
{
|
||||||
TRACE("()\n");
|
TRACE("()\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -232,7 +232,9 @@ DWORD WINAPI OSS_auxMessage(UINT wDevID, UINT wMsg, DWORD_PTR dwUser,
|
||||||
#ifdef HAVE_OSS
|
#ifdef HAVE_OSS
|
||||||
switch (wMsg) {
|
switch (wMsg) {
|
||||||
case DRVM_INIT:
|
case DRVM_INIT:
|
||||||
|
return OSS_AuxInit();
|
||||||
case DRVM_EXIT:
|
case DRVM_EXIT:
|
||||||
|
return OSS_AuxExit();
|
||||||
case DRVM_ENABLE:
|
case DRVM_ENABLE:
|
||||||
case DRVM_DISABLE:
|
case DRVM_DISABLE:
|
||||||
/* FIXME: Pretend this is supported */
|
/* FIXME: Pretend this is supported */
|
||||||
|
|
|
@ -33,37 +33,6 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(wave);
|
WINE_DEFAULT_DEBUG_CHANNEL(wave);
|
||||||
|
|
||||||
#ifdef HAVE_OSS
|
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
* OSS_drvLoad [internal]
|
|
||||||
*/
|
|
||||||
static LRESULT OSS_drvLoad(void)
|
|
||||||
{
|
|
||||||
TRACE("()\n");
|
|
||||||
OSS_WaveInit();
|
|
||||||
OSS_MidiInit();
|
|
||||||
OSS_MixerInit();
|
|
||||||
OSS_AuxInit();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**************************************************************************
|
|
||||||
* OSS_drvFree [internal]
|
|
||||||
*/
|
|
||||||
static LRESULT OSS_drvFree(void)
|
|
||||||
{
|
|
||||||
TRACE("()\n");
|
|
||||||
OSS_WaveExit();
|
|
||||||
OSS_MidiExit();
|
|
||||||
OSS_MixerExit();
|
|
||||||
OSS_AuxExit();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* DriverProc (WINEOSS.1)
|
* DriverProc (WINEOSS.1)
|
||||||
*/
|
*/
|
||||||
|
@ -75,8 +44,8 @@ LRESULT CALLBACK OSS_DriverProc(DWORD_PTR dwDevID, HDRVR hDriv, UINT wMsg,
|
||||||
|
|
||||||
switch(wMsg) {
|
switch(wMsg) {
|
||||||
#ifdef HAVE_OSS
|
#ifdef HAVE_OSS
|
||||||
case DRV_LOAD: return OSS_drvLoad();
|
case DRV_LOAD:
|
||||||
case DRV_FREE: return OSS_drvFree();
|
case DRV_FREE:
|
||||||
case DRV_OPEN:
|
case DRV_OPEN:
|
||||||
case DRV_CLOSE:
|
case DRV_CLOSE:
|
||||||
case DRV_ENABLE:
|
case DRV_ENABLE:
|
||||||
|
|
|
@ -37,15 +37,3 @@
|
||||||
#ifdef SNDCTL_DSP_STEREO
|
#ifdef SNDCTL_DSP_STEREO
|
||||||
# define HAVE_OSS
|
# define HAVE_OSS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LRESULT OSS_WaveInit(void);
|
|
||||||
LRESULT OSS_WaveExit(void);
|
|
||||||
|
|
||||||
LRESULT OSS_MidiInit(void);
|
|
||||||
LRESULT OSS_MidiExit(void);
|
|
||||||
|
|
||||||
LRESULT OSS_MixerInit(void);
|
|
||||||
LRESULT OSS_MixerExit(void);
|
|
||||||
|
|
||||||
LRESULT OSS_AuxInit(void);
|
|
||||||
LRESULT OSS_AuxExit(void);
|
|
||||||
|
|
Loading…
Reference in a new issue