summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/modules/lib
diff options
context:
space:
mode:
author inte alls <inte@localhost.localdomain>2017-01-11 20:24:00 +0100
committer inte alls <inte@localhost.localdomain>2017-01-11 20:24:00 +0100
commitcd03a642849d567e2f42355bf18ca99cb600b246 (patch)
tree1a64cd6c370ad980d6d03499baf45dc208fa2473 /src/osd/modules/lib
parent37e8b161d80efea67d5bfc71d58d050628ba7820 (diff)
Initial PortAudio backend with build script changes to support library version 20161030
Diffstat (limited to 'src/osd/modules/lib')
-rw-r--r--src/osd/modules/lib/osdobj_common.cpp10
-rw-r--r--src/osd/modules/lib/osdobj_common.h9
2 files changed, 19 insertions, 0 deletions
diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp
index d462e946587..dcca53b4361 100644
--- a/src/osd/modules/lib/osdobj_common.cpp
+++ b/src/osd/modules/lib/osdobj_common.cpp
@@ -127,6 +127,13 @@ const options_entry osd_options::s_option_entries[] =
{ OSDOPTION_SOUND, OSDOPTVAL_AUTO, OPTION_STRING, "sound output method: " },
{ OSDOPTION_AUDIO_LATENCY "(1-5)", "2", OPTION_INTEGER, "set audio latency (increase to reduce glitches, decrease for responsiveness)" },
+#ifndef NO_USE_PORTAUDIO
+ { nullptr, nullptr, OPTION_HEADER, "PORTAUDIO OPTIONS" },
+ { OSDOPTION_PA_API, OSDOPTVAL_NONE, OPTION_STRING, "PortAudio API" },
+ { OSDOPTION_PA_DEVICE, OSDOPTVAL_NONE, OPTION_STRING, "PortAudio device" },
+ { OSDOPTION_PA_LATENCY "(0.001-0.25)", "0", OPTION_FLOAT, "suggested latency in seconds, 0 for default" },
+#endif
+
#ifdef SDLMAME_MACOSX
{ nullptr, nullptr, OPTION_HEADER, "CoreAudio-SPECIFIC OPTIONS" },
{ OSDOPTION_AUDIO_OUTPUT, OSDOPTVAL_AUTO, OPTION_STRING, "Audio output device" },
@@ -213,6 +220,9 @@ void osd_common_t::register_options()
REGISTER_MODULE(m_mod_man, SOUND_COREAUDIO);
REGISTER_MODULE(m_mod_man, SOUND_JS);
REGISTER_MODULE(m_mod_man, SOUND_SDL);
+#ifndef NO_USE_PORTAUDIO
+ REGISTER_MODULE(m_mod_man, SOUND_PORTAUDIO);
+#endif
REGISTER_MODULE(m_mod_man, SOUND_NONE);
REGISTER_MODULE(m_mod_man, MONITOR_SDL);
diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h
index 5ae94d7a699..df8096840cf 100644
--- a/src/osd/modules/lib/osdobj_common.h
+++ b/src/osd/modules/lib/osdobj_common.h
@@ -73,6 +73,10 @@
#define OSDOPTION_SOUND "sound"
#define OSDOPTION_AUDIO_LATENCY "audio_latency"
+#define OSDOPTION_PA_API "pa_api"
+#define OSDOPTION_PA_DEVICE "pa_device"
+#define OSDOPTION_PA_LATENCY "pa_latency"
+
#define OSDOPTION_AUDIO_OUTPUT "audio_output"
#define OSDOPTION_AUDIO_EFFECT "audio_effect"
@@ -160,6 +164,11 @@ public:
const char *bgfx_shadow_mask() const { return value(OSDOPTION_BGFX_SHADOW_MASK); }
const char *bgfx_avi_name() const { return value(OSDOPTION_BGFX_AVI_NAME); }
+ // PortAudio options
+ const char *pa_api() const { return value(OSDOPTION_PA_API); }
+ const char *pa_device() const { return value(OSDOPTION_PA_DEVICE); }
+ const float pa_latency() const { return float_value(OSDOPTION_PA_LATENCY); }
+
private:
static const options_entry s_option_entries[];
};