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.
499 lines
17 KiB
499 lines
17 KiB
14 years ago
|
# --- 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
|