From bf7f082adb54c8d3ed886d07388985a443850f72 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Sat, 29 Jul 2017 11:45:35 -0300 Subject: [PATCH] Re-added the no-argument variant of RecordingDevice:start(). It uses the samples / sample rate / bit depth / channel count previously set for the RecordingDevice, and errors if it hasn't been set before. --HG-- branch : minor --- src/modules/audio/wrap_RecordingDevice.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/modules/audio/wrap_RecordingDevice.cpp b/src/modules/audio/wrap_RecordingDevice.cpp index dce415cf2..8cd5f4ded 100644 --- a/src/modules/audio/wrap_RecordingDevice.cpp +++ b/src/modules/audio/wrap_RecordingDevice.cpp @@ -36,15 +36,23 @@ int w_RecordingDevice_start(lua_State *L) { RecordingDevice *d = luax_checkrecordingdevice(L, 1); - int samples = (int) luaL_optinteger(L, 2, RecordingDevice::DEFAULT_SAMPLES); - int sampleRate = (int) luaL_optinteger(L, 3, RecordingDevice::DEFAULT_SAMPLE_RATE); - int bitDepth = (int) luaL_optinteger(L, 4, RecordingDevice::DEFAULT_BIT_DEPTH); - int channels = (int) (int) luaL_optinteger(L, 5, RecordingDevice::DEFAULT_CHANNELS); + int samples = d->getSampleCount(); + int samplerate = d->getSampleRate(); + int bitdepth = d->getBitDepth(); + int channels = d->getChannels(); - luax_catchexcept(L, [&](){ - lua_pushboolean(L, d->start(samples, sampleRate, bitDepth, channels)); - }); + if (lua_gettop(L) > 1) + { + samples = (int) luaL_checkinteger(L, 2); + samplerate = (int) luaL_optinteger(L, 3, RecordingDevice::DEFAULT_SAMPLE_RATE); + bitdepth = (int) luaL_optinteger(L, 4, RecordingDevice::DEFAULT_BIT_DEPTH); + channels = (int) (int) luaL_optinteger(L, 5, RecordingDevice::DEFAULT_CHANNELS); + } + bool success = false; + luax_catchexcept(L, [&]() { success = d->start(samples, samplerate, bitdepth, channels); }); + + luax_pushboolean(L, success); return 1; }