You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
498 lines
17 KiB
498 lines
17 KiB
# --- SDE-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# Filename: package/.../espeak/espeak-1.45.04-use-system-portaudio-header.patch |
|
# Copyright (C) 2011 The OpenSDE Project |
|
# |
|
# More information can be found in the files COPYING and README. |
|
# |
|
# This patch file is dual-licensed. It is available under the license the |
|
# patched project is licensed under, as long as it is an OpenSource license |
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms |
|
# of the GNU General Public License as published by the Free Software |
|
# Foundation; either version 2 of the License, or (at your option) any later |
|
# version. |
|
# --- SDE-COPYRIGHT-NOTE-END --- |
|
|
|
diff -ruN espeak-1.45.04-source-orig/src/portaudio.h espeak-1.45.04-source/src/portaudio.h |
|
--- espeak-1.45.04-source-orig/src/portaudio.h 2011-04-25 18:22:27.000000000 +0200 |
|
+++ espeak-1.45.04-source/src/portaudio.h 1970-01-01 01:00:00.000000000 +0100 |
|
@@ -1,466 +0,0 @@ |
|
-// NOTE: Copy this file to portaudio.h in order to compile with V18 portaudio |
|
- |
|
- |
|
-#ifndef PORT_AUDIO_H |
|
-#define PORT_AUDIO_H |
|
- |
|
-#ifdef __cplusplus |
|
-extern "C" |
|
-{ |
|
-#endif /* __cplusplus */ |
|
- |
|
-/* |
|
- * $Id: portaudio.h,v 1.5 2002/03/26 18:04:22 philburk Exp $ |
|
- * PortAudio Portable Real-Time Audio Library |
|
- * PortAudio API Header File |
|
- * Latest version available at: http://www.audiomulch.com/portaudio/ |
|
- * |
|
- * Copyright (c) 1999-2000 Ross Bencina and Phil Burk |
|
- * |
|
- * Permission is hereby granted, free of charge, to any person obtaining |
|
- * a copy of this software and associated documentation files |
|
- * (the "Software"), to deal in the Software without restriction, |
|
- * including without limitation the rights to use, copy, modify, merge, |
|
- * publish, distribute, sublicense, and/or sell copies of the Software, |
|
- * and to permit persons to whom the Software is furnished to do so, |
|
- * subject to the following conditions: |
|
- * |
|
- * The above copyright notice and this permission notice shall be |
|
- * included in all copies or substantial portions of the Software. |
|
- * |
|
- * Any person wishing to distribute modifications to the Software is |
|
- * requested to send the modifications to the original developer so that |
|
- * they can be incorporated into the canonical version. |
|
- * |
|
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
|
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
|
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
|
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR |
|
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF |
|
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
|
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
|
- * |
|
- */ |
|
- |
|
-typedef int PaError; |
|
-typedef enum { |
|
- paNoError = 0, |
|
- |
|
- paHostError = -10000, |
|
- paInvalidChannelCount, |
|
- paInvalidSampleRate, |
|
- paInvalidDeviceId, |
|
- paInvalidFlag, |
|
- paSampleFormatNotSupported, |
|
- paBadIODeviceCombination, |
|
- paInsufficientMemory, |
|
- paBufferTooBig, |
|
- paBufferTooSmall, |
|
- paNullCallback, |
|
- paBadStreamPtr, |
|
- paTimedOut, |
|
- paInternalError, |
|
- paDeviceUnavailable |
|
-} PaErrorNum; |
|
- |
|
-/* |
|
- Pa_Initialize() is the library initialisation function - call this before |
|
- using the library. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_Initialize( void ); |
|
- |
|
-/* |
|
- Pa_Terminate() is the library termination function - call this after |
|
- using the library. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_Terminate( void ); |
|
- |
|
-/* |
|
- Pa_GetHostError() returns a host specific error code. |
|
- This can be called after receiving a PortAudio error code of paHostError. |
|
- |
|
-*/ |
|
- |
|
-long Pa_GetHostError( void ); |
|
- |
|
-/* |
|
- Pa_GetErrorText() translates the supplied PortAudio error number |
|
- into a human readable message. |
|
- |
|
-*/ |
|
- |
|
-const char *Pa_GetErrorText( PaError errnum ); |
|
- |
|
-/* |
|
- Sample formats |
|
- |
|
- These are formats used to pass sound data between the callback and the |
|
- stream. Each device has a "native" format which may be used when optimum |
|
- efficiency or control over conversion is required. |
|
- |
|
- Formats marked "always available" are supported (emulated) by all |
|
- PortAudio implementations. |
|
- |
|
- The floating point representation (paFloat32) uses +1.0 and -1.0 as the |
|
- maximum and minimum respectively. |
|
- |
|
- paUInt8 is an unsigned 8 bit format where 128 is considered "ground" |
|
- |
|
-*/ |
|
- |
|
-typedef unsigned long PaSampleFormat; |
|
-#define paFloat32 ((PaSampleFormat) (1<<0)) /*always available*/ |
|
-#define paInt16 ((PaSampleFormat) (1<<1)) /*always available*/ |
|
-#define paInt32 ((PaSampleFormat) (1<<2)) /*always available*/ |
|
-#define paInt24 ((PaSampleFormat) (1<<3)) |
|
-#define paPackedInt24 ((PaSampleFormat) (1<<4)) |
|
-#define paInt8 ((PaSampleFormat) (1<<5)) |
|
-#define paUInt8 ((PaSampleFormat) (1<<6)) |
|
-#define paCustomFormat ((PaSampleFormat) (1<<16)) |
|
- |
|
-/* |
|
- Device enumeration mechanism. |
|
- |
|
- Device ids range from 0 to Pa_CountDevices()-1. |
|
- |
|
- Devices may support input, output or both. |
|
- |
|
-*/ |
|
- |
|
-typedef int PaDeviceID; |
|
-#define paNoDevice -1 |
|
- |
|
-int Pa_CountDevices( void ); |
|
- |
|
-typedef struct |
|
-{ |
|
- int structVersion; |
|
- const char *name; |
|
- int maxInputChannels; |
|
- int maxOutputChannels; |
|
- /* Number of discrete rates, or -1 if range supported. */ |
|
- int numSampleRates; |
|
- /* Array of supported sample rates, or {min,max} if range supported. */ |
|
- const double *sampleRates; |
|
- PaSampleFormat nativeSampleFormats; |
|
-} |
|
-PaDeviceInfo; |
|
- |
|
-/* |
|
- Pa_GetDefaultInputDeviceID(), Pa_GetDefaultOutputDeviceID() return the |
|
- default device ids for input and output respectively, or paNoDevice if |
|
- no device is available. |
|
- The result can be passed to Pa_OpenStream(). |
|
- |
|
- On the PC, the user can specify a default device by |
|
- setting an environment variable. For example, to use device #1. |
|
- |
|
- set PA_RECOMMENDED_OUTPUT_DEVICE=1 |
|
- |
|
- The user should first determine the available device ids by using |
|
- the supplied application "pa_devs". |
|
- |
|
-*/ |
|
- |
|
-PaDeviceID Pa_GetDefaultInputDeviceID( void ); |
|
-PaDeviceID Pa_GetDefaultOutputDeviceID( void ); |
|
- |
|
- |
|
- |
|
-/* |
|
- Pa_GetDeviceInfo() returns a pointer to an immutable PaDeviceInfo structure |
|
- for the device specified. |
|
- If the device parameter is out of range the function returns NULL. |
|
- |
|
- PortAudio manages the memory referenced by the returned pointer, the client |
|
- must not manipulate or free the memory. The pointer is only guaranteed to be |
|
- valid between calls to Pa_Initialize() and Pa_Terminate(). |
|
- |
|
-*/ |
|
- |
|
-const PaDeviceInfo* Pa_GetDeviceInfo( PaDeviceID device ); |
|
- |
|
-/* |
|
- PaTimestamp is used to represent a continuous sample clock with arbitrary |
|
- start time that can be used for syncronization. The type is used for the |
|
- outTime argument to the PortAudioCallback and as the result of Pa_StreamTime() |
|
- |
|
-*/ |
|
- |
|
-typedef double PaTimestamp; |
|
- |
|
-/* |
|
- PortAudioCallback is implemented by PortAudio clients. |
|
- |
|
- inputBuffer and outputBuffer are arrays of interleaved samples, |
|
- the format, packing and number of channels used by the buffers are |
|
- determined by parameters to Pa_OpenStream() (see below). |
|
- |
|
- framesPerBuffer is the number of sample frames to be processed by the callback. |
|
- |
|
- outTime is the time in samples when the buffer(s) processed by |
|
- this callback will begin being played at the audio output. |
|
- See also Pa_StreamTime() |
|
- |
|
- userData is the value of a user supplied pointer passed to Pa_OpenStream() |
|
- intended for storing synthesis data etc. |
|
- |
|
- return value: |
|
- The callback can return a non-zero value to stop the stream. This may be |
|
- useful in applications such as soundfile players where a specific duration |
|
- of output is required. However, it is not necessary to utilise this mechanism |
|
- as StopStream() will also terminate the stream. A callback returning a |
|
- non-zero value must fill the entire outputBuffer. |
|
- |
|
- NOTE: None of the other stream functions may be called from within the |
|
- callback function except for Pa_GetCPULoad(). |
|
- |
|
-*/ |
|
- |
|
-typedef int (PortAudioCallback)( |
|
- void *inputBuffer, void *outputBuffer, |
|
- unsigned long framesPerBuffer, |
|
- PaTimestamp outTime, void *userData ); |
|
- |
|
- |
|
-/* |
|
- Stream flags |
|
- |
|
- These flags may be supplied (ored together) in the streamFlags argument to |
|
- the Pa_OpenStream() function. |
|
- |
|
-*/ |
|
- |
|
-#define paNoFlag (0) |
|
-#define paClipOff (1<<0) /* disable default clipping of out of range samples */ |
|
-#define paDitherOff (1<<1) /* disable default dithering */ |
|
-#define paPlatformSpecificFlags (0x00010000) |
|
-typedef unsigned long PaStreamFlags; |
|
- |
|
-/* |
|
- A single PortAudioStream provides multiple channels of real-time |
|
- input and output audio streaming to a client application. |
|
- Pointers to PortAudioStream objects are passed between PortAudio functions. |
|
-*/ |
|
- |
|
-typedef void PortAudioStream; |
|
-#define PaStream PortAudioStream |
|
- |
|
-/* |
|
- Pa_OpenStream() opens a stream for either input, output or both. |
|
- |
|
- stream is the address of a PortAudioStream pointer which will receive |
|
- a pointer to the newly opened stream. |
|
- |
|
- inputDevice is the id of the device used for input (see PaDeviceID above.) |
|
- inputDevice may be paNoDevice to indicate that an input device is not required. |
|
- |
|
- numInputChannels is the number of channels of sound to be delivered to the |
|
- callback. It can range from 1 to the value of maxInputChannels in the |
|
- PaDeviceInfo record for the device specified by the inputDevice parameter. |
|
- If inputDevice is paNoDevice numInputChannels is ignored. |
|
- |
|
- inputSampleFormat is the sample format of inputBuffer provided to the callback |
|
- function. inputSampleFormat may be any of the formats described by the |
|
- PaSampleFormat enumeration (see above). PortAudio guarantees support for |
|
- the device's native formats (nativeSampleFormats in the device info record) |
|
- and additionally 16 and 32 bit integer and 32 bit floating point formats. |
|
- Support for other formats is implementation defined. |
|
- |
|
- inputDriverInfo is a pointer to an optional driver specific data structure |
|
- containing additional information for device setup or stream processing. |
|
- inputDriverInfo is never required for correct operation. If not used |
|
- inputDriverInfo should be NULL. |
|
- |
|
- outputDevice is the id of the device used for output (see PaDeviceID above.) |
|
- outputDevice may be paNoDevice to indicate that an output device is not required. |
|
- |
|
- numOutputChannels is the number of channels of sound to be supplied by the |
|
- callback. See the definition of numInputChannels above for more details. |
|
- |
|
- outputSampleFormat is the sample format of the outputBuffer filled by the |
|
- callback function. See the definition of inputSampleFormat above for more |
|
- details. |
|
- |
|
- outputDriverInfo is a pointer to an optional driver specific data structure |
|
- containing additional information for device setup or stream processing. |
|
- outputDriverInfo is never required for correct operation. If not used |
|
- outputDriverInfo should be NULL. |
|
- |
|
- sampleRate is the desired sampleRate. For full-duplex streams it is the |
|
- sample rate for both input and output |
|
- |
|
- framesPerBuffer is the length in sample frames of all internal sample buffers |
|
- used for communication with platform specific audio routines. Wherever |
|
- possible this corresponds to the framesPerBuffer parameter passed to the |
|
- callback function. |
|
- |
|
- numberOfBuffers is the number of buffers used for multibuffered communication |
|
- with the platform specific audio routines. If you pass zero, then an optimum |
|
- value will be chosen for you internally. This parameter is provided only |
|
- as a guide - and does not imply that an implementation must use multibuffered |
|
- i/o when reliable double buffering is available (such as SndPlayDoubleBuffer() |
|
- on the Macintosh.) |
|
- |
|
- streamFlags may contain a combination of flags ORed together. |
|
- These flags modify the behaviour of the streaming process. Some flags may only |
|
- be relevant to certain buffer formats. |
|
- |
|
- callback is a pointer to a client supplied function that is responsible |
|
- for processing and filling input and output buffers (see above for details.) |
|
- |
|
- userData is a client supplied pointer which is passed to the callback |
|
- function. It could for example, contain a pointer to instance data necessary |
|
- for processing the audio buffers. |
|
- |
|
- return value: |
|
- Upon success Pa_OpenStream() returns PaNoError and places a pointer to a |
|
- valid PortAudioStream in the stream argument. The stream is inactive (stopped). |
|
- If a call to Pa_OpenStream() fails a non-zero error code is returned (see |
|
- PaError above) and the value of stream is invalid. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_OpenStream( PortAudioStream** stream, |
|
- PaDeviceID inputDevice, |
|
- int numInputChannels, |
|
- PaSampleFormat inputSampleFormat, |
|
- void *inputDriverInfo, |
|
- PaDeviceID outputDevice, |
|
- int numOutputChannels, |
|
- PaSampleFormat outputSampleFormat, |
|
- void *outputDriverInfo, |
|
- double sampleRate, |
|
- unsigned long framesPerBuffer, |
|
- unsigned long numberOfBuffers, |
|
- PaStreamFlags streamFlags, |
|
- PortAudioCallback *callback, |
|
- void *userData ); |
|
- |
|
- |
|
-/* |
|
- Pa_OpenDefaultStream() is a simplified version of Pa_OpenStream() that opens |
|
- the default input and/or output devices. Most parameters have identical meaning |
|
- to their Pa_OpenStream() counterparts, with the following exceptions: |
|
- |
|
- If either numInputChannels or numOutputChannels is 0 the respective device |
|
- is not opened. This has the same effect as passing paNoDevice in the device |
|
- arguments to Pa_OpenStream(). |
|
- |
|
- sampleFormat applies to both the input and output buffers. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_OpenDefaultStream( PortAudioStream** stream, |
|
- int numInputChannels, |
|
- int numOutputChannels, |
|
- PaSampleFormat sampleFormat, |
|
- double sampleRate, |
|
- unsigned long framesPerBuffer, |
|
- unsigned long numberOfBuffers, |
|
- PortAudioCallback *callback, |
|
- void *userData ); |
|
- |
|
-/* |
|
- Pa_CloseStream() closes an audio stream, flushing any pending buffers. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_CloseStream( PortAudioStream* ); |
|
- |
|
-/* |
|
- Pa_StartStream() and Pa_StopStream() begin and terminate audio processing. |
|
- Pa_StopStream() waits until all pending audio buffers have been played. |
|
- Pa_AbortStream() stops playing immediately without waiting for pending |
|
- buffers to complete. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_StartStream( PortAudioStream *stream ); |
|
- |
|
-PaError Pa_StopStream( PortAudioStream *stream ); |
|
- |
|
-PaError Pa_AbortStream( PortAudioStream *stream ); |
|
- |
|
-/* |
|
- Pa_StreamActive() returns one (1) when the stream is active (ie playing |
|
- or recording audio), zero (0) when not playing, or a negative error number |
|
- if the stream is invalid. |
|
- The stream is active between calls to Pa_StartStream() and Pa_StopStream(), |
|
- but may also become inactive if the callback returns a non-zero value. |
|
- In the latter case, the stream is considered inactive after the last |
|
- buffer has finished playing. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_StreamActive( PortAudioStream *stream ); |
|
- |
|
-/* |
|
- Pa_StreamTime() returns the current output time in samples for the stream. |
|
- This time may be used as a time reference (for example synchronizing audio to |
|
- MIDI). |
|
- |
|
-*/ |
|
- |
|
-PaTimestamp Pa_StreamTime( PortAudioStream *stream ); |
|
- |
|
-/* |
|
- Pa_GetCPULoad() returns the CPU Load for the stream. |
|
- The "CPU Load" is a fraction of total CPU time consumed by the stream's |
|
- audio processing routines including, but not limited to the client supplied |
|
- callback. |
|
- A value of 0.5 would imply that PortAudio and the sound generating |
|
- callback was consuming roughly 50% of the available CPU time. |
|
- This function may be called from the callback function or the application. |
|
- |
|
-*/ |
|
- |
|
-double Pa_GetCPULoad( PortAudioStream* stream ); |
|
- |
|
-/* |
|
- Pa_GetMinNumBuffers() returns the minimum number of buffers required by |
|
- the current host based on minimum latency. |
|
- On the PC, for the DirectSound implementation, latency can be optionally set |
|
- by user by setting an environment variable. |
|
- For example, to set latency to 200 msec, put: |
|
- |
|
- set PA_MIN_LATENCY_MSEC=200 |
|
- |
|
- in the AUTOEXEC.BAT file and reboot. |
|
- If the environment variable is not set, then the latency will be determined |
|
- based on the OS. Windows NT has higher latency than Win95. |
|
- |
|
-*/ |
|
- |
|
-int Pa_GetMinNumBuffers( int framesPerBuffer, double sampleRate ); |
|
- |
|
-/* |
|
- Pa_Sleep() puts the caller to sleep for at least 'msec' milliseconds. |
|
- You may sleep longer than the requested time so don't rely on this for |
|
- accurate musical timing. |
|
- |
|
- Pa_Sleep() is provided as a convenience for authors of portable code (such as |
|
- the tests and examples in the PortAudio distribution.) |
|
- |
|
-*/ |
|
- |
|
-void Pa_Sleep( long msec ); |
|
- |
|
-/* |
|
- Pa_GetSampleSize() returns the size in bytes of a single sample in the |
|
- supplied PaSampleFormat, or paSampleFormatNotSupported if the format is |
|
- no supported. |
|
- |
|
-*/ |
|
- |
|
-PaError Pa_GetSampleSize( PaSampleFormat format ); |
|
- |
|
- |
|
-#ifdef __cplusplus |
|
-} |
|
-#endif /* __cplusplus */ |
|
-#endif /* PORT_AUDIO_H */ |
|
diff -ruN espeak-1.45.04-source-orig/src/wavegen.cpp espeak-1.45.04-source/src/wavegen.cpp |
|
--- espeak-1.45.04-source-orig/src/wavegen.cpp 2011-05-27 15:49:38.376003719 +0200 |
|
+++ espeak-1.45.04-source/src/wavegen.cpp 2011-05-27 15:40:41.372005925 +0200 |
|
@@ -39,7 +39,7 @@ |
|
//#undef INCLUDE_KLATT |
|
|
|
#ifdef USE_PORTAUDIO |
|
-#include "portaudio.h" |
|
+#include <portaudio.h> |
|
#undef USE_PORTAUDIO |
|
// determine portaudio version by looking for a #define which is not in V18 |
|
#ifdef paNeverDropInput
|
|
|