1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
4 VERSION= 190700_20210406
7 SDESC[standard]= Cross platform audio I/O library
8 HOMEPAGE= http://www.portaudio.com/
12 SITES[main]= http://files.portaudio.com/archives/
13 DISTFILE[1]= pa_stable_v190700_20210406.tgz:main
15 SPKGS[standard]= complete
20 OPTIONS_AVAILABLE= none
21 OPTIONS_STANDARD= none
23 BUILD_DEPENDS= doxygen:single:standard
25 USES= autoreconf c++:primary dos2unix gmake libtool
31 LICENSE_FILE= MIT:{{WRKSRC}}/LICENSE.txt
34 FPC_EQUIVALENT= audio/portaudio
37 CONFIGURE_ARGS= --enable-cxx
44 INSTALL_REQ_TOOLCHAIN= yes
46 PLIST_SUB= SOVERSION_CPP=0.0.12
50 # install documentation
51 ${MKDIR} ${STAGEDIR}${STD_DOCDIR}
52 (cd ${WRKSRC} && doxygen)
53 (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${STD_DOCDIR})
54 (cd ${WRKSRC} && ${INSTALL_DATA} README.md ${STAGEDIR}${STD_DOCDIR})
56 ${MKDIR} ${STAGEDIR}${STD_EXAMPLESDIR}
57 ${INSTALL_DATA} ${WRKSRC}/bindings/cpp/example/*.cxx \
58 ${WRKSRC}/examples/*.c ${WRKSRC}/examples/*.cpp \
59 ${STAGEDIR}${STD_EXAMPLESDIR}
60 # install provided header file
61 ${INSTALL_DATA} ${FILESDIR}/pa_unix_oss.h ${STAGEDIR}${PREFIX}/include
63 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
66 # autoreconf another directory
67 cd ${WRKSRC}/bindings/cpp && ${AUTORECONF} -f -i
69 [FILE:607:descriptions/desc.primary]
70 PortAudio is a free, cross-platform, open-source, audio I/O library.
71 It enables simple audio programs in 'C' or C++ that will compile and run
72 on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA).
73 It is intended to promote the exchange of audio software between developers
74 on different platforms.
76 PortAudio provides a very simple API for recording and/or playing sound
77 using a simple callback function or a blocking read/write interface.
78 Example programs are included that play sine waves, process audio input
79 (guitar fuzz), record and playback audio, list available audio devices,
84 47efbf42c77c19a05d22e627d42873e991ec0c1357219c0d74ce6a2948cb2def 1462695 pa_stable_v190700_20210406.tgz
87 [FILE:722:manifests/plist.primary]
94 CFunCallbackStream.hxx
97 CppFunCallbackStream.hxx
99 DirectionSpecificStreamParameters.hxx
102 InterfaceCallbackStream.hxx
103 MemFunCallbackStream.hxx
109 SystemDeviceIterator.hxx
110 SystemHostApiIterator.hxx
114 libportaudio.so.%%SOMAJOR%%
115 libportaudio.so.%%SOVERSION%%
118 libportaudiocpp.so.%%SOMAJOR_CPP%%
119 libportaudiocpp.so.%%SOVERSION_CPP%%
125 [FILE:3591:manifests/plist.docs]
126 share/doc/portaudio/README.md
127 share/doc/portaudio/html/
134 blocking_read_write.html
135 classScopedPaHandler.html
141 compile_mac_coreaudio.html
143 compile_windows_asio_msvc.html
144 compile_windows_mingw.html
146 dir_60aac7f36c34906fb3da763b5762f752.html
147 dir_61c9e5842729cb34568d93cb98ad85b9.html
148 dir_d28a4824dc47e487b107a5db32ef43c4.html
149 dir_d44c64559bbebec7f509842c48db8b23.html
150 dir_e68e8157741866f444e17edd764ebbae.html
168 group__examples__src.html
169 group__public__header.html
171 initializing_portaudio.html
182 open_default_stream.html
184 pa__asio_8h_source.html
186 pa__devs_8c_source.html
188 pa__fuzz_8c_source.html
190 pa__jack_8h_source.html
191 pa__linux__alsa_8h.html
192 pa__linux__alsa_8h_source.html
193 pa__mac__core_8h.html
194 pa__mac__core_8h_source.html
196 pa__win__ds_8h_source.html
197 pa__win__wasapi_8h.html
198 pa__win__wasapi_8h_source.html
199 pa__win__waveformat_8h.html
200 pa__win__waveformat_8h_source.html
201 pa__win__wdmks_8h.html
202 pa__win__wdmks_8h_source.html
203 pa__win__wmme_8h.html
204 pa__win__wmme_8h_source.html
205 paex__mono__asio__channel__select_8c.html
206 paex__mono__asio__channel__select_8c_source.html
207 paex__ocean__shore_8c.html
208 paex__ocean__shore_8c_source.html
210 paex__pink_8c_source.html
211 paex__read__write__wire_8c.html
212 paex__read__write__wire_8c_source.html
214 paex__record_8c_source.html
215 paex__record__file_8c.html
216 paex__record__file_8c_source.html
218 paex__saw_8c_source.html
220 paex__sine_8c_source.html
221 paex__sine__c_09_09_8cpp_source.html
222 paex__wmme__ac3_8c.html
223 paex__wmme__ac3_8c_source.html
224 paex__wmme__surround_8c.html
225 paex__wmme__surround_8c_source.html
226 paex__write__sine_8c.html
227 paex__write__sine_8c_source.html
228 paex__write__sine__nonint_8c.html
229 paex__write__sine__nonint_8c_source.html
231 portaudio-external-architecture-diagram.png
233 portaudio_8h_source.html
234 querying_devices.html
237 start_stop_abort.html
240 structPaAlsaStreamInfo.html
241 structPaAsioStreamInfo.html
242 structPaDeviceInfo.html
243 structPaHostApiInfo.html
244 structPaHostErrorInfo.html
245 structPaMacCoreStreamInfo.html
246 structPaStreamCallbackTimeInfo.html
247 structPaStreamInfo.html
248 structPaStreamParameters.html
249 structPaVersionInfo.html
250 structPaWDMKSDirectionSpecificStreamInfo.html
251 structPaWDMKSSpecificStreamInfo.html
252 structPaWasapiJackDescription.html
253 structPaWasapiStreamInfo.html
254 structPaWinDirectSoundStreamInfo.html
255 structPaWinMmeDeviceAndChannelCount.html
256 structPaWinMmeStreamInfo.html
257 structPaWinWDMKSDeviceInfo.html
258 structPaWinWDMKSInfo.html
259 structPaWinWaveFormat.html
261 structpaTestData.html
273 terminating_portaudio.html
275 utility_functions.html
276 writing_a_callback.html
279 [FILE:321:manifests/plist.examples]
280 share/examples/portaudio/
284 paex_mono_asio_channel_select.c
287 paex_read_write_wire.c
296 paex_write_sine_nonint.c
300 [FILE:250:patches/patch-Makefile.in]
301 --- Makefile.in.orig 2021-04-01 00:35:41 UTC
303 @@ -146,6 +146,7 @@ SRC_DIRS = \
307 + src/hostapi/sndio \
308 src/hostapi/skeleton \
313 [FILE:1727:patches/patch-configure.in]
314 $OpenBSD: patch-configure_in,v 1.4 2014/09/13 04:56:28 bentley Exp $
315 --- configure.in.orig 2021-04-01 00:35:42 UTC
317 @@ -33,6 +33,10 @@ AC_ARG_WITH(alsa,
318 AS_HELP_STRING([--with-alsa], [Enable support for ALSA @<:@autodetect@:>@]),
319 [with_alsa=$withval])
322 + AS_HELP_STRING([--with-sndio], [Enable support for sndio @<:@autodetect@:>@]),
323 + [with_sndio=$withval])
326 AS_HELP_STRING([--with-jack], [Enable support for JACK @<:@autodetect@:>@]),
327 [with_jack=$withval])
328 @@ -129,6 +133,10 @@ have_alsa=no
329 if test "x$with_alsa" != "xno"; then
330 AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
333 +if test "x$with_sndio" != "xno"; then
334 + AC_CHECK_LIB(sndio, sio_open, have_sndio=yes, have_sndio=no)
337 if test "x$with_asihpi" != "xno"; then
338 AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
339 @@ -401,6 +409,13 @@ case "${host_os}" in
340 AC_DEFINE(PA_USE_ALSA,1)
343 + if [[ "$have_sndio" = "yes" -a "$with_sndio" != "no" ]] ; then
344 + DLL_LIBS="$DLL_LIBS -lsndio"
345 + LIBS="$LIBS -lsndio"
346 + OTHER_OBJS="$OTHER_OBJS src/hostapi/sndio/pa_sndio.o"
347 + AC_DEFINE(PA_USE_SNDIO,1)
350 if [[ "$have_jack" = "yes" ] && [ "$with_jack" != "no" ]] ; then
351 DLL_LIBS="$DLL_LIBS $JACK_LIBS"
352 CFLAGS="$CFLAGS $JACK_CFLAGS"
353 @@ -504,6 +519,7 @@ case "$target_os" in
357 + Sndio ....................... $have_sndio
358 OSS ......................... $have_oss
359 JACK ........................ $have_jack
363 [FILE:836:patches/patch-include_portaudio.h]
364 $OpenBSD: patch-include_portaudio_h,v 1.2 2013/03/12 00:59:50 brad Exp $
365 --- include/portaudio.h.orig 2021-04-01 00:35:42 UTC
366 +++ include/portaudio.h
367 @@ -287,7 +287,8 @@ typedef enum PaHostApiTypeId
371 - paAudioScienceHPI=14
372 + paAudioScienceHPI=14,
377 @@ -1200,6 +1201,15 @@ signed long Pa_GetStreamReadAvailable( P
378 signed long Pa_GetStreamWriteAvailable( PaStream* stream );
381 +/** Retrieve the host type handling an open stream.
383 + @return Returns a non-negative value representing the host API type
384 + handling an open stream or, a PaErrorCode (which are always negative)
385 + if PortAudio is not initialized or an error is encountered.
387 +PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream );
390 /* Miscellaneous utilities */
395 [FILE:1404:patches/patch-src_common_pa__front.c]
396 --- src/common/pa_front.c.orig 2021-04-01 00:35:42 UTC
397 +++ src/common/pa_front.c
398 @@ -1257,8 +1257,10 @@ PaError Pa_OpenStream( PaStream** stream
399 hostApiInputParametersPtr, hostApiOutputParametersPtr,
400 sampleRate, framesPerBuffer, streamFlags, streamCallback, userData );
402 - if( result == paNoError )
403 + if( result == paNoError ) {
404 AddOpenStream( *stream );
405 + PA_STREAM_REP(*stream)->hostApiType = hostApi->info.type;
409 PA_LOGAPI(("Pa_OpenStream returned:\n" ));
410 @@ -1770,6 +1772,32 @@ signed long Pa_GetStreamWriteAvailable(
414 +PaHostApiTypeId Pa_GetStreamHostApiType( PaStream* stream )
416 + PaError error = PaUtil_ValidateStreamPointer( stream );
417 + PaHostApiTypeId result;
419 +#ifdef PA_LOG_API_CALLS
420 + PaUtil_DebugPrint("Pa_GetStreamHostApiType called:\n" );
421 + PaUtil_DebugPrint("\tPaStream* stream: 0x%p\n", stream );
424 + if( error == paNoError )
426 + result = PA_STREAM_REP(stream)->hostApiType;
430 + result = (PaHostApiTypeId) error;
433 +#ifdef PA_LOG_API_CALLS
434 + PaUtil_DebugPrint("Pa_GetStreamHostApiType returned:\n" );
435 + PaUtil_DebugPrint("\tPaError: %d ( %s )\n\n", result, Pa_GetErrorText( result ) );
441 PaError Pa_GetSampleSize( PaSampleFormat format )
445 [FILE:365:patches/patch-src_common_pa__stream.c]
446 --- src/common/pa_stream.c.orig 2021-04-01 00:35:42 UTC
447 +++ src/common/pa_stream.c
448 @@ -93,6 +93,8 @@ void PaUtil_InitializeStreamRepresentati
449 streamRepresentation->streamInfo.inputLatency = 0.;
450 streamRepresentation->streamInfo.outputLatency = 0.;
451 streamRepresentation->streamInfo.sampleRate = 0.;
453 + streamRepresentation->hostApiType = 0;
459 [FILE:319:patches/patch-src_common_pa__stream.h]
460 --- src/common/pa_stream.h.orig 2021-04-01 00:35:42 UTC
461 +++ src/common/pa_stream.h
462 @@ -152,6 +152,7 @@ typedef struct PaUtilStreamRepresentatio
463 PaStreamFinishedCallback *streamFinishedCallback;
465 PaStreamInfo streamInfo;
466 + PaHostApiTypeId hostApiType;
467 } PaUtilStreamRepresentation;
472 [FILE:728:patches/patch-src_hostapi_oss_pa__unix__oss.c]
473 --- src/hostapi/oss/pa_unix_oss.c.orig 2021-04-01 00:35:42 UTC
474 +++ src/hostapi/oss/pa_unix_oss.c
475 @@ -2032,6 +2032,30 @@ error:
479 +const char *PaOSS_GetStreamInputDevice( PaStream* s )
481 + PaOssStream *stream = (PaOssStream*)s;
483 + if( stream->capture )
485 + return stream->capture->devName;
491 +const char *PaOSS_GetStreamOutputDevice( PaStream* s )
493 + PaOssStream *stream = (PaOssStream*)s;
495 + if( stream->playback )
497 + return stream->playback->devName;
504 /* TODO: Compute number of allocated bytes somewhere else, can we use ODELAY with capture */
505 static signed long GetStreamWriteAvailable( PaStream* s )
508 [FILE:1016:patches/patch-src_os_unix_pa__unix__hostapis.c]
509 $OpenBSD: patch-src_os_unix_pa_unix_hostapis_c,v 1.2 2013/03/12 00:59:50 brad Exp $
511 Difference to OpenBSD patch: PA_USE_SNDIO has been moved before
512 PA_USE_OSS, so that portaudio prefers the sndio output.
514 --- src/os/unix/pa_unix_hostapis.c.orig 2021-04-01 00:35:42 UTC
515 +++ src/os/unix/pa_unix_hostapis.c
518 PaError PaJack_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
519 PaError PaAlsa_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
520 +PaError PaSndio_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
521 PaError PaOSS_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
522 /* Added for IRIX, Pieter, oct 2, 2003: */
523 PaError PaSGI_Initialize( PaUtilHostApiRepresentation **hostApi, PaHostApiIndex index );
524 @@ -69,6 +70,10 @@ PaUtilHostApiInitializer *paHostApiIniti
526 #else /* __linux__ */
529 + PaSndio_Initialize,
537 [FILE:1787:files/pa_unix_oss.h]
538 #ifndef PA_UNIX_OSS_H
539 #define PA_UNIX_OSS_H
542 * $Id: portaudio.patch,v 1.10 2009-06-30 04:52:59 llucius Exp $
543 * PortAudio Portable Real-Time Audio Library
544 * OSS-specific extensions
546 * Copyright (c) 1999-2000 Ross Bencina and Phil Burk
548 * Permission is hereby granted, free of charge, to any person obtaining
549 * a copy of this software and associated documentation files
550 * (the "Software"), to deal in the Software without restriction,
551 * including without limitation the rights to use, copy, modify, merge,
552 * publish, distribute, sublicense, and/or sell copies of the Software,
553 * and to permit persons to whom the Software is furnished to do so,
554 * subject to the following conditions:
556 * The above copyright notice and this permission notice shall be
557 * included in all copies or substantial portions of the Software.
559 * Any person wishing to distribute modifications to the Software is
560 * requested to send the modifications to the original developer so that
561 * they can be incorporated into the canonical version.
563 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
564 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
565 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
566 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
567 * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
568 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
569 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
574 * OSS-specific PortAudio API extension header file.
581 const char *PaOSS_GetStreamInputDevice( PaStream *s );
583 const char *PaOSS_GetStreamOutputDevice( PaStream *s );