Audaspace Py API:

* Renamed get_c_device() to device()
* Made the threshold parameter of Sound.square() optional
* Added a sample rate parameter for Sound.sine()
* Example updates
This commit is contained in:
Joerg Mueller 2010-07-26 11:17:43 +00:00
parent 409b79c5c4
commit 3e3f874a65
2 changed files with 14 additions and 11 deletions

@ -118,10 +118,12 @@ Sound_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
} }
PyDoc_STRVAR(M_aud_Sound_sine_doc, PyDoc_STRVAR(M_aud_Sound_sine_doc,
"sine(frequency)\n\n" "sine(frequency[, rate])\n\n"
"Creates a sine sound wave.\n\n" "Creates a sine sound wave.\n\n"
":arg frequency: The frequency of the sine wave in Hz.\n" ":arg frequency: The frequency of the sine wave in Hz.\n"
":type frequency: float\n" ":type frequency: float\n"
":arg rate: The sampling rate in Hz.\n"
":type rate: int\n"
":return: The created aud.Sound object.\n" ":return: The created aud.Sound object.\n"
":rtype: aud.Sound"); ":rtype: aud.Sound");
@ -310,7 +312,7 @@ static PyObject *
Sound_buffer(Sound* self); Sound_buffer(Sound* self);
PyDoc_STRVAR(M_aud_Sound_square_doc, PyDoc_STRVAR(M_aud_Sound_square_doc,
"squre(threshold)\n\n" "squre([threshold = 0])\n\n"
"Makes a square wave out of an audio wave.\n\n" "Makes a square wave out of an audio wave.\n\n"
":arg threshold: Threshold value over which an amplitude counts non-zero.\n" ":arg threshold: Threshold value over which an amplitude counts non-zero.\n"
":type threshold: float\n" ":type threshold: float\n"
@ -424,8 +426,9 @@ static PyObject *
Sound_sine(PyObject* nothing, PyObject* args) Sound_sine(PyObject* nothing, PyObject* args)
{ {
double frequency; double frequency;
int rate = 44100;
if(!PyArg_ParseTuple(args, "d", &frequency)) if(!PyArg_ParseTuple(args, "d|i", &frequency, &rate))
return NULL; return NULL;
Sound *self; Sound *self;
@ -435,7 +438,7 @@ Sound_sine(PyObject* nothing, PyObject* args)
{ {
try try
{ {
self->factory = new AUD_SinusFactory(frequency, (AUD_SampleRate)44100); self->factory = new AUD_SinusFactory(frequency, (AUD_SampleRate)rate);
} }
catch(AUD_Exception&) catch(AUD_Exception&)
{ {
@ -889,9 +892,9 @@ Sound_buffer(Sound* self)
static PyObject * static PyObject *
Sound_square(Sound* self, PyObject* args) Sound_square(Sound* self, PyObject* args)
{ {
float threshold; float threshold = 0;
if(!PyArg_ParseTuple(args, "f", &threshold)) if(!PyArg_ParseTuple(args, "|f", &threshold))
return NULL; return NULL;
Sound *parent = (Sound*)SoundType.tp_alloc(&SoundType, 0); Sound *parent = (Sound*)SoundType.tp_alloc(&SoundType, 0);

@ -204,16 +204,16 @@ static PyObject* AUD_getCDevice(PyObject* self)
Py_RETURN_NONE; Py_RETURN_NONE;
} }
static PyMethodDef meth_getcdevice[] = {{ "get_c_device", (PyCFunction)AUD_getCDevice, METH_NOARGS, static PyMethodDef meth_getcdevice[] = {{ "device", (PyCFunction)AUD_getCDevice, METH_NOARGS,
"get_c_device()\n\n" "device()\n\n"
"Returns the C API Device.\n\n" "Returns the application's Device.\n\n"
":return: The C API Device.\n" ":return: The application's Device.\n"
":rtype: aud.Device"}}; ":rtype: aud.Device"}};
PyObject* AUD_initPython() PyObject* AUD_initPython()
{ {
PyObject* module = PyInit_aud(); PyObject* module = PyInit_aud();
PyModule_AddObject(module, "get_c_device", (PyObject *)PyCFunction_New(meth_getcdevice, NULL)); PyModule_AddObject(module, "device", (PyObject *)PyCFunction_New(meth_getcdevice, NULL));
PyDict_SetItemString(PySys_GetObject("modules"), "aud", module); PyDict_SetItemString(PySys_GetObject("modules"), "aud", module);
if(AUD_device) if(AUD_device)
{ {