From 98c9e9e8978b417cabb295985c799f52adaf5ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Thu, 15 Jun 2006 23:41:26 +0000 Subject: [PATCH] some fixes for dano fix SoftSynth::PlayHandler, offset and incr are counted in samples git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17853 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/midi/MidiPort.h | 3 +++ headers/os/midi2/MidiEndpoint.h | 1 + src/kits/midi/Jamfile | 10 +++++++++- src/kits/midi/MidiGlue.h | 1 + src/kits/midi/SoftSynth.cpp | 7 ++++--- src/kits/midi2/Jamfile | 9 +++++++++ src/libs/fluidsynth/src/config.h | 3 +++ 7 files changed, 30 insertions(+), 4 deletions(-) diff --git a/headers/os/midi/MidiPort.h b/headers/os/midi/MidiPort.h index 634c24e622..55479d031a 100644 --- a/headers/os/midi/MidiPort.h +++ b/headers/os/midi/MidiPort.h @@ -4,6 +4,9 @@ #include +class BMidiConsumer; +class BMidiProducer; + namespace BPrivate { class BMidiPortGlue; } class BMidiPort : public BMidi diff --git a/headers/os/midi2/MidiEndpoint.h b/headers/os/midi2/MidiEndpoint.h index f0c7ea2c88..aa8711d6f8 100644 --- a/headers/os/midi2/MidiEndpoint.h +++ b/headers/os/midi2/MidiEndpoint.h @@ -3,6 +3,7 @@ #define _MIDI_ENDPOINT_H #include +#include #include #include #include diff --git a/src/kits/midi/Jamfile b/src/kits/midi/Jamfile index f7de32914e..d184d31ef5 100644 --- a/src/kits/midi/Jamfile +++ b/src/kits/midi/Jamfile @@ -1,5 +1,13 @@ SubDir HAIKU_TOP src kits midi ; +SetSubDirSupportedPlatformsBeOSCompatible ; + +if $(TARGET_PLATFORM) != haiku { + UseHeaders [ FDirName $(HAIKU_TOP) headers os midi ] : true ; + UseHeaders [ FDirName $(HAIKU_TOP) headers os midi2 ] : true ; + UseHeaders [ FDirName $(HAIKU_TOP) headers os ] : true ; +} + UsePrivateHeaders midi ; UseLibraryHeaders fluidsynth ; @@ -16,7 +24,7 @@ SharedLibrary libmidi.so : Synth.cpp : be - midi2 + libmidi2.so media libfluidsynth.so ; diff --git a/src/kits/midi/MidiGlue.h b/src/kits/midi/MidiGlue.h index 5cf678961b..51c7984e78 100644 --- a/src/kits/midi/MidiGlue.h +++ b/src/kits/midi/MidiGlue.h @@ -24,6 +24,7 @@ #ifndef _MIDI_GLUE_H #define _MIDI_GLUE_H +#include #include #define MAKE_TIME(t) (t / (bigtime_t)1000) diff --git a/src/kits/midi/SoftSynth.cpp b/src/kits/midi/SoftSynth.cpp index b36a8bcc59..79f5b481eb 100644 --- a/src/kits/midi/SoftSynth.cpp +++ b/src/kits/midi/SoftSynth.cpp @@ -488,8 +488,9 @@ BSoftSynth::PlayBuffer(void * cookie, void * data, size_t size, const media_raw_ // we use float samples - fluid_synth_write_float(synth->fSynth, size / sizeof(float) / format.channel_count, - data, 0, sizeof(float) * format.channel_count, - (char *)data + sizeof(float), 0, sizeof(float) * format.channel_count); + if (synth->fSynth) + fluid_synth_write_float(synth->fSynth, size / sizeof(float) / format.channel_count, + data, 0, format.channel_count, + data, 1, format.channel_count); } diff --git a/src/kits/midi2/Jamfile b/src/kits/midi2/Jamfile index 97c15a99db..2f652376a1 100644 --- a/src/kits/midi2/Jamfile +++ b/src/kits/midi2/Jamfile @@ -1,5 +1,14 @@ SubDir HAIKU_TOP src kits midi2 ; +SetSubDirSupportedPlatformsBeOSCompatible ; + +if $(TARGET_PLATFORM) != haiku { + UseHeaders [ FDirName $(HAIKU_TOP) headers os midi2 ] : true ; + # We need Errors.h also when not compiling for Haiku. + UseHeaders [ FDirName $(HAIKU_TOP) headers posix ] : true ; + # We need Errors.h also when not compiling for Haiku. +} + UsePrivateHeaders midi ; SharedLibrary libmidi2.so : diff --git a/src/libs/fluidsynth/src/config.h b/src/libs/fluidsynth/src/config.h index ff0e78178e..53d91ababb 100644 --- a/src/libs/fluidsynth/src/config.h +++ b/src/libs/fluidsynth/src/config.h @@ -96,6 +96,7 @@ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ +#ifdef HAIKU_TARGET_PLATFORM_HAIKU #define HAVE_SYS_IOCTL_H 1 /* Define to 1 if you have the header file. */ @@ -103,6 +104,7 @@ /* Define to 1 if you have the header file. */ #define HAVE_SYS_SOCKET_H 1 +#endif /* Define to 1 if you have the header file. */ /* #undef HAVE_SYS_SOUNDCARD_H */ @@ -187,5 +189,6 @@ #ifdef __BEOS__ #define WITHOUT_SERVER 1 +#include #endif