You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
536 lines
20 KiB
536 lines
20 KiB
/*==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 3ds 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, 3ds 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\nSets 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\nSets 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\nSets 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\nSets 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\nSets 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\nSets 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\nEnables or disables the load on demand for sounds."), |
|
PYTHON_METHOD(ptAudioControl, setTwoStageLOD, "Params: state\nEnables 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\nEnables 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\nEnables 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\nSets 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\nEnables 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\nEnables 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\nEnables 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\nEnables or disables 'push-to-talk'."), |
|
PYTHON_METHOD(ptAudioControl, squelchLevel, "Params: level\nSets the squelch level."), |
|
PYTHON_METHOD(ptAudioControl, recordFrame, "Params: size\nSets the voice packet frame size."), |
|
PYTHON_METHOD(ptAudioControl, recordSampleRate, "Params: sampleRate\nSets the recording sample rate."), |
|
PYTHON_METHOD_NOARGS(ptAudioControl, getPriorityCutoff, "Returns current sound priority"), |
|
PYTHON_METHOD(ptAudioControl, setPriorityCutoff, "Params: priority\nSets the sound priority"), |
|
PYTHON_METHOD(ptAudioControl, setMode, "Params: mode\nSets 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\nGets the name of audio device for the given index"), |
|
PYTHON_METHOD(ptAudioControl, setDeviceName, "Params: devicename,restart\nSets 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\nEnables 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); |
|
} |