Showing the changes to python (1 of 1 file). Show all
Unified · Split
| @@ -256,6 +256,22 @@ static struct PyModuleDef moduledef = { · 255 unmodified lines | ||
| 256 | 256 | }; |
| 257 | 257 | #endif |
| 258 | 258 | |
| 259 | +void | |
| 260 | +aubio_log_function(int level, const char *message, void *data) | |
| 261 | +{ | |
| 262 | + // remove trailing \n | |
| 263 | + char *pos; | |
| 264 | + if ((pos=strchr(message, '\n')) != NULL) { | |
| 265 | + *pos = '\0'; | |
| 266 | + } | |
| 267 | + // warning or error | |
| 268 | + if (level == AUBIO_LOG_ERR) { | |
| 269 | + PyErr_Format(PyExc_RuntimeError, "%s", message); | |
| 270 | + } else { | |
| 271 | + PyErr_WarnEx(PyExc_UserWarning, message, 1); | |
| 272 | + } | |
| 273 | +} | |
| 274 | + | |
| 259 | 275 | static PyObject * |
| 260 | 276 | initaubio (void) |
| 261 | 277 | { |
| @@ -315,6 +331,8 @@ initaubio (void) · 53 unmodified lines | ||
| 315 | 331 | // add ufunc |
| 316 | 332 | add_ufuncs(m); |
| 317 | 333 | |
| 334 | + aubio_log_set_level_function(AUBIO_LOG_ERR, aubio_log_function, NULL); | |
| 335 | + aubio_log_set_level_function(AUBIO_LOG_WRN, aubio_log_function, NULL); | |
| 318 | 336 | return m; |
| 319 | 337 | } |
| 320 | 338 | |