summaryrefslogtreecommitdiffstats
path: root/src/server/PortAudioDriver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/PortAudioDriver.cpp')
-rw-r--r--src/server/PortAudioDriver.cpp80
1 files changed, 37 insertions, 43 deletions
diff --git a/src/server/PortAudioDriver.cpp b/src/server/PortAudioDriver.cpp
index 38b04842..ef893478 100644
--- a/src/server/PortAudioDriver.cpp
+++ b/src/server/PortAudioDriver.cpp
@@ -14,17 +14,19 @@
along with Ingen. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "PortAudioDriver.hpp"
+
#include "DuplexPort.hpp"
#include "Engine.hpp"
#include "FrameTimer.hpp"
-#include "PortAudioDriver.hpp"
#include "PortType.hpp"
#include "RunContext.hpp"
-#include "ingen/Atom.hpp"
-#include "ingen/Configuration.hpp"
-#include "ingen/URIs.hpp"
-#include "ingen/World.hpp"
-#include "raul/Path.hpp"
+
+#include <ingen/Atom.hpp>
+#include <ingen/Configuration.hpp>
+#include <ingen/URIs.hpp>
+#include <ingen/World.hpp>
+#include <raul/Path.hpp>
#include <portaudio.h>
@@ -32,8 +34,7 @@
#include <cstring>
#include <string>
-namespace ingen {
-namespace server {
+namespace ingen::server {
static bool
pa_error(const char* msg, PaError err)
@@ -45,17 +46,10 @@ pa_error(const char* msg, PaError err)
PortAudioDriver::PortAudioDriver(Engine& engine)
: _engine(engine)
- , _sem(0)
- , _stream(nullptr)
- , _seq_size(4096)
+ , _inputParameters()
+ , _outputParameters()
, _block_length(engine.world().conf().option("buffer-size").get<int32_t>())
- , _sample_rate(48000)
- , _n_inputs(0)
- , _n_outputs(0)
- , _flag(false)
- , _is_activated(false)
-{
-}
+{}
PortAudioDriver::~PortAudioDriver()
{
@@ -76,7 +70,9 @@ PortAudioDriver::attach()
_outputParameters.device = Pa_GetDefaultOutputDevice();
if (_inputParameters.device == paNoDevice) {
return pa_error("No default input device", paDeviceUnavailable);
- } else if (_outputParameters.device == paNoDevice) {
+ }
+
+ if (_outputParameters.device == paNoDevice) {
return pa_error("No default output device", paDeviceUnavailable);
}
@@ -89,8 +85,7 @@ PortAudioDriver::attach()
_sample_rate = in_dev->defaultSampleRate;
- _timer = std::unique_ptr<FrameTimer>(
- new FrameTimer(_block_length, _sample_rate));
+ _timer = std::make_unique<FrameTimer>(_block_length, _sample_rate);
return true;
}
@@ -157,7 +152,7 @@ PortAudioDriver::frame_time() const
}
EnginePort*
-PortAudioDriver::get_port(const Raul::Path& path)
+PortAudioDriver::get_port(const raul::Path& path)
{
for (auto& p : _ports) {
if (p.graph_port()->path() == path) {
@@ -169,39 +164,35 @@ PortAudioDriver::get_port(const Raul::Path& path)
}
void
-PortAudioDriver::add_port(RunContext& context, EnginePort* port)
+PortAudioDriver::add_port(RunContext&, EnginePort* port)
{
_ports.push_back(*port);
}
void
-PortAudioDriver::remove_port(RunContext& context, EnginePort* port)
+PortAudioDriver::remove_port(RunContext&, EnginePort* port)
{
_ports.erase(_ports.iterator_to(*port));
}
void
PortAudioDriver::register_port(EnginePort& port)
-{
-}
+{}
void
PortAudioDriver::unregister_port(EnginePort& port)
-{
-}
+{}
void
-PortAudioDriver::rename_port(const Raul::Path& old_path,
- const Raul::Path& new_path)
-{
-}
+PortAudioDriver::rename_port(const raul::Path& old_path,
+ const raul::Path& new_path)
+{}
void
-PortAudioDriver::port_property(const Raul::Path& path,
+PortAudioDriver::port_property(const raul::Path& path,
const URI& uri,
const Atom& value)
-{
-}
+{}
EnginePort*
PortAudioDriver::create_port(DuplexPort* graph_port)
@@ -233,7 +224,7 @@ PortAudioDriver::create_port(DuplexPort* graph_port)
}
void
-PortAudioDriver::pre_process_port(RunContext& context,
+PortAudioDriver::pre_process_port(RunContext&,
EnginePort* port,
const void* inputs,
void* outputs)
@@ -243,9 +234,14 @@ PortAudioDriver::pre_process_port(RunContext& context,
}
if (port->is_input()) {
- port->set_buffer(((float**)inputs)[port->driver_index()]);
+ const auto* const* const ins =
+ static_cast<const float* const*>(inputs);
+
+ port->set_buffer(const_cast<float*>(ins[port->driver_index()]));
} else {
- port->set_buffer(((float**)outputs)[port->driver_index()]);
+ auto* const* const outs = static_cast<float* const*>(inputs);
+
+ port->set_buffer(outs[port->driver_index()]);
memset(port->buffer(), 0, _block_length * sizeof(float));
}
@@ -254,12 +250,11 @@ PortAudioDriver::pre_process_port(RunContext& context,
}
void
-PortAudioDriver::post_process_port(RunContext& context,
+PortAudioDriver::post_process_port(RunContext&,
EnginePort* port,
const void* inputs,
void* outputs)
-{
-}
+{}
int
PortAudioDriver::process_cb(const void* inputs,
@@ -287,5 +282,4 @@ PortAudioDriver::process_cb(const void* inputs,
return 0;
}
-} // namespace server
-} // namespace ingen
+} // namespace ingen::server