2013-09-26 17:14:40 +02:00

68 lines
2.0 KiB
Plaintext

$NetBSD: patch-aa,v 1.4 2012/08/24 06:35:20 marino Exp $
--- src/drivers/fluid_oss.c.orig 2012-08-16 04:01:13.000000000 +0000
+++ src/drivers/fluid_oss.c
@@ -42,10 +42,16 @@
#include <errno.h>
#include <sys/poll.h>
+#ifdef __NetBSD__
+#define DEVOSSMIDI "/dev/rmidi0"
+#else
+#define DEVOSSMIDI "/dev/midi"
+#endif
+
#define BUFFER_LENGTH 512
// Build issue on some systems (OSS 4.0)?
-#ifdef SNDCTL_DSP_CHANNELS
+#if defined (SNDCTL_DSP_CHANNELS) && !defined (SOUND_PCM_WRITE_CHANNELS)
#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
#endif
@@ -101,7 +107,7 @@ static void fluid_oss_midi_run(void* d);
void
fluid_oss_audio_driver_settings(fluid_settings_t* settings)
{
- fluid_settings_register_str(settings, "audio.oss.device", "/dev/dsp", 0, NULL, NULL);
+ fluid_settings_register_str(settings, "audio.oss.device", DEVOSSAUDIO, 0, NULL, NULL);
}
/*
@@ -164,7 +170,7 @@ new_fluid_oss_audio_driver(fluid_setting
}
if (!fluid_settings_dupstr(settings, "audio.oss.device", &devname) || !devname) { /* ++ alloc device name */
- devname = FLUID_STRDUP ("/dev/dsp");
+ devname = FLUID_STRDUP (DEVOSSAUDIO);
if (devname == NULL) {
FLUID_LOG(FLUID_ERR, "Out of memory");
@@ -278,7 +284,7 @@ new_fluid_oss_audio_driver2(fluid_settin
if (!fluid_settings_dupstr(settings, "audio.oss.device", &devname) || !devname) {
- devname = FLUID_STRDUP ("/dev/dsp");
+ devname = FLUID_STRDUP (DEVOSSAUDIO);
if (!devname)
{
@@ -503,7 +509,7 @@ fluid_oss_audio_run2(void* d)
void fluid_oss_midi_driver_settings(fluid_settings_t* settings)
{
- fluid_settings_register_str(settings, "midi.oss.device", "/dev/midi", 0, NULL, NULL);
+ fluid_settings_register_str(settings, "midi.oss.device", DEVOSSMIDI, 0, NULL, NULL);
}
/*
@@ -546,7 +552,7 @@ new_fluid_oss_midi_driver(fluid_settings
fluid_settings_dupstr(settings, "midi.oss.device", &device); /* ++ alloc device name */
if (device == NULL) {
- device = FLUID_STRDUP ("/dev/midi");
+ device = FLUID_STRDUP (DEVOSSMIDI);
if (!device)
{