Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > by-pkgid > 70f5b88d1ec6dee8af43c40ba97e85c3 > files > 1

SoundTouch-1.3.1-2mdv2007.0.src.rpm

diff -Naur soundtouch-1.3.1/include/SoundTouch.h soundtouch-1.3.1.oden/include/SoundTouch.h
--- soundtouch-1.3.1/include/SoundTouch.h	2006-03-05 19:01:00.000000000 +0100
+++ soundtouch-1.3.1.oden/include/SoundTouch.h	2006-03-05 18:58:38.000000000 +0100
@@ -72,11 +72,15 @@
 #ifndef SoundTouch_H
 #define SoundTouch_H
 
+#if defined(__cplusplus) || defined(c_plusplus)
 #include "FIFOSamplePipe.h"
+#endif
 #include "STTypes.h"
 
+#if defined(__cplusplus) || defined(c_plusplus)
 namespace soundtouch
 {
+#endif
 
 /// Soundtouch library version string
 #define SOUNDTOUCH_VERSION          "1.3.1"
@@ -116,6 +120,7 @@
 #define SETTING_OVERLAP_MS          5
 
 
+#if defined(__cplusplus) || defined(c_plusplus)
 class SoundTouch : public FIFOProcessor
 {
 private:
@@ -248,5 +253,39 @@
     /// - clear()          : Clears all samples from ready/processing buffers.
 };
 
+extern "C" {
+#endif /* #ifdef __cplusplus */
+
+    /* C Front End Functions for SoundTouch class */
+    struct __SoundTouch;
+    struct __SoundTouch *SoundTouch_construct();
+    void SoundTouch_destruct(struct __SoundTouch *st);
+    void SoundTouch_setRate(struct __SoundTouch *st, float newRate);
+    void SoundTouch_setTempo(struct __SoundTouch *st, float newTempo);
+    void SoundTouch_setRateChange(struct __SoundTouch *st, float newRate);
+    void SoundTouch_setTempoChange(struct __SoundTouch *st, float newTempo);
+    void SoundTouch_setPitch(struct __SoundTouch *st, float newPitch);
+    void SoundTouch_setPitchOctaves(struct __SoundTouch *st, float newPitch);
+    void SoundTouch_setPitchSemiTonesInt(struct __SoundTouch *st, int newPitch);
+    void SoundTouch_setPitchSemiTonesFloat(struct __SoundTouch *st, float newPitch);
+    void SoundTouch_setChannels(struct __SoundTouch *st, uint numChannels);
+    void SoundTouch_setSampleRate(struct __SoundTouch *st, uint srate);
+    void SoundTouch_flush(struct __SoundTouch *st);
+    void SoundTouch_putSamples(struct __SoundTouch *st, SAMPLETYPE *samples, uint numSamples);
+    void SoundTouch_clear(struct __SoundTouch *st);
+    int  SoundTouch_setSetting(struct __SoundTouch *st, uint settingId, uint value);
+    uint SoundTouch_getSetting(struct __SoundTouch *st, uint settingId);
+    uint SoundTouch_numUnprocessedSamples(struct __SoundTouch *st);
+
+    uint SoundTouch_receiveSamplesEx(struct __SoundTouch *st, SAMPLETYPE *output, uint maxSamples);
+    uint SoundTouch_receiveSamples(struct __SoundTouch *st, uint maxSamples);
+    uint SoundTouch_numSamples(struct __SoundTouch *st);
+    int  SoundTouch_isEmpty(struct __SoundTouch *st);
+
+#if defined(__cplusplus) || defined(c_plusplus)
 }
+
+}
+#endif
+
 #endif
diff -Naur soundtouch-1.3.1/include/STTypes.h soundtouch-1.3.1.oden/include/STTypes.h
--- soundtouch-1.3.1/include/STTypes.h	2006-03-05 19:01:00.000000000 +0100
+++ soundtouch-1.3.1.oden/include/STTypes.h	2006-03-05 19:00:16.000000000 +0100
@@ -57,9 +57,10 @@
 
 #endif  // _WINDEF_
 
-
+#if defined(__cplusplus) || defined(c_plusplus)
 namespace soundtouch
 {
+#endif
 /// Activate these undef's to overrule the possible sampletype 
 /// setting inherited from some other header file:
 //#undef INTEGER_SAMPLES
@@ -138,6 +139,8 @@
         #endif
 
     #endif  // INTEGER_SAMPLES
+#if defined(__cplusplus) || defined(c_plusplus)
 };
+#endif
 
 #endif
