1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2012 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken (at) libsdl.org 21 */ 22 #include "SDL_config.h" 23 24 #ifndef _SDL_lowaudio_h 25 #define _SDL_lowaudio_h 26 27 #define INCL_TYPES 28 #define INCL_DOSSEMAPHORES 29 #define INCL_DOSRESOURCES 30 #define INCL_DOSMISC 31 #define INCL_DOSERRORS 32 33 #define INCL_OS2MM 34 #define INCL_MMIOOS2 35 #define INCL_MCIOS2 36 #include <os2.h> 37 #include <os2me.h> // DART stuff and MMIO stuff 38 39 #include "../SDL_sysaudio.h" 40 41 /* Hidden "this" pointer for the audio functions */ 42 #define _THIS SDL_AudioDevice *_this 43 44 /* The DirectSound objects */ 45 struct SDL_PrivateAudioData 46 { 47 int iCurrDeviceOrd; 48 int iCurrFreq; 49 int iCurrBits; 50 int iCurrChannels; 51 int iCurrNumBufs; 52 int iCurrBufSize; 53 54 int iLastPlayedBuf; 55 int iNextFreeBuffer; 56 57 MCI_BUFFER_PARMS BufferParms; // Sound buffer parameters 58 MCI_MIX_BUFFER *pMixBuffers; // Sound buffers 59 MCI_MIXSETUP_PARMS MixSetupParms; // Mixer setup parameters 60 HEV hevAudioBufferPlayed; // Event semaphore to indicate that an audio buffer has been played by DART 61 }; 62 63 #endif /* _SDL_lowaudio_h */ 64