Changeset 1404 for trunk/src


Ignore:
Timestamp:
Oct 22, 1999, 8:09:16 PM (26 years ago)
Author:
sandervl
Message:

Implemented correct waveOutGetNumDevs

Location:
trunk/src/winmm
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/winmm/dwaveout.cpp

    r1011 r1404  
    1 /* $Id: dwaveout.cpp,v 1.7 1999-09-23 09:35:24 sandervl Exp $ */
     1/* $Id: dwaveout.cpp,v 1.8 1999-10-22 18:09:15 sandervl Exp $ */
    22
    33/*
     
    5656   this->dwInstance = dwInstance;
    5757
    58    callback((ULONG)this, WOM_OPEN, dwInstance, 0, 0);
     58   if(!ulError)
     59        callback((ULONG)this, WOM_OPEN, dwInstance, 0, 0);
    5960}
    6061/******************************************************************************/
     
    6667   this->hwndCallback = hwndCallback;
    6768
    68    PostMessageA(hwndCallback, WOM_OPEN, 0, 0);
     69   if(!ulError)
     70        PostMessageA(hwndCallback, WOM_OPEN, 0, 0);
    6971}
    7072/******************************************************************************/
     
    133135#endif
    134136    mciError(rc);
    135     ulError = MMSYSERR_NOTENABLED;
     137    ulError = MMSYSERR_NODRIVER;
    136138   }
    137139   if(rc == 0) {
     
    178180   MCI_GENERIC_PARMS    GenericParms;
    179181
    180    // Generic parameters
    181    GenericParms.hwndCallback = 0;   //hwndFrame
    182 
    183    // Stop the playback.
    184    mciSendCommand(DeviceId, MCI_STOP,MCI_WAIT, (PVOID)&GenericParms,0);
    185 
    186    mciSendCommand(DeviceId,
     182   if(!ulError) {
     183        // Generic parameters
     184        GenericParms.hwndCallback = 0;   //hwndFrame
     185
     186        // Stop the playback.
     187        mciSendCommand(DeviceId, MCI_STOP,MCI_WAIT, (PVOID)&GenericParms,0);
     188
     189        mciSendCommand(DeviceId,
    187190                  MCI_BUFFER,
    188191                  MCI_WAIT | MCI_DEALLOCATE_MEMORY,
     
    190193                  0);
    191194
    192    // Generic parameters
    193    GenericParms.hwndCallback = 0;   //hwndFrame
    194 
    195    // Close the device
    196    mciSendCommand(DeviceId, MCI_CLOSE, MCI_WAIT, (PVOID)&GenericParms, 0);
     195        // Generic parameters
     196        GenericParms.hwndCallback = 0;   //hwndFrame
     197
     198        // Close the device
     199        mciSendCommand(DeviceId, MCI_CLOSE, MCI_WAIT, (PVOID)&GenericParms, 0);
     200   }
    197201
    198202   if(wmutex)
    199     wmutex->enter(VMUTEX_WAIT_FOREVER);
     203        wmutex->enter(VMUTEX_WAIT_FOREVER);
    200204
    201205   State = STATE_STOPPED;
     
    215219    wmutex->leave();
    216220
    217    if(callback) {
    218     callback((ULONG)this, WOM_CLOSE, dwInstance, 0, 0);
    219    }
    220    else
    221    if(hwndCallback)
    222     PostMessageA(hwndCallback, WOM_CLOSE, 0, 0);
     221   if(!ulError) {
     222        if(callback) {
     223                callback((ULONG)this, WOM_CLOSE, dwInstance, 0, 0);
     224        }
     225        else
     226        if(hwndCallback)
     227                PostMessageA(hwndCallback, WOM_CLOSE, 0, 0);
     228   }
    223229
    224230   if(wmutex)
     
    237243{
    238244  return(ulError);
     245}
     246/******************************************************************************/
     247/******************************************************************************/
     248int DartWaveOut::getNumDevices()
     249{
     250 MCI_GENERIC_PARMS  GenericParms;
     251 MCI_AMP_OPEN_PARMS AmpOpenParms;
     252 APIRET rc;
     253
     254   // Setup the open structure, pass the playlist and tell MCI_OPEN to use it
     255   memset(&AmpOpenParms,0,sizeof(AmpOpenParms));
     256
     257   AmpOpenParms.usDeviceID = ( USHORT ) 0;
     258   AmpOpenParms.pszDeviceType = ( PSZ ) MCI_DEVTYPE_AUDIO_AMPMIX;
     259
     260   rc = mciSendCommand(0, MCI_OPEN,
     261                       MCI_WAIT | MCI_OPEN_TYPE_ID | MCI_OPEN_SHAREABLE,
     262                       (PVOID) &AmpOpenParms,
     263                       0);
     264
     265   if(rc) {
     266        return 0; //no devices present
     267   }
     268
     269   // Generic parameters
     270   GenericParms.hwndCallback = 0;   //hwndFrame
     271
     272   // Close the device
     273   mciSendCommand(AmpOpenParms.usDeviceID, MCI_CLOSE, MCI_WAIT, (PVOID)&GenericParms, 0);
     274   
     275   return 1;
    239276}
    240277/******************************************************************************/
  • trunk/src/winmm/dwaveout.h

    r668 r1404  
    1 /* $Id: dwaveout.h,v 1.4 1999-08-24 21:21:11 phaller Exp $ */
     1/* $Id: dwaveout.h,v 1.5 1999-10-22 18:09:16 sandervl Exp $ */
    22
    33/*
     
    4848
    4949  static BOOL find(DartWaveOut *dwave);
     50  static int  getNumDevices();
    5051
    5152protected:
  • trunk/src/winmm/makefile

    r1144 r1404  
    1 # $Id: makefile,v 1.11 1999-10-05 19:24:00 phaller Exp $
     1# $Id: makefile,v 1.12 1999-10-22 18:09:16 sandervl Exp $
    22
    33#
     
    6969
    7070clean:
    71         $(RM) *.obj *.lib *.dll *~ *.map *.pch
     71        $(RM) *.obj *.lib *.dll *.map *.pch
    7272        $(RM) $(PDWIN32_BIN)\$(TARGET).dll
    7373        $(RM) $(PDWIN32_LIB)\$(TARGET).lib
  • trunk/src/winmm/time.cpp

    r764 r1404  
    1 /* $Id: time.cpp,v 1.4 1999-08-31 20:25:17 phaller Exp $ */
     1/* $Id: time.cpp,v 1.5 1999-10-22 18:09:16 sandervl Exp $ */
    22
    33/*
     
    1515 * Includes                                                                 *
    1616 ****************************************************************************/
    17 
    1817#include <os2win.h>
    1918#include <odinwrap.h>
     
    221220 *****************************************************************************/
    222221
    223 ODINFUNCTION0(DWORD, timeGetTime)
     222DWORD WIN32API timeGetTime()
    224223{
    225224  return O32_timeGetTime();
  • trunk/src/winmm/waveout.cpp

    r588 r1404  
    1 /* $Id: waveout.cpp,v 1.4 1999-08-19 18:46:05 phaller Exp $ */
     1/* $Id: waveout.cpp,v 1.5 1999-10-22 18:09:16 sandervl Exp $ */
    22
    33/*
     
    283283ODINFUNCTION0(UINT, waveOutGetNumDevs)
    284284{
    285   return 1;
     285  return DartWaveOut::getNumDevices();
    286286}
    287287/******************************************************************************/
Note: See TracChangeset for help on using the changeset viewer.