| cannam@140 | 1 #ifndef PA_JACK_H | 
| cannam@140 | 2 #define PA_JACK_H | 
| cannam@140 | 3 | 
| cannam@140 | 4 /* | 
| cannam@140 | 5  * $Id: | 
| cannam@140 | 6  * PortAudio Portable Real-Time Audio Library | 
| cannam@140 | 7  * JACK-specific extensions | 
| cannam@140 | 8  * | 
| cannam@140 | 9  * Copyright (c) 1999-2000 Ross Bencina and Phil Burk | 
| cannam@140 | 10  * | 
| cannam@140 | 11  * Permission is hereby granted, free of charge, to any person obtaining | 
| cannam@140 | 12  * a copy of this software and associated documentation files | 
| cannam@140 | 13  * (the "Software"), to deal in the Software without restriction, | 
| cannam@140 | 14  * including without limitation the rights to use, copy, modify, merge, | 
| cannam@140 | 15  * publish, distribute, sublicense, and/or sell copies of the Software, | 
| cannam@140 | 16  * and to permit persons to whom the Software is furnished to do so, | 
| cannam@140 | 17  * subject to the following conditions: | 
| cannam@140 | 18  * | 
| cannam@140 | 19  * The above copyright notice and this permission notice shall be | 
| cannam@140 | 20  * included in all copies or substantial portions of the Software. | 
| cannam@140 | 21  * | 
| cannam@140 | 22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | 
| cannam@140 | 23  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | 
| cannam@140 | 24  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | 
| cannam@140 | 25  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR | 
| cannam@140 | 26  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF | 
| cannam@140 | 27  * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | 
| cannam@140 | 28  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | 
| cannam@140 | 29  */ | 
| cannam@140 | 30 | 
| cannam@140 | 31 /* | 
| cannam@140 | 32  * The text above constitutes the entire PortAudio license; however, | 
| cannam@140 | 33  * the PortAudio community also makes the following non-binding requests: | 
| cannam@140 | 34  * | 
| cannam@140 | 35  * Any person wishing to distribute modifications to the Software is | 
| cannam@140 | 36  * requested to send the modifications to the original developer so that | 
| cannam@140 | 37  * they can be incorporated into the canonical version. It is also | 
| cannam@140 | 38  * requested that these non-binding requests be included along with the | 
| cannam@140 | 39  * license above. | 
| cannam@140 | 40  */ | 
| cannam@140 | 41 | 
| cannam@140 | 42 /** @file | 
| cannam@140 | 43  *  @ingroup public_header | 
| cannam@140 | 44  *  @brief JACK-specific PortAudio API extension header file. | 
| cannam@140 | 45  */ | 
| cannam@140 | 46 | 
| cannam@140 | 47 #include "portaudio.h" | 
| cannam@140 | 48 | 
| cannam@140 | 49 #ifdef __cplusplus | 
| cannam@140 | 50 extern "C" { | 
| cannam@140 | 51 #endif | 
| cannam@140 | 52 | 
| cannam@140 | 53 /** Set the JACK client name. | 
| cannam@140 | 54  * | 
| cannam@140 | 55  * During Pa_Initialize, When PA JACK connects as a client of the JACK server, it requests a certain | 
| cannam@140 | 56  * name, which is for instance prepended to port names. By default this name is "PortAudio". The | 
| cannam@140 | 57  * JACK server may append a suffix to the client name, in order to avoid clashes among clients that | 
| cannam@140 | 58  * try to connect with the same name (e.g., different PA JACK clients). | 
| cannam@140 | 59  * | 
| cannam@140 | 60  * This function must be called before Pa_Initialize, otherwise it won't have any effect. Note that | 
| cannam@140 | 61  * the string is not copied, but instead referenced directly, so it must not be freed for as long as | 
| cannam@140 | 62  * PA might need it. | 
| cannam@140 | 63  * @sa PaJack_GetClientName | 
| cannam@140 | 64  */ | 
| cannam@140 | 65 PaError PaJack_SetClientName( const char* name ); | 
| cannam@140 | 66 | 
| cannam@140 | 67 /** Get the JACK client name used by PA JACK. | 
| cannam@140 | 68  * | 
| cannam@140 | 69  * The caller is responsible for freeing the returned pointer. | 
| cannam@140 | 70  */ | 
| cannam@140 | 71 PaError PaJack_GetClientName(const char** clientName); | 
| cannam@140 | 72 | 
| cannam@140 | 73 #ifdef __cplusplus | 
| cannam@140 | 74 } | 
| cannam@140 | 75 #endif | 
| cannam@140 | 76 | 
| cannam@140 | 77 #endif |