pa_win_hostapis.c (3204B)
1 /* 2 * $Id$ 3 * Portable Audio I/O Library Windows initialization table 4 * 5 * Based on the Open Source API proposed by Ross Bencina 6 * Copyright (c) 1999-2008 Ross Bencina, Phil Burk 7 * 8 * Permission is hereby granted, free of charge, to any person obtaining 9 * a copy of this software and associated documentation files 10 * (the "Software"), to deal in the Software without restriction, 11 * including without limitation the rights to use, copy, modify, merge, 12 * publish, distribute, sublicense, and/or sell copies of the Software, 13 * and to permit persons to whom the Software is furnished to do so, 14 * subject to the following conditions: 15 * 16 * The above copyright notice and this permission notice shall be 17 * included in all copies or substantial portions of the Software. 18 * 19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 22 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR 23 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 24 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 25 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 26 */ 27 28 /* 29 * The text above constitutes the entire PortAudio license; however, 30 * the PortAudio community also makes the following non-binding requests: 31 * 32 * Any person wishing to distribute modifications to the Software is 33 * requested to send the modifications to the original developer so that 34 * they can be incorporated into the canonical version. It is also 35 * requested that these non-binding requests be included along with the 36 * license above. 37 */ 38 39 /** @file 40 @ingroup win_src 41 42 @brief Win32 host API initialization function table. 43 */ 44 45 /* This is needed to make this source file depend on CMake option changes 46 and at the same time make it transparent for clients not using CMake. 47 */ 48 #ifdef PORTAUDIO_CMAKE_GENERATED 49 #include "options_cmake.h" 50 #endif 51 52 #include "pa_hostapi.h" 53 54 55 #ifdef __cplusplus 56 extern "C" 57 { 58 #endif /* __cplusplus */ 59 60 PaError PaSkeleton_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index ); 61 PaError PaWinMme_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index ); 62 PaError PaWinDs_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index ); 63 PaError PaAsio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index ); 64 PaError PaWinWdm_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index ); 65 PaError PaWasapi_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index ); 66 67 #ifdef __cplusplus 68 } 69 #endif /* __cplusplus */ 70 71 72 PaUtilHostApiInitializer *paHostApiInitializers[] = 73 { 74 75 #if PA_USE_WMME 76 PaWinMme_Initialize, 77 #endif 78 79 #if PA_USE_DS 80 PaWinDs_Initialize, 81 #endif 82 83 #if PA_USE_ASIO 84 PaAsio_Initialize, 85 #endif 86 87 #if PA_USE_WASAPI 88 PaWasapi_Initialize, 89 #endif 90 91 #if PA_USE_WDMKS 92 PaWinWdm_Initialize, 93 #endif 94 95 #if PA_USE_SKELETON 96 PaSkeleton_Initialize, /* just for testing. last in list so it isn't marked as default. */ 97 #endif 98 99 0 /* NULL terminated array */ 100 }; 101 102