The cl-portaudio Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-portaudio Reference Manual

This is the cl-portaudio Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Sep 15 04:04:19 2022 GMT+0.

Table of Contents


1 Introduction

CL-PortAudio

This package contains bindings to http://portaudio.com/. PortAudio is a free, cross-platform, open-source, audio I/O library.

Installation:
(ql:quickload :cl-portaudio)

Test:
(ql:quickload :cl-portaudio/tests)
(portaudio-tests:test-read-write-echo)

Depends on:
cffi
ffa

It probably works on all systems, that are supported by cffi (cl), ffa (cl), and portaudio.

Tested on:
SBCL 1.0.54 mt, archlinux x86_64
SBCL 1.0.54 mswinmt, windows 7 x86_64 (vbox)
SBCL 1.0.55 mt, Mac OS X 10.6.8 x86 (thanks Žiga Lenarčič).

See doc/documentation.pdf|index.html or WIKI.

Binary PortAudio packages can be downloaded from here (thanks a lot, racket developers): 
http://planet.plt-scheme.org/display.ss?package=portaudio.plt&owner=clements  -> source browse -> directories lib

Licence: MIT

Author: Michael Filonenko
E-mail: filonenko.mikhail at gmail dot com


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-portaudio

This package contains bindings to @a[http://portaudio.com/]{PortAudio}. PortAudio is a free, cross-platform, open-source, audio I/O library.

Author

Michael Filonenko <filonenko.mikhail@gmail.com>

License

MIT

Version

1.0.0

Dependencies
  • cffi (system).
  • ffa (system).
Source

cl-portaudio.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 cl-portaudio/src

Source

cl-portaudio.asd.

Parent Component

cl-portaudio (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

4.1.1 cl-portaudio/cl-portaudio.asd

Source

cl-portaudio.asd.

Parent Component

cl-portaudio (system).

ASDF Systems

cl-portaudio.


4.1.2 cl-portaudio/src/package.lisp

Source

cl-portaudio.asd.

Parent Component

src (module).

Packages

portaudio.


4.1.3 cl-portaudio/src/portaudio.lisp

Dependency

package.lisp (file).

Source

cl-portaudio.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 portaudio

This package contains bindings to @a[http://portaudio.com/]{PortAudio}. PortAudio is a free, cross-platform, open-source, audio I/O library.

Binary PortAudio packages can be founded here:
@a{http://planet.plt-scheme.org/display.ss?package=portaudio.plt&owner=clements} -> source browse -> directories lib

@begin[Installation and Usage]{section}
@begin{pre}
git clone –depth 1 https://github.com/filonenko-mikhail/cl-portaudio.git
emacs
M+x slime
(ql:quickload :cl-portaudio)
(ql:quickload :cl-portaudio-tests)
(portaudio-tests:test-read-write-echo)
@end{pre}
@end{section}

@begin[Example]{section}
@begin{pre}
(use-package :portaudio)

(defconstant +frames-per-buffer+ 1024)
(defconstant +sample-rate+ 44100d0)
(defconstant +seconds+ 15)
(defconstant +sample-format+ :float)
(defconstant +num-channels+ 2)

(defun test-read-write-converted-echo ()
"Record input into an array; Separate array to channels; Merge channels into array; Play last array."
(with-audio
(format t "~%=== Wire on. Will run ~D seconds . ===~%" +seconds+)
(with-default-audio-stream (astream +num-channels+ +num-channels+ :sample-format +sample-format+ :sample-rate +sample-rate+ :frames-per-buffer +frames-per-buffer+)
(dotimes (i (round (/ (* +seconds+ +sample-rate+) +frames-per-buffer+)))
(write-stream astream
(merge-channels-into-array astream
(separate-array-to-channels astream
(read-stream astream))))))))
@end{pre}

@aboutfun{with-audio}
@aboutfun{with-default-audio-stream}
@aboutfun{read-stream}
@aboutfun{separate-array-to-channels}
@aboutfun{merge-channels-into-array}
@aboutfun{write-stream}

@b{Note}
ignore-errors is used for ignoring output-underflowed error.

@end{section}
@begin[Introduction]{section}
PortAudio provides a uniform application programming interface (API) across all supported platforms. You can think of the PortAudio library as a wrapper that converts calls to the PortAudio API into calls to platform-specific native audio APIs. Operating systems often offer more than one native audio API and some APIs (such as JACK) may be available on multiple target operating systems. PortAudio supports all the major native audio APIs on each supported platform. The diagram below illustrates the relationship between your application, PortAudio, and the supported native audio APIs:

@a[./img/portaudio-external-architecture-diagram.png]{Image}

PortAudio provides a uniform interface to native audio APIs. However, it doesn’t always provide totally uniform functionality. There are cases where PortAudio is limited by the capabilities of the underlying native audio API. For example, PortAudio doesn’t provide sample rate conversion if you request a sample rate that is not supported by the native audio API. Another example is that the ASIO SDK only allows one device to be open at a time, so PortAudio/ASIO doesn’t currently support opening multiple ASIO devices simultaneously.
@end{section}
@begin[Key abstractions: Host APIs, Devices and Streams]{section}
The PortAudio processing model includes three main abstractions: Host APIs, audio Devices and audio Streams.

Host APIs represent platform-specific native audio APIs. Some examples of Host APIs are Core Audio on Mac OS, WMME and DirectSound on Windows and OSS and ALSA on Linux. The diagram in the previous section shows many of the supported native APIs. Sometimes it’s useful to know which Host APIs you’re dealing with, but it is easy to use PortAudio without ever interacting directly with the Host API abstraction.

Devices represent individual hardware audio interfaces or audio ports on the host platform. Devices have names and certain capabilities such as supported sample rates and the number of supported input and output channels. PortAudio provides functions to enumerate available Devices and to query for Device capabilities.

Streams manage active audio input and output from and to Devices. Streams may be half duplex (input or output) or full duplex (simultaneous input and output). Streams operate at a specific sample rate with particular sample formats, buffer sizes and internal buffering latencies. You specify these parameters when you open the Stream. Audio data is communicated between a Stream and your application via a user provided asynchronous callback function or by invoking synchronous read and write functions.

PortAudio supports audio input and output in a variety of sample formats: 8, 16, 24 and 32 bit integer formats and 32 bit floating point, irrespective of the formats supported by the native audio API. PortAudio also supports multichannel buffers in both interleaved and non-interleaved (separate buffer per channel) formats and automatically performs conversion when necessary. If requested, PortAudio can clamp out-of range samples and/or dither to a native format.

The PortAudio API offers the following functionality:
@begin{itemize}
@item{Initialize and terminate the library}
@item{Enumerate available Host APIs}
@item{Enumerate available Devices either globally, or within each Host API}
@item{Discover default or recommended Devices and Device settings}
@item{Discover Device capabilities such as supported audio data formats and sample rates}
@item{Create and control audio Streams to acquire audio from and output audio to Devices}
@item{Provide Stream timing information to support synchronising audio with other parts of your application}
@item{Retrieve version and error information.}
@end{itemize}
These functions are described in more detail below.

@end{section}
@begin[Initialisation, termination and utility functions]{section}
The PortAudio library must be initialized before it can be used and terminated to clean up afterwards. You initialize PortAudio by calling @fun{initialize} and clean up by calling @fun{terminate}. There is @fun{with-audio} macro that does environment.

You can query PortAudio for version information using @fun{get-version} to get a numeric version number and @fun{get-version-text} to get a string.

The size in bytes of the various sample formats represented by the sample-format enumeration can be obtained using @fun{get-sample-size}.

@fun{pa-sleep} sleeps for a specified number of milliseconds. This isn’t intended for use in production systems; it’s provided only as a simple portable way to implement tests and examples where the main thread sleeps while audio is acquired or played by an asynchronous callback function.
@end{section}
@begin[Host APIs]{section}
A Host API acts as a top-level grouping for all of the Devices offered by a single native platform audio API. Each Host API has a unique type identifier, a name, zero or more Devices, and nominated default input and output Devices.

Host APIs are usually referenced by index: an integer of type host-api-index that ranges between zero and @code{(- (@fun{get-host-api-count}) 1)}. You can enumerate all available Host APIs by counting across this range.

You can retrieve the index of the default Host API by calling @fun{get-default-host-api}.

Information about a Host API, such as it’s name and default devices, is stored in a @class{host-api-info} structure. You can retrieve a pointer to a particular Host API’s @class{host-api-info} structure by calling @fun{get-host-api-info} with the Host API’s index as a parameter.

Most PortAudio functions reference Host APIs by @fun{host-api-index} indices. Each Host API also has a unique type identifier defined in the host-api-type-id enumeration. You can call @fun{host-api-type-id-to-host-api-index} to retrieve the current host-api-index for a particular host-api-type-id.
@end{section}
@begin[Devices]{section}
A Device represents an audio endpoint provided by a particular native audio API. This usually corresponds to a specific input or output port on a hardware audio interface, or to the interface as a whole. Each Host API operates independently, so a single physical audio port may be addressable via different Devices exposed by different Host APIs.

A Device has a name, is associated with a Host API, and has a maximum number of supported input and output channels. PortAudio provides recommended default latency values and a default sample rate for each Device. To obtain more detailed information about device capabilities you can call @fun{is-format-supported} to query whether it is possible to open a Stream using particular Devices, parameters and sample rate.

Although each Device conceptually belongs to a specific Host API, most PortAudio functions and data structures refer to Devices using a global, Host API-independent index of type device-index – an integer of that ranges between zero and @code{(- (@fun{get-device-count}) 1)}. The reasons for this are partly historical but it also makes it easy for applications to ignore the Host API abstraction and just work with Devices and Streams.

If you want to enumerate Devices belonging to a particular Host API you can count between 0 and @code{(- (@fun{host-api-info-device-count}) 1)}. You can convert this Host API-specific index value to a global device-index value by calling @fun{host-api-device-index-to-device-index}.

Information about a Device is stored in a PaDeviceInfo structure. You can retrieve @class{device-info} structure by calling @fun{get-device-info} with the Device’s index as a parameter.

You can retrieve the indices of the global default input and output devices using @fun{get-default-input-device} and @fun{get-default-output-device}. Default Devices for each Host API are stored in the Host API’s @class{host-api-info} structures.

For an example of enumerating devices and printing information about their capabilities see the @fun{print-devices} function.
@end{section}
@begin[Streams]{section}
A Stream represents an active flow of audio data between your application and one or more audio Devices. A Stream operates at a specific sample rate with specific sample formats and buffer sizes.
@end{section}
@begin[Opening and Closing Streams]{section}
You call @fun{open-stream} to open a Stream, specifying the Device(s) to use, the number of input and output channels, sample formats, suggested latency values and flags that control dithering, clipping and overflow handling. You specify many of these parameters in two @class{stream-parameters} structures, one for input and one for output.

Devices may be full duplex (supporting simultaneous input and output) or half duplex (supporting input or output) – usually this reflects the structure of the underlying native audio API. When opening a Stream you can specify one full duplex Device for both input and output, or two different Devices for input and output. Some Host APIs only support full-duplex operation with a full-duplex device (e.g. ASIO) but most are able to aggregate two half duplex devices into a full duplex Stream. PortAudio requires that all devices specified in a call to @fun{open-stream} belong to the same Host API.

A successful call to @fun{open-stream} creates a pointer to a @class{pa-stream} – an opaque handle representing the open Stream. All PortAudio API functions that operate on open Streams take a pointer to a @class{pa-stream} as their first parameter.

PortAudio also provides @fun{open-default-stream} – a simpler alternative to @fun{open-stream} which you can use when you want to open the default audio Device(s) with default latency parameters.

You call @fun{close-stream} close a Stream when you’ve finished using it.

There are two macros to simplify work with stream: @fun{with-audio-stream} and @fun{with-default-audio-stream}. These macros open and start stream at the beginning and stop and close stream at the end. Body is protected by unwind-protect.
@end{section}
@begin[Starting and Stopping Streams]{section}
Newly opened Streams are initially stopped. You call @fun{start-stream} to start a Stream. You can stop a running Stream using @fun{stop-stream} or @fun{abort-stream} (the Stop function plays out all internally queued audio data, while Abort tries to stop as quickly as possible). An open Stream can be started and stopped multiple times. You can call @fun{is-stream-stopped} to query whether a Stream is running or stopped.
@end{section}
@begin[The Read/Write I/O Method]{section}
PortAudio provides a synchronous read/write interface for acquiring and playing audio.

To write audio data to a Stream call @fun{write-stream} and to read data call @fun{read-stream}. These functions will block if the internal buffers are full, making them safe to call in a tight loop. If you want to avoid blocking you can query the amount of available read or write space using @fun{get-stream-read-available} or @fun{get-stream-write-available}.

For examples of the read/write I/O method see the following examples in the /t directory of the PortAudio distribution: tests.lisp (@fun{portaudio-tests:test-read-write-converted-echo}).
@end{section}
@begin[Retreiving Stream Information]{section}
You can retrieve information about an open Stream by calling @fun{get-stream-info}. This returns a @class{stream-info} structure containing the actual input and output latency and sample rate of the stream. It’s possible for these values to be different from the suggested values passed to @fun{open-stream}.
@end{section}
@begin[Error Handling]{section}
Most PortAudio functions invokes signal. Possible conditions are described in pa-error enum. Some functions return values greater than or equal to zero for normal results.

PortAudio usually tries to translate error conditions into portable pa-error error codes. However if an unexpected error is encountered the unanticipated-host-error code may be returned. In this case a further mechanism is provided to query for Host API-specific error information. If PortAudio throws unanticipated-host-error you can call @fun{get-last-host-error-info} to retrieve a @class{host-error-info} structure that provides more information, including the Host API that encountered the error, a native API error code and error text.
@end{section}
@begin[Conditions]{section}
There are conditions, that are translated from PaError.
@begin{itemize}
@item{not-anticipated}
@item{unanticipated-host-error}
@item{invalid-channel-count}
@item{invalid-sample-rate}
@item{invalid-device}
@item{invalid-flag}
@item{sample-format-not-supported}
@item{bad-i-o-device-combination}
@item{insufficient-memory}
@item{buffer-too-big}
@item{buffer-too-small}
@item{null-callback}
@item{bad-stream-ptr}
@item{timed-out}
@item{internal-error}
@item{device-unavailable}
@item{incompatible-host-api-specific-stream-info}
@item{stream-is-stopped}
@item{stream-is-not-stopped}
@item{input-overflowed}
@item{output-underflowed}
@item{host-api-not-found}
@item{invalid-host-api}
@item{can-not-read-from-a-callback-stream}
@item{can-not-write-to-a-callback-stream}
@item{can-not-read-from-an-output-only-stream}
@item{can-not-write-to-an-input-only-stream}
@item{incompatible-stream-host-api}
@item{bad-buffer-ptr}
@end{itemize}
@end{section}
@begin[Bitfields]{section}
@b{sample-format}
@begin{itemize}
@item{:float}
@end{itemize}
@b{stream-flags}
@begin{itemize}
@item{:no-flag}
@item{:clip-off}
@item{:dither-off}
@end{itemize}
@end{section}
@begin[Enums]{section}
@b{host-api-type-id}
@begin{itemize}
@item{:in-development}
@item{:direct-sound}
@item{:mme}
@item{:asio}
@item{:sound-manager}
@item{:core-audio}
@item{:oss}
@item{:alsa}
@item{:al}
@item{:be-os}
@item{:wdmks}
@item{:jack}
@item{:wasapi}
@item{:audio-science-hpi}
@end{itemize}
@end{section}

Source

package.lisp.

Nickname

pa

Use List
  • cffi.
  • common-lisp.
  • ffa.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


6.1.1 Macros

Macro: with-audio (&body body)

Execute body in PortAudio initialize/terminate environment.

Package

portaudio.

Source

portaudio.lisp.

Macro: with-audio-stream ((var input-parameters output-parameters &key sample-rate frames-per-buffer stream-flags) &body body)

Execute body with opened and started stream VAR and shut down
the stream after it is done. It is required use these macro in with-audio or initialize/terminate environment.

Package

portaudio.

Source

portaudio.lisp.

Macro: with-default-audio-stream ((var num-input num-output &key sample-format sample-rate frames-per-buffer) &body body)

Execute body with opened and started stream VAR and shut down
the stream after it is done. It is required use these macro in with-audio or initialize/terminate environment.

Package

portaudio.

Source

portaudio.lisp.


6.1.2 Ordinary functions

Function: abort-stream (pa-stream)

Terminates audio processing immediately without waiting for pending buffers to complete.

Package

portaudio.

Source

portaudio.lisp.

Function: close-stream (pa-stream)

Closes an audio stream. If the audio stream is active it discards any pending buffers as if @fun{abort-stream} had been called.

Package

portaudio.

Source

portaudio.lisp.

Function: get-default-host-api ()

Retrieve the index of the default host API. The default host API will be the lowest common denominator host API on
the current platform and is unlikely to provide the best performance.

@begin{return}
A non-negative value ranging from 0 to @code{(- (@fun{get-host-api-count}) 1)} indicating the default host API index or, raises an error if PortAudio is not initialized or an error is encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-default-input-device ()

Retrieve the index of the default input device. The result can be used in the inputDevice parameter to @fun{open-stream}.
@begin{return}
The default input device index for the default host API, or raise no-device if no default input device is available or an error was encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-default-output-device ()

Retrieve the index of the default output device. The result can be used in the outputDevice parameter to @fun{open-stream}.

@b{Note}

On the PC, the user can specify a default device by setting an environment variable. For example, to use device #1.

@pre{set PA_RECOMMENDED_OUTPUT_DEVICE=1}

The user should first determine the available device ids by using @code{(@fun{print-devices})}.

@begin{return}
The default output device index for the default host API, or raise no-device if no default output device is available or an error was encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-device-count ()

Retrieve the number of available devices.The number of available devices may be zero.
@begin{return}
A non-negative value indicating the number of available devices or, raises an error if PortAudio is not initialized or an error is encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-device-info (device)

Retrieve @class{device-info} structure containing information about the specified device.

@begin{return}
A object of @class{device-info}. If the device parameter is out of range the function returns NIL. @end{return}

@arg[device]{A valid device index in the range 0 to @code{(- (@fun{get-device-count}) 1)}}

Package

portaudio.

Source

portaudio.lisp.

Function: get-host-api-count ()

Retrieve the number of available host APIs. Even if a host API is available it may have no devices available.
@begin{return}
A non-negative value indicating the number of available host APIs or, raises an error if PortAudio is not initialized or an error is encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-host-api-info (host-api)

Retrieve a pointer to a structure containing information about a specific host Api.

@begin[host-api]{arg}
A valid host API index ranging from 0 to @code{(- (@fun{get-host-api-count}) 1)}
@end{arg}

@begin{return}
An object of @class{host-api-info} describing a specific host API. If the hostApi parameter is out of range or an error is encountered, the function returns NIL. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-sample-size (format)

Retrieve the size of a given sample format in bytes.
@result{The size in bytes of a single sample in the specified format, or paSampleFormatNotSupported if the format is not supported.}

Package

portaudio.

Source

portaudio.lisp.

Function: get-stream-info (pa-stream)

Retrieve a object of class @class{stream-info} containing information about the specified stream.

@begin{return}
A object of @class{stream-info} structure. If the stream parameter invalid, or an error is encountered, the function returns NIL. @end{return}

@arg[pa-stream]{A object of stream previously created with @fun{open-stream}.}

Package

portaudio.

Source

portaudio.lisp.

Function: get-stream-read-available (pa-stream)

Retrieve the number of frames that can be read from the stream without waiting.

@begin{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, raises an error if PortAudio is not initialized or an error is encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-stream-time (pa-stream)

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 get-stream-time.

This time may be used for synchronizing other events to the audio stream, for example synchronizing audio to MIDI.

@result{The stream’s current time in seconds, or 0 if an error occurred.}

Package

portaudio.

Source

portaudio.lisp.

Function: get-stream-write-available (pa-stream)

Retrieve the number of frames that can be written to the stream without waiting.

@begin{return}
A non-negative value representing the maximum number of frames that can be written to the stream without blocking or busy waiting or, raises an error if PortAudio is not initialized or an error is encountered. @end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: get-version ()

Retrieve the release number of the currently running PortAudio build, eg 1900.

Package

portaudio.

Source

portaudio.lisp.

Function: get-version-text ()

Retrieve a textual description of the current PortAudio build, eg "PortAudio V19-devel 13 October 2002".

Package

portaudio.

Source

portaudio.lisp.

Function: host-api-device-index-to-device-index (host-api host-api-device-index)

Convert a host-API-specific device index to standard PortAudio device index. This function may be used in conjunction with the deviceCount field of PaHostApiInfo to enumerate all devices for the specified host API.

@arg[host-api]{A valid host API index ranging from 0 to @code{(- (@fun{get-host-api-count}) 1)}}
@arg[host-api-device-index]{A valid per-host device index in the range 0 to @code{(- (@fun{host-api-info-device-count} (@fun{get-host-api-info} host-api)) 1)}}

@begin{return}
A non-negative index ranging from 0 to @code{(- (@fun{get-device-count}) 1)} or, raises an error if PortAudio is not initialized or an error is encountered.
@end{return}

A invalid-host-api error indicates that the host API index specified by the hostApi parameter is out of range.

A invalid-device error indicates that the host-api-device-index parameter is out of range.

Package

portaudio.

Source

portaudio.lisp.

Function: host-api-type-id-to-host-api-index (type)

Convert a static host API unique identifier, into a runtime host API index.
@arg[type]{A unique host API identifier belonging to the PaHostApiTypeId enumeration.}

@begin{return}
A valid host-api-idnex ranging from 0 to @code{(- (@fun{get-host-api-count}) 1)} or, raises an error if PortAudio is not initialized or @end{return}

The host-api-not-found error indicates that the host API specified by the type parameter is not available.

Package

portaudio.

Source

portaudio.lisp.

Function: initialize ()

Library initialization function - call this before using PortAudio. This function initializes internal data structures and prepares underlying host APIs for use. With the exception of @fun{get-version}, @fun{get-version-text}, and @fun{get-error-text}, this function MUST be called before using any other PortAudio API functions.

If initialize is called multiple times, each successful call must be matched with a corresponding call to @fun{terminate}. Pairs of calls to initialize/@fun{terminate} may overlap, and are not required to be fully nested.

Note that if initialize raises an error, @fun{terminate} should NOT be called.

@result{NIL if successful, otherwise raises an error indicating the cause of failure.}

Package

portaudio.

Source

portaudio.lisp.

Function: is-stream-active (pa-stream)

Determine whether the stream is active. A stream is active after a successful call to @fun{start-stream}, until it becomes inactive either as a result of a call to @fun{stop-stream} or @fun{abort-stream}. In the latter case, the stream is considered inactive after the last buffer has finished playing.

@begin{return}
Returns one (1) when the stream is active (ie playing or recording audio), zero (0) when not playing or, raises an error if PortAudio is not initialized or an error is encountered.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: is-stream-stopped (pa-stream)

Determine whether the stream is stopped. A stream is considered to be stopped prior to a successful call to @fun{start-stream} and after a successful call to @fun{stop-stream} or @fun{abort-stream}.

@begin{return}
Returns one (1) when the stream is stopped, zero (0) when the stream is running or, raises an error if PortAudio is not initialized or an error is encountered.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: make-stream-parameters ()

Make stream-parameters object

Package

portaudio.

Source

portaudio.lisp.

Function: merge-channels-into-array (pa-stream channels)

Merge subarrays of (channelcount)-dimensional array to flat array.

@arg[pa-stream]{A object of stream previously created with @fun{open-stream}.} @arg[channels]{Vector of vectors of floats, that contains data for all sound channels.}

@begin{return}
Vector of data, that can be used with @fun{write-stream}.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: open-default-stream (num-input num-output sample-format sample-rate frames-per-buffer)

A simplified version of @fun{open-stream} that opens the default input and/or output devices.

@arg[num-input-channels]{The number of channels of sound that will be returned by @fun{read-stream}. It can range from 1 to the value of max-input-channels in the @class{device-info} class for the default input device. If 0 the stream is opened as an output-only stream.} @arg[num-output-channels]{The number of channels of sound to be passed to @fun{write-stream}. It can range from 1 to the value of max-output-channels in the @class{device-info} class for the default output device. If 0 the stream is opened as an output-only stream.} @arg[sample-format]{The sample format of both the input and output buffers passed to and from @fun{read-stream} and @fun{write-stream}. sample-format may be any of the formats described by the sample-format enumeration.}
@arg[sample-rate]{Same as @fun{open-stream} parameter of the same name.}
@arg[frames-per-buffer]{Same as @fun{open-stream} parameter of the same name.}

@result{As for @fun{open-stream}}

Package

portaudio.

Source

portaudio.lisp.

Function: open-stream (input-parameters output-parameters sample-rate frames-per-buffer stream-flags)

Opens a stream for either input, output or both.

@arg[input-parameters]{A structure that describes the input parameters used by the opened stream. See @class{stream-parameters} for a description of these parameters. input-parameters must be NIL for output-only streams.} @arg[output-parameters]{A structure that describes the output parameters used by the opened stream. See @class{stream-parameters} for a description of these parameters. output-parameters must be NIL for input-only streams.} @arg[sample-rate]{The desired sample-rate. For full-duplex streams it is the sample rate for both input and output}
@arg[frames-per-buffer]{Preferred block granularity for a blocking read/write stream.}
@arg[stream-flags]{List of flags which modify the behavior of the streaming process. Some flags may only be relevant to certain buffer formats.}

@begin{return}
Upon success pen-stream returns object of @class{pa-stream} class. The stream is inactive (stopped). If a call to open-stream fails, an error code is raised and the value of stream is NIL.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: pa-sleep (msec)

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.

Package

portaudio.

Source

portaudio.lisp.

Function: print-devices ()

List available sound devices, including device information.

Package

portaudio.

Source

portaudio.lisp.

Function: read-stream (pa-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. Size of returned array equal to @code{(* frames-per-buffer channel-count)}.

@arg[pa-stream]{A object of stream previously created with @fun{open-stream}.}

@begin{return}
On success array of data will be returned, or :input-overflowed if input data was discarded by PortAudio after the previous call and before this call.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: read-stream-into-array (pa-stream array)

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.

@arg[pa-stream]{A object of stream previously created with @fun{open-stream}.}
@arg[array]{Simple array with has element-type equal to sample-format from @fun{open-stream}. Size of array equal to @code{(* frames-per-buffer channel-count)}.}

@begin{return}
On success NIL will be returned, or :input-overflowed if input data was discarded by PortAudio after the previous call and before this call.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: separate-array-to-channels (pa-stream array)

Separate flat array

@arg[pa-stream]{A object of stream previously created with @fun{open-stream}.} @arg[array]{Flat array, that is received from @fun{read-stream}.}

@begin{return}
(channelcount)-dimensional array of single-floats
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: start-stream (pa-stream)

Commences audio processing.

Package

portaudio.

Source

portaudio.lisp.

Function: terminate ()

Library termination function - call this when finished using PortAudio. This function deallocates all resources allocated by PortAudio since it was initialized by a call to @fun{initialize}. In cases where @fun{initialize} has been called multiple times, each call must be matched with a corresponding call to terminate. The final matching call to terminate will automatically close any PortAudio streams that are still open.

terminate MUST be called before exiting a program which uses PortAudio. Failure to do so may result in serious resource leaks, such as audio devices not being available until the next reboot.

@begin{return}
NIL if successful, otherwise raises an error indicating the cause of failure.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: write-stream (pa-stream buffer)

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. Size of buffer should be equal to @code{(* frames-per-buffer channel-count)}.

@arg[pa-stream]{A object of stream previously created with @fun{open-stream}.}
@arg[buffer]{A array of sample frames. The buffer contains samples in the format specified by the @code{(stream-parameters-sample-format output-parameters)} field used to open the stream, and the number of channels specified by @code{(stream-parameters-num-channels output-parameters)}.}

@begin{return}
On success NIL will be returned, or :output-underflowed if additional output data was inserted after the previous call and before this call.
@end{return}

Package

portaudio.

Source

portaudio.lisp.


6.1.3 Generic functions

Generic Reader: device-info-default-high-input-latency (instance)

Default latency values for robust non-interactive applications (eg. playing sound files).

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-default-high-input-latency ((device-info device-info))

Default latency values for robust non-interactive applications (eg. playing sound files).

Target Slot

default-high-input-latency.

Generic Reader: device-info-default-high-output-latency (instance)
Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-default-high-output-latency ((device-info device-info))
Target Slot

default-high-output-latency.

Generic Reader: device-info-default-low-input-latency (instance)

Default latency values for interactive performance.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-default-low-input-latency ((device-info device-info))

Default latency values for interactive performance.

Target Slot

default-low-input-latency.

Generic Reader: device-info-default-low-output-latency (instance)
Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-default-low-output-latency ((device-info device-info))
Target Slot

default-low-output-latency.

Generic Reader: device-info-default-sample-rate (instance)

Sample rate

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-default-sample-rate ((device-info device-info))

Sample rate

Target Slot

default-sample-rate.

Generic Reader: device-info-host-api (instance)

note this is a host API index, not a type id.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-host-api ((device-info device-info))

note this is a host API index, not a type id.

Target Slot

host-api.

Generic Reader: device-info-max-input-channels (instance)

maximum number of input channels

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-max-input-channels ((device-info device-info))
Target Slot

max-input-channels.

Generic Reader: device-info-max-output-channels (instance)

maximum number of output channels

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-max-output-channels ((device-info device-info))

automatically generated reader method

Target Slot

max-output-channels.

Generic Reader: device-info-name (instance)

device name

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: device-info-name ((device-info device-info))

Device name.

Target Slot

name.

Generic Reader: host-api-info-default-input-device (instance)

The default input device for this host API. The value will be a device index ranging from 0 to (- (get-device-count) 1), or no-device if no default input device is available.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-api-info-default-input-device ((host-api-info host-api-info))

The default input device for this host API. The value will be a device index ranging from 0 to (- (get-device-count) 1), or no-device if no default input device is available.

Target Slot

default-input-device.

Generic Reader: host-api-info-default-output-device (instance)

The default output device for this host API. The value will be a device index ranging from 0 to (- (get-device-count) 1), or paNoDevice if no default output device is available.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-api-info-default-output-device ((host-api-info host-api-info))

The default output device for this host API. The value will be a device index ranging from 0 to (- (get-device-count) 1), or paNoDevice if no default output device is available.

Target Slot

default-output-device.

Generic Reader: host-api-info-device-count (instance)

The number of devices belonging to this host API. This field may be used in conjunction with host-api-device-index-to-device-index to enumerate all devices for this host API.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-api-info-device-count ((host-api-info host-api-info))

The number of devices belonging to this host API. This field may be used in conjunction with host-api-device-index-to-device-index to enumerate all devices for this host API.

Target Slot

device-count.

Generic Reader: host-api-info-name (instance)

A textual description of the host API for display on user interfaces.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-api-info-name ((host-api-info host-api-info))

A textual description of the host API for display on user interfaces.

Target Slot

name.

Generic Reader: host-api-info-type (instance)

The well known unique identifier of this host API.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-api-info-type ((host-api-info host-api-info))

The well known unique identifier of this host API.

Target Slot

type.

Generic Reader: host-error-info-error-code (instance)

the error code returned

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-error-info-error-code ((host-error-info host-error-info))

the error code returned

Target Slot

error-code.

Generic Reader: host-error-info-error-text (instance)

a textual description of the error if available, otherwise a zero-length string

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-error-info-error-text ((host-error-info host-error-info))

a textual description of the error if available, otherwise a zero-length string

Target Slot

error-text.

Generic Reader: host-error-info-host-api-type (instance)

the host API which returned the error code

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: host-error-info-host-api-type ((host-error-info host-error-info))

the host API which returned the error code

Target Slot

host-api-type.

Generic Reader: pa-stream-frames-per-buffer (instance)

Frames per buffer for current stream

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: pa-stream-frames-per-buffer ((pa-stream pa-stream))

Frames per buffer

Target Slot

frames-per-buffer.

Generic Reader: pa-stream-input-channels (instance)

Number of input channels

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: pa-stream-input-channels ((pa-stream pa-stream))

Number of input channels

Target Slot

input-channels.

Generic Reader: pa-stream-input-sample-format (instance)

value of sample-format for input channel

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: pa-stream-input-sample-format ((pa-stream pa-stream))

Format of input samples

Target Slot

input-sample-format.

Generic Reader: pa-stream-output-channels (instance)

Number of output channels

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: pa-stream-output-channels ((pa-stream pa-stream))

Number of output channels

Target Slot

output-channels.

Generic Reader: pa-stream-output-sample-format (instance)

value of sample-format for output channel

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: pa-stream-output-sample-format ((pa-stream pa-stream))

Format of output samples

Target Slot

output-sample-format.

Generic Reader: stream-info-input-latency (instance)

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 open-stream. The value of this field will be zero (0.) for output-only streams.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-info-input-latency ((stream-info stream-info))

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 open-stream. The value of this field will be zero (0.) for output-only streams.

Target Slot

input-latency.

Generic Reader: stream-info-output-latency (instance)

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 open-stream. The value of this field will be zero (0.) for input-only streams.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-info-output-latency ((stream-info stream-info))

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 open-stream. The value of this field will be zero (0.) for input-only streams.

Target Slot

output-latency.

Generic Reader: stream-info-sample-rate (instance)

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 sample-rate parameter passed to open-stream. If information about the actual hardware sample rate is not available, this field will have the same value as the sample-rate parameter passed to open-stream.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-info-sample-rate ((stream-info stream-info))

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 sample-rate parameter passed to open-stream. If information about the actual hardware sample rate is not available, this field will have the same value as the sample-rate parameter passed to open-stream.

Target Slot

sample-rate.

Generic Reader: stream-parameters-channel-count (instance)

The number of channels of sound to be delivered to the stream callback.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-parameters-channel-count ((stream-parameters stream-parameters))

The number of channels of sound to be delivered to the stream callback.

Target Slot

channel-count.

Generic Writer: (setf stream-parameters-channel-count) (object)
Package

portaudio.

Methods
Writer Method: (setf stream-parameters-channel-count) ((stream-parameters stream-parameters))

The number of channels of sound to be delivered to the stream callback.

Source

portaudio.lisp.

Target Slot

channel-count.

Generic Reader: stream-parameters-device (instance)

A valid device index in the range 0 to @code{(- (@fun{get-device-count}) 1)} specifying the device to be used. This field must not be set to paNoDevice.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-parameters-device ((stream-parameters stream-parameters))

A valid device index in the range 0 to (- get-device-count 1) specifying the device to be used. This field must not be set to paNoDevice.

Target Slot

device.

Generic Writer: (setf stream-parameters-device) (object)
Package

portaudio.

Methods
Writer Method: (setf stream-parameters-device) ((stream-parameters stream-parameters))

A valid device index in the range 0 to (- get-device-count 1) specifying the device to be used. This field must not be set to paNoDevice.

Source

portaudio.lisp.

Target Slot

device.

Generic Reader: stream-parameters-sample-format (instance)

The sample format of the buffer provided to read-stream or write-stream.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-parameters-sample-format ((stream-parameters stream-parameters))

The sample format of the buffer provided to read-stream or write-stream.

Target Slot

sample-format.

Generic Writer: (setf stream-parameters-sample-format) (object)
Package

portaudio.

Methods
Writer Method: (setf stream-parameters-sample-format) ((stream-parameters stream-parameters))

The sample format of the buffer provided to read-stream or write-stream.

Source

portaudio.lisp.

Target Slot

sample-format.

Generic Reader: stream-parameters-suggested-latency (instance)

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.

Package

portaudio.

Source

portaudio.lisp.

Methods
Reader Method: stream-parameters-suggested-latency ((stream-parameters stream-parameters))

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.

Target Slot

suggested-latency.

Generic Writer: (setf stream-parameters-suggested-latency) (object)
Package

portaudio.

Methods
Writer Method: (setf stream-parameters-suggested-latency) ((stream-parameters stream-parameters))

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.

Source

portaudio.lisp.

Target Slot

suggested-latency.


6.1.4 Standalone methods

Method: free-translated-object (value (type p-stream-parameters) param)
Package

cffi.

Source

portaudio.lisp.

Method: initialize-instance :after ((inst device-info) &key pointer)
Source

portaudio.lisp.

Method: initialize-instance :after ((inst host-api-info) &key pointer)
Source

portaudio.lisp.

Method: initialize-instance :after ((inst stream-info) &key pointer)
Source

portaudio.lisp.

Method: initialize-instance :after ((inst host-error-info) &key pointer)
Source

portaudio.lisp.

Method: translate-from-foreign (value (type p-stream-info))
Package

cffi.

Source

portaudio.lisp.

Method: translate-from-foreign (value (type p-stream-parameters))
Package

cffi.

Source

portaudio.lisp.

Method: translate-from-foreign (value (type p-host-error-info))
Package

cffi.

Source

portaudio.lisp.

Method: translate-from-foreign (value (type p-device-info))
Package

cffi.

Source

portaudio.lisp.

Method: translate-from-foreign (value (type p-host-api-info))
Package

cffi.

Source

portaudio.lisp.

Method: translate-to-foreign (value (type p-stream-parameters))
Package

cffi.

Source

portaudio.lisp.

Method: translate-to-foreign (value (type p-pa-stream))
Package

cffi.

Source

portaudio.lisp.


6.1.5 Classes

Class: device-info

A structure providing information and capabilities of PortAudio devices. Devices may support input, output or both input and output.

Package

portaudio.

Source

portaudio.lisp.

Direct methods
Direct slots
Slot: struct-version

Structure version.

Readers

device-info-struct-version.

Writers

This slot is read-only.

Slot: name

Device name.

Readers

device-info-name.

Writers

This slot is read-only.

Slot: host-api

note this is a host API index, not a type id.

Readers

device-info-host-api.

Writers

This slot is read-only.

Slot: max-input-channels
Readers

device-info-max-input-channels.

Writers

This slot is read-only.

Slot: max-output-channels
Readers

device-info-max-output-channels.

Writers

This slot is read-only.

Slot: default-low-input-latency

Default latency values for interactive performance.

Readers

device-info-default-low-input-latency.

Writers

This slot is read-only.

Slot: default-low-output-latency
Readers

device-info-default-low-output-latency.

Writers

This slot is read-only.

Slot: default-high-input-latency

Default latency values for robust non-interactive applications (eg. playing sound files).

Readers

device-info-default-high-input-latency.

Writers

This slot is read-only.

Slot: p
Slot: default-high-output-latency
Readers

device-info-default-high-output-latency.

Writers

This slot is read-only.

Slot: default-sample-rate

Sample rate

Readers

device-info-default-sample-rate.

Writers

This slot is read-only.

Class: host-api-info

A structure containing information about a particular host API.

Package

portaudio.

Source

portaudio.lisp.

Direct methods
Direct slots
Slot: struct-version

Struct version.

Readers

host-api-info-struct-version.

Writers

This slot is read-only.

Slot: type

The well known unique identifier of this host API.

Package

common-lisp.

Readers

host-api-info-type.

Writers

This slot is read-only.

Slot: name

A textual description of the host API for display on user interfaces.

Readers

host-api-info-name.

Writers

This slot is read-only.

Slot: device-count

The number of devices belonging to this host API. This field may be used in conjunction with host-api-device-index-to-device-index to enumerate all devices for this host API.

Readers

host-api-info-device-count.

Writers

This slot is read-only.

Slot: default-input-device

The default input device for this host API. The value will be a device index ranging from 0 to (- (get-device-count) 1), or no-device if no default input device is available.

Readers

host-api-info-default-input-device.

Writers

This slot is read-only.

Slot: default-output-device

The default output device for this host API. The value will be a device index ranging from 0 to (- (get-device-count) 1), or paNoDevice if no default output device is available.

Readers

host-api-info-default-output-device.

Writers

This slot is read-only.

Class: host-error-info

Structure used to return information about a host error condition.

Package

portaudio.

Source

portaudio.lisp.

Direct methods
Direct slots
Slot: host-api-type

the host API which returned the error code

Readers

host-error-info-host-api-type.

Writers

This slot is read-only.

Slot: error-code

the error code returned

Readers

host-error-info-error-code.

Writers

This slot is read-only.

Slot: error-text

a textual description of the error if available, otherwise a zero-length string

Readers

host-error-info-error-text.

Writers

This slot is read-only.

Class: pa-stream

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 devices. 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 device may be simultaneously used by at most one stream.

Package

portaudio.

Source

portaudio.lisp.

Direct methods
Direct slots
Slot: handle

Foreign pointer to pa-stream

Initform

(cffi-sys:null-pointer)

Initargs

:handle

Readers

pa-stream-handle.

Writers

(setf pa-stream-handle).

Slot: input-sample-format

Format of input samples

Initargs

:input-sample-format

Readers

pa-stream-input-sample-format.

Writers

This slot is read-only.

Slot: input-channels

Number of input channels

Initargs

:input-channels

Readers

pa-stream-input-channels.

Writers

This slot is read-only.

Slot: output-sample-format

Format of output samples

Initargs

:output-sample-format

Readers

pa-stream-output-sample-format.

Writers

This slot is read-only.

Slot: output-channels

Number of output channels

Initargs

:output-channels

Readers

pa-stream-output-channels.

Writers

This slot is read-only.

Slot: frames-per-buffer

Frames per buffer

Initargs

:frames-per-buffer

Readers

pa-stream-frames-per-buffer.

Writers

This slot is read-only.

Class: stream-info

A structure containing unchanging information about an open stream.

Package

portaudio.

Source

portaudio.lisp.

Direct methods
Direct slots
Slot: struct-version

Struct version

Readers

stream-info-struct-version.

Writers

This slot is read-only.

Slot: input-latency

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 open-stream. The value of this field will be zero (0.) for output-only streams.

Readers

stream-info-input-latency.

Writers

This slot is read-only.

Slot: output-latency

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 open-stream. The value of this field will be zero (0.) for input-only streams.

Readers

stream-info-output-latency.

Writers

This slot is read-only.

Slot: sample-rate

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 sample-rate parameter passed to open-stream. If information about the actual hardware sample rate is not available, this field will have the same value as the sample-rate parameter passed to open-stream.

Readers

stream-info-sample-rate.

Writers

This slot is read-only.

Class: stream-parameters

Parameters for one direction (input or output) of a stream.

Package

portaudio.

Source

portaudio.lisp.

Direct methods
Direct slots
Slot: device

A valid device index in the range 0 to (- get-device-count 1) specifying the device to be used. This field must not be set to paNoDevice.

Readers

stream-parameters-device.

Writers

(setf stream-parameters-device).

Slot: channel-count

The number of channels of sound to be delivered to the stream callback.

Readers

stream-parameters-channel-count.

Writers

(setf stream-parameters-channel-count).

Slot: sample-format

The sample format of the buffer provided to read-stream or write-stream.

Readers

stream-parameters-sample-format.

Writers

(setf stream-parameters-sample-format).

Slot: suggested-latency

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.

Readers

stream-parameters-suggested-latency.

Writers

(setf stream-parameters-suggested-latency).


6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Constants

Constant: +format-is-supported+
Package

portaudio.

Source

portaudio.lisp.

Constant: +frames-per-buffer-unspecified+
Package

portaudio.

Source

portaudio.lisp.

Constant: +no-device+
Package

portaudio.

Source

portaudio.lisp.

Constant: +use-host-api-specific-device-specification
Package

portaudio.

Source

portaudio.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.2 Macros

Macro: make-errors (&rest symbols)
Package

portaudio.

Source

portaudio.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.3 Ordinary functions

Function: %abort-stream (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %close-stream (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-default-host-api ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-default-input-device ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-default-output-device ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-device-count ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-device-info (device)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-error-text (error-code)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-host-api-count ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-host-api-info (host-api)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-last-host-error-info ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-sample-size (format)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-stream-info (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-stream-read-available (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-stream-time (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-stream-write-available (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %get-version ()
Package

portaudio.

Source

portaudio.lisp.

Function: %get-version-text ()
Package

portaudio.

Source

portaudio.lisp.

Function: %host-api-device-index-to-device-index (host-api host-api-device-index)
Package

portaudio.

Source

portaudio.lisp.

Function: %host-api-type-id-to-host-api-index (type)
Package

portaudio.

Source

portaudio.lisp.

Function: %initialize ()
Package

portaudio.

Source

portaudio.lisp.

Function: %is-format-supported (input-parameters output-parameters sample-rate)
Package

portaudio.

Source

portaudio.lisp.

Function: %is-stream-active (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %is-stream-stopped (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %open-default-stream (pa-stream num-input-channels num-output-channels sample-format sample-rate frames-per-buffer stream-callback user-data)
Package

portaudio.

Source

portaudio.lisp.

Function: %open-stream (pa-stream input-parameters output-parameters sample-rate frames-per-buffer stream-flags stream-callback user-data)
Package

portaudio.

Source

portaudio.lisp.

Function: %pa-sleep (msec)
Package

portaudio.

Source

portaudio.lisp.

Function: %read-stream (pa-stream buffer frames)
Package

portaudio.

Source

portaudio.lisp.

Function: %start-stream (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %stop-stream (pa-stream)
Package

portaudio.

Source

portaudio.lisp.

Function: %terminate ()
Package

portaudio.

Source

portaudio.lisp.

Function: %write-stream (pa-stream buffer frames)
Package

portaudio.

Source

portaudio.lisp.

Function: cffi-type-to-lisp (cffi-type)
Package

portaudio.

Source

portaudio.lisp.

Function: get-last-host-error-info ()

Return information about the last host error encountered. The error information returned by @fun{get-last-host-error-info} will never be modified asynchronously by errors occurring in other PortAudio owned threads.

This function is provided as a last resort, primarily to enhance debugging by providing clients with access to all available error information.

@begin{return}
A structure constraining information about the host error. The values in this structure will only be valid if a PortAudio function has previously raise the unanticipated-host-error error code.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: is-format-supported (input-parameters output-parameters sample-rate)

Determine whether it would be possible to open a stream with the specified parameters.

@arg[input-parameters]{A structure that describes the input parameters used to open a stream. The suggested-latency slot is ignored. See @class{stream-parameters} for a description of these parameters. input-parameters must be NIL for output-only streams.} @arg[output-parameters]{A structure that describes the output parameters used to open a stream. The suggested-latency field is ignored. See @class{stream-parameters} for a description of these parameters. output-parameters must be NIL for input-only streams.} @arg[sample-rate]{The required sampleRate. For full-duplex streams it is the sample rate for both input and output.}

@begin{return}
Returns 0 if the format is supported, and raises an error indicating why the format is not supported otherwise. The constant @variable{+format-is-supported+} is provided to compare with the return value for success.
@end{return}

Package

portaudio.

Source

portaudio.lisp.

Function: print-supported-standard-sample-rates (input-params output-params)
Package

portaudio.

Source

portaudio.lisp.

Function: raise-if-error (err)

Check err and raise condition if it is needed

Package

portaudio.

Source

portaudio.lisp.

Function: stop-stream (pa-stream)

Terminates audio processing. It waits until all pending audio buffers have been played before it returns.

Package

portaudio.

Source

portaudio.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.4 Generic functions

Generic Reader: device-info-struct-version (object)
Package

portaudio.

Methods
Reader Method: device-info-struct-version ((device-info device-info))

Structure version.

Source

portaudio.lisp.

Target Slot

struct-version.

Generic Reader: host-api-info-struct-version (object)
Package

portaudio.

Methods
Reader Method: host-api-info-struct-version ((host-api-info host-api-info))

Struct version.

Source

portaudio.lisp.

Target Slot

struct-version.

Generic Reader: pa-stream-handle (object)
Generic Writer: (setf pa-stream-handle) (object)
Package

portaudio.

Methods
Reader Method: pa-stream-handle ((pa-stream pa-stream))
Writer Method: (setf pa-stream-handle) ((pa-stream pa-stream))

Foreign pointer to pa-stream

Source

portaudio.lisp.

Target Slot

handle.

Generic Reader: stream-info-struct-version (object)
Package

portaudio.

Methods
Reader Method: stream-info-struct-version ((stream-info stream-info))

Struct version

Source

portaudio.lisp.

Target Slot

struct-version.


Previous: , Up: Internals   [Contents][Index]

6.2.5 Classes

Class: device-info-tclass
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: host-api-info-tclass
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: host-error-info-tclass
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: p-device-info
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods

translate-from-foreign.

Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Class: p-host-api-info
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods

translate-from-foreign.

Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Class: p-host-error-info
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods

translate-from-foreign.

Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Class: p-pa-stream
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods

translate-to-foreign.

Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Class: p-stream-info
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods

translate-from-foreign.

Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Class: p-stream-parameters
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Class: stream-info-tclass
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.
Class: stream-parameters-tclass
Package

portaudio.

Source

portaudio.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   C   D   F   G   H   I   M   O   P   R   S   T   W  
Index Entry  Section

%
%abort-stream: Private ordinary functions
%close-stream: Private ordinary functions
%get-default-host-api: Private ordinary functions
%get-default-input-device: Private ordinary functions
%get-default-output-device: Private ordinary functions
%get-device-count: Private ordinary functions
%get-device-info: Private ordinary functions
%get-error-text: Private ordinary functions
%get-host-api-count: Private ordinary functions
%get-host-api-info: Private ordinary functions
%get-last-host-error-info: Private ordinary functions
%get-sample-size: Private ordinary functions
%get-stream-info: Private ordinary functions
%get-stream-read-available: Private ordinary functions
%get-stream-time: Private ordinary functions
%get-stream-write-available: Private ordinary functions
%get-version: Private ordinary functions
%get-version-text: Private ordinary functions
%host-api-device-index-to-device-index: Private ordinary functions
%host-api-type-id-to-host-api-index: Private ordinary functions
%initialize: Private ordinary functions
%is-format-supported: Private ordinary functions
%is-stream-active: Private ordinary functions
%is-stream-stopped: Private ordinary functions
%open-default-stream: Private ordinary functions
%open-stream: Private ordinary functions
%pa-sleep: Private ordinary functions
%read-stream: Private ordinary functions
%start-stream: Private ordinary functions
%stop-stream: Private ordinary functions
%terminate: Private ordinary functions
%write-stream: Private ordinary functions

(
(setf pa-stream-handle): Private generic functions
(setf pa-stream-handle): Private generic functions
(setf stream-parameters-channel-count): Public generic functions
(setf stream-parameters-channel-count): Public generic functions
(setf stream-parameters-device): Public generic functions
(setf stream-parameters-device): Public generic functions
(setf stream-parameters-sample-format): Public generic functions
(setf stream-parameters-sample-format): Public generic functions
(setf stream-parameters-suggested-latency): Public generic functions
(setf stream-parameters-suggested-latency): Public generic functions

A
abort-stream: Public ordinary functions

C
cffi-type-to-lisp: Private ordinary functions
close-stream: Public ordinary functions

D
device-info-default-high-input-latency: Public generic functions
device-info-default-high-input-latency: Public generic functions
device-info-default-high-output-latency: Public generic functions
device-info-default-high-output-latency: Public generic functions
device-info-default-low-input-latency: Public generic functions
device-info-default-low-input-latency: Public generic functions
device-info-default-low-output-latency: Public generic functions
device-info-default-low-output-latency: Public generic functions
device-info-default-sample-rate: Public generic functions
device-info-default-sample-rate: Public generic functions
device-info-host-api: Public generic functions
device-info-host-api: Public generic functions
device-info-max-input-channels: Public generic functions
device-info-max-input-channels: Public generic functions
device-info-max-output-channels: Public generic functions
device-info-max-output-channels: Public generic functions
device-info-name: Public generic functions
device-info-name: Public generic functions
device-info-struct-version: Private generic functions
device-info-struct-version: Private generic functions

F
free-translated-object: Public standalone methods
Function, %abort-stream: Private ordinary functions
Function, %close-stream: Private ordinary functions
Function, %get-default-host-api: Private ordinary functions
Function, %get-default-input-device: Private ordinary functions
Function, %get-default-output-device: Private ordinary functions
Function, %get-device-count: Private ordinary functions
Function, %get-device-info: Private ordinary functions
Function, %get-error-text: Private ordinary functions
Function, %get-host-api-count: Private ordinary functions
Function, %get-host-api-info: Private ordinary functions
Function, %get-last-host-error-info: Private ordinary functions
Function, %get-sample-size: Private ordinary functions
Function, %get-stream-info: Private ordinary functions
Function, %get-stream-read-available: Private ordinary functions
Function, %get-stream-time: Private ordinary functions
Function, %get-stream-write-available: Private ordinary functions
Function, %get-version: Private ordinary functions
Function, %get-version-text: Private ordinary functions
Function, %host-api-device-index-to-device-index: Private ordinary functions
Function, %host-api-type-id-to-host-api-index: Private ordinary functions
Function, %initialize: Private ordinary functions
Function, %is-format-supported: Private ordinary functions
Function, %is-stream-active: Private ordinary functions
Function, %is-stream-stopped: Private ordinary functions
Function, %open-default-stream: Private ordinary functions
Function, %open-stream: Private ordinary functions
Function, %pa-sleep: Private ordinary functions
Function, %read-stream: Private ordinary functions
Function, %start-stream: Private ordinary functions
Function, %stop-stream: Private ordinary functions
Function, %terminate: Private ordinary functions
Function, %write-stream: Private ordinary functions
Function, abort-stream: Public ordinary functions
Function, cffi-type-to-lisp: Private ordinary functions
Function, close-stream: Public ordinary functions
Function, get-default-host-api: Public ordinary functions
Function, get-default-input-device: Public ordinary functions
Function, get-default-output-device: Public ordinary functions
Function, get-device-count: Public ordinary functions
Function, get-device-info: Public ordinary functions
Function, get-host-api-count: Public ordinary functions
Function, get-host-api-info: Public ordinary functions
Function, get-last-host-error-info: Private ordinary functions
Function, get-sample-size: Public ordinary functions
Function, get-stream-info: Public ordinary functions
Function, get-stream-read-available: Public ordinary functions
Function, get-stream-time: Public ordinary functions
Function, get-stream-write-available: Public ordinary functions
Function, get-version: Public ordinary functions
Function, get-version-text: Public ordinary functions
Function, host-api-device-index-to-device-index: Public ordinary functions
Function, host-api-type-id-to-host-api-index: Public ordinary functions
Function, initialize: Public ordinary functions
Function, is-format-supported: Private ordinary functions
Function, is-stream-active: Public ordinary functions
Function, is-stream-stopped: Public ordinary functions
Function, make-stream-parameters: Public ordinary functions
Function, merge-channels-into-array: Public ordinary functions
Function, open-default-stream: Public ordinary functions
Function, open-stream: Public ordinary functions
Function, pa-sleep: Public ordinary functions
Function, print-devices: Public ordinary functions
Function, print-supported-standard-sample-rates: Private ordinary functions
Function, raise-if-error: Private ordinary functions
Function, read-stream: Public ordinary functions
Function, read-stream-into-array: Public ordinary functions
Function, separate-array-to-channels: Public ordinary functions
Function, start-stream: Public ordinary functions
Function, stop-stream: Private ordinary functions
Function, terminate: Public ordinary functions
Function, write-stream: Public ordinary functions

G
Generic Function, (setf pa-stream-handle): Private generic functions
Generic Function, (setf stream-parameters-channel-count): Public generic functions
Generic Function, (setf stream-parameters-device): Public generic functions
Generic Function, (setf stream-parameters-sample-format): Public generic functions
Generic Function, (setf stream-parameters-suggested-latency): Public generic functions
Generic Function, device-info-default-high-input-latency: Public generic functions
Generic Function, device-info-default-high-output-latency: Public generic functions
Generic Function, device-info-default-low-input-latency: Public generic functions
Generic Function, device-info-default-low-output-latency: Public generic functions
Generic Function, device-info-default-sample-rate: Public generic functions
Generic Function, device-info-host-api: Public generic functions
Generic Function, device-info-max-input-channels: Public generic functions
Generic Function, device-info-max-output-channels: Public generic functions
Generic Function, device-info-name: Public generic functions
Generic Function, device-info-struct-version: Private generic functions
Generic Function, host-api-info-default-input-device: Public generic functions
Generic Function, host-api-info-default-output-device: Public generic functions
Generic Function, host-api-info-device-count: Public generic functions
Generic Function, host-api-info-name: Public generic functions
Generic Function, host-api-info-struct-version: Private generic functions
Generic Function, host-api-info-type: Public generic functions
Generic Function, host-error-info-error-code: Public generic functions
Generic Function, host-error-info-error-text: Public generic functions
Generic Function, host-error-info-host-api-type: Public generic functions
Generic Function, pa-stream-frames-per-buffer: Public generic functions
Generic Function, pa-stream-handle: Private generic functions
Generic Function, pa-stream-input-channels: Public generic functions
Generic Function, pa-stream-input-sample-format: Public generic functions
Generic Function, pa-stream-output-channels: Public generic functions
Generic Function, pa-stream-output-sample-format: Public generic functions
Generic Function, stream-info-input-latency: Public generic functions
Generic Function, stream-info-output-latency: Public generic functions
Generic Function, stream-info-sample-rate: Public generic functions
Generic Function, stream-info-struct-version: Private generic functions
Generic Function, stream-parameters-channel-count: Public generic functions
Generic Function, stream-parameters-device: Public generic functions
Generic Function, stream-parameters-sample-format: Public generic functions
Generic Function, stream-parameters-suggested-latency: Public generic functions
get-default-host-api: Public ordinary functions
get-default-input-device: Public ordinary functions
get-default-output-device: Public ordinary functions
get-device-count: Public ordinary functions
get-device-info: Public ordinary functions
get-host-api-count: Public ordinary functions
get-host-api-info: Public ordinary functions
get-last-host-error-info: Private ordinary functions
get-sample-size: Public ordinary functions
get-stream-info: Public ordinary functions
get-stream-read-available: Public ordinary functions
get-stream-time: Public ordinary functions
get-stream-write-available: Public ordinary functions
get-version: Public ordinary functions
get-version-text: Public ordinary functions

H
host-api-device-index-to-device-index: Public ordinary functions
host-api-info-default-input-device: Public generic functions
host-api-info-default-input-device: Public generic functions
host-api-info-default-output-device: Public generic functions
host-api-info-default-output-device: Public generic functions
host-api-info-device-count: Public generic functions
host-api-info-device-count: Public generic functions
host-api-info-name: Public generic functions
host-api-info-name: Public generic functions
host-api-info-struct-version: Private generic functions
host-api-info-struct-version: Private generic functions
host-api-info-type: Public generic functions
host-api-info-type: Public generic functions
host-api-type-id-to-host-api-index: Public ordinary functions
host-error-info-error-code: Public generic functions
host-error-info-error-code: Public generic functions
host-error-info-error-text: Public generic functions
host-error-info-error-text: Public generic functions
host-error-info-host-api-type: Public generic functions
host-error-info-host-api-type: Public generic functions

I
initialize: Public ordinary functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
is-format-supported: Private ordinary functions
is-stream-active: Public ordinary functions
is-stream-stopped: Public ordinary functions

M
Macro, make-errors: Private macros
Macro, with-audio: Public macros
Macro, with-audio-stream: Public macros
Macro, with-default-audio-stream: Public macros
make-errors: Private macros
make-stream-parameters: Public ordinary functions
merge-channels-into-array: Public ordinary functions
Method, (setf pa-stream-handle): Private generic functions
Method, (setf stream-parameters-channel-count): Public generic functions
Method, (setf stream-parameters-device): Public generic functions
Method, (setf stream-parameters-sample-format): Public generic functions
Method, (setf stream-parameters-suggested-latency): Public generic functions
Method, device-info-default-high-input-latency: Public generic functions
Method, device-info-default-high-output-latency: Public generic functions
Method, device-info-default-low-input-latency: Public generic functions
Method, device-info-default-low-output-latency: Public generic functions
Method, device-info-default-sample-rate: Public generic functions
Method, device-info-host-api: Public generic functions
Method, device-info-max-input-channels: Public generic functions
Method, device-info-max-output-channels: Public generic functions
Method, device-info-name: Public generic functions
Method, device-info-struct-version: Private generic functions
Method, free-translated-object: Public standalone methods
Method, host-api-info-default-input-device: Public generic functions
Method, host-api-info-default-output-device: Public generic functions
Method, host-api-info-device-count: Public generic functions
Method, host-api-info-name: Public generic functions
Method, host-api-info-struct-version: Private generic functions
Method, host-api-info-type: Public generic functions
Method, host-error-info-error-code: Public generic functions
Method, host-error-info-error-text: Public generic functions
Method, host-error-info-host-api-type: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, pa-stream-frames-per-buffer: Public generic functions
Method, pa-stream-handle: Private generic functions
Method, pa-stream-input-channels: Public generic functions
Method, pa-stream-input-sample-format: Public generic functions
Method, pa-stream-output-channels: Public generic functions
Method, pa-stream-output-sample-format: Public generic functions
Method, stream-info-input-latency: Public generic functions
Method, stream-info-output-latency: Public generic functions
Method, stream-info-sample-rate: Public generic functions
Method, stream-info-struct-version: Private generic functions
Method, stream-parameters-channel-count: Public generic functions
Method, stream-parameters-device: Public generic functions
Method, stream-parameters-sample-format: Public generic functions
Method, stream-parameters-suggested-latency: Public generic functions
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-to-foreign: Public standalone methods
Method, translate-to-foreign: Public standalone methods

O
open-default-stream: Public ordinary functions
open-stream: Public ordinary functions

P
pa-sleep: Public ordinary functions
pa-stream-frames-per-buffer: Public generic functions
pa-stream-frames-per-buffer: Public generic functions
pa-stream-handle: Private generic functions
pa-stream-handle: Private generic functions
pa-stream-input-channels: Public generic functions
pa-stream-input-channels: Public generic functions
pa-stream-input-sample-format: Public generic functions
pa-stream-input-sample-format: Public generic functions
pa-stream-output-channels: Public generic functions
pa-stream-output-channels: Public generic functions
pa-stream-output-sample-format: Public generic functions
pa-stream-output-sample-format: Public generic functions
print-devices: Public ordinary functions
print-supported-standard-sample-rates: Private ordinary functions

R
raise-if-error: Private ordinary functions
read-stream: Public ordinary functions
read-stream-into-array: Public ordinary functions

S
separate-array-to-channels: Public ordinary functions
start-stream: Public ordinary functions
stop-stream: Private ordinary functions
stream-info-input-latency: Public generic functions
stream-info-input-latency: Public generic functions
stream-info-output-latency: Public generic functions
stream-info-output-latency: Public generic functions
stream-info-sample-rate: Public generic functions
stream-info-sample-rate: Public generic functions
stream-info-struct-version: Private generic functions
stream-info-struct-version: Private generic functions
stream-parameters-channel-count: Public generic functions
stream-parameters-channel-count: Public generic functions
stream-parameters-device: Public generic functions
stream-parameters-device: Public generic functions
stream-parameters-sample-format: Public generic functions
stream-parameters-sample-format: Public generic functions
stream-parameters-suggested-latency: Public generic functions
stream-parameters-suggested-latency: Public generic functions

T
terminate: Public ordinary functions
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-to-foreign: Public standalone methods
translate-to-foreign: Public standalone methods

W
with-audio: Public macros
with-audio-stream: Public macros
with-default-audio-stream: Public macros
write-stream: Public ordinary functions

Jump to:   %   (  
A   C   D   F   G   H   I   M   O   P   R   S   T   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   +  
C   D   E   F   H   I   M   N   O   P   S   T  
Index Entry  Section

+
+format-is-supported+: Private constants
+frames-per-buffer-unspecified+: Private constants
+no-device+: Private constants
+use-host-api-specific-device-specification: Private constants

C
channel-count: Public classes
Constant, +format-is-supported+: Private constants
Constant, +frames-per-buffer-unspecified+: Private constants
Constant, +no-device+: Private constants
Constant, +use-host-api-specific-device-specification: Private constants

D
default-high-input-latency: Public classes
default-high-output-latency: Public classes
default-input-device: Public classes
default-low-input-latency: Public classes
default-low-output-latency: Public classes
default-output-device: Public classes
default-sample-rate: Public classes
device: Public classes
device-count: Public classes

E
error-code: Public classes
error-text: Public classes

F
frames-per-buffer: Public classes

H
handle: Public classes
host-api: Public classes
host-api-type: Public classes

I
input-channels: Public classes
input-latency: Public classes
input-sample-format: Public classes

M
max-input-channels: Public classes
max-output-channels: Public classes

N
name: Public classes
name: Public classes

O
output-channels: Public classes
output-latency: Public classes
output-sample-format: Public classes

P
p: Public classes

S
sample-format: Public classes
sample-rate: Public classes
Slot, channel-count: Public classes
Slot, default-high-input-latency: Public classes
Slot, default-high-output-latency: Public classes
Slot, default-input-device: Public classes
Slot, default-low-input-latency: Public classes
Slot, default-low-output-latency: Public classes
Slot, default-output-device: Public classes
Slot, default-sample-rate: Public classes
Slot, device: Public classes
Slot, device-count: Public classes
Slot, error-code: Public classes
Slot, error-text: Public classes
Slot, frames-per-buffer: Public classes
Slot, handle: Public classes
Slot, host-api: Public classes
Slot, host-api-type: Public classes
Slot, input-channels: Public classes
Slot, input-latency: Public classes
Slot, input-sample-format: Public classes
Slot, max-input-channels: Public classes
Slot, max-output-channels: Public classes
Slot, name: Public classes
Slot, name: Public classes
Slot, output-channels: Public classes
Slot, output-latency: Public classes
Slot, output-sample-format: Public classes
Slot, p: Public classes
Slot, sample-format: Public classes
Slot, sample-rate: Public classes
Slot, struct-version: Public classes
Slot, struct-version: Public classes
Slot, struct-version: Public classes
Slot, suggested-latency: Public classes
Slot, type: Public classes
struct-version: Public classes
struct-version: Public classes
struct-version: Public classes
suggested-latency: Public classes

T
type: Public classes

Jump to:   +  
C   D   E   F   H   I   M   N   O   P   S   T  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   D   F   H   M   P   S  
Index Entry  Section

C
cl-portaudio: The cl-portaudio system
cl-portaudio.asd: The cl-portaudio/cl-portaudio․asd file
Class, device-info: Public classes
Class, device-info-tclass: Private classes
Class, host-api-info: Public classes
Class, host-api-info-tclass: Private classes
Class, host-error-info: Public classes
Class, host-error-info-tclass: Private classes
Class, p-device-info: Private classes
Class, p-host-api-info: Private classes
Class, p-host-error-info: Private classes
Class, p-pa-stream: Private classes
Class, p-stream-info: Private classes
Class, p-stream-parameters: Private classes
Class, pa-stream: Public classes
Class, stream-info: Public classes
Class, stream-info-tclass: Private classes
Class, stream-parameters: Public classes
Class, stream-parameters-tclass: Private classes

D
device-info: Public classes
device-info-tclass: Private classes

F
File, cl-portaudio.asd: The cl-portaudio/cl-portaudio․asd file
File, package.lisp: The cl-portaudio/src/package․lisp file
File, portaudio.lisp: The cl-portaudio/src/portaudio․lisp file

H
host-api-info: Public classes
host-api-info-tclass: Private classes
host-error-info: Public classes
host-error-info-tclass: Private classes

M
Module, src: The cl-portaudio/src module

P
p-device-info: Private classes
p-host-api-info: Private classes
p-host-error-info: Private classes
p-pa-stream: Private classes
p-stream-info: Private classes
p-stream-parameters: Private classes
pa-stream: Public classes
Package, portaudio: The portaudio package
package.lisp: The cl-portaudio/src/package․lisp file
portaudio: The portaudio package
portaudio.lisp: The cl-portaudio/src/portaudio․lisp file

S
src: The cl-portaudio/src module
stream-info: Public classes
stream-info-tclass: Private classes
stream-parameters: Public classes
stream-parameters-tclass: Private classes
System, cl-portaudio: The cl-portaudio system

Jump to:   C   D   F   H   M   P   S