From 4ad8294620ac22ede3f459ca92aafc6d2acb2123 Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 31 Jul 2013 18:13:40 +0000 Subject: [PATCH] Default compile should use Portaudio, not QAudio. New link to User's Guide for v1.1.1. Portaudio.h should not be in SVN. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3515 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- WSJT-X_Users_Guide_v1.1.docx | Bin 657849 -> 658312 bytes mainwindow.cpp | 2 +- portaudio.h | 1174 ---------------------------------- wsjtx.pro | 2 +- 4 files changed, 2 insertions(+), 1176 deletions(-) delete mode 100644 portaudio.h diff --git a/WSJT-X_Users_Guide_v1.1.docx b/WSJT-X_Users_Guide_v1.1.docx index 98d258d863943a16d6da2ef6d6b54d63cfc1ddba..ff19c2974350192c3ade9a2df1ec7ab323c3c5c0 100644 GIT binary patch delta 62923 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

6KK#w-0^wYv!y_2qz5orVju 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 z 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 XP*9lv57M=Fa0)Vj3IP!s0Kxw+95P9U delta 62489 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

Q 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 XU&#OSO2NH?3=jZhFq|LopCdeviceCount-1) - - @return A non-negative PaDeviceIndex ranging from 0 to (Pa_GetDeviceCount()-1) - or, a PaErrorCode (which are always negative) if PortAudio is not initialized - or an error is encountered. - - A paInvalidHostApi error code indicates that the host API index specified by - the hostApi parameter is out of range. - - A paInvalidDevice error code indicates that the hostApiDeviceIndex parameter - is out of range. - - @see PaHostApiInfo -*/ -PaDeviceIndex Pa_HostApiDeviceIndexToDeviceIndex( PaHostApiIndex hostApi, - int hostApiDeviceIndex ); - - - -/** Structure used to return information about a host error condition. -*/ -typedef struct PaHostErrorInfo{ - PaHostApiTypeId hostApiType; /**< the host API which returned the error code */ - long errorCode; /**< the error code returned */ - const char *errorText; /**< a textual description of the error if available, otherwise a zero-length string */ -}PaHostErrorInfo; - - -/** Return information about the last host error encountered. The error - information returned by Pa_GetLastHostErrorInfo() will never be modified - asynchronously by errors occurring in other PortAudio owned threads - (such as the thread that manages the stream callback.) - - This function is provided as a last resort, primarily to enhance debugging - by providing clients with access to all available error information. - - @return A pointer to an immutable structure constraining information about - the host error. The values in this structure will only be valid if a - PortAudio function has previously returned the paUnanticipatedHostError - error code. -*/ -const PaHostErrorInfo* Pa_GetLastHostErrorInfo( void ); - - - -/* Device enumeration and capabilities */ - -/** Retrieve the number of available devices. The number of available devices - may be zero. - - @return A non-negative value indicating the number of available devices or, - a PaErrorCode (which are always negative) if PortAudio is not initialized - or an error is encountered. -*/ -PaDeviceIndex Pa_GetDeviceCount( void ); - - -/** Retrieve the index of the default input device. The result can be - used in the inputDevice parameter to Pa_OpenStream(). - - @return The default input device index for the default host API, or paNoDevice - if no default input device is available or an error was encountered. -*/ -PaDeviceIndex Pa_GetDefaultInputDevice( void ); - - -/** Retrieve the index of the default output device. The result can be - used in the outputDevice parameter to Pa_OpenStream(). - - @return The default output device index for the default host API, or paNoDevice - if no default output device is available or an error was encountered. - - @note - 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". -*/ -PaDeviceIndex Pa_GetDefaultOutputDevice( void ); - - -/** The type used to represent monotonic time in seconds. PaTime is - used for the fields of the PaStreamCallbackTimeInfo argument to the - PaStreamCallback and as the result of Pa_GetStreamTime(). - - PaTime values have unspecified origin. - - @see PaStreamCallback, PaStreamCallbackTimeInfo, Pa_GetStreamTime -*/ -typedef double PaTime; - - -/** A type used to specify one or more sample formats. Each value indicates - a possible format for sound data passed to and from the stream callback, - Pa_ReadStream and Pa_WriteStream. - - The standard formats paFloat32, paInt16, paInt32, paInt24, paInt8 - and aUInt8 are usually implemented by all 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" - - The paNonInterleaved flag indicates that audio data is passed as an array - of pointers to separate buffers, one buffer for each channel. Usually, - when this flag is not used, audio data is passed as a single buffer with - all channels interleaved. - - @see Pa_OpenStream, Pa_OpenDefaultStream, PaDeviceInfo - @see paFloat32, paInt16, paInt32, paInt24, paInt8 - @see paUInt8, paCustomFormat, paNonInterleaved -*/ -typedef unsigned long PaSampleFormat; - - -#define paFloat32 ((PaSampleFormat) 0x00000001) /**< @see PaSampleFormat */ -#define paInt32 ((PaSampleFormat) 0x00000002) /**< @see PaSampleFormat */ -#define paInt24 ((PaSampleFormat) 0x00000004) /**< Packed 24 bit format. @see PaSampleFormat */ -#define paInt16 ((PaSampleFormat) 0x00000008) /**< @see PaSampleFormat */ -#define paInt8 ((PaSampleFormat) 0x00000010) /**< @see PaSampleFormat */ -#define paUInt8 ((PaSampleFormat) 0x00000020) /**< @see PaSampleFormat */ -#define paCustomFormat ((PaSampleFormat) 0x00010000) /**< @see PaSampleFormat */ - -#define paNonInterleaved ((PaSampleFormat) 0x80000000) /**< @see PaSampleFormat */ - -/** A structure providing information and capabilities of PortAudio devices. - Devices may support input, output or both input and output. -*/ -typedef struct PaDeviceInfo -{ - int structVersion; /* this is struct version 2 */ - const char *name; - PaHostApiIndex hostApi; /**< note this is a host API index, not a type id*/ - - int maxInputChannels; - int maxOutputChannels; - - /** Default latency values for interactive performance. */ - PaTime defaultLowInputLatency; - PaTime defaultLowOutputLatency; - /** Default latency values for robust non-interactive applications (eg. playing sound files). */ - PaTime defaultHighInputLatency; - PaTime defaultHighOutputLatency; - - double defaultSampleRate; -} PaDeviceInfo; - - -/** Retrieve a pointer to a PaDeviceInfo structure containing information - about the specified device. - @return A pointer to an immutable PaDeviceInfo structure. If the device - parameter is out of range the function returns NULL. - - @param device A valid device index in the range 0 to (Pa_GetDeviceCount()-1) - - @note 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(). - - @see PaDeviceInfo, PaDeviceIndex -*/ -const PaDeviceInfo* Pa_GetDeviceInfo( PaDeviceIndex device ); - - -/** Parameters for one direction (input or output) of a stream. -*/ -typedef struct PaStreamParameters -{ - /** A valid device index in the range 0 to (Pa_GetDeviceCount()-1) - specifying the device to be used or the special constant - paUseHostApiSpecificDeviceSpecification which indicates that the actual - device(s) to use are specified in hostApiSpecificStreamInfo. - This field must not be set to paNoDevice. - */ - PaDeviceIndex device; - - /** The number of channels of sound to be delivered to the - stream callback or accessed by Pa_ReadStream() or Pa_WriteStream(). - It can range from 1 to the value of maxInputChannels in the - PaDeviceInfo record for the device specified by the device parameter. - */ - int channelCount; - - /** The sample format of the buffer provided to the stream callback, - a_ReadStream() or Pa_WriteStream(). It may be any of the formats described - by the PaSampleFormat enumeration. - */ - PaSampleFormat sampleFormat; - - /** The desired latency in seconds. Where practical, implementations should - configure their latency based on these parameters, otherwise they may - choose the closest viable latency instead. Unless the suggested latency - is greater than the absolute upper limit for the device implementations - should round the suggestedLatency up to the next practical value - ie to - provide an equal or higher latency than suggestedLatency wherever possible. - Actual latency values for an open stream may be retrieved using the - inputLatency and outputLatency fields of the PaStreamInfo structure - returned by Pa_GetStreamInfo(). - @see default*Latency in PaDeviceInfo, *Latency in PaStreamInfo - */ - PaTime suggestedLatency; - - /** An optional pointer to a host api specific data structure - containing additional information for device setup and/or stream processing. - hostApiSpecificStreamInfo is never required for correct operation, - if not used it should be set to NULL. - */ - void *hostApiSpecificStreamInfo; - -} PaStreamParameters; - - -/** Return code for Pa_IsFormatSupported indicating success. */ -#define paFormatIsSupported (0) - -/** Determine whether it would be possible to open a stream with the specified - parameters. - - @param inputParameters A structure that describes the input parameters used to - open a stream. The suggestedLatency field is ignored. See PaStreamParameters - for a description of these parameters. inputParameters must be NULL for - output-only streams. - - @param outputParameters A structure that describes the output parameters used - to open a stream. The suggestedLatency field is ignored. See PaStreamParameters - for a description of these parameters. outputParameters must be NULL for - input-only streams. - - @param sampleRate The required sampleRate. For full-duplex streams it is the - sample rate for both input and output - - @return Returns 0 if the format is supported, and an error code indicating why - the format is not supported otherwise. The constant paFormatIsSupported is - provided to compare with the return value for success. - - @see paFormatIsSupported, PaStreamParameters -*/ -PaError Pa_IsFormatSupported( const PaStreamParameters *inputParameters, - const PaStreamParameters *outputParameters, - double sampleRate ); - - - -/* Streaming types and functions */ - - -/** - A single PaStream can provide multiple channels of real-time - streaming audio input and output to a client application. A stream - provides access to audio hardware represented by one or more - PaDevices. Depending on the underlying Host API, it may be possible - to open multiple streams using the same device, however this behavior - is implementation defined. Portable applications should assume that - a PaDevice may be simultaneously used by at most one PaStream. - - Pointers to PaStream objects are passed between PortAudio functions that - operate on streams. - - @see Pa_OpenStream, Pa_OpenDefaultStream, Pa_OpenDefaultStream, Pa_CloseStream, - Pa_StartStream, Pa_StopStream, Pa_AbortStream, Pa_IsStreamActive, - Pa_GetStreamTime, Pa_GetStreamCpuLoad - -*/ -typedef void PaStream; - - -/** Can be passed as the framesPerBuffer parameter to Pa_OpenStream() - or Pa_OpenDefaultStream() to indicate that the stream callback will - accept buffers of any size. -*/ -#define paFramesPerBufferUnspecified (0) - - -/** Flags used to control the behavior of a stream. They are passed as - parameters to Pa_OpenStream or Pa_OpenDefaultStream. Multiple flags may be - ORed together. - - @see Pa_OpenStream, Pa_OpenDefaultStream - @see paNoFlag, paClipOff, paDitherOff, paNeverDropInput, - paPrimeOutputBuffersUsingStreamCallback, paPlatformSpecificFlags -*/ -typedef unsigned long PaStreamFlags; - -/** @see PaStreamFlags */ -#define paNoFlag ((PaStreamFlags) 0) - -/** Disable default clipping of out of range samples. - @see PaStreamFlags -*/ -#define paClipOff ((PaStreamFlags) 0x00000001) - -/** Disable default dithering. - @see PaStreamFlags -*/ -#define paDitherOff ((PaStreamFlags) 0x00000002) - -/** Flag requests that where possible a full duplex stream will not discard - overflowed input samples without calling the stream callback. This flag is - only valid for full duplex callback streams and only when used in combination - with the paFramesPerBufferUnspecified (0) framesPerBuffer parameter. Using - this flag incorrectly results in a paInvalidFlag error being returned from - Pa_OpenStream and Pa_OpenDefaultStream. - - @see PaStreamFlags, paFramesPerBufferUnspecified -*/ -#define paNeverDropInput ((PaStreamFlags) 0x00000004) - -/** Call the stream callback to fill initial output buffers, rather than the - default behavior of priming the buffers with zeros (silence). This flag has - no effect for input-only and blocking read/write streams. - - @see PaStreamFlags -*/ -#define paPrimeOutputBuffersUsingStreamCallback ((PaStreamFlags) 0x00000008) - -/** A mask specifying the platform specific bits. - @see PaStreamFlags -*/ -#define paPlatformSpecificFlags ((PaStreamFlags)0xFFFF0000) - -/** - Timing information for the buffers passed to the stream callback. - - Time values are expressed in seconds and are synchronised with the time base used by Pa_GetStreamTime() for the associated stream. - - @see PaStreamCallback, Pa_GetStreamTime -*/ -typedef struct PaStreamCallbackTimeInfo{ - PaTime inputBufferAdcTime; /**< The time when the first sample of the input buffer was captured at the ADC input */ - PaTime currentTime; /**< The time when the stream callback was invoked */ - PaTime outputBufferDacTime; /**< The time when the first sample of the output buffer will output the DAC */ -} PaStreamCallbackTimeInfo; - - -/** - Flag bit constants for the statusFlags to PaStreamCallback. - - @see paInputUnderflow, paInputOverflow, paOutputUnderflow, paOutputOverflow, - paPrimingOutput -*/ -typedef unsigned long PaStreamCallbackFlags; - -/** In a stream opened with paFramesPerBufferUnspecified, indicates that - input data is all silence (zeros) because no real data is available. In a - stream opened without paFramesPerBufferUnspecified, it indicates that one or - more zero samples have been inserted into the input buffer to compensate - for an input underflow. - @see PaStreamCallbackFlags -*/ -#define paInputUnderflow ((PaStreamCallbackFlags) 0x00000001) - -/** In a stream opened with paFramesPerBufferUnspecified, indicates that data - prior to the first sample of the input buffer was discarded due to an - overflow, possibly because the stream callback is using too much CPU time. - Otherwise indicates that data prior to one or more samples in the - input buffer was discarded. - @see PaStreamCallbackFlags -*/ -#define paInputOverflow ((PaStreamCallbackFlags) 0x00000002) - -/** Indicates that output data (or a gap) was inserted, possibly because the - stream callback is using too much CPU time. - @see PaStreamCallbackFlags -*/ -#define paOutputUnderflow ((PaStreamCallbackFlags) 0x00000004) - -/** Indicates that output data will be discarded because no room is available. - @see PaStreamCallbackFlags -*/ -#define paOutputOverflow ((PaStreamCallbackFlags) 0x00000008) - -/** Some of all of the output data will be used to prime the stream, input - data may be zero. - @see PaStreamCallbackFlags -*/ -#define paPrimingOutput ((PaStreamCallbackFlags) 0x00000010) - -/** - Allowable return values for the PaStreamCallback. - @see PaStreamCallback -*/ -typedef enum PaStreamCallbackResult -{ - paContinue=0, /**< Signal that the stream should continue invoking the callback and processing audio. */ - paComplete=1, /**< Signal that the stream should stop invoking the callback and finish once all output samples have played. */ - paAbort=2 /**< Signal that the stream should stop invoking the callback and finish as soon as possible. */ -} PaStreamCallbackResult; - - -/** - Functions of type PaStreamCallback are implemented by PortAudio clients. - They consume, process or generate audio in response to requests from an - active PortAudio stream. - - When a stream is running, PortAudio calls the stream callback periodically. - The callback function is responsible for processing buffers of audio samples - passed via the input and output parameters. - - The PortAudio stream callback runs at very high or real-time priority. - It is required to consistently meet its time deadlines. Do not allocate - memory, access the file system, call library functions or call other functions - from the stream callback that may block or take an unpredictable amount of - time to complete. - - In order for a stream to maintain glitch-free operation the callback - must consume and return audio data faster than it is recorded and/or - played. PortAudio anticipates that each callback invocation may execute for - a duration approaching the duration of frameCount audio frames at the stream - sample rate. It is reasonable to expect to be able to utilise 70% or more of - the available CPU time in the PortAudio callback. However, due to buffer size - adaption and other factors, not all host APIs are able to guarantee audio - stability under heavy CPU load with arbitrary fixed callback buffer sizes. - When high callback CPU utilisation is required the most robust behavior - can be achieved by using paFramesPerBufferUnspecified as the - Pa_OpenStream() framesPerBuffer parameter. - - @param input and @param output are either arrays of interleaved samples or; - if non-interleaved samples were requested using the paNonInterleaved sample - format flag, an array of buffer pointers, one non-interleaved buffer for - each channel. - - The format, packing and number of channels used by the buffers are - determined by parameters to Pa_OpenStream(). - - @param frameCount The number of sample frames to be processed by - the stream callback. - - @param timeInfo Timestamps indicating the ADC capture time of the first sample - in the input buffer, the DAC output time of the first sample in the output buffer - and the time the callback was invoked. - See PaStreamCallbackTimeInfo and Pa_GetStreamTime() - - @param statusFlags Flags indicating whether input and/or output buffers - have been inserted or will be dropped to overcome underflow or overflow - conditions. - - @param userData The value of a user supplied pointer passed to - Pa_OpenStream() intended for storing synthesis data etc. - - @return - The stream callback should return one of the values in the - ::PaStreamCallbackResult enumeration. To ensure that the callback continues - to be called, it should return paContinue (0). Either paComplete or paAbort - can be returned to finish stream processing, after either of these values is - returned the callback will not be called again. If paAbort is returned the - stream will finish as soon as possible. If paComplete is returned, the stream - will continue until all buffers generated by the callback have been played. - This may be useful in applications such as soundfile players where a specific - duration of output is required. However, it is not necessary to utilize this - mechanism as Pa_StopStream(), Pa_AbortStream() or Pa_CloseStream() can also - be used to stop the stream. The callback must always fill the entire output - buffer irrespective of its return value. - - @see Pa_OpenStream, Pa_OpenDefaultStream - - @note With the exception of Pa_GetStreamCpuLoad() it is not permissible to call - PortAudio API functions from within the stream callback. -*/ -typedef int PaStreamCallback( - const void *input, void *output, - unsigned long frameCount, - const PaStreamCallbackTimeInfo* timeInfo, - PaStreamCallbackFlags statusFlags, - void *userData ); - - -/** Opens a stream for either input, output or both. - - @param stream The address of a PaStream pointer which will receive - a pointer to the newly opened stream. - - @param inputParameters A structure that describes the input parameters used by - the opened stream. See PaStreamParameters for a description of these parameters. - inputParameters must be NULL for output-only streams. - - @param outputParameters A structure that describes the output parameters used by - the opened stream. See PaStreamParameters for a description of these parameters. - outputParameters must be NULL for input-only streams. - - @param sampleRate The desired sampleRate. For full-duplex streams it is the - sample rate for both input and output - - @param framesPerBuffer The number of frames passed to the stream callback - function, or the preferred block granularity for a blocking read/write stream. - The special value paFramesPerBufferUnspecified (0) may be used to request that - the stream callback will receive an optimal (and possibly varying) number of - frames based on host requirements and the requested latency settings. - Note: With some host APIs, the use of non-zero framesPerBuffer for a callback - stream may introduce an additional layer of buffering which could introduce - additional latency. PortAudio guarantees that the additional latency - will be kept to the theoretical minimum however, it is strongly recommended - that a non-zero framesPerBuffer value only be used when your algorithm - requires a fixed number of frames per stream callback. - - @param streamFlags Flags which modify the behavior of the streaming process. - This parameter may contain a combination of flags ORed together. Some flags may - only be relevant to certain buffer formats. - - @param streamCallback A pointer to a client supplied function that is responsible - for processing and filling input and output buffers. If this parameter is NULL - the stream will be opened in 'blocking read/write' mode. In blocking mode, - the client can receive sample data using Pa_ReadStream and write sample data - using Pa_WriteStream, the number of samples that may be read or written - without blocking is returned by Pa_GetStreamReadAvailable and - Pa_GetStreamWriteAvailable respectively. - - @param userData A client supplied pointer which is passed to the stream callback - function. It could for example, contain a pointer to instance data necessary - for processing the audio buffers. This parameter is ignored if streamCallback - is NULL. - - @return - Upon success Pa_OpenStream() returns paNoError and places a pointer to a - valid PaStream 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 for possible error codes) and the value of stream is invalid. - - @see PaStreamParameters, PaStreamCallback, Pa_ReadStream, Pa_WriteStream, - Pa_GetStreamReadAvailable, Pa_GetStreamWriteAvailable -*/ -PaError Pa_OpenStream( PaStream** stream, - const PaStreamParameters *inputParameters, - const PaStreamParameters *outputParameters, - double sampleRate, - unsigned long framesPerBuffer, - PaStreamFlags streamFlags, - PaStreamCallback *streamCallback, - void *userData ); - - -/** A simplified version of Pa_OpenStream() that opens the default input - and/or output devices. - - @param stream The address of a PaStream pointer which will receive - a pointer to the newly opened stream. - - @param numInputChannels The number of channels of sound that will be supplied - to the stream callback or returned by Pa_ReadStream. It can range from 1 to - the value of maxInputChannels in the PaDeviceInfo record for the default input - device. If 0 the stream is opened as an output-only stream. - - @param numOutputChannels The number of channels of sound to be delivered to the - stream callback or passed to Pa_WriteStream. It can range from 1 to the value - of maxOutputChannels in the PaDeviceInfo record for the default output device. - If 0 the stream is opened as an output-only stream. - - @param sampleFormat The sample format of both the input and output buffers - provided to the callback or passed to and from Pa_ReadStream and Pa_WriteStream. - sampleFormat may be any of the formats described by the PaSampleFormat - enumeration. - - @param sampleRate Same as Pa_OpenStream parameter of the same name. - @param framesPerBuffer Same as Pa_OpenStream parameter of the same name. - @param streamCallback Same as Pa_OpenStream parameter of the same name. - @param userData Same as Pa_OpenStream parameter of the same name. - - @return As for Pa_OpenStream - - @see Pa_OpenStream, PaStreamCallback -*/ -PaError Pa_OpenDefaultStream( PaStream** stream, - int numInputChannels, - int numOutputChannels, - PaSampleFormat sampleFormat, - double sampleRate, - unsigned long framesPerBuffer, - PaStreamCallback *streamCallback, - void *userData ); - - -/** Closes an audio stream. If the audio stream is active it - discards any pending buffers as if Pa_AbortStream() had been called. -*/ -PaError Pa_CloseStream( PaStream *stream ); - - -/** Functions of type PaStreamFinishedCallback are implemented by PortAudio - clients. They can be registered with a stream using the Pa_SetStreamFinishedCallback - function. Once registered they are called when the stream becomes inactive - (ie once a call to Pa_StopStream() will not block). - A stream will become inactive after the stream callback returns non-zero, - or when Pa_StopStream or Pa_AbortStream is called. For a stream providing audio - output, if the stream callback returns paComplete, or Pa_StopStream is called, - the stream finished callback will not be called until all generated sample data - has been played. - - @param userData The userData parameter supplied to Pa_OpenStream() - - @see Pa_SetStreamFinishedCallback -*/ -typedef void PaStreamFinishedCallback( void *userData ); - - -/** Register a stream finished callback function which will be called when the - stream becomes inactive. See the description of PaStreamFinishedCallback for - further details about when the callback will be called. - - @param stream a pointer to a PaStream that is in the stopped state - if the - stream is not stopped, the stream's finished callback will remain unchanged - and an error code will be returned. - - @param streamFinishedCallback a pointer to a function with the same signature - as PaStreamFinishedCallback, that will be called when the stream becomes - inactive. Passing NULL for this parameter will un-register a previously - registered stream finished callback function. - - @return on success returns paNoError, otherwise an error code indicating the cause - of the error. - - @see PaStreamFinishedCallback -*/ -PaError Pa_SetStreamFinishedCallback( PaStream *stream, PaStreamFinishedCallback* streamFinishedCallback ); - - -/** Commences audio processing. -*/ -PaError Pa_StartStream( PaStream *stream ); - - -/** Terminates audio processing. It waits until all pending - audio buffers have been played before it returns. -*/ -PaError Pa_StopStream( PaStream *stream ); - - -/** Terminates audio processing immediately without waiting for pending - buffers to complete. -*/ -PaError Pa_AbortStream( PaStream *stream ); - - -/** Determine whether the stream is stopped. - A stream is considered to be stopped prior to a successful call to - Pa_StartStream and after a successful call to Pa_StopStream or Pa_AbortStream. - If a stream callback returns a value other than paContinue the stream is NOT - considered to be stopped. - - @return Returns one (1) when the stream is stopped, zero (0) when - the stream is running or, a PaErrorCode (which are always negative) if - PortAudio is not initialized or an error is encountered. - - @see Pa_StopStream, Pa_AbortStream, Pa_IsStreamActive -*/ -PaError Pa_IsStreamStopped( PaStream *stream ); - - -/** Determine whether the stream is active. - A stream is active after a successful call to Pa_StartStream(), until it - becomes inactive either as a result of a call to Pa_StopStream() or - Pa_AbortStream(), or as a result of a return value other than paContinue from - the stream callback. In the latter case, the stream is considered inactive - after the last buffer has finished playing. - - @return Returns one (1) when the stream is active (ie playing or recording - audio), zero (0) when not playing or, a PaErrorCode (which are always negative) - if PortAudio is not initialized or an error is encountered. - - @see Pa_StopStream, Pa_AbortStream, Pa_IsStreamStopped -*/ -PaError Pa_IsStreamActive( PaStream *stream ); - - - -/** A structure containing unchanging information about an open stream. - @see Pa_GetStreamInfo -*/ - -typedef struct PaStreamInfo -{ - /** this is struct version 1 */ - int structVersion; - - /** The input latency of the stream in seconds. This value provides the most - accurate estimate of input latency available to the implementation. It may - differ significantly from the suggestedLatency value passed to Pa_OpenStream(). - The value of this field will be zero (0.) for output-only streams. - @see PaTime - */ - PaTime inputLatency; - - /** The output latency of the stream in seconds. This value provides the most - accurate estimate of output latency available to the implementation. It may - differ significantly from the suggestedLatency value passed to Pa_OpenStream(). - The value of this field will be zero (0.) for input-only streams. - @see PaTime - */ - PaTime outputLatency; - - /** The sample rate of the stream in Hertz (samples per second). In cases - where the hardware sample rate is inaccurate and PortAudio is aware of it, - the value of this field may be different from the sampleRate parameter - passed to Pa_OpenStream(). If information about the actual hardware sample - rate is not available, this field will have the same value as the sampleRate - parameter passed to Pa_OpenStream(). - */ - double sampleRate; - -} PaStreamInfo; - - -/** Retrieve a pointer to a PaStreamInfo structure containing information - about the specified stream. - @return A pointer to an immutable PaStreamInfo structure. If the stream - parameter invalid, or an error is encountered, the function returns NULL. - - @param stream A pointer to an open stream previously created with Pa_OpenStream. - - @note 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 until the specified stream is closed. - - @see PaStreamInfo -*/ -const PaStreamInfo* Pa_GetStreamInfo( PaStream *stream ); - - -/** Returns the current time in seconds for a stream according to the same clock used - to generate callback PaStreamCallbackTimeInfo timestamps. The time values are - monotonically increasing and have unspecified origin. - - Pa_GetStreamTime returns valid time values for the entire life of the stream, - from when the stream is opened until it is closed. Starting and stopping the stream - does not affect the passage of time returned by Pa_GetStreamTime. - - This time may be used for synchronizing other events to the audio stream, for - example synchronizing audio to MIDI. - - @return The stream's current time in seconds, or 0 if an error occurred. - - @see PaTime, PaStreamCallback, PaStreamCallbackTimeInfo -*/ -PaTime Pa_GetStreamTime( PaStream *stream ); - - -/** Retrieve CPU usage information for the specified stream. - The "CPU Load" is a fraction of total CPU time consumed by a callback stream's - audio processing routines including, but not limited to the client supplied - stream callback. This function does not work with blocking read/write streams. - - This function may be called from the stream callback function or the - application. - - @return - A floating point value, typically between 0.0 and 1.0, where 1.0 indicates - that the stream callback is consuming the maximum number of CPU cycles possible - to maintain real-time operation. A value of 0.5 would imply that PortAudio and - the stream callback was consuming roughly 50% of the available CPU time. The - return value may exceed 1.0. A value of 0.0 will always be returned for a - blocking read/write stream, or if an error occurs. -*/ -double Pa_GetStreamCpuLoad( PaStream* stream ); - - -/** Read samples from an input stream. The function doesn't return until - the entire buffer has been filled - this may involve waiting for the operating - system to supply the data. - - @param stream A pointer to an open stream previously created with Pa_OpenStream. - - @param buffer A pointer to a buffer of sample frames. The buffer contains - samples in the format specified by the inputParameters->sampleFormat field - used to open the stream, and the number of channels specified by - inputParameters->numChannels. If non-interleaved samples were requested using - the paNonInterleaved sample format flag, buffer is a pointer to the first element - of an array of buffer pointers, one non-interleaved buffer for each channel. - - @param frames The number of frames to be read into buffer. This parameter - is not constrained to a specific range, however high performance applications - will want to match this parameter to the framesPerBuffer parameter used - when opening the stream. - - @return On success PaNoError will be returned, or PaInputOverflowed if input - data was discarded by PortAudio after the previous call and before this call. -*/ -PaError Pa_ReadStream( PaStream* stream, - void *buffer, - unsigned long frames ); - - -/** Write samples to an output stream. This function doesn't return until the - entire buffer has been consumed - this may involve waiting for the operating - system to consume the data. - - @param stream A pointer to an open stream previously created with Pa_OpenStream. - - @param buffer A pointer to a buffer of sample frames. The buffer contains - samples in the format specified by the outputParameters->sampleFormat field - used to open the stream, and the number of channels specified by - outputParameters->numChannels. If non-interleaved samples were requested using - the paNonInterleaved sample format flag, buffer is a pointer to the first element - of an array of buffer pointers, one non-interleaved buffer for each channel. - - @param frames The number of frames to be written from buffer. This parameter - is not constrained to a specific range, however high performance applications - will want to match this parameter to the framesPerBuffer parameter used - when opening the stream. - - @return On success PaNoError will be returned, or paOutputUnderflowed if - additional output data was inserted after the previous call and before this - call. -*/ -PaError Pa_WriteStream( PaStream* stream, - const void *buffer, - unsigned long frames ); - - -/** Retrieve the number of frames that can be read from the stream without - waiting. - - @return Returns a non-negative value representing the maximum number of frames - that can be read from the stream without blocking or busy waiting or, a - PaErrorCode (which are always negative) if PortAudio is not initialized or an - error is encountered. -*/ -signed long Pa_GetStreamReadAvailable( PaStream* stream ); - - -/** Retrieve the number of frames that can be written to the stream without - waiting. - - @return Returns a non-negative value representing the maximum number of frames - that can be written to the stream without blocking or busy waiting or, a - PaErrorCode (which are always negative) if PortAudio is not initialized or an - error is encountered. -*/ -signed long Pa_GetStreamWriteAvailable( PaStream* stream ); - - -/* Miscellaneous utilities */ - - -/** Retrieve the size of a given sample format in bytes. - - @return The size in bytes of a single sample in the specified format, - or paSampleFormatNotSupported if the format is not supported. -*/ -PaError Pa_GetSampleSize( PaSampleFormat format ); - - -/** Put the caller to sleep for at least 'msec' milliseconds. This function is - provided only as a convenience for authors of portable code (such as the tests - and examples in the PortAudio distribution.) - - The function may sleep longer than requested so don't rely on this for accurate - musical timing. -*/ -void Pa_Sleep( long msec ); - - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* PORTAUDIO_H */ diff --git a/wsjtx.pro b/wsjtx.pro index c3d3eaafb..45bf7656d 100644 --- a/wsjtx.pro +++ b/wsjtx.pro @@ -16,7 +16,7 @@ VERSION = 1.1 TEMPLATE = app #DEFINES = QT4 DEFINES = QT5 -DEFINES += QAUDIO_INPUT +#DEFINES += QAUDIO_INPUT win32 { DEFINES += WIN32