/*==LICENSE==*
CyanWorlds . com Engine - MMOG client , server and tools
Copyright ( C ) 2011 Cyan Worlds , Inc .
This program is free software : you can redistribute it and / or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation , either version 3 of the License , or
( at your option ) any later version .
This program 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 General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program . If not , see < http : //www.gnu.org/licenses/>.
Additional permissions under GNU GPL version 3 section 7
If you modify this Program , or any covered work , by linking or
combining it with any of RAD Game Tools Bink SDK , Autodesk 3 ds Max SDK ,
NVIDIA PhysX SDK , Microsoft DirectX SDK , OpenSSL library , Independent
JPEG Group JPEG library , Microsoft Windows Media SDK , or Apple QuickTime SDK
( or a modified version of those libraries ) ,
containing parts covered by the terms of the Bink SDK EULA , 3 ds Max EULA ,
PhysX SDK EULA , DirectX SDK EULA , OpenSSL and SSLeay licenses , IJG
JPEG Library README , Windows Media SDK EULA , or QuickTime SDK EULA , the
licensors of this Program grant you additional
permission to convey the resulting work . Corresponding Source for a
non - source form of such a combination shall include the source code for
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
work .
You can contact Cyan Worlds , Inc . by email legal @ cyan . com
or by snail mail at :
Cyan Worlds , Inc .
14617 N Newport Hwy
Mead , WA 99021
* = = LICENSE = = */
# include <Python.h>
# pragma hdrstop
# include "pyAudioControl.h"
// glue functions
PYTHON_CLASS_DEFINITION ( ptAudioControl , pyAudioControl ) ;
PYTHON_DEFAULT_NEW_DEFINITION ( ptAudioControl , pyAudioControl )
PYTHON_DEFAULT_DEALLOC_DEFINITION ( ptAudioControl )
PYTHON_INIT_DEFINITION ( ptAudioControl , args , keywords )
{
PYTHON_RETURN_INIT_OK ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setSoundFXVolume , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setSoundFXVolume expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetSoundFXVolume ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setMusicVolume , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setMusicVolume expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetMusicVolume ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setVoiceVolume , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setVoiceVolume expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetVoiceVolume ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setAmbienceVolume , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setAmbienceVolume expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetAmbienceVolume ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setGUIVolume , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setGUIVolume expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetGUIVolume ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setNPCVoiceVolume , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setNPCVoiceVolume expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetNPCVoiceVolume ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getSoundFXVolume )
{
return PyFloat_FromDouble ( self - > fThis - > GetSoundFXVolume ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getMusicVolume )
{
return PyFloat_FromDouble ( self - > fThis - > GetMusicVolume ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getVoiceVolume )
{
return PyFloat_FromDouble ( self - > fThis - > GetVoiceVolume ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getAmbienceVolume )
{
return PyFloat_FromDouble ( self - > fThis - > GetAmbienceVolume ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getGUIVolume )
{
return PyFloat_FromDouble ( self - > fThis - > GetGUIVolume ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getNPCVoiceVolume )
{
return PyFloat_FromDouble ( self - > fThis - > GetNPCVoiceVolume ( ) ) ;
}
PYTHON_BASIC_METHOD_DEFINITION ( ptAudioControl , enable , Enable )
PYTHON_BASIC_METHOD_DEFINITION ( ptAudioControl , disable , Disable )
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isEnabled )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsEnabled ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setLoadOnDemand , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " setLoadOnDemand expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetLoadOnDemand ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setTwoStageLOD , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " setTwoStageLOD expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetTwoStageLOD ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , useHardwareAcceleration , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " useHardwareAcceleration expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > UseHardwareAcceleration ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isHardwareAccelerated )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsHardwareAccelerated ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , useEAXAcceleration , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " useEAXAcceleration expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > UseEAXAcceleration ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isUsingEAXAcceleration )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsUsingEAXAcceleration ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , supportsEAX , args )
{
char * deviceName ;
if ( ! PyArg_ParseTuple ( args , " s " , & deviceName ) )
{
PyErr_SetString ( PyExc_TypeError , " supportsEAX expects a string " ) ;
PYTHON_RETURN_ERROR ;
}
PYTHON_RETURN_BOOL ( self - > fThis - > SupportEAX ( deviceName ) ) ;
}
PYTHON_BASIC_METHOD_DEFINITION ( ptAudioControl , muteAll , MuteAll )
PYTHON_BASIC_METHOD_DEFINITION ( ptAudioControl , unmuteAll , UnmuteAll )
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isMuted )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsMuted ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , canSetMicLevel )
{
PYTHON_RETURN_BOOL ( self - > fThis - > CanSetMicLevel ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setMicLevel , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " setMicLevel expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetMicLevel ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getMicLevel )
{
return PyFloat_FromDouble ( self - > fThis - > GetMicLevel ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , enableVoiceRecording , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " enableVoiceRecording expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > EnableVoiceRecording ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , enableVoiceChat , args )
{
char enable ;
if ( ! PyArg_ParseTuple ( args , " b " , & enable ) )
{
PyErr_SetString ( PyExc_TypeError , " enableVoiceChat expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > EnableVoiceChat ( enable ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isVoiceRecordingEnabled )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsVoiceRecordingEnabled ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , enableVoiceCompression , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " enableVoiceCompression expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > EnableVoiceCompression ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isVoiceCompressionEnabled )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsVoiceCompressionEnabled ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , enableVoiceNetBroadcast , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " enableVoiceNetBroadcast expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > EnableVoiceNetBroadcast ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , isVoiceNetBroadcastEnabled )
{
PYTHON_RETURN_BOOL ( self - > fThis - > IsVoiceNetBroadcastEnabled ( ) ) ;
}
PYTHON_BASIC_METHOD_DEFINITION ( ptAudioControl , showIcons , ShowIcons )
PYTHON_BASIC_METHOD_DEFINITION ( ptAudioControl , hideIcons , HideIcons )
PYTHON_METHOD_DEFINITION ( ptAudioControl , pushToTalk , args )
{
char stateFlag ;
if ( ! PyArg_ParseTuple ( args , " b " , & stateFlag ) )
{
PyErr_SetString ( PyExc_TypeError , " pushToTalk expects a boolean " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > PushToTalk ( stateFlag ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , squelchLevel , args )
{
float volume ;
if ( ! PyArg_ParseTuple ( args , " f " , & volume ) )
{
PyErr_SetString ( PyExc_TypeError , " squelchLevel expects a float " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SquelchLevel ( volume ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , recordFrame , args )
{
long frameSize ;
if ( ! PyArg_ParseTuple ( args , " l " , & frameSize ) )
{
PyErr_SetString ( PyExc_TypeError , " recordFrame expects a long " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > RecordFrame ( frameSize ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , recordSampleRate , args )
{
long sampleRate ;
if ( ! PyArg_ParseTuple ( args , " l " , & sampleRate ) )
{
PyErr_SetString ( PyExc_TypeError , " recordSampleRate expects a long " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > RecordSampleRate ( sampleRate ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getPriorityCutoff )
{
return PyInt_FromLong ( self - > fThis - > GetPriorityCutoff ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setPriorityCutoff , args )
{
unsigned char cutoff ;
if ( ! PyArg_ParseTuple ( args , " b " , & cutoff ) )
{
PyErr_SetString ( PyExc_TypeError , " setPriorityCutoff expects an unsigned 8-bit int " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetPriorityCutoff ( cutoff ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setMode , args )
{
int mode ;
if ( ! PyArg_ParseTuple ( args , " i " , & mode ) )
{
PyErr_SetString ( PyExc_TypeError , " setMode expects an integer " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetAudioSystemMode ( mode ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getMode )
{
return PyInt_FromLong ( ( long ) self - > fThis - > GetAudioSystemMode ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getHighestMode )
{
return PyInt_FromLong ( ( long ) self - > fThis - > GetHighestAudioMode ( ) ) ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getNumAudioDevices )
{
return PyInt_FromLong ( self - > fThis - > GetNumAudioDevices ( ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , getAudioDeviceName , args )
{
int index ;
if ( ! PyArg_ParseTuple ( args , " i " , & index ) )
{
PyErr_SetString ( PyExc_TypeError , " getAudioDeviceName expects an int " ) ;
PYTHON_RETURN_ERROR ;
}
return PyString_FromString ( self - > fThis - > GetAudioDeviceName ( index ) ) ;
}
PYTHON_METHOD_DEFINITION ( ptAudioControl , setDeviceName , args )
{
char * devicename = NULL ;
int restart ;
if ( ! PyArg_ParseTuple ( args , " si " , & devicename , & restart ) )
{
PyErr_SetString ( PyExc_TypeError , " setDeviceName expects a string and a bool " ) ;
PYTHON_RETURN_ERROR ;
}
self - > fThis - > SetDeviceName ( devicename , restart ! = 0 ) ;
PYTHON_RETURN_NONE ;
}
PYTHON_METHOD_DEFINITION_NOARGS ( ptAudioControl , getDeviceName )
{
return PyString_FromString ( self - > fThis - > GetDeviceName ( ) ) ;
}
PYTHON_START_METHODS_TABLE ( ptAudioControl )
PYTHON_METHOD ( ptAudioControl , setSoundFXVolume , " Params: volume \n Sets the SoundFX volume (0.0 to 1.0) for the game. \n "
" This only sets the volume for this game session. " ) ,
PYTHON_METHOD ( ptAudioControl , setMusicVolume , " Params: volume \n Sets the Music volume (0.0 to 1.0) for the game. \n "
" This only sets the volume for this game session. " ) ,
PYTHON_METHOD ( ptAudioControl , setVoiceVolume , " Params: volume \n Sets the Voice volume (0.0 to 1.0) for the game. \n "
" This only sets the volume for this game session. " ) ,
PYTHON_METHOD ( ptAudioControl , setAmbienceVolume , " Params: volume \n Sets the Ambience volume (0.0 to 1.0) for the game. \n "
" This only sets the volume for this game session. " ) ,
PYTHON_METHOD ( ptAudioControl , setGUIVolume , " Params: volume \n Sets the GUI dialog volume (0.0 to 1.0) for the game. \n "
" This only sets the volume for this game session. " ) ,
PYTHON_METHOD ( ptAudioControl , setNPCVoiceVolume , " Params: volume \n Sets the NPC's voice volume (0.0 to 1.0) for the game. \n "
" This only sets the volume for this game session. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getSoundFXVolume , " Returns the volume (0.0 to 1.0) for the Sound FX. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getMusicVolume , " Returns the volume (0.0 to 1.0) for the Music. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getVoiceVolume , " Returns the volume (0.0 to 1.0) for the Voices. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getAmbienceVolume , " Returns the volume (0.0 to 1.0) for the Ambiance. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getGUIVolume , " Returns the volume (0.0 to 1.0) for the GUI dialogs. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getNPCVoiceVolume , " Returns the volume (0.0 to 1.0) for the NPC's voice. " ) ,
PYTHON_BASIC_METHOD ( ptAudioControl , enable , " Enables audio " ) ,
PYTHON_BASIC_METHOD ( ptAudioControl , disable , " Disabled audio " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isEnabled , " Is the audio enabled? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_METHOD ( ptAudioControl , setLoadOnDemand , " Params: state \n Enables or disables the load on demand for sounds. " ) ,
PYTHON_METHOD ( ptAudioControl , setTwoStageLOD , " Params: state \n Enables or disables two-stage LOD, where sounds can be loaded into RAM but not into sound buffers. \n "
" ...Less of a performance hit, harder on memory. " ) ,
PYTHON_METHOD ( ptAudioControl , useHardwareAcceleration , " Params: state \n Enables or disables audio hardware acceleration. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isHardwareAccelerated , " Is audio hardware acceleration enabled? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_METHOD ( ptAudioControl , useEAXAcceleration , " Params: state \n Enables or disables EAX sound acceleration (requires hardware acceleration). " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isUsingEAXAcceleration , " Is EAX sound acceleration enabled? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_BASIC_METHOD ( ptAudioControl , muteAll , " Mutes all sounds. " ) ,
PYTHON_BASIC_METHOD ( ptAudioControl , unmuteAll , " Unmutes all sounds. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isMuted , " Are all sounds muted? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , canSetMicLevel , " Can the microphone level be set? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_METHOD ( ptAudioControl , setMicLevel , " Params: level \n Sets the microphone recording level (0.0 to 1.0). " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getMicLevel , " Returns the microphone recording level (0.0 to 1.0). " ) ,
PYTHON_METHOD ( ptAudioControl , enableVoiceRecording , " Params: state \n Enables or disables voice recording. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isVoiceRecordingEnabled , " Is voice recording enabled? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_METHOD ( ptAudioControl , enableVoiceCompression , " Params: state \n Enables or disables voice compression. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isVoiceCompressionEnabled , " Is voice compression enabled? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_METHOD ( ptAudioControl , enableVoiceNetBroadcast , " Params: state \n Enables or disables voice over network broadcast. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , isVoiceNetBroadcastEnabled , " Is voice over net enabled? Returns 1 if true otherwise returns 0. " ) ,
PYTHON_BASIC_METHOD ( ptAudioControl , showIcons , " Shows (enables) the voice recording icons. " ) ,
PYTHON_BASIC_METHOD ( ptAudioControl , hideIcons , " Hides (disables) the voice recording icons. " ) ,
PYTHON_METHOD ( ptAudioControl , pushToTalk , " Params: state \n Enables or disables 'push-to-talk'. " ) ,
PYTHON_METHOD ( ptAudioControl , squelchLevel , " Params: level \n Sets the squelch level. " ) ,
PYTHON_METHOD ( ptAudioControl , recordFrame , " Params: size \n Sets the voice packet frame size. " ) ,
PYTHON_METHOD ( ptAudioControl , recordSampleRate , " Params: sampleRate \n Sets the recording sample rate. " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getPriorityCutoff , " Returns current sound priority " ) ,
PYTHON_METHOD ( ptAudioControl , setPriorityCutoff , " Params: priority \n Sets the sound priority " ) ,
PYTHON_METHOD ( ptAudioControl , setMode , " Params: mode \n Sets the audio system mode " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getMode , " Gets the audio system mode " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getHighestMode , " Gets the highest possible audio system mode " ) ,
PYTHON_METHOD_NOARGS ( ptAudioControl , getNumAudioDevices , " Returns the number of available audio devices. " ) ,
PYTHON_METHOD ( ptAudioControl , getAudioDeviceName , " Params: index \n Gets the name of audio device for the given index " ) ,
PYTHON_METHOD ( ptAudioControl , setDeviceName , " Params: devicename,restart \n Sets the device name for the audio system, and optionally restarts it " ) ,
PYTHON_METHOD ( ptAudioControl , getDeviceName , " Gets the name for the device being used by the audio system " ) ,
PYTHON_METHOD ( ptAudioControl , supportsEAX , " Returns true or false based on whether or not a the device specified supports EAX " ) ,
PYTHON_METHOD ( ptAudioControl , enableVoiceChat , " Params: state \n Enables or disables voice chat. " ) ,
PYTHON_END_METHODS_TABLE ;
// Type structure definition
PLASMA_DEFAULT_TYPE ( ptAudioControl , " Accessor class to the Audio controls " ) ;
// required functions for PyObject interoperability
PYTHON_CLASS_NEW_IMPL ( ptAudioControl , pyAudioControl )
PYTHON_CLASS_CHECK_IMPL ( ptAudioControl , pyAudioControl )
PYTHON_CLASS_CONVERT_FROM_IMPL ( ptAudioControl , pyAudioControl )
///////////////////////////////////////////////////////////////////////////
//
// AddPlasmaClasses - the python module definitions
//
void pyAudioControl : : AddPlasmaClasses ( PyObject * m )
{
PYTHON_CLASS_IMPORT_START ( m ) ;
PYTHON_CLASS_IMPORT ( m , ptAudioControl ) ;
PYTHON_CLASS_IMPORT_END ( m ) ;
}