Audaspace Py API:
authorJoerg Mueller <nexyon@gmail.com>
Mon, 26 Jul 2010 11:17:43 +0000 (11:17 +0000)
committerJoerg Mueller <nexyon@gmail.com>
Mon, 26 Jul 2010 11:17:43 +0000 (11:17 +0000)
* Renamed get_c_device() to device()
* Made the threshold parameter of Sound.square() optional
* Added a sample rate parameter for Sound.sine()
* Example updates

intern/audaspace/Python/AUD_PyAPI.cpp
intern/audaspace/intern/AUD_C-API.cpp

index 010d5a7394f52930ba17216958e075d9d14f2990..f1c41bf20096ecb669502049f18b962536cfb148 100644 (file)
@@ -118,10 +118,12 @@ Sound_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
 }
 
 PyDoc_STRVAR(M_aud_Sound_sine_doc,
-                        "sine(frequency)\n\n"
+                        "sine(frequency[, rate])\n\n"
                         "Creates a sine sound wave.\n\n"
                         ":arg frequency: The frequency of the sine wave in Hz.\n"
                         ":type frequency: float\n"
+                        ":arg rate: The sampling rate in Hz.\n"
+                        ":type rate: int\n"
                         ":return: The created aud.Sound object.\n"
                         ":rtype: aud.Sound");
 
@@ -310,7 +312,7 @@ static PyObject *
 Sound_buffer(Sound* self);
 
 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"
                         ":arg threshold: Threshold value over which an amplitude counts non-zero.\n"
                         ":type threshold: float\n"
@@ -424,8 +426,9 @@ static PyObject *
 Sound_sine(PyObject* nothing, PyObject* args)
 {
        double frequency;
+       int rate = 44100;
 
-       if(!PyArg_ParseTuple(args, "d", &frequency))
+       if(!PyArg_ParseTuple(args, "d|i", &frequency, &rate))
                return NULL;
 
        Sound *self;
@@ -435,7 +438,7 @@ Sound_sine(PyObject* nothing, PyObject* args)
        {
                try
                {
-                       self->factory = new AUD_SinusFactory(frequency, (AUD_SampleRate)44100);
+                       self->factory = new AUD_SinusFactory(frequency, (AUD_SampleRate)rate);
                }
                catch(AUD_Exception&)
                {
@@ -889,9 +892,9 @@ Sound_buffer(Sound* self)
 static PyObject *
 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;
 
        Sound *parent = (Sound*)SoundType.tp_alloc(&SoundType, 0);
index b0225109f3aa9b24369367325e8dc45a272d907a..eb0e4fba8e914c8064c13cec80bb55321b13c225 100644 (file)
@@ -204,16 +204,16 @@ static PyObject* AUD_getCDevice(PyObject* self)
        Py_RETURN_NONE;
 }
 
-static PyMethodDef meth_getcdevice[] = {{ "get_c_device", (PyCFunction)AUD_getCDevice, METH_NOARGS,
-                                                                                 "get_c_device()\n\n"
-                                                                                 "Returns the C API Device.\n\n"
-                                                                                 ":return: The C API Device.\n"
+static PyMethodDef meth_getcdevice[] = {{ "device", (PyCFunction)AUD_getCDevice, METH_NOARGS,
+                                                                                 "device()\n\n"
+                                                                                 "Returns the application's Device.\n\n"
+                                                                                 ":return: The application's Device.\n"
                                                                                  ":rtype: aud.Device"}};
 
 PyObject* AUD_initPython()
 {
        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);
        if(AUD_device)
        {