00001 #ifndef PA_HOSTAPI_H
00002 #define PA_HOSTAPI_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00048 #include "portaudio.h"
00049
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054
00055
00061 typedef struct PaUtilPrivatePaFrontHostApiInfo {
00062
00063
00064 unsigned long baseDeviceIndex;
00065 }PaUtilPrivatePaFrontHostApiInfo;
00066
00067
00076 typedef struct PaUtilHostApiSpecificStreamInfoHeader
00077 {
00078 unsigned long size;
00079 PaHostApiTypeId hostApiType;
00080 unsigned long version;
00081 } PaUtilHostApiSpecificStreamInfoHeader;
00082
00083
00084
00088 typedef struct PaUtilHostApiRepresentation {
00089 PaUtilPrivatePaFrontHostApiInfo privatePaFrontInfo;
00090
00098 PaHostApiInfo info;
00099
00100 PaDeviceInfo** deviceInfos;
00101
00107 void (*Terminate)( struct PaUtilHostApiRepresentation *hostApi );
00108
00204 PaError (*OpenStream)( struct PaUtilHostApiRepresentation *hostApi,
00205 PaStream** stream,
00206 const PaStreamParameters *inputParameters,
00207 const PaStreamParameters *outputParameters,
00208 double sampleRate,
00209 unsigned long framesPerCallback,
00210 PaStreamFlags streamFlags,
00211 PaStreamCallback *streamCallback,
00212 void *userData );
00213
00214
00215 PaError (*IsFormatSupported)( struct PaUtilHostApiRepresentation *hostApi,
00216 const PaStreamParameters *inputParameters,
00217 const PaStreamParameters *outputParameters,
00218 double sampleRate );
00219 } PaUtilHostApiRepresentation;
00220
00221
00227 typedef PaError PaUtilHostApiInitializer( PaUtilHostApiRepresentation**, PaHostApiIndex );
00228
00229
00237 extern PaUtilHostApiInitializer *paHostApiInitializers[];
00238
00239
00245 extern int paDefaultHostApiIndex;
00246
00247
00248 #ifdef __cplusplus
00249 }
00250 #endif
00251 #endif