diff -Naur soundtouch-1.3.1/source/SoundTouch/SoundTouch.cpp soundtouch-1.3.1.oden/source/SoundTouch/SoundTouch.cpp
--- soundtouch-1.3.1/source/SoundTouch/SoundTouch.cpp	2006-03-05 19:01:00.000000000 +0100
+++ soundtouch-1.3.1.oden/source/SoundTouch/SoundTouch.cpp	2006-03-05 19:00:43.000000000 +0100
@@ -472,3 +472,117 @@
     }
     return 0;
 }
+
+  /***************************************/
+ /***** CRAZY C FRONT END FUNCTIONS *****/
+/***************************************/
+
+extern "C" struct __SoundTouch *SoundTouch_construct()
+{
+	return (struct __SoundTouch *)(new SoundTouch());
+}
+
+extern "C" void SoundTouch_destruct(struct __SoundTouch *st)
+{
+	delete (SoundTouch *)st;
+}
+
+extern "C" void SoundTouch_setRate(struct __SoundTouch *st, float newRate)
+{
+	((SoundTouch *)st)->setRate(newRate);
+}
+
+extern "C" void SoundTouch_setTempo(struct __SoundTouch *st, float newTempo)
+{
+	((SoundTouch *)st)->setTempo(newTempo);
+}
+
+extern "C" void SoundTouch_setRateChange(struct __SoundTouch *st, float newRate)
+{
+	((SoundTouch *)st)->setRateChange(newRate);
+}
+
+extern "C" void SoundTouch_setTempoChange(struct __SoundTouch *st, float newTempo)
+{
+	((SoundTouch *)st)->setTempoChange(newTempo);
+}
+
+extern "C" void SoundTouch_setPitch(struct __SoundTouch *st, float newPitch)
+{
+	((SoundTouch *)st)->setPitch(newPitch);
+}
+
+extern "C" void SoundTouch_setPitchOctaves(struct __SoundTouch *st, float newPitch)
+{
+	((SoundTouch *)st)->setPitchOctaves(newPitch);
+}
+
+extern "C" void SoundTouch_setPitchSemiTonesInt(struct __SoundTouch *st, int newPitch)
+{
+	((SoundTouch *)st)->setPitchSemiTones(newPitch);
+}
+
+extern "C" void SoundTouch_setPitchSemiTonesFloat(struct __SoundTouch *st, float newPitch)
+{
+	((SoundTouch *)st)->setPitchSemiTones(newPitch);
+}
+
+extern "C" void SoundTouch_setChannels(struct __SoundTouch *st, uint numChannels)
+{
+	((SoundTouch *)st)->setChannels(numChannels);
+}
+
+extern "C" void SoundTouch_setSampleRate(struct __SoundTouch *st, uint srate)
+{
+	((SoundTouch *)st)->setSampleRate(srate);
+}
+
+extern "C" void SoundTouch_flush(struct __SoundTouch *st)
+{
+	((SoundTouch *)st)->flush();
+}
+
+extern "C" void SoundTouch_putSamples(struct __SoundTouch *st, SAMPLETYPE *samples, uint numSamples)
+{
+	((SoundTouch *)st)->putSamples(samples, numSamples);
+}
+
+extern "C" void SoundTouch_clear(struct __SoundTouch *st)
+{
+	((SoundTouch *)st)->clear();
+}
+
+extern "C" int  SoundTouch_setSetting(struct __SoundTouch *st, uint settingId, uint value)
+{
+	return ((SoundTouch *)st)->setSetting(settingId, value);
+}
+
+extern "C" uint SoundTouch_getSetting(struct __SoundTouch *st, uint settingId)
+{
+	return ((SoundTouch *)st)->getSetting(settingId);
+}
+
+extern "C" uint SoundTouch_numUnprocessedSamples(struct __SoundTouch *st)
+{
+	return ((SoundTouch *)st)->numUnprocessedSamples();
+}
+
+extern "C" uint SoundTouch_receiveSamplesEx(struct __SoundTouch *st, SAMPLETYPE *output, uint maxSamples)
+{
+	return ((SoundTouch *)st)->receiveSamples(output, maxSamples);
+}
+
+extern "C" uint SoundTouch_receiveSamples(struct __SoundTouch *st, uint maxSamples)
+{
+	return ((SoundTouch *)st)->receiveSamples(maxSamples);
+}
+
+extern "C" uint SoundTouch_numSamples(struct __SoundTouch *st)
+{
+	return ((SoundTouch *)st)->numSamples();
+}
+
+extern "C" int  SoundTouch_isEmpty(struct __SoundTouch *st)
+{
+	return ((SoundTouch *)st)->isEmpty();
+}