zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
winmm.c File Reference
#include "config.h"
#include <stdlib.h>
#include <stdio.h>
#include <memory.h>
#include <windows.h>
#include <mmsystem.h>
#include "alMain.h"
#include "alu.h"

Go to the source code of this file.

Macros

#define WAVE_FORMAT_IEEE_FLOAT   0x0003
 

Functions

void alcWinMMDeinit ()
 
ALCboolean alcWinMMInit (BackendFuncs *FuncList)
 
void alcWinMMProbe (enum DevProbe type)
 
static DWORD WINAPI CaptureThreadProc (LPVOID param)
 
static DWORD WINAPI PlaybackThreadProc (LPVOID param)
 
static void ProbeCaptureDevices (void)
 
static void ProbePlaybackDevices (void)
 
static void CALLBACK WaveInProc (HWAVEIN device, UINT msg, DWORD_PTR instance, DWORD_PTR param1, DWORD_PTR param2)
 
static void CALLBACK WaveOutProc (HWAVEOUT device, UINT msg, DWORD_PTR instance, DWORD_PTR param1, DWORD_PTR param2)
 
static ALCuint WinMMAvailableSamples (ALCdevice *Device)
 
static ALCenum WinMMCaptureSamples (ALCdevice *Device, ALCvoid *Buffer, ALCuint Samples)
 
static void WinMMCloseCapture (ALCdevice *Device)
 
static void WinMMClosePlayback (ALCdevice *device)
 
static ALCenum WinMMOpenCapture (ALCdevice *Device, const ALCchar *deviceName)
 
static ALCenum WinMMOpenPlayback (ALCdevice *Device, const ALCchar *deviceName)
 
static ALCboolean WinMMResetPlayback (ALCdevice *device)
 
static void WinMMStartCapture (ALCdevice *Device)
 
static ALCboolean WinMMStartPlayback (ALCdevice *device)
 
static void WinMMStopCapture (ALCdevice *Device)
 
static void WinMMStopPlayback (ALCdevice *device)
 

Variables

static ALCchar ** CaptureDeviceList
 
static ALuint NumCaptureDevices
 
static ALuint NumPlaybackDevices
 
static ALCchar ** PlaybackDeviceList
 
static const BackendFuncs WinMMFuncs
 

Macro Definition Documentation

#define WAVE_FORMAT_IEEE_FLOAT   0x0003

OpenAL cross platform audio library Copyright (C) 1999-2007 by authors. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Or go to http://www.gnu.org/copyleft/lgpl.html

Definition at line 34 of file winmm.c.

Referenced by MakeExtensible(), WinMMOpenCapture(), WinMMOpenPlayback(), and WinMMResetPlayback().

Function Documentation

void alcWinMMDeinit ( void  )

Definition at line 730 of file winmm.c.

References CaptureDeviceList, free, i, NULL, NumCaptureDevices, NumPlaybackDevices, and PlaybackDeviceList.

ALCboolean alcWinMMInit ( BackendFuncs FuncList)

Definition at line 724 of file winmm.c.

References ALC_TRUE, and WinMMFuncs.

static DWORD WINAPI CaptureThreadProc ( LPVOID  param)
static
static DWORD WINAPI PlaybackThreadProc ( LPVOID  param)
static
static void ProbeCaptureDevices ( void  )
static

Definition at line 103 of file winmm.c.

References CaptureDeviceList, free, i, j, NULL, NumCaptureDevices, realloc, and strdup().

Referenced by alcWinMMProbe(), and WinMMOpenCapture().

static void ProbePlaybackDevices ( void  )
static

Definition at line 64 of file winmm.c.

References free, i, j, NULL, NumPlaybackDevices, PlaybackDeviceList, realloc, and strdup().

Referenced by alcWinMMProbe(), and WinMMOpenPlayback().

static void CALLBACK WaveInProc ( HWAVEIN  device,
UINT  msg,
DWORD_PTR  instance,
DWORD_PTR  param1,
DWORD_PTR  param2 
)
static

Definition at line 216 of file winmm.c.

References ALCdevice_struct::ExtraData.

Referenced by WinMMOpenCapture().

