1 #if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) 2 typedef int Py_ssize_t; 3 #define PY_SSIZE_T_MAX INT_MAX 4 #define PY_SSIZE_T_MIN INT_MIN 5 #endif 6 7 /******************************************************** 8 Audio Tools, a module and set of tools for manipulating audio data 9 Copyright (C) 2007-2014 Brian Langenberger 10 11 This program is free software; you can redistribute it and/or modify 12 it under the terms of the GNU General Public License as published by 13 the Free Software Foundation; either version 2 of the License, or 14 (at your option) any later version. 15 16 This program is distributed in the hope that it will be useful, 17 but WITHOUT ANY WARRANTY; without even the implied warranty of 18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 GNU General Public License for more details. 20 21 You should have received a copy of the GNU General Public License 22 along with this program; if not, write to the Free Software 23 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 24 *******************************************************/ 25 26 #if PY_MAJOR_VERSION >= 3 27 #define IS_PY3K 28 #endif 29 30 PyObject* 31 encoders_encode_flac(PyObject *dummy, PyObject *args, PyObject *keywds); 32 33 PyObject* 34 encoders_encode_shn(PyObject *dummy, PyObject *args, PyObject *keywds); 35 36 PyObject* 37 encoders_encode_alac(PyObject *dummy, PyObject *args, PyObject *keywds); 38 39 PyObject* 40 encoders_encode_wavpack(PyObject *dummy, PyObject *args, PyObject *keywds); 41 42 PyObject* 43 encoders_encode_tta(PyObject *dummy, PyObject *args, PyObject *keywds); 44 45 #ifdef HAS_MP3 46 PyObject* 47 encoders_encode_mp3(PyObject *dummy, PyObject *args, PyObject *keywds); 48 #endif 49 50 #ifdef HAS_MP2 51 PyObject* 52 encoders_encode_mp2(PyObject *dummy, PyObject *args, PyObject *keywds); 53 #endif 54 55 #ifdef HAS_VORBIS 56 PyObject* 57 encoders_encode_vorbis(PyObject *dummy, PyObject *args, PyObject *keywds); 58 #endif 59 60 #ifdef HAS_OPUS 61 PyObject* 62 encoders_encode_opus(PyObject *dummy, PyObject *args, PyObject *keywds); 63 #endif 64 65 PyMethodDef module_methods[] = { 66 {"encode_flac", (PyCFunction)encoders_encode_flac, 67 METH_VARARGS | METH_KEYWORDS, "Encode FLAC file from PCMReader"}, 68 {"encode_shn", (PyCFunction)encoders_encode_shn, 69 METH_VARARGS | METH_KEYWORDS, "Encode Shorten file from PCMReader"}, 70 {"encode_alac", (PyCFunction)encoders_encode_alac, 71 METH_VARARGS | METH_KEYWORDS, "Encode ALAC file from PCMReader"}, 72 {"encode_wavpack", (PyCFunction)encoders_encode_wavpack, 73 METH_VARARGS | METH_KEYWORDS, "Encode WavPack file from PCMReader"}, 74 {"encode_tta", (PyCFunction)encoders_encode_tta, 75 METH_VARARGS | METH_KEYWORDS, "Encode TTA file from PCMReader"}, 76 #ifdef HAS_MP3 77 {"encode_mp3", (PyCFunction)encoders_encode_mp3, 78 METH_VARARGS | METH_KEYWORDS, "Encode MP3 file from PCMReader"}, 79 #endif 80 #ifdef HAS_MP2 81 {"encode_mp2", (PyCFunction)encoders_encode_mp2, 82 METH_VARARGS | METH_KEYWORDS, "Encode MP2 file from PCMReader"}, 83 #endif 84 #ifdef HAS_VORBIS 85 {"encode_vorbis", (PyCFunction)encoders_encode_vorbis, 86 METH_VARARGS | METH_KEYWORDS, "Encode Vorbis file from PCMReader"}, 87 #endif 88 #ifdef HAS_OPUS 89 {"encode_opus", (PyCFunction)encoders_encode_opus, 90 METH_VARARGS | METH_KEYWORDS, "Encode Opus file from PCMReader"}, 91 #endif 92 {NULL} 93 }; 94