static void CALLBACK WaveOutProc ( HWAVEOUT  device,
UINT  msg,
DWORD_PTR  instance,
DWORD_PTR  param1,
DWORD_PTR  param2 
)
static

Definition at line 149 of file winmm.c.

References ALCdevice_struct::ExtraData.

Referenced by WinMMOpenPlayback().

static ALCuint WinMMAvailableSamples ( ALCdevice Device)
static

Definition at line 700 of file winmm.c.

References ALCdevice_struct::ExtraData, and RingBufferSize().

static ALCenum WinMMCaptureSamples ( ALCdevice Device,
ALCvoid Buffer,
ALCuint  Samples 
)
static

Definition at line 693 of file winmm.c.

References ALC_NO_ERROR, ALCdevice_struct::ExtraData, and ReadRingBuffer().

static void WinMMCloseCapture ( ALCdevice Device)
static

Definition at line 640 of file winmm.c.

References AL_TRUE, DestroyRingBuffer(), ALCdevice_struct::ExtraData, FALSE, free, i, and NULL.

static void WinMMClosePlayback ( ALCdevice device)
static

Definition at line 357 of file winmm.c.

References ALCdevice_struct::ExtraData, free, and NULL.

static void WinMMStartCapture ( ALCdevice Device)
static

Definition at line 681 of file winmm.c.

References ALCdevice_struct::ExtraData.

static void WinMMStopCapture ( ALCdevice Device)
static

Definition at line 687 of file winmm.c.

References ALCdevice_struct::ExtraData.

static void WinMMStopPlayback ( ALCdevice device)
static

Definition at line 458 of file winmm.c.

References AL_FALSE, AL_TRUE, ALCdevice_struct::ExtraData, FALSE, free, i, and NULL.

Variable Documentation

ALCchar** CaptureDeviceList
static

Definition at line 60 of file winmm.c.

Referenced by alcWinMMDeinit(), alcWinMMProbe(), ProbeCaptureDevices(), and WinMMOpenCapture().

ALuint NumCaptureDevices
static

Definition at line 61 of file winmm.c.

Referenced by alcWinMMDeinit(), alcWinMMProbe(), ProbeCaptureDevices(), and WinMMOpenCapture().

ALuint NumPlaybackDevices
static

Definition at line 59 of file winmm.c.

Referenced by alcWinMMDeinit(), alcWinMMProbe(), ProbePlaybackDevices(), and WinMMOpenPlayback().

ALCchar** PlaybackDeviceList
static

Definition at line 58 of file winmm.c.

Referenced by alcWinMMDeinit(), alcWinMMProbe(), ProbePlaybackDevices(), and WinMMOpenPlayback().

const BackendFuncs WinMMFuncs
static
Initial value:
= {
}
static void WinMMStopCapture(ALCdevice *Device)
Definition: winmm.c:687
static ALCuint WinMMAvailableSamples(ALCdevice *Device)
Definition: winmm.c:700
static ALCenum WinMMOpenPlayback(ALCdevice *Device, const ALCchar *deviceName)
Definition: winmm.c:273
static void WinMMStopPlayback(ALCdevice *device)
Definition: winmm.c:458
ALint64 ALCdevice_GetLatencyDefault(ALCdevice *device)
Definition: ALc.c:1285
static void WinMMCloseCapture(ALCdevice *Device)
Definition: winmm.c:640
static ALCboolean WinMMResetPlayback(ALCdevice *device)
Definition: winmm.c:372
static ALCenum WinMMCaptureSamples(ALCdevice *Device, ALCvoid *Buffer, ALCuint Samples)
Definition: winmm.c:693
void ALCdevice_LockDefault(ALCdevice *device)
Definition: ALc.c:1277
static ALCboolean WinMMStartPlayback(ALCdevice *device)
Definition: winmm.c:425
static void WinMMStartCapture(ALCdevice *Device)
Definition: winmm.c:681
static void WinMMClosePlayback(ALCdevice *device)
Definition: winmm.c:357
void ALCdevice_UnlockDefault(ALCdevice *device)
Definition: ALc.c:1281
static ALCenum WinMMOpenCapture(ALCdevice *Device, const ALCchar *deviceName)
Definition: winmm.c:489

Definition at line 707 of file winmm.c.

Referenced by alcWinMMInit().