desubmodulize portaudio - PLEASE READ
this is necessary in order to get Furnace to build using CMake 4.0. you should do: git submodule deinit extern/portaudio
This commit is contained in:
parent
c58a7cba20
commit
165b814f5d
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -12,6 +12,3 @@
|
|||
[submodule "extern/adpcm"]
|
||||
path = extern/adpcm
|
||||
url = https://github.com/superctr/adpcm
|
||||
[submodule "extern/portaudio"]
|
||||
path = extern/portaudio
|
||||
url = https://github.com/PortAudio/portaudio.git
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.0)
|
||||
cmake_minimum_required(VERSION 3.0...3.16)
|
||||
|
||||
if (APPLE)
|
||||
set(MACOSX_DEPLOYMENT_TARGET 10.9)
|
||||
|
@ -310,7 +310,7 @@ if (WITH_PORTAUDIO)
|
|||
set(PA_BUILD_SHARED_LIBS OFF CACHE BOOL "Build dynamic library" FORCE)
|
||||
# don't - Furnace has its own implementation
|
||||
set(PA_USE_JACK OFF CACHE BOOL "Enable support for JACK Audio Connection Kit" FORCE)
|
||||
add_subdirectory(extern/portaudio EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(extern/portaudio-modified EXCLUDE_FROM_ALL)
|
||||
list(APPEND DEPENDENCIES_LIBRARIES PortAudio)
|
||||
message(STATUS "Using vendored PortAudio")
|
||||
endif()
|
||||
|
|
1
extern/portaudio
vendored
1
extern/portaudio
vendored
|
@ -1 +0,0 @@
|
|||
Subproject commit 6ee9836a08d201c118b4715d4d70242816584000
|
13
extern/portaudio-modified/.editorconfig
vendored
Normal file
13
extern/portaudio-modified/.editorconfig
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
# EditorConfig info: https://editorconfig.org/
|
||||
root = true
|
||||
|
||||
[Makefile*]
|
||||
indent_style = tab
|
||||
|
||||
[*.{c,cpp,h,cxx,hxx}]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
max_line_length = 120
|
43
extern/portaudio-modified/.gitattributes
vendored
Normal file
43
extern/portaudio-modified/.gitattributes
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
|
||||
# Explicitly declare text files you want to always be normalized and converted
|
||||
# to native line endings on checkout.
|
||||
*.c text
|
||||
*.h text
|
||||
*.cpp text
|
||||
*.hpp text
|
||||
*.fth text
|
||||
*.java text
|
||||
*.f text
|
||||
*.txt text
|
||||
*.dox text
|
||||
*.m text
|
||||
|
||||
# Declare files that will always have CRLF line endings on checkout.
|
||||
*.sln text eol=crlf
|
||||
*.def text eol=crlf
|
||||
*.dsp text eol=crlf
|
||||
*.dsw text eol=crlf
|
||||
*.vcproj text eol=crlf
|
||||
*.sln text eol=crlf
|
||||
*.doc text eol=crlf
|
||||
*.bat text eol=crlf
|
||||
|
||||
# Denote all files that are truly binary and should not be modified.
|
||||
*.dic binary
|
||||
*.odt binary
|
||||
*.pdf binary
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.wav binary
|
||||
*.la binary
|
||||
config.guess binary
|
||||
config.status binary
|
||||
config.sub binary
|
||||
configure binary
|
||||
depcomp binary
|
||||
install-sh binary
|
||||
libtool binary
|
||||
missing binary
|
||||
|
36
extern/portaudio-modified/.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
36
extern/portaudio-modified/.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
(Please use the mailing list for support requests and general discussion. This is only for actual bugs.)
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior. Include code if applicable.
|
||||
1.
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Actual behavior**
|
||||
What actually happened.
|
||||
Include a recording if helpful.
|
||||
Error messages or logs longer than a page should be attached as a .txt file.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. Mac OS]
|
||||
- OS Version [e.g. 22]
|
||||
- PortAudio version: stable, nightly snapshot (which?), current (please give date and/or Git hash):
|
||||
- If Windows or Linux, which Host API (e.g. WASAPI):
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
||||
Note: PortAudio is a community supported project. If you have a solution, please create a Pull Request for us to consider.
|
5
extern/portaudio-modified/.github/asiosdk-version.txt
vendored
Normal file
5
extern/portaudio-modified/.github/asiosdk-version.txt
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
GitHub Actions uses the hash of this file as the cache key for the ASIO SDK.
|
||||
Update this file when a new version of the ASIO SDK is released to trigger
|
||||
a new download on GitHub Actions instead of using the old cache.
|
||||
|
||||
asiosdk_2.3.3_2019-06-14.zip
|
96
extern/portaudio-modified/.github/workflows/MSBuild.yml
vendored
Normal file
96
extern/portaudio-modified/.github/workflows/MSBuild.yml
vendored
Normal file
|
@ -0,0 +1,96 @@
|
|||
name: MSBuild MSVC Project File CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
# Path to the solution file relative to the root of the project.
|
||||
SOLUTION_FILE_PATH: ./msvc/portaudio.sln
|
||||
VCPROJ_FILE_PATH: ./msvc/portaudio.vcproj
|
||||
VCXPROJ_FILE_PATH: ./msvc/portaudio.vcxproj
|
||||
VCXPROJ_FILTERS_FILE_PATH: ./msvc/portaudio.vcxproj.filters
|
||||
VCXPROJ_USER_FILE_PATH: ./msvc/portaudio.vcxproj.user
|
||||
DEF_FILE_PATH: ./msvc/portaudio.def
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
strategy:
|
||||
matrix:
|
||||
BUILD_CONFIGURATION: [Release]
|
||||
BUILD_PLATFORM: [Win32, x64]
|
||||
|
||||
steps:
|
||||
- name: Add MSBuild to PATH
|
||||
uses: microsoft/setup-msbuild@v1
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Upgrade VC Project File
|
||||
# We maintain our vcproj file in an old format to maintain backwards compatibility
|
||||
# This step upgrades the project to the latest version of MSVC
|
||||
# see https://docs.microsoft.com/en-us/visualstudio/ide/reference/upgrade-devenv-exe?view=vs-2019
|
||||
# pipe to file to ensure that it terminates https://stackoverflow.com/questions/48896010/occasionally-occurring-msbuild-error-msb3428/48918105#48918105
|
||||
# discussion of using vswhere.exe here: https://stackoverflow.com/questions/65287456/how-to-upgrade-a-visual-studio-project-from-within-a-github-action/65311868#65311868
|
||||
run: |
|
||||
$devenv = & vswhere.exe '-property' productPath
|
||||
Write-Output "$devenv"
|
||||
& $devenv "${{env.VCPROJ_FILE_PATH}}" /Upgrade /NoSplash | Out-Null
|
||||
Write-Output "devenv launched"
|
||||
while (!(Test-Path "${{env.VCXPROJ_FILE_PATH}}")) { Start-Sleep -Seconds 10 }
|
||||
Write-Output "vcxproj found"
|
||||
while (!(Test-Path "${{env.VCXPROJ_FILTERS_FILE_PATH}}")) { Start-Sleep -Seconds 10 }
|
||||
Write-Output "vcxproj.filters found"
|
||||
Start-Sleep -Seconds 10
|
||||
Write-Output "done."
|
||||
|
||||
- name: Remove ASIO Files and Enable PA_USE_DS=1
|
||||
# Process the project files to remove ASIO-related sources and includes (since we can not access the ASIO SDK in a public build)
|
||||
run: |
|
||||
# Process .vcxproj file: remove source files
|
||||
$xdoc = new-object System.Xml.XmlDocument
|
||||
$vcxprojFile = resolve-path("${{env.VCXPROJ_FILE_PATH}}")
|
||||
$xdoc.load($vcxprojFile)
|
||||
$namespace = New-Object -TypeName "Xml.XmlNamespaceManager" -ArgumentList $xdoc.NameTable
|
||||
$namespace.AddNamespace("vs", $xdoc.DocumentElement.NamespaceURI)
|
||||
$nodes = $xdoc.SelectNodes("//vs:ClCompile[contains(@Include, '..\src\hostapi\asio')]", $namespace)
|
||||
Write-Output "deleting ASIO related compilation nodes from .vcxproj:"
|
||||
Write-Output $nodes
|
||||
ForEach($node in $nodes) {
|
||||
$parent = $node.ParentNode
|
||||
$parent.RemoveChild($node)
|
||||
}
|
||||
# Enable DirectSound host API
|
||||
$nodes = $xdoc.SelectNodes("//vs:PreprocessorDefinitions[contains(., 'PA_USE_DS=0')]", $namespace)
|
||||
ForEach($node in $nodes) {
|
||||
$text = $node.InnerText
|
||||
$node.InnerText = $text -replace 'PA_USE_DS=0', 'PA_USE_DS=1'
|
||||
}
|
||||
$xdoc.save($vcxprojFile)
|
||||
# Process .vcxproj.filters file: remove source files and includes
|
||||
$vcxprojFiltersFile = resolve-path("${{env.VCXPROJ_FILTERS_FILE_PATH}}")
|
||||
$xdoc.load($vcxprojFiltersFile)
|
||||
$namespace = New-Object -TypeName "Xml.XmlNamespaceManager" -ArgumentList $xdoc.NameTable
|
||||
$namespace.AddNamespace("vs", $xdoc.DocumentElement.NamespaceURI)
|
||||
$nodes = $xdoc.SelectNodes("//vs:ClCompile[contains(@Include, '..\src\hostapi\asio')]", $namespace)
|
||||
Write-Output "deleting ASIO related compilation nodes from .vcxproj.filters:"
|
||||
Write-Output $nodes
|
||||
ForEach($node in $nodes) {
|
||||
$parent = $node.ParentNode
|
||||
$parent.RemoveChild($node)
|
||||
}
|
||||
$nodes = $xdoc.SelectNodes("//vs:ClInclude[contains(@Include, 'pa_asio.h')]", $namespace)
|
||||
Write-Output "deleting ASIO related include nodes from .vcxproj.filters:"
|
||||
Write-Output $nodes
|
||||
ForEach($node in $nodes) {
|
||||
$parent = $node.ParentNode
|
||||
$parent.RemoveChild($node)
|
||||
}
|
||||
$xdoc.save($vcxprojFiltersFile)
|
||||
# Process .def file: remove PaAsio_ symbols
|
||||
Set-Content -Path "${{env.DEF_FILE_PATH}}" -Value (Get-Content -Path "${{env.DEF_FILE_PATH}}" | Select-String -Pattern 'PaAsio_' -NotMatch)
|
||||
|
||||
- name: Build
|
||||
working-directory: ${{env.GITHUB_WORKSPACE}}
|
||||
# Add additional options to the MSBuild command line here (like platform or verbosity level).
|
||||
# See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
|
||||
run: msbuild /m /p:Configuration=${{matrix.BUILD_CONFIGURATION}} /p:Platform=${{matrix.BUILD_PLATFORM}} ${{env.VCXPROJ_FILE_PATH}}
|
20
extern/portaudio-modified/.github/workflows/autotools.yml
vendored
Normal file
20
extern/portaudio-modified/.github/workflows/autotools.yml
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
name: autotools build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build-autotools:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
name: Ubuntu
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: configure
|
||||
run: ./configure
|
||||
- name: make
|
||||
run: make
|
128
extern/portaudio-modified/.github/workflows/cmake.yml
vendored
Normal file
128
extern/portaudio-modified/.github/workflows/cmake.yml
vendored
Normal file
|
@ -0,0 +1,128 @@
|
|||
name: CMake build
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- name: Ubuntu GCC
|
||||
os: ubuntu-latest
|
||||
install_dir: ~/portaudio
|
||||
vcpkg_triplet: x64-linux
|
||||
cmake_generator: "Unix Makefiles"
|
||||
cmake_options:
|
||||
-DPA_USE_OSS=ON
|
||||
-DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
|
||||
- name: Ubuntu MinGW
|
||||
os: ubuntu-latest
|
||||
install_dir: ~/portaudio
|
||||
asio_sdk_cache_path: asiosdk.zip
|
||||
dependencies_extras: mingw-w64
|
||||
# FIXME: linking JACK fails with vcpkg. Switch the CMake toolchain file to use vcpkg. The
|
||||
# toolchain file in this repository is not needed when using a MinGW triplet with vcpkg.
|
||||
vcpkg_triplet: x64-mingw-static
|
||||
cmake_generator: "Unix Makefiles"
|
||||
cmake_options:
|
||||
-DPA_USE_ASIO=ON
|
||||
-DASIO_SDK_ZIP_PATH=asiosdk.zip
|
||||
-DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/i686-w64-mingw32.cmake
|
||||
- name: Windows MSVC
|
||||
os: windows-latest
|
||||
install_dir: C:\portaudio
|
||||
vcpkg_triplet: x64-windows
|
||||
cmake_generator: "Visual Studio 17 2022"
|
||||
# ASIO_SDK_ZIP_PATH needs to be quoted or CMake will save the download to
|
||||
# asiosdk instead of asiosdk.zip.
|
||||
asio_sdk_cache_path: "asiosdk.zip"
|
||||
# Somehow CMake fails to find the toolchain file if a relative path is used on Windows.
|
||||
cmake_options:
|
||||
-DPA_USE_ASIO=ON
|
||||
-DASIO_SDK_ZIP_PATH="asiosdk.zip"
|
||||
-DCMAKE_TOOLCHAIN_FILE=D:\a\portaudio\portaudio\vcpkg\scripts\buildsystems\vcpkg.cmake
|
||||
- name: Windows MinGW
|
||||
os: windows-latest
|
||||
install_dir: C:\portaudio
|
||||
vcpkg_triplet: x64-mingw-static
|
||||
cmake_generator: "MinGW Makefiles"
|
||||
# ASIO_SDK_ZIP_PATH needs to be quoted or CMake will save the download to
|
||||
# asiosdk instead of asiosdk.zip.
|
||||
asio_sdk_cache_path: "asiosdk.zip"
|
||||
# Somehow CMake fails to find the toolchain file if a relative path is used on Windows.
|
||||
cmake_options:
|
||||
-DPA_USE_ASIO=ON
|
||||
-DASIO_SDK_ZIP_PATH="asiosdk.zip"
|
||||
-DCMAKE_TOOLCHAIN_FILE=D:\a\portaudio\portaudio\vcpkg\scripts\buildsystems\vcpkg.cmake
|
||||
- name: macOS Clang
|
||||
os: macOS-latest
|
||||
install_dir: ~/portaudio
|
||||
vcpkg_triplet: x64-osx
|
||||
cmake_generator: "Unix Makefiles"
|
||||
cmake_options:
|
||||
-DCMAKE_FRAMEWORK=OFF
|
||||
-DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
|
||||
- name: macOS Clang framework
|
||||
os: macOS-latest
|
||||
install_dir: ~/portaudio
|
||||
vcpkg_triplet: x64-osx
|
||||
cmake_generator: "Unix Makefiles"
|
||||
cmake_options:
|
||||
-DCMAKE_FRAMEWORK=ON
|
||||
-DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
name: ${{ matrix.name }}
|
||||
env:
|
||||
cmake_build_type: RelWithDebInfo
|
||||
steps:
|
||||
- name: checkout Git repository
|
||||
uses: actions/checkout@v2
|
||||
- name: "[Ubuntu] install dependencies"
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install libasound2-dev ${{ matrix.dependencies_extras }}
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
- name: "[macOS] install dependencies"
|
||||
# https://github.com/PortAudio/portaudio/issues/767
|
||||
run: brew install pkg-config
|
||||
if: matrix.os == 'macOS-latest'
|
||||
- name: "[Windows/MinGW] set up ASIO SDK cache"
|
||||
uses: actions/cache@v2
|
||||
if: matrix.asio_sdk_cache_path != null
|
||||
with:
|
||||
path: ${{ matrix.asio_sdk_cache_path }}
|
||||
key: ${{ hashFiles('.github/asiosdk-version.txt') }}
|
||||
- name: Setup vcpkg
|
||||
uses: lukka/run-vcpkg@v7
|
||||
if: ${{ matrix.vcpkg_triplet }} != null
|
||||
with:
|
||||
vcpkgTriplet: ${{ matrix.vcpkg_triplet }}
|
||||
appendedCacheKey: ${{ hashFiles( '**/vcpkg.json' ) }}
|
||||
additionalCachedPaths: build/vcpkg_installed
|
||||
vcpkgGitCommitId: f30786c9c4c901f21a13e2d524349e39cc359a90
|
||||
# Required when using vcpkg.json manifest in repository
|
||||
setupOnly: true
|
||||
- name: configure
|
||||
run: cmake
|
||||
-G "${{ matrix.cmake_generator }}"
|
||||
${{ matrix.cmake_options }}
|
||||
-DCMAKE_INSTALL_PREFIX=${{ matrix.install_dir }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.cmake_build_type }}
|
||||
-DVCPKG_TARGET_TRIPLET=${{ matrix.vcpkg_triplet }}
|
||||
-DPA_USE_SKELETON=ON
|
||||
-DPA_BUILD_TESTS=ON
|
||||
-DPA_BUILD_EXAMPLES=ON
|
||||
-DPA_WARNINGS_ARE_ERRORS=ON
|
||||
-S .
|
||||
-B build
|
||||
- name: build
|
||||
run: cmake --build build --config ${{ env.cmake_build_type }} --parallel 2
|
||||
- name: install
|
||||
run: cmake --install build --config ${{ env.cmake_build_type }}
|
||||
- name: "Upload GitHub Actions artifacts"
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ matrix.name }} PortAudio build
|
||||
path: ${{ matrix.install_dir }}
|
17
extern/portaudio-modified/.github/workflows/compare_def_files.yml
vendored
Normal file
17
extern/portaudio-modified/.github/workflows/compare_def_files.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
name: Check that PortAudio .def files are in sync
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
run-pa-compare-def-files-py:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
name: Ubuntu
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Run the pa_compare_def_files.py script
|
||||
run: python ./pa_compare_def_files.py
|
17
extern/portaudio-modified/.github/workflows/whitelint.yml
vendored
Normal file
17
extern/portaudio-modified/.github/workflows/whitelint.yml
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
name: Check for valid whitespace usage in PortAudio source files
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
run-pa-whitelint-dot-py:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
name: Ubuntu
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Run the pa_whitelint.py script
|
||||
run: python ./pa_whitelint.py
|
58
extern/portaudio-modified/.gitignore
vendored
Normal file
58
extern/portaudio-modified/.gitignore
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
# Compiled Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
*.obj
|
||||
|
||||
# annoying files
|
||||
**/.DS_Store
|
||||
|
||||
# Generated by configure and make
|
||||
Makefile
|
||||
bin-stamp
|
||||
bin/*
|
||||
config.log
|
||||
config.status
|
||||
lib-stamp
|
||||
lib/*
|
||||
libtool
|
||||
portaudio-2.0.pc
|
||||
autom4te.cache/*
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Compiled Dynamic libraries
|
||||
*.so
|
||||
*.dylib
|
||||
*.dll
|
||||
|
||||
# Fortran module files
|
||||
*.mod
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
*.lib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
|
||||
# Visual Studio 2017/2019 state folder
|
||||
.vs/
|
||||
|
||||
# Visual Studio CMake build output folder
|
||||
out/
|
||||
|
||||
# Visual Studio CMake settings file
|
||||
CMakeSettings.json
|
||||
|
||||
# VSCode
|
||||
.vscode*
|
||||
|
||||
# Common build directories of users and VSCode
|
||||
build*
|
467
extern/portaudio-modified/CMakeLists.txt
vendored
Normal file
467
extern/portaudio-modified/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,467 @@
|
|||
# ALL of that just to change one line.
|
||||
cmake_minimum_required(VERSION 3.1...3.20)
|
||||
project(PortAudio VERSION 19.8)
|
||||
|
||||
#
|
||||
# General PortAudio stuff
|
||||
#
|
||||
|
||||
option(PA_BUILD_SHARED_LIBS "Build dynamic library" ${BUILD_SHARED_LIBS})
|
||||
option(PA_BUILD_TESTS "Include test projects" OFF)
|
||||
option(PA_BUILD_EXAMPLES "Include example projects" OFF)
|
||||
|
||||
if(PA_BUILD_SHARED_LIBS)
|
||||
set(LIBRARY_BUILD_TYPE SHARED)
|
||||
else()
|
||||
set(LIBRARY_BUILD_TYPE STATIC)
|
||||
endif()
|
||||
|
||||
option(PA_WARNINGS_ARE_ERRORS "Turn compiler warnings into errors" OFF)
|
||||
if(PA_WARNINGS_ARE_ERRORS)
|
||||
if(MSVC)
|
||||
add_compile_options(/WX
|
||||
# "Grandfathered" warnings that existed before we started enforcement.
|
||||
# Do *NOT* add warnings to this list. Instead, fix your code so that it doesn't produce the warning.
|
||||
# TODO: fix the offending code so that we don't have to exclude specific warnings anymore.
|
||||
/wd4244 # W2 conversion possible loss of data
|
||||
/wd4267 # W3 conversion possible loss of data
|
||||
/wd4996 # W3 unsafe/deprecated
|
||||
)
|
||||
else()
|
||||
add_compile_options(-Werror
|
||||
# "Grandfathered" warnings that existed before we started enforcement.
|
||||
# Do *NOT* add warnings to this list. Instead, fix your code so that it doesn't produce the warning.
|
||||
# TODO: fix the offending code so that we don't have to exclude specific warnings anymore.
|
||||
-Wno-error=deprecated-declarations # https://github.com/PortAudio/portaudio/issues/213 https://github.com/PortAudio/portaudio/issues/641
|
||||
-Wno-error=stringop-overflow
|
||||
)
|
||||
if (CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||
# Don't fail on older clang versions that don't recognize the latest warnings in the list above.
|
||||
# Note that unrecognized warning options are not a fatal error on GCC, and in fact, GCC will choke on this option. Hence the conditional.
|
||||
add_compile_options(-Wno-error=unknown-warning-option)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(PortAudio
|
||||
${LIBRARY_BUILD_TYPE}
|
||||
src/common/pa_allocation.c
|
||||
src/common/pa_allocation.h
|
||||
src/common/pa_converters.c
|
||||
src/common/pa_converters.h
|
||||
src/common/pa_cpuload.c
|
||||
src/common/pa_cpuload.h
|
||||
src/common/pa_debugprint.c
|
||||
src/common/pa_debugprint.h
|
||||
src/common/pa_dither.c
|
||||
src/common/pa_dither.h
|
||||
src/common/pa_endianness.h
|
||||
src/common/pa_front.c
|
||||
src/common/pa_hostapi.h
|
||||
src/common/pa_memorybarrier.h
|
||||
src/common/pa_process.c
|
||||
src/common/pa_process.h
|
||||
src/common/pa_ringbuffer.c
|
||||
src/common/pa_ringbuffer.h
|
||||
src/common/pa_stream.c
|
||||
src/common/pa_stream.h
|
||||
src/common/pa_trace.c
|
||||
src/common/pa_trace.h
|
||||
src/common/pa_types.h
|
||||
src/common/pa_util.h
|
||||
)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
target_include_directories(PortAudio PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/common>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||
)
|
||||
if(UNIX)
|
||||
target_compile_options(PortAudio PRIVATE -fPIC)
|
||||
endif()
|
||||
|
||||
set(PORTAUDIO_PUBLIC_HEADERS include/portaudio.h)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(PortAudio PRIVATE Threads::Threads)
|
||||
|
||||
option(PA_ENABLE_DEBUG_OUTPUT "Enable debug output for Portaudio" OFF)
|
||||
if(PA_ENABLE_DEBUG_OUTPUT)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_ENABLE_DEBUG_OUTPUT)
|
||||
endif()
|
||||
|
||||
include(TestBigEndian)
|
||||
TEST_BIG_ENDIAN(IS_BIG_ENDIAN)
|
||||
if(IS_BIG_ENDIAN)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_BIG_ENDIAN)
|
||||
else()
|
||||
target_compile_definitions(PortAudio PRIVATE PA_LITTLE_ENDIAN)
|
||||
endif()
|
||||
|
||||
if(WIN32 AND MSVC AND PA_BUILD_SHARED_LIBS
|
||||
# Check if the user is building PortAudio stand-alone or as part of a larger
|
||||
# project. If this is part of a larger project (i.e. the CMakeLists.txt has
|
||||
# been imported by some other CMakeLists.txt), we don't want to override
|
||||
# that project's global settings.
|
||||
AND "${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_LIST_DIR}")
|
||||
option(PA_DLL_LINK_WITH_STATIC_RUNTIME
|
||||
"Link with static runtime libraries (minimizes runtime dependencies)" ON)
|
||||
if(PA_DLL_LINK_WITH_STATIC_RUNTIME)
|
||||
foreach(flag_var
|
||||
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||
if(${flag_var} MATCHES "/MD")
|
||||
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#
|
||||
# Host APIs
|
||||
#
|
||||
|
||||
option(PA_USE_SKELETON "Use skeleton host API" OFF)
|
||||
if(PA_USE_SKELETON)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/skeleton/pa_hostapi_skeleton.c)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_SKELETON=1)
|
||||
endif()
|
||||
|
||||
include(CMakeDependentOption)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
|
||||
|
||||
# JACK is most commonly used on Linux, but it is cross platform, so allow building it on any OS
|
||||
# if the FindJACK.cmake module finds POSIX headers.
|
||||
find_package(JACK)
|
||||
cmake_dependent_option(PA_USE_JACK "Enable support for JACK Audio Connection Kit" ON JACK_FOUND OFF)
|
||||
if(PA_USE_JACK)
|
||||
target_link_libraries(PortAudio PRIVATE JACK::jack)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/jack/pa_jack.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_jack.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_JACK=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_JACK=1")
|
||||
set(PKGCONFIG_REQUIRES_PRIVATE "${PKGCONFIG_REQUIRES_PRIVATE} jack")
|
||||
|
||||
# needed for PortAudioConfig.cmake so `find_package(PortAudio)` works in downstream projects
|
||||
install(FILES cmake/modules/FindRegex.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio/modules")
|
||||
install(FILES cmake/modules/FindJACK.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio/modules")
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/os/win/pa_win_coinitialize.c
|
||||
src/os/win/pa_win_coinitialize.h
|
||||
src/os/win/pa_win_hostapis.c
|
||||
src/os/win/pa_win_util.c
|
||||
src/os/win/pa_win_util.h
|
||||
src/os/win/pa_win_version.c
|
||||
src/os/win/pa_win_version.h
|
||||
src/os/win/pa_win_waveformat.c
|
||||
src/os/win/pa_win_wdmks_utils.h
|
||||
src/os/win/pa_x86_plain_converters.h
|
||||
)
|
||||
target_include_directories(PortAudio PRIVATE src/os/win)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_waveformat.h)
|
||||
target_link_libraries(PortAudio PRIVATE winmm)
|
||||
|
||||
if(MSVC)
|
||||
target_sources(PortAudio PRIVATE src/os/win/pa_x86_plain_converters.c)
|
||||
else()
|
||||
target_compile_definitions(PortAudio PRIVATE _WIN32_WINNT=0x0501 WINVER=0x0501)
|
||||
set(DEF_EXCLUDE_X86_PLAIN_CONVERTERS ";")
|
||||
endif()
|
||||
|
||||
target_compile_definitions(PortAudio PRIVATE _CRT_SECURE_NO_WARNINGS)
|
||||
|
||||
option(PA_USE_ASIO "Enable support for ASIO" OFF)
|
||||
if(PA_USE_ASIO)
|
||||
find_package(ASIO)
|
||||
# Automatically download the ASIO SDK ZIP if it is not found. The ASIO SDK license
|
||||
# allows for downloading it from Steinberg and using it without charge, but it is
|
||||
# not allowed to be redistributed.
|
||||
#
|
||||
# The file(ARCHIVE_EXTRACT) command needed to extract the ZIP archive was added in
|
||||
# CMake 3.18, so do not bother downloading the ZIP archive for older CMake versions.
|
||||
# Instead, FindASIO.cmake directs the user to manually extract the ZIP file to
|
||||
# CMAKE_PREFIX_PATH or CMAKE_CURRENT_BINARY_DIR.
|
||||
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.18 AND NOT TARGET ASIO::host)
|
||||
if(NOT ASIO_SDK_ZIP_PATH)
|
||||
set(ASIO_SDK_ZIP_PATH "${CMAKE_CURRENT_BINARY_DIR}/asiosdk.zip")
|
||||
endif()
|
||||
message(STATUS "Downloading ASIO SDK... ${ASIO_SDK_ZIP_PATH}")
|
||||
file(DOWNLOAD "https://www.steinberg.net/asiosdk"
|
||||
"${ASIO_SDK_ZIP_PATH}"
|
||||
STATUS ASIO_DOWNLOAD_STATUS
|
||||
SHOW_PROGRESS
|
||||
)
|
||||
if("${ASIO_DOWNLOAD_STATUS}" EQUAL 0)
|
||||
find_package(ASIO)
|
||||
else()
|
||||
list(GET "${ASIO_DOWNLOAD_STATUS}" 1 DOWNLOAD_ERROR)
|
||||
message(FATAL_ERROR "Error downloading ASIO SDK: ${DOWNLOAD_ERROR} "
|
||||
"Reconfigure CMake with -DPA_USE_ASIO=OFF to build without ASIO. "
|
||||
"Alternatively, download the ZIP from https://www.steinberg.net/asiosdk "
|
||||
"and put it in ${CMAKE_PREFIX_PATH} or ${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
if(PA_USE_ASIO AND TARGET ASIO::host)
|
||||
target_link_libraries(PortAudio PRIVATE "$<BUILD_INTERFACE:ASIO::host>")
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_asio.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_ASIO=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_ASIO=1")
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/hostapi/asio/pa_asio.cpp
|
||||
src/hostapi/asio/iasiothiscallresolver.cpp
|
||||
src/hostapi/asio/iasiothiscallresolver.h
|
||||
)
|
||||
else()
|
||||
set(DEF_EXCLUDE_ASIO_SYMBOLS ";")
|
||||
endif()
|
||||
|
||||
option(PA_USE_DS "Enable support for DirectSound" ON)
|
||||
if(PA_USE_DS)
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/hostapi/dsound/pa_win_ds.c
|
||||
src/hostapi/dsound/pa_win_ds_dynlink.c
|
||||
src/hostapi/dsound/pa_win_ds_dynlink.h
|
||||
)
|
||||
target_include_directories(PortAudio PRIVATE src/hostapi/dsound)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_ds.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_DS=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_DS=1")
|
||||
target_link_libraries(PortAudio PRIVATE dsound)
|
||||
if(NOT MINGW)
|
||||
target_compile_definitions(PortAudio PRIVATE PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option(PA_USE_WMME "Enable support for WMME" ON)
|
||||
if(PA_USE_WMME)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/wmme/pa_win_wmme.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_wmme.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_WMME=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_WMME=1")
|
||||
target_link_libraries(PortAudio PRIVATE ole32 uuid)
|
||||
else()
|
||||
set(DEF_EXCLUDE_WMME_SYMBOLS ";")
|
||||
endif()
|
||||
|
||||
option(PA_USE_WASAPI "Enable support for WASAPI" ON)
|
||||
if(PA_USE_WASAPI)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/wasapi/pa_win_wasapi.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_wasapi.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_WASAPI=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_WASAPI=1")
|
||||
target_link_libraries(PortAudio PRIVATE ole32 uuid)
|
||||
else()
|
||||
set(DEF_EXCLUDE_WASAPI_SYMBOLS ";")
|
||||
endif()
|
||||
|
||||
option(PA_USE_WDMKS "Enable support for WDMKS" ON)
|
||||
if(PA_USE_WDMKS)
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/os/win/pa_win_wdmks_utils.c
|
||||
src/hostapi/wdmks/pa_win_wdmks.c
|
||||
)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_wdmks.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_WDMKS=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_WDMKS=1")
|
||||
target_link_libraries(PortAudio PRIVATE setupapi ole32 uuid)
|
||||
endif()
|
||||
|
||||
option(PA_USE_WDMKS_DEVICE_INFO "Use WDM/KS API for device info" ON)
|
||||
if(PA_USE_WDMKS_DEVICE_INFO)
|
||||
target_compile_definitions(PortAudio PRIVATE PAWIN_USE_WDMKS_DEVICE_INFO)
|
||||
endif()
|
||||
|
||||
if(PA_BUILD_SHARED_LIBS)
|
||||
configure_file(cmake/portaudio.def.in "${CMAKE_CURRENT_BINARY_DIR}/portaudio.def" @ONLY)
|
||||
target_sources(PortAudio PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/portaudio.def")
|
||||
endif()
|
||||
elseif(UNIX)
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/os/unix/pa_unix_hostapis.c
|
||||
src/os/unix/pa_unix_util.c
|
||||
src/os/unix/pa_unix_util.h
|
||||
)
|
||||
target_include_directories(PortAudio PRIVATE src/os/unix)
|
||||
target_link_libraries(PortAudio PRIVATE m)
|
||||
set(PKGCONFIG_LDFLAGS_PRIVATE "${PKGCONFIG_LDFLAGS_PUBLIC} -lm -lpthread")
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -pthread")
|
||||
|
||||
if(APPLE)
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/hostapi/coreaudio/pa_mac_core.c
|
||||
src/hostapi/coreaudio/pa_mac_core_blocking.c
|
||||
src/hostapi/coreaudio/pa_mac_core_blocking.h
|
||||
src/hostapi/coreaudio/pa_mac_core_internal.h
|
||||
src/hostapi/coreaudio/pa_mac_core_utilities.c
|
||||
src/hostapi/coreaudio/pa_mac_core_utilities.h
|
||||
)
|
||||
target_include_directories(PortAudio PRIVATE src/hostapi/coreaudio)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_mac_core.h)
|
||||
|
||||
target_link_libraries(PortAudio
|
||||
PRIVATE
|
||||
-Wl,-framework,CoreAudio
|
||||
-Wl,-framework,AudioToolbox
|
||||
-Wl,-framework,AudioUnit
|
||||
-Wl,-framework,CoreFoundation
|
||||
-Wl,-framework,CoreServices
|
||||
)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_COREAUDIO=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_COREAUDIO=1")
|
||||
|
||||
# Use C11 so that we can make use of atomic library and avoid deprecation errors.
|
||||
set_property(TARGET PortAudio PROPERTY C_STANDARD 11)
|
||||
|
||||
set(PKGCONFIG_LDFLAGS_PRIVATE
|
||||
"${PKGCONFIG_LDFLAGS_PRIVATE} -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework CoreFoundation -framework CoreServices")
|
||||
else()
|
||||
# Some BSDs have a reimplementation of alsalib, so do not explicitly check for Linux.
|
||||
find_package(ALSA)
|
||||
cmake_dependent_option(PA_USE_ALSA "Enable support for ALSA" ON ALSA_FOUND OFF)
|
||||
if(PA_USE_ALSA)
|
||||
target_link_libraries(PortAudio PRIVATE "${ALSA_LIBRARIES}")
|
||||
target_sources(PortAudio PRIVATE src/hostapi/alsa/pa_linux_alsa.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_linux_alsa.h)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_ALSA=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_ALSA=1")
|
||||
|
||||
option(PA_ALSA_DYNAMIC "Enable dynamically loading libasound with dlopen using PaAlsa_SetLibraryPathName" OFF)
|
||||
if(PA_ALSA_DYNAMIC)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_ALSA_DYNAMIC)
|
||||
target_link_libraries(PortAudio PRIVATE "${CMAKE_DL_LIBS}")
|
||||
set(PKGCONFIG_LDFLAGS_PRIVATE "${PKGCONFIG_LDFLAGS_PRIVATE} -l${CMAKE_DL_LIBS}")
|
||||
else()
|
||||
set(PKGCONFIG_REQUIRES_PRIVATE "${PKGCONFIG_REQUIRES_PRIVATE} alsa")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# OSS is intentionally off by default to avoid confusing users of PortAudio
|
||||
# applications. OSS builds but there are no devices available on modern
|
||||
# Linux systems.
|
||||
find_package(OSS)
|
||||
cmake_dependent_option(PA_USE_OSS "Enable support for OSS" OFF "OSS_FOUND" OFF)
|
||||
if(PA_USE_OSS)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/oss/pa_unix_oss.c)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_OSS=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_OSS=1")
|
||||
target_link_libraries(PortAudio PRIVATE OSS::oss)
|
||||
# The FindOSS.cmake module does not need to be installed like the JACK modules because it
|
||||
# does not link any library; it only adds an include directory and compile definition.
|
||||
endif()
|
||||
|
||||
check_include_file(sys/audioio.h HAVE_SYS_AUDIOIO_H)
|
||||
cmake_dependent_option(AUDIOIO "Enable support for Solaris/NetBSD audio" ON "HAVE_SYS_AUDIOIO_H" AUDIOIO)
|
||||
if(AUDIOIO AND HAVE_SYS_AUDIOIO_H)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/audioio/pa_unix_audioio.c)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_AUDIOIO=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_AUDIOIO=1")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Add public headers to sources of PortAudio (used by some IDEs to list them in project tree)
|
||||
source_group("Public Header Files" FILES ${PORTAUDIO_PUBLIC_HEADERS})
|
||||
target_sources(PortAudio PRIVATE ${PORTAUDIO_PUBLIC_HEADERS})
|
||||
|
||||
#
|
||||
# Installation
|
||||
#
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
if(NOT CMAKE_FRAMEWORK)
|
||||
install(FILES README.md DESTINATION "${CMAKE_INSTALL_DOCDIR}/portaudio")
|
||||
install(FILES LICENSE.txt DESTINATION "${CMAKE_INSTALL_DOCDIR}/portaudio")
|
||||
|
||||
configure_file(cmake/portaudio-2.0.pc.in "${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc" @ONLY)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/portaudio-2.0.pc"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
|
||||
configure_package_config_file(cmake/PortAudioConfig.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake/portaudio/PortAudioConfig.cmake"
|
||||
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio"
|
||||
NO_CHECK_REQUIRED_COMPONENTS_MACRO
|
||||
)
|
||||
write_basic_package_version_file(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake/portaudio/PortAudioConfigVersion.cmake"
|
||||
VERSION "${PORTAUDIO_VERSION}"
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
install(EXPORT PortAudio-targets NAMESPACE "PortAudio::" FILE "PortAudioTargets.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio")
|
||||
export(TARGETS PortAudio
|
||||
FILE "${CMAKE_CURRENT_BINARY_DIR}/cmake/portaudio/PortAudioTargets.cmake")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/cmake/portaudio/PortAudioConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake/portaudio/PortAudioConfigVersion.cmake"
|
||||
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/portaudio")
|
||||
|
||||
if(NOT TARGET uninstall)
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
IMMEDIATE @ONLY)
|
||||
add_custom_target(uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set_target_properties(PortAudio PROPERTIES
|
||||
OUTPUT_NAME portaudio
|
||||
PUBLIC_HEADER "${PORTAUDIO_PUBLIC_HEADERS}"
|
||||
MACOSX_FRAMEWORK_IDENTIFIER com.portaudio
|
||||
FRAMEWORK_VERSION A
|
||||
WINDOWS_EXPORT_ALL_SYMBOLS TRUE
|
||||
VERSION ${PROJECT_VERSION}
|
||||
SOVERSION 2
|
||||
)
|
||||
install(TARGETS PortAudio
|
||||
EXPORT PortAudio-targets
|
||||
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
)
|
||||
|
||||
#
|
||||
# Subdirectories
|
||||
#
|
||||
|
||||
# Some of the tests and examples use private symbols which are not
|
||||
# exposed by the .def file on Windows.
|
||||
if(WIN32 AND PA_BUILD_SHARED_LIBS)
|
||||
set(LINK_PRIVATE_SYMBOLS OFF)
|
||||
else()
|
||||
set(LINK_PRIVATE_SYMBOLS ON)
|
||||
endif()
|
||||
|
||||
if(PA_BUILD_TESTS)
|
||||
macro(add_test appl_name)
|
||||
add_executable(${appl_name} "${appl_name}.c")
|
||||
target_link_libraries(${appl_name} PortAudio Threads::Threads)
|
||||
if(UNIX)
|
||||
target_link_libraries(${appl_name} m)
|
||||
endif()
|
||||
set_target_properties(${appl_name}
|
||||
PROPERTIES
|
||||
FOLDER "Test"
|
||||
)
|
||||
endmacro()
|
||||
|
||||
subdirs(test)
|
||||
subdirs(qa)
|
||||
endif()
|
||||
|
||||
if(PA_BUILD_EXAMPLES)
|
||||
subdirs(examples)
|
||||
endif()
|
239
extern/portaudio-modified/Doxyfile
vendored
Normal file
239
extern/portaudio-modified/Doxyfile
vendored
Normal file
|
@ -0,0 +1,239 @@
|
|||
# Doxyfile 1.4.6
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = PortAudio
|
||||
PROJECT_NUMBER = 2.0
|
||||
OUTPUT_DIRECTORY = ./doc/
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = NO
|
||||
GENERATE_TESTLIST = NO
|
||||
GENERATE_BUGLIST = NO
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = doc/src \
|
||||
include \
|
||||
examples
|
||||
FILE_PATTERNS = *.h \
|
||||
*.c \
|
||||
*.cpp \
|
||||
*.java \
|
||||
*.dox
|
||||
RECURSIVE = YES
|
||||
EXCLUDE = src/hostapi/wasapi/mingw-include
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH = doc/src/images
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = YES
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = NO
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = NO
|
||||
HIDE_UNDOC_RELATIONS = NO
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 1000
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
242
extern/portaudio-modified/Doxyfile.developer
vendored
Normal file
242
extern/portaudio-modified/Doxyfile.developer
vendored
Normal file
|
@ -0,0 +1,242 @@
|
|||
# Doxyfile 1.4.6
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = PortAudio
|
||||
PROJECT_NUMBER = 2.0
|
||||
OUTPUT_DIRECTORY = ./doc/
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF = "The $name class" \
|
||||
"The $name widget" \
|
||||
"The $name file" \
|
||||
is \
|
||||
provides \
|
||||
specifies \
|
||||
contains \
|
||||
represents \
|
||||
a \
|
||||
an \
|
||||
the
|
||||
ALWAYS_DETAILED_SEC = NO
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
STRIP_FROM_INC_PATH =
|
||||
SHORT_NAMES = NO
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = NO
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = YES
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
BUILTIN_STL_SUPPORT = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = YES
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = YES
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS = INTERNAL
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
SHOW_DIRECTORIES = YES
|
||||
FILE_VERSION_FILTER =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_NO_PARAMDOC = NO
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = doc/src \
|
||||
include \
|
||||
examples \
|
||||
src \
|
||||
test \
|
||||
qa
|
||||
FILE_PATTERNS = *.h \
|
||||
*.c \
|
||||
*.cpp \
|
||||
*.java \
|
||||
*.dox
|
||||
RECURSIVE = YES
|
||||
EXCLUDE = src/hostapi/wasapi/mingw-include
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH = doc/src/images
|
||||
INPUT_FILTER =
|
||||
FILTER_PATTERNS =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = NO
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = NO
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = NO
|
||||
HIDE_UNDOC_RELATIONS = NO
|
||||
HAVE_DOT = NO
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DIRECTORY_GRAPH = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH =
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 1000
|
||||
DOT_TRANSPARENT = NO
|
||||
DOT_MULTI_TARGETS = NO
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
81
extern/portaudio-modified/LICENSE.txt
vendored
Normal file
81
extern/portaudio-modified/LICENSE.txt
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
Portable header file to contain:
|
||||
>>>>>
|
||||
/*
|
||||
* PortAudio Portable Real-Time Audio Library
|
||||
* PortAudio API Header File
|
||||
* Latest version available at: http://www.portaudio.com
|
||||
*
|
||||
* Copyright (c) 1999-2006 Ross Bencina and Phil Burk
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The text above constitutes the entire PortAudio license; however,
|
||||
* the PortAudio community also makes the following non-binding requests:
|
||||
*
|
||||
* Any person wishing to distribute modifications to the Software is
|
||||
* requested to send the modifications to the original developer so that
|
||||
* they can be incorporated into the canonical version. It is also
|
||||
* requested that these non-binding requests be included along with the
|
||||
* license above.
|
||||
*/
|
||||
<<<<<
|
||||
|
||||
|
||||
Implementation files to contain:
|
||||
>>>>>
|
||||
/*
|
||||
* PortAudio Portable Real-Time Audio Library
|
||||
* Latest version at: http://www.portaudio.com
|
||||
* <platform> Implementation
|
||||
* Copyright (c) 1999-2000 <author(s)>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files
|
||||
* (the "Software"), to deal in the Software without restriction,
|
||||
* including without limitation the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||
* ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* The text above constitutes the entire PortAudio license; however,
|
||||
* the PortAudio community also makes the following non-binding requests:
|
||||
*
|
||||
* Any person wishing to distribute modifications to the Software is
|
||||
* requested to send the modifications to the original developer so that
|
||||
* they can be incorporated into the canonical version. It is also
|
||||
* requested that these non-binding requests be included along with the
|
||||
* license above.
|
||||
*/
|
||||
<<<<<
|
259
extern/portaudio-modified/Makefile.in
vendored
Normal file
259
extern/portaudio-modified/Makefile.in
vendored
Normal file
|
@ -0,0 +1,259 @@
|
|||
#
|
||||
# PortAudio V19 Makefile.in
|
||||
#
|
||||
# Dominic Mazzoni
|
||||
# Modifications by Mikael Magnusson
|
||||
# Modifications by Stelios Bounanos
|
||||
#
|
||||
|
||||
top_srcdir = @top_srcdir@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
top_builddir = .
|
||||
PREFIX = @prefix@
|
||||
prefix = $(PREFIX)
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
libdir = @libdir@
|
||||
includedir = @includedir@
|
||||
CC = @CC@
|
||||
CXX = @CXX@
|
||||
CFLAGS = @CFLAGS@ @DEFS@
|
||||
LIBS = @LIBS@
|
||||
AR = @AR@
|
||||
RANLIB = @RANLIB@
|
||||
SHELL = @SHELL@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
SHARED_FLAGS = @SHARED_FLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
DLL_LIBS = @DLL_LIBS@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
NASM = @NASM@
|
||||
NASMOPT = @NASMOPT@
|
||||
LN_S = @LN_S@
|
||||
LT_CURRENT=@LT_CURRENT@
|
||||
LT_REVISION=@LT_REVISION@
|
||||
LT_AGE=@LT_AGE@
|
||||
|
||||
OTHER_OBJS = @OTHER_OBJS@
|
||||
INCLUDES = @INCLUDES@
|
||||
|
||||
PALIB = libportaudio.la
|
||||
PAINC = include/portaudio.h
|
||||
|
||||
PA_LDFLAGS = $(LDFLAGS) $(SHARED_FLAGS) -rpath $(libdir) -no-undefined \
|
||||
-export-symbols-regex "(Pa|PaMacCore|PaJack|PaAlsa|PaAsio|PaOSS|PaWasapi|PaWasapiWinrt|PaWinMME)_.*" \
|
||||
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
|
||||
|
||||
COMMON_OBJS = \
|
||||
src/common/pa_allocation.o \
|
||||
src/common/pa_converters.o \
|
||||
src/common/pa_cpuload.o \
|
||||
src/common/pa_dither.o \
|
||||
src/common/pa_debugprint.o \
|
||||
src/common/pa_front.o \
|
||||
src/common/pa_process.o \
|
||||
src/common/pa_stream.o \
|
||||
src/common/pa_trace.o \
|
||||
src/hostapi/skeleton/pa_hostapi_skeleton.o
|
||||
|
||||
LOOPBACK_OBJS = \
|
||||
qa/loopback/src/audio_analyzer.o \
|
||||
qa/loopback/src/biquad_filter.o \
|
||||
qa/loopback/src/paqa_tools.o \
|
||||
qa/loopback/src/test_audio_analyzer.o \
|
||||
qa/loopback/src/write_wav.o \
|
||||
qa/loopback/src/paqa.o
|
||||
|
||||
EXAMPLES = \
|
||||
bin/pa_devs \
|
||||
bin/pa_fuzz \
|
||||
bin/paex_pink \
|
||||
bin/paex_read_write_wire \
|
||||
bin/paex_record \
|
||||
bin/paex_saw \
|
||||
bin/paex_sine \
|
||||
bin/paex_write_sine \
|
||||
bin/paex_write_sine_nonint
|
||||
|
||||
SELFTESTS = \
|
||||
bin/paqa_devs \
|
||||
bin/paqa_errs \
|
||||
bin/paqa_latency
|
||||
|
||||
TESTS = \
|
||||
bin/patest1 \
|
||||
bin/patest_buffer \
|
||||
bin/patest_callbackstop \
|
||||
bin/patest_clip \
|
||||
bin/patest_dither \
|
||||
bin/patest_hang \
|
||||
bin/patest_in_overflow \
|
||||
bin/patest_latency \
|
||||
bin/patest_leftright \
|
||||
bin/patest_longsine \
|
||||
bin/patest_many \
|
||||
bin/patest_maxsines \
|
||||
bin/patest_mono \
|
||||
bin/patest_multi_sine \
|
||||
bin/patest_out_underflow \
|
||||
bin/patest_prime \
|
||||
bin/patest_ringmix \
|
||||
bin/patest_sine8 \
|
||||
bin/patest_sine_channelmaps \
|
||||
bin/patest_sine_formats \
|
||||
bin/patest_sine_time \
|
||||
bin/patest_sine_srate \
|
||||
bin/patest_start_stop \
|
||||
bin/patest_stop \
|
||||
bin/patest_stop_playout \
|
||||
bin/patest_toomanysines \
|
||||
bin/patest_two_rates \
|
||||
bin/patest_underflow \
|
||||
bin/patest_wire \
|
||||
bin/pa_minlat
|
||||
|
||||
# Most of these don't compile yet. Put them in TESTS, above, if
|
||||
# you want to try to compile them...
|
||||
ALL_TESTS = \
|
||||
$(TESTS) \
|
||||
bin/patest_sync \
|
||||
bin/debug_convert \
|
||||
bin/debug_dither_calc \
|
||||
bin/debug_dual \
|
||||
bin/debug_multi_in \
|
||||
bin/debug_multi_out \
|
||||
bin/debug_record \
|
||||
bin/debug_record_reuse \
|
||||
bin/debug_sine_amp \
|
||||
bin/debug_sine \
|
||||
bin/debug_sine_formats \
|
||||
bin/debug_srate \
|
||||
bin/debug_test1
|
||||
|
||||
OBJS := $(COMMON_OBJS) $(OTHER_OBJS)
|
||||
|
||||
LTOBJS := $(OBJS:.o=.lo)
|
||||
|
||||
SRC_DIRS = \
|
||||
src/common \
|
||||
src/hostapi/alsa \
|
||||
src/hostapi/asihpi \
|
||||
src/hostapi/asio \
|
||||
src/hostapi/audioio \
|
||||
src/hostapi/coreaudio \
|
||||
src/hostapi/dsound \
|
||||
src/hostapi/jack \
|
||||
src/hostapi/oss \
|
||||
src/hostapi/skeleton \
|
||||
src/hostapi/wasapi \
|
||||
src/hostapi/wdmks \
|
||||
src/hostapi/wmme \
|
||||
src/os/unix \
|
||||
src/os/win
|
||||
|
||||
SUBDIRS =
|
||||
@ENABLE_CXX_TRUE@SUBDIRS += bindings/cpp
|
||||
|
||||
all: lib/$(PALIB) all-recursive tests examples selftests
|
||||
|
||||
tests: bin-stamp $(TESTS)
|
||||
|
||||
examples: bin-stamp $(EXAMPLES)
|
||||
|
||||
selftests: bin-stamp $(SELFTESTS)
|
||||
|
||||
loopback: bin-stamp bin/paloopback
|
||||
|
||||
# With ASIO enabled we must link libportaudio and all test programs with CXX
|
||||
lib/$(PALIB): lib-stamp $(LTOBJS) $(MAKEFILE) $(PAINC)
|
||||
@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS)
|
||||
@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) $(PA_LDFLAGS) -o lib/$(PALIB) $(LTOBJS) $(DLL_LIBS)
|
||||
|
||||
$(ALL_TESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) test/%.c
|
||||
@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
|
||||
@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/test/$*.c lib/$(PALIB) $(LIBS)
|
||||
|
||||
$(EXAMPLES): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) examples/%.c
|
||||
@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
|
||||
@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/examples/$*.c lib/$(PALIB) $(LIBS)
|
||||
|
||||
$(SELFTESTS): bin/%: lib/$(PALIB) $(MAKEFILE) $(PAINC) qa/%.c
|
||||
@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
|
||||
@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(top_srcdir)/qa/$*.c lib/$(PALIB) $(LIBS)
|
||||
|
||||
bin/paloopback: lib/$(PALIB) $(MAKEFILE) $(PAINC) $(LOOPBACK_OBJS)
|
||||
@WITH_ASIO_FALSE@ $(LIBTOOL) --mode=link $(CC) -o $@ $(CFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
|
||||
@WITH_ASIO_TRUE@ $(LIBTOOL) --mode=link --tag=CXX $(CXX) -o $@ $(CXXFLAGS) $(LOOPBACK_OBJS) lib/$(PALIB) $(LIBS)
|
||||
|
||||
install: lib/$(PALIB) portaudio-2.0.pc
|
||||
$(INSTALL) -d $(DESTDIR)$(libdir)
|
||||
$(LIBTOOL) --mode=install $(INSTALL) lib/$(PALIB) $(DESTDIR)$(libdir)
|
||||
$(INSTALL) -d $(DESTDIR)$(includedir)
|
||||
for include in $(INCLUDES); do \
|
||||
$(INSTALL_DATA) -m 644 $(top_srcdir)/include/$$include $(DESTDIR)$(includedir)/$$include; \
|
||||
done
|
||||
$(INSTALL) -d $(DESTDIR)$(libdir)/pkgconfig
|
||||
$(INSTALL) -m 644 portaudio-2.0.pc $(DESTDIR)$(libdir)/pkgconfig/portaudio-2.0.pc
|
||||
@echo ""
|
||||
@echo "------------------------------------------------------------"
|
||||
@echo "PortAudio was successfully installed."
|
||||
@echo ""
|
||||
@echo "On some systems (e.g. Linux) you should run 'ldconfig' now"
|
||||
@echo "to make the shared object available. You may also need to"
|
||||
@echo "modify your LD_LIBRARY_PATH environment variable to include"
|
||||
@echo "the directory $(libdir)"
|
||||
@echo "------------------------------------------------------------"
|
||||
@echo ""
|
||||
$(MAKE) install-recursive
|
||||
|
||||
uninstall:
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(PALIB)
|
||||
$(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(includedir)/portaudio.h
|
||||
$(MAKE) uninstall-recursive
|
||||
|
||||
clean:
|
||||
$(LIBTOOL) --mode=clean rm -f $(LTOBJS) $(LOOPBACK_OBJS) $(ALL_TESTS) lib/$(PALIB)
|
||||
$(RM) bin-stamp lib-stamp
|
||||
-$(RM) -r bin lib
|
||||
|
||||
distclean: clean
|
||||
$(RM) config.log config.status Makefile libtool portaudio-2.0.pc
|
||||
|
||||
%.o: %.c $(MAKEFILE) $(PAINC) lib-stamp
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
%.lo: %.c $(MAKEFILE) $(PAINC) lib-stamp
|
||||
$(LIBTOOL) --mode=compile $(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
%.lo: %.cpp $(MAKEFILE) $(PAINC) lib-stamp
|
||||
$(LIBTOOL) --mode=compile --tag=CXX $(CXX) -c $(CXXFLAGS) $< -o $@
|
||||
|
||||
%.o: %.cpp $(MAKEFILE) $(PAINC) lib-stamp
|
||||
$(CXX) -c $(CXXFLAGS) $< -o $@
|
||||
|
||||
%.o: %.asm
|
||||
$(NASM) $(NASMOPT) -o $@ $<
|
||||
|
||||
bin-stamp:
|
||||
-mkdir bin
|
||||
touch $@
|
||||
|
||||
lib-stamp:
|
||||
-mkdir lib
|
||||
-mkdir -p $(SRC_DIRS)
|
||||
touch $@
|
||||
|
||||
Makefile: Makefile.in config.status
|
||||
$(SHELL) config.status
|
||||
|
||||
all-recursive:
|
||||
if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir all; done ; fi
|
||||
|
||||
install-recursive:
|
||||
if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir install; done ; fi
|
||||
|
||||
uninstall-recursive:
|
||||
if test -n "$(SUBDIRS)" ; then for dir in "$(SUBDIRS)"; do $(MAKE) -C $$dir uninstall; done ; fi
|
32
extern/portaudio-modified/README.configure.txt
vendored
Normal file
32
extern/portaudio-modified/README.configure.txt
vendored
Normal file
|
@ -0,0 +1,32 @@
|
|||
PortAudio uses "autoconf" tools to generate Makefiles for Linux and Mac platforms.
|
||||
The source for these are configure.in and Makefile.in
|
||||
If you modify either of these files then please run this command before
|
||||
testing and checking in your changes. I run this command on Linux.
|
||||
|
||||
autoreconf -if
|
||||
|
||||
If you do not have autoreconf then do:
|
||||
sudo apt-get install autoconf
|
||||
|
||||
If you get error like "possibly undefined macro: AC_LIBTOOL_WIN32_DLL"
|
||||
then you try installing some more packages and then try again.
|
||||
|
||||
sudo apt-get install build-essential
|
||||
sudo apt-get install pkg-config
|
||||
sudo apt-get install libtool
|
||||
autoreconf -if
|
||||
|
||||
Then test a build by doing:
|
||||
|
||||
./configure
|
||||
make clean
|
||||
make
|
||||
|
||||
then check in the related files that are modified.
|
||||
These might include files like:
|
||||
|
||||
configure
|
||||
config.guess
|
||||
depcomp
|
||||
install.sh
|
||||
|
63
extern/portaudio-modified/README.md
vendored
Normal file
63
extern/portaudio-modified/README.md
vendored
Normal file
|
@ -0,0 +1,63 @@
|
|||
# PortAudio - portable audio I/O library
|
||||
|
||||
PortAudio is a portable audio I/O library designed for cross-platform
|
||||
support of audio. It uses either a callback mechanism to request audio
|
||||
processing, or blocking read/write calls to buffer data between the
|
||||
native audio subsystem and the client. Audio can be processed in various
|
||||
formats, including 32 bit floating point, and will be converted to the
|
||||
native format internally.
|
||||
|
||||
## Documentation:
|
||||
|
||||
* Documentation is available at http://www.portaudio.com/docs/
|
||||
* Or at `/doc/html/index.html` after running Doxygen.
|
||||
* Also see `src/common/portaudio.h` for the API spec.
|
||||
* And see the `examples/` and `test/` directories for many examples of usage. (We suggest `examples/paex_saw.c` for an example.)
|
||||
|
||||
For information on compiling programs with PortAudio, please see the
|
||||
tutorial at:
|
||||
|
||||
http://portaudio.com/docs/v19-doxydocs/tutorial_start.html
|
||||
|
||||
We have an active mailing list for user and developer discussions.
|
||||
Please feel free to join. See http://www.portaudio.com for details.
|
||||
|
||||
## Important Files and Folders:
|
||||
|
||||
include/portaudio.h = header file for PortAudio API. Specifies API.
|
||||
src/common/ = platform independent code, host independent
|
||||
code for all implementations.
|
||||
src/os = os specific (but host api neutral) code
|
||||
src/hostapi = implementations for different host apis
|
||||
|
||||
|
||||
### Host API Implementations:
|
||||
|
||||
src/hostapi/alsa = Advanced Linux Sound Architecture (ALSA)
|
||||
src/hostapi/asihpi = AudioScience HPI
|
||||
src/hostapi/asio = ASIO for Windows and Macintosh
|
||||
src/hostapi/audioio = /dev/audio (Solaris/NetBSD Audio)
|
||||
src/hostapi/coreaudio = Macintosh Core Audio for OS X
|
||||
src/hostapi/dsound = Windows Direct Sound
|
||||
src/hostapi/jack = JACK Audio Connection Kit
|
||||
src/hostapi/oss = Unix Open Sound System (OSS)
|
||||
src/hostapi/wasapi = Windows Vista WASAPI
|
||||
src/hostapi/wdmks = Windows WDM Kernel Streaming
|
||||
src/hostapi/wmme = Windows MultiMedia Extensions (MME)
|
||||
|
||||
|
||||
### Test Programs:
|
||||
|
||||
test/pa_fuzz.c = guitar fuzz box
|
||||
test/pa_devs.c = print a list of available devices
|
||||
test/pa_minlat.c = determine minimum latency for your machine
|
||||
test/paqa_devs.c = self test that opens all devices
|
||||
test/paqa_errs.c = test error detection and reporting
|
||||
test/patest_clip.c = hear a sine wave clipped and unclipped
|
||||
test/patest_dither.c = hear effects of dithering (extremely subtle)
|
||||
test/patest_pink.c = fun with pink noise
|
||||
test/patest_record.c = record and playback some audio
|
||||
test/patest_maxsines.c = how many sine waves can we play? Tests Pa_GetCPULoad().
|
||||
test/patest_sine.c = output a sine wave in a simple PA app
|
||||
test/patest_sync.c = test synchronization of audio and video
|
||||
test/patest_wire.c = pass input to output, wire simulator
|
8831
extern/portaudio-modified/aclocal.m4
vendored
Normal file
8831
extern/portaudio-modified/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
0
extern/portaudio-modified/bindings/cpp/AUTHORS
vendored
Normal file
0
extern/portaudio-modified/bindings/cpp/AUTHORS
vendored
Normal file
122
extern/portaudio-modified/bindings/cpp/CMakeLists.txt
vendored
Normal file
122
extern/portaudio-modified/bindings/cpp/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,122 @@
|
|||
cmake_minimum_required(VERSION 3.13)
|
||||
cmake_policy(VERSION 3.13)
|
||||
|
||||
project(PortAudioCpp VERSION 19.8 LANGUAGES CXX)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
|
||||
|
||||
# Todo (multi-generator): Add support for multiple generators like: - {Debug,
|
||||
# Release} x {Static, Dynamic} x {MT, MD (Windows only)}
|
||||
|
||||
# ##############################################################################
|
||||
# sources and headers
|
||||
# ##############################################################################
|
||||
|
||||
set(portaudiocpp-sources
|
||||
source/portaudiocpp/BlockingStream.cxx
|
||||
source/portaudiocpp/CFunCallbackStream.cxx
|
||||
source/portaudiocpp/CallbackInterface.cxx
|
||||
source/portaudiocpp/CallbackStream.cxx
|
||||
source/portaudiocpp/CppFunCallbackStream.cxx
|
||||
source/portaudiocpp/Device.cxx
|
||||
source/portaudiocpp/DirectionSpecificStreamParameters.cxx
|
||||
source/portaudiocpp/Exception.cxx
|
||||
source/portaudiocpp/HostApi.cxx
|
||||
source/portaudiocpp/InterfaceCallbackStream.cxx
|
||||
source/portaudiocpp/MemFunCallbackStream.cxx
|
||||
source/portaudiocpp/Stream.cxx
|
||||
source/portaudiocpp/StreamParameters.cxx
|
||||
source/portaudiocpp/System.cxx
|
||||
source/portaudiocpp/SystemDeviceIterator.cxx
|
||||
source/portaudiocpp/SystemHostApiIterator.cxx)
|
||||
|
||||
# since we don't GLOBing this variable must be kept up to date otherwise user
|
||||
# installations are broken.
|
||||
set(portaudiocpp-header-files
|
||||
include/portaudiocpp/AutoSystem.hxx
|
||||
include/portaudiocpp/BlockingStream.hxx
|
||||
include/portaudiocpp/CFunCallbackStream.hxx
|
||||
include/portaudiocpp/CallbackInterface.hxx
|
||||
include/portaudiocpp/CallbackStream.hxx
|
||||
include/portaudiocpp/CppFunCallbackStream.hxx
|
||||
include/portaudiocpp/Device.hxx
|
||||
include/portaudiocpp/DirectionSpecificStreamParameters.hxx
|
||||
include/portaudiocpp/Exception.hxx
|
||||
include/portaudiocpp/HostApi.hxx
|
||||
include/portaudiocpp/InterfaceCallbackStream.hxx
|
||||
include/portaudiocpp/MemFunCallbackStream.hxx
|
||||
include/portaudiocpp/PortAudioCpp.hxx
|
||||
include/portaudiocpp/SampleDataFormat.hxx
|
||||
include/portaudiocpp/Stream.hxx
|
||||
include/portaudiocpp/StreamParameters.hxx
|
||||
include/portaudiocpp/System.hxx
|
||||
include/portaudiocpp/SystemDeviceIterator.hxx
|
||||
include/portaudiocpp/SystemHostApiIterator.hxx)
|
||||
|
||||
if(WIN32)
|
||||
find_package(ASIO MODULE)
|
||||
if(ASIO_FOUND)
|
||||
list(APPEND portaudiocpp-sources source/portaudiocpp/AsioDeviceAdapter.cxx)
|
||||
list(APPEND portaudiocpp-header-files
|
||||
include/portaudiocpp/AsioDeviceAdapter.hxx)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# ##############################################################################
|
||||
# portaudiocpp-targets
|
||||
# ##############################################################################
|
||||
|
||||
add_library(portaudiocpp ${portaudiocpp-sources})
|
||||
add_library(PortAudio::portaudiocpp ALIAS portaudiocpp) # For subdirectory build
|
||||
|
||||
find_package(PortAudio MODULE REQUIRED)
|
||||
|
||||
target_link_libraries(portaudiocpp PUBLIC PortAudio::portaudio)
|
||||
target_include_directories(
|
||||
portaudiocpp PUBLIC $<INSTALL_INTERFACE:include>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)
|
||||
set_target_properties(portaudiocpp PROPERTIES SOVERSION 2)
|
||||
# Todo (modernize): update the code at least to c++14
|
||||
# target_compile_features(portaudiocpp PUBLIC cxx_std_14)
|
||||
|
||||
# ## Export ###
|
||||
include(GNUInstallDirs)
|
||||
|
||||
install(
|
||||
TARGETS portaudiocpp
|
||||
EXPORT PortAudioCppTargets
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
INCLUDES
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/portaudiocpp)
|
||||
|
||||
install(FILES ${portaudiocpp-header-files}
|
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/portaudiocpp)
|
||||
|
||||
install(
|
||||
EXPORT PortAudioCppTargets
|
||||
FILE PortAudioCppTargets.cmake
|
||||
NAMESPACE PortAudio::
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/PortAudio)
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
configure_package_config_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/PortAudioCppConfig.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/PortAudioCppConfig.cmake"
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/PortAudio)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/PortAudioCppConfigVersion.cmake"
|
||||
COMPATIBILITY SameMajorVersion
|
||||
)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/PortAudioCppConfig.cmake"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/PortAudioCppConfigVersion.cmake"
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/PortAudio)
|
||||
|
||||
#use relative path, since CMAKE can't reconfigure on install with different prefix path
|
||||
set(PC_PREFIX "\${pcfiledir}/../..")
|
||||
configure_file(cmake/portaudiocpp.pc.in "${CMAKE_CURRENT_BINARY_DIR}/portaudiocpp.pc" @ONLY)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/portaudiocpp.pc"
|
||||
CONFIGURATIONS Release RelWithDebInfo
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
31
extern/portaudio-modified/bindings/cpp/COPYING
vendored
Normal file
31
extern/portaudio-modified/bindings/cpp/COPYING
vendored
Normal file
|
@ -0,0 +1,31 @@
|
|||
PortAudio Portable Real-Time Audio Library
|
||||
Copyright (c) 1999-2006 Ross Bencina and Phil Burk
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files
|
||||
(the "Software"), to deal in the Software without restriction,
|
||||
including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
||||
CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
The text above constitutes the entire PortAudio license; however,
|
||||
the PortAudio community also makes the following non-binding requests:
|
||||
|
||||
Any person wishing to distribute modifications to the Software is
|
||||
requested to send the modifications to the original developer so that
|
||||
they can be incorporated into the canonical version. It is also
|
||||
requested that these non-binding requests be included along with the
|
||||
license above.
|
178
extern/portaudio-modified/bindings/cpp/ChangeLog
vendored
Normal file
178
extern/portaudio-modified/bindings/cpp/ChangeLog
vendored
Normal file
|
@ -0,0 +1,178 @@
|
|||
Note: Because PortAudioCpp is now in the main PortAudio SVN repository, having these per-release changelogs probably doesn't make much sense anymore. Perhaps it's better to just note mayor changes by date from now on.
|
||||
|
||||
PortAudioCpp v19 revision 16 06/05/22:
|
||||
|
||||
mblaauw:
|
||||
- Added up-to-date MSVC 6.0 projects created by David Moore. Besides MSVC 6.0 users, MSVC 7.0 users may use these projects and automatically convert them to MSVC 7.0 projects.
|
||||
- Changed the code and projects (MSVC 7.1 only) to be up-to-date with PortAudio's new directory structure.
|
||||
- Added equivalents of the PaAsio_GetInputChannelName() and PaAsio_GetOutputChannelName() functions to the AsioDeviceAdapter wrapper-class (missing functions pointed out by David Moore).
|
||||
- Added code to PortAudio's main SVN repository.
|
||||
|
||||
PortAudioCpp v19 revision 15 (unknown release date):
|
||||
|
||||
mblaauw:
|
||||
- Changed some exception handling code in HostApi's constructor.
|
||||
- Added accessors to PortAudio PaStream from PortAudioCpp Stream (their absence being pointed out
|
||||
by Tom Jordan).
|
||||
- Fixed a bug/typo in MemFunToCallbackInterfaceAdapter::init() thanks to Fredrik Viklund.
|
||||
- Fixed issue with concrete Stream classes possibly throwing an exception and fixed documentation w.r.t. this.
|
||||
- Moved files to portaudio/binding/cpp/. Made new msvc 7.1 projects to reflect the change and removed msvc 6.0
|
||||
and 7.0 projects (because I can no longer maintain them myself). Gnu projects will probably need updating.
|
||||
|
||||
PortAudioCpp v19 revision 14 03/10/24:
|
||||
|
||||
mblaauw:
|
||||
- Fixed some error handling bugs in Stream and System (pointed out by Tom Jordan).
|
||||
- Updated documentation a little (main page).
|
||||
- Fixed order of members so initializer list was in the right order in
|
||||
StreamParameters (pointed out by Ludwig Schwardt).
|
||||
- Added new lines at EOF's (as indicated by Ludwig Schwardt).
|
||||
|
||||
PortAudioCpp v19 revision 13 03/10/19:
|
||||
|
||||
lschwardt:
|
||||
- Added build files for GNU/Linux.
|
||||
- Fixed bug in Exception where the inherited what() member function (and destructor) had looser
|
||||
exception specification (namely no exception specification, i.e. could throw anything) than
|
||||
the std::exception base class's what() member function (which had throw(), i.e. no-throw guarantee).
|
||||
- Changed the iterators so that they have a set of public typedefs instead of deriving the C++ standard
|
||||
library std::iterator<> struct. G++ 2.95 doesn't support std::exception<> and composition-by-aggregation
|
||||
is preferred over composition-by-inheritance in this case.
|
||||
- Changed some minor things to avoid G++ warning messages.
|
||||
|
||||
mblaauw:
|
||||
- Renamed this file (/WHATSNEW.txt) to /CHANGELOG.
|
||||
- Renamed /PA_ISSUES.txt to /PA_ISSUES.
|
||||
- Added /INSTALL file with some build info for GNU/Linux and VC6.
|
||||
- Added MSVC 6.0 projects for building PortAudioCpp as a statically or dynamically linkable library.
|
||||
- Moved build files to /build/(gnu/ or vc6/).
|
||||
- Moved Doxygen configuration files to /doc/ and output to /doc/api_reference/.
|
||||
- Added a /doc/README with some info how to generate Doxygen documentation.
|
||||
|
||||
PortAudioCpp v19 revision 12 03/09/02:
|
||||
|
||||
mblaauw:
|
||||
- Updated code to reflect changes on V19-devel CVS branch.
|
||||
- Fixed some typos in the documentation.
|
||||
|
||||
PortAudioCpp v19 revision 11 03/07/31:
|
||||
|
||||
mblaauw:
|
||||
- Renamed SingleDirecionStreamParameters to DirectionSpecificStreamParameters.
|
||||
- Implemented BlockingStream.
|
||||
- Updated code to reflect recent changes to PortAudio V19-devel.
|
||||
- Fixed a potential memory leak when an exception was thrown in the HostApi
|
||||
constructor.
|
||||
- Renamed ``Latency'' to ``BufferSize'' in AsioDeviceAdapter.
|
||||
- Updated class documentation.
|
||||
|
||||
PortAudioCpp v19 revision 10 03/07/18:
|
||||
|
||||
mblaauw:
|
||||
- SingleDirectionStreamParameters now has a (static) null() method.
|
||||
- StreamParameters uses references for the direction-specific stream parameters
|
||||
instead of pointers (use null() method (above) instead of NULL).
|
||||
- StreamParameters and SingleDirectionStreamParameters must now be fully specified
|
||||
and now default values are used (because this was not very useful in general and
|
||||
only made things more complex).
|
||||
- Updated documentation.
|
||||
|
||||
PortAudioCpp v19 revision 09 03/06/25:
|
||||
|
||||
mblaauw:
|
||||
- Changed some things in SingleDirectionStreamParameters to ease it's usage.
|
||||
- Placed all SingleDirectionStreamParameters stuff into a separate file.
|
||||
+ Totally redid the callback stuff, now it's less awkward and supports C++ functions.
|
||||
|
||||
PortAudioCpp v19 revision 08 03/06/20:
|
||||
|
||||
mblaauw:
|
||||
- Made deconstructors for Device and HostApi private.
|
||||
+ Added a AsioDeviceWrapper host api specific device extension class.
|
||||
- Refactored Exception into a Exception base class and PaException and PaCppException
|
||||
derived classes.
|
||||
- Added ASIO specific device info to the devs.cxx example.
|
||||
- Fixed a bug in System::hostApiCount() and System::defaultHostApi().
|
||||
+ Moved Device::null to System::nullDevice.
|
||||
- Fixed some bugs in Device and System.
|
||||
|
||||
PortAudioCpp v19 revision 07 03/06/08:
|
||||
|
||||
mblaauw:
|
||||
- Updated some doxy comments.
|
||||
+ Renamed CbXyz to CallbackXyz.
|
||||
+ Renamed all ``configurations'' to ``parameters''.
|
||||
+ Renamed HalfDuplexStreamConfiguration to SingleDirectionStreamConfiguration.
|
||||
- Renamed SingleDirectionStreamParameters::streamParameters() to
|
||||
SingleDirectionStreamParameters::paSteamParameters.
|
||||
- Added a non-constant version of SingleDirectionStreamParameters::paStreamParameters().
|
||||
- A few improvements to SingleDirectionStreamParameters.
|
||||
- Allowed AutoSystem to be created without initializing the System singleton
|
||||
(using a ctor flag).
|
||||
- Added a BlockingStream class (not implemented for now).
|
||||
- Fixed many bugs in the implementation of the iterators.
|
||||
- Fixed a bug in Device::operator==().
|
||||
+ Added a C++ version of the patest_sine.c test/example.
|
||||
- Added a ctor for StreamParameters for a default half-duplex stream.
|
||||
- Added SingleDirectionStreamParameters::setDevice() and setNumChannels().
|
||||
- Renamed System::numHostApis() to System::hostApiCount().
|
||||
+ Rewrote the iterators and related classes. They are now fully STL compliant. The System now
|
||||
has a static array of all HostApis and all Devices. Only the System can create HostApis and
|
||||
Devices and they are non-copyable now. All HostApis and Devices are now passed by-reference.
|
||||
- Renamed (System::) getVersion() to version() and getVersionText() to versionText().
|
||||
- Renamed (Device::) numXyzChannels() to maxXyzChannels().
|
||||
- Changed some stuff in StreamParameters.
|
||||
+ Added a C++ version of the patest_devs.c test/example.
|
||||
|
||||
PortAudioCpp v19 revision 06 03/06/04:
|
||||
|
||||
mblaauw:
|
||||
+ Added this file to the project (roughly, a `+' denotes a major change, a `-' a minor change).
|
||||
- Added System::deviceByIndex(), useful when a Device's index is stored for instance.
|
||||
- Renamed System::hostApiFromTypeId() to System::hostApiByTypeId().
|
||||
- Updated and added some Doxygen documentation.
|
||||
- Made Stream::usedIntputLatency(), Stream::usedOutputLatency() and
|
||||
Stream::usedSampleRate() throw an paInternalError equivalent exception instead of paBadStreamPtr.
|
||||
- Changed exception handling in Stream::open() functions. They now follow the PA error handling
|
||||
mechanism better and a couple of bugs regarding ownership of objects were fixed.
|
||||
- Renamed Device::isDefaultXyzDevice() to Device::isSystemDefaultXyzDevice().
|
||||
- Added Device::isHostApiDefaultXyzDevice().
|
||||
- Added StreamConfiguration::unsetFlag().
|
||||
- Removed CUSTOM from SampleDataFormat.
|
||||
- System::hostApiByTypeId() now throws an paInternalError if the type id was out-of-range; this
|
||||
is a temporary work-around (see comments).
|
||||
- Changed CbInterface to use paCallbackFun() instead of operator()().
|
||||
- Renamed ``object'' to ``instance'' in CbMemFunAdapter.hxx.
|
||||
- Added StreamConfiguration::setXyzHostApiSpecificSampleFormat().
|
||||
- Added StreamConfiguration::isXyzSampleFormatHostApiSpecific().
|
||||
- Changed error handling in System::terminate(), it can now throw an Exception.
|
||||
- Added error handling in System::defaultHostApi().
|
||||
- Added error handling in System::hostApisEnd().
|
||||
- Changed some (but probably not all) C casts to C++ casts to avoid confusion with a
|
||||
certain Python person.
|
||||
- Renamed RaiiSystem to AutoSystem (class and file) as this is a come common convention.
|
||||
- Renamed System::numDevices() to System::deviceCount() to be more compatible with PortAudio
|
||||
(although PortAudio uses Pa_CountDevices() instead, see comment).
|
||||
- Renamed HostApi::numDevices() to HostApi::deviceCount().
|
||||
- Changed INC_ to INCLUDED_ in the header multiple include guards.
|
||||
- Changed the order of functions in the StreamConfiguration class' header.
|
||||
- Written some more info in PortAudioCpp.hxx (Doxygen).
|
||||
- Added CallbackStream.hxx and CallbackStream.cxx files.
|
||||
+ Refactored StreamConfiguration to remove the duplication which was there. There is now a
|
||||
HalfDuplexStreamConfiguration class. Also made some improvements to these classes while
|
||||
doing the refactoring.
|
||||
+ Moved all code files to source/portaudiocpp/ and changed includes.
|
||||
+ Moved all header files to include/portaudiocpp/ to easy a binary build if needed. The project
|
||||
must be set to have .../include/ as a path to look for includes.
|
||||
+ Refactored the Stream class into a Stream base class and a CallbackStream derived class.
|
||||
- Renamed Stream::usingXyz() to Stream::xyz().
|
||||
- Updated some doxy comments.
|
||||
- Changed ``using namespace portaudio'' in .cxx files to ``namespace portaudio { ... }''.
|
||||
|
||||
PortAudioCpp v19 revision 05 03/04/09:
|
||||
|
||||
mblaauw:
|
||||
- Initial release on the PortAudio mailinglist.
|
||||
|
||||
|
||||
|
370
extern/portaudio-modified/bindings/cpp/INSTALL
vendored
Normal file
370
extern/portaudio-modified/bindings/cpp/INSTALL
vendored
Normal file
|
@ -0,0 +1,370 @@
|
|||
Installation Instructions
|
||||
*************************
|
||||
|
||||
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved. This file is offered as-is,
|
||||
without warranty of any kind.
|
||||
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
Briefly, the shell command `./configure && make && make install'
|
||||
should configure, build, and install this package. The following
|
||||
more-detailed instructions are generic; see the `README' file for
|
||||
instructions specific to this package. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
below. The lack of an optional feature in a given package is not
|
||||
necessarily a bug. More recommendations for GNU packages can be found
|
||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, and a
|
||||
file `config.log' containing compiler output (useful mainly for
|
||||
debugging `configure').
|
||||
|
||||
It can also use an optional file (typically called `config.cache'
|
||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
||||
the results of its tests to speed up reconfiguring. Caching is
|
||||
disabled by default to prevent problems with accidental use of stale
|
||||
cache files.
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If you are using the cache, and at
|
||||
some point `config.cache' contains results you don't want to keep, you
|
||||
may remove or edit it.
|
||||
|
||||
The file `configure.ac' (or `configure.in') is used to create
|
||||
`configure' by a program called `autoconf'. You need `configure.ac' if
|
||||
you want to change it or regenerate `configure' using a newer version
|
||||
of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system.
|
||||
|
||||
Running `configure' might take a while. While running, it prints
|
||||
some messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
the package, generally using the just-built uninstalled binaries.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
documentation. When installing into a prefix owned by root, it is
|
||||
recommended that the package be configured and built as a regular
|
||||
user, and only the `make install' phase executed with root
|
||||
privileges.
|
||||
|
||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
||||
this time using the binaries in their final installed location.
|
||||
This target does not install anything. Running this target as a
|
||||
regular user, particularly if the prior `make install' required
|
||||
root privileges, verifies that the installation completed
|
||||
correctly.
|
||||
|
||||
6. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
also a `make maintainer-clean' target, but that is intended mainly
|
||||
for the package's developers. If you use it, you may have to get
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
7. Often, you can also type `make uninstall' to remove the installed
|
||||
files again. In practice, not all packages have tested that
|
||||
uninstallation works correctly, even though it is required by the
|
||||
GNU Coding Standards.
|
||||
|
||||
8. Some packages, particularly those that use Automake, provide `make
|
||||
distcheck', which can by used by developers to test that all other
|
||||
targets like `make install' and `make uninstall' work correctly.
|
||||
This target is generally not run by end users.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. Run `./configure --help'
|
||||
for details on some of the pertinent environment variables.
|
||||
|
||||
You can give `configure' initial values for configuration parameters
|
||||
by setting variables in the command line or in the environment. Here
|
||||
is an example:
|
||||
|
||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||
|
||||
*Note Defining Variables::, for more details.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you can use GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'. This
|
||||
is known as a "VPATH" build.
|
||||
|
||||
With a non-GNU `make', it is safer to compile the package for one
|
||||
architecture at a time in the source code directory. After you have
|
||||
installed the package for one architecture, use `make distclean' before
|
||||
reconfiguring for another architecture.
|
||||
|
||||
On MacOS X 10.6 and later systems, you can create libraries and
|
||||
executables that work on multiple system types--known as "fat" or
|
||||
"universal" binaries--by specifying multiple `-arch' options to the
|
||||
compiler but only a single `-arch' option to the preprocessor. Like
|
||||
this:
|
||||
|
||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
CPP="gcc -E" CXXCPP="g++ -E"
|
||||
|
||||
This is not guaranteed to produce working output in all cases, you
|
||||
may have to build one architecture at a time and combine the results
|
||||
using the `lipo' tool if you have problems.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' installs the package's commands under
|
||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
||||
can specify an installation prefix other than `/usr/local' by giving
|
||||
`configure' the option `--prefix=PREFIX', where PREFIX must be an
|
||||
absolute file name.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
||||
PREFIX as the prefix for installing programs and libraries.
|
||||
Documentation and other data files still use the regular prefix.
|
||||
|
||||
In addition, if you use an unusual directory layout you can give
|
||||
options like `--bindir=DIR' to specify different values for particular
|
||||
kinds of files. Run `configure --help' for a list of the directories
|
||||
you can set and what kinds of files go in them. In general, the
|
||||
default for these options is expressed in terms of `${prefix}', so that
|
||||
specifying just `--prefix' will affect all of the other directory
|
||||
specifications that were not explicitly provided.
|
||||
|
||||
The most portable way to affect installation locations is to pass the
|
||||
correct locations to `configure'; however, many packages provide one or
|
||||
both of the following shortcuts of passing variable assignments to the
|
||||
`make install' command line to change installation locations without
|
||||
having to reconfigure or recompile.
|
||||
|
||||
The first method involves providing an override variable for each
|
||||
affected directory. For example, `make install
|
||||
prefix=/alternate/directory' will choose an alternate location for all
|
||||
directory configuration variables that were expressed in terms of
|
||||
`${prefix}'. Any directories that were specified during `configure',
|
||||
but not in terms of `${prefix}', must each be overridden at install
|
||||
time for the entire installation to be relocated. The approach of
|
||||
makefile variable overrides for each directory variable is required by
|
||||
the GNU Coding Standards, and ideally causes no recompilation.
|
||||
However, some platforms have known limitations with the semantics of
|
||||
shared libraries that end up requiring recompilation when using this
|
||||
method, particularly noticeable in packages that use GNU Libtool.
|
||||
|
||||
The second method involves providing the `DESTDIR' variable. For
|
||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
||||
`/alternate/directory' before all installation names. The approach of
|
||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||
does not work on platforms that have drive letters. On the other hand,
|
||||
it does better at avoiding recompilation issues, and works well even
|
||||
when some directory options were not specified in terms of `${prefix}'
|
||||
at `configure' time.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Some packages offer the ability to configure how verbose the
|
||||
execution of `make' will be. For these packages, running `./configure
|
||||
--enable-silent-rules' sets the default to minimal output, which can be
|
||||
overridden with `make V=1'; while running `./configure
|
||||
--disable-silent-rules' sets the default to verbose, which can be
|
||||
overridden with `make V=0'.
|
||||
|
||||
Particular systems
|
||||
==================
|
||||
|
||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
|
||||
CC is not installed, it is recommended to use the following options in
|
||||
order to use an ANSI C compiler:
|
||||
|
||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
||||
|
||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||
|
||||
HP-UX `make' updates targets which have the same time stamps as
|
||||
their prerequisites, which makes it generally unusable when shipped
|
||||
generated files such as `configure' are involved. Use GNU `make'
|
||||
instead.
|
||||
|
||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
||||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
|
||||
a workaround. If GNU CC is not installed, it is therefore recommended
|
||||
to try
|
||||
|
||||
./configure CC="cc"
|
||||
|
||||
and if that doesn't work, try
|
||||
|
||||
./configure CC="cc -nodtk"
|
||||
|
||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
||||
directory contains several dysfunctional programs; working variants of
|
||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
||||
in your `PATH', put it _after_ `/usr/bin'.
|
||||
|
||||
On Haiku, software installed for all users goes in `/boot/common',
|
||||
not `/usr/local'. It is recommended to use the following options:
|
||||
|
||||
./configure --prefix=/boot/common
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' cannot figure out
|
||||
automatically, but needs to determine by the type of machine the package
|
||||
will run on. Usually, assuming the package is built to be run on the
|
||||
_same_ architectures, `configure' can figure that out, but if it prints
|
||||
a message saying it cannot guess the machine type, give it the
|
||||
`--build=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name which has the form:
|
||||
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
where SYSTEM can have one of these forms:
|
||||
|
||||
OS
|
||||
KERNEL-OS
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the machine type.
|
||||
|
||||
If you are _building_ compiler tools for cross-compiling, you should
|
||||
use the option `--target=TYPE' to select the type of system they will
|
||||
produce code for.
|
||||
|
||||
If you want to _use_ a cross compiler, that generates code for a
|
||||
platform different from the build platform, you should specify the
|
||||
"host" platform (i.e., that on which the generated programs will
|
||||
eventually be run) with `--host=TYPE'.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Defining Variables
|
||||
==================
|
||||
|
||||
Variables not defined in a site shell script can be set in the
|
||||
environment passed to `configure'. However, some packages may run
|
||||
configure again during the build, and the customized values of these
|
||||
variables may be lost. In order to avoid this problem, you should set
|
||||
them in the `configure' command line, using `VAR=value'. For example:
|
||||
|
||||
./configure CC=/usr/local2/bin/gcc
|
||||
|
||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
||||
overridden in the site shell script).
|
||||
|
||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
||||
an Autoconf limitation. Until the limitation is lifted, you can use
|
||||
this workaround:
|
||||
|
||||
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||
|
||||
`configure' Invocation
|
||||
======================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--help'
|
||||
`-h'
|
||||
Print a summary of all of the options to `configure', and exit.
|
||||
|
||||
`--help=short'
|
||||
`--help=recursive'
|
||||
Print a summary of the options unique to this package's
|
||||
`configure', and exit. The `short' variant lists options used
|
||||
only in the top level, while the `recursive' variant lists options
|
||||
also present in any nested packages.
|
||||
|
||||
`--version'
|
||||
`-V'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Enable the cache: use and save the results of the tests in FILE,
|
||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
||||
disable caching.
|
||||
|
||||
`--config-cache'
|
||||
`-C'
|
||||
Alias for `--cache-file=config.cache'.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made. To
|
||||
suppress all normal output, redirect it to `/dev/null' (any error
|
||||
messages will still be shown).
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--prefix=DIR'
|
||||
Use DIR as the installation prefix. *note Installation Names::
|
||||
for more details, including other options available for fine-tuning
|
||||
the installation locations.
|
||||
|
||||
`--no-create'
|
||||
`-n'
|
||||
Run the configure checks, but stop before creating any output
|
||||
files.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options. Run
|
||||
`configure --help' for more details.
|
7
extern/portaudio-modified/bindings/cpp/Makefile.am
vendored
Normal file
7
extern/portaudio-modified/bindings/cpp/Makefile.am
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
SUBDIRS = lib include bin
|
||||
#doc
|
||||
|
||||
EXTRA_DIST = portaudiocpp.pc
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = portaudiocpp.pc
|
848
extern/portaudio-modified/bindings/cpp/Makefile.in
vendored
Normal file
848
extern/portaudio-modified/bindings/cpp/Makefile.in
vendored
Normal file
|
@ -0,0 +1,848 @@
|
|||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = .
|
||||
DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
|
||||
$(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||
$(top_srcdir)/configure $(am__configure_deps) \
|
||||
$(srcdir)/portaudiocpp.pc.in COPYING \
|
||||
$(top_srcdir)/../../compile $(top_srcdir)/../../config.guess \
|
||||
$(top_srcdir)/../../config.sub $(top_srcdir)/../../install-sh \
|
||||
$(top_srcdir)/../../ltmain.sh $(top_srcdir)/../../missing
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES = portaudiocpp.pc
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
|
||||
DATA = $(pkgconfig_DATA)
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
CSCOPE = cscope
|
||||
DIST_SUBDIRS = $(SUBDIRS)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
if test -d "$(distdir)"; then \
|
||||
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -rf "$(distdir)" \
|
||||
|| { sleep 5 && rm -rf "$(distdir)"; }; \
|
||||
else :; fi
|
||||
am__post_remove_distdir = $(am__remove_distdir)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
DIST_TARGETS = dist-gzip
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_VERSION_INFO = @LT_VERSION_INFO@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SUBDIRS = lib include bin
|
||||
#doc
|
||||
EXTRA_DIST = portaudiocpp.pc
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = portaudiocpp.pc
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
am--refresh: Makefile
|
||||
@:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
|
||||
$(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
$(am__cd) $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
$(am__aclocal_m4_deps):
|
||||
portaudiocpp.pc: $(top_builddir)/config.status $(srcdir)/portaudiocpp.pc.in
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool config.lt
|
||||
install-pkgconfigDATA: $(pkgconfig_DATA)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
|
||||
$(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-pkgconfigDATA:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
# This directory's subdirectories are mostly independent; you can cd
|
||||
# into them and run 'make' without going through this Makefile.
|
||||
# To change the values of 'make' variables: instead of editing Makefiles,
|
||||
# (1) if the variable is set in 'config.status', edit 'config.status'
|
||||
# (which will cause the Makefiles to be regenerated when you run 'make');
|
||||
# (2) otherwise, pass the desired values on the 'make' command line.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
for subdir in $$list; do \
|
||||
echo "Making $$target in $$subdir"; \
|
||||
if test "$$subdir" = "."; then \
|
||||
dot_seen=yes; \
|
||||
local_target="$$target-am"; \
|
||||
else \
|
||||
local_target="$$target"; \
|
||||
fi; \
|
||||
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|
||||
|| eval $$failcom; \
|
||||
done; \
|
||||
if test "$$dot_seen" = "no"; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
|
||||
fi; test -z "$$fail"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
|
||||
include_option=--etags-include; \
|
||||
empty_fix=.; \
|
||||
else \
|
||||
include_option=--include; \
|
||||
empty_fix=; \
|
||||
fi; \
|
||||
list='$(SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
test ! -f $$subdir/TAGS || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscope: cscope.files
|
||||
test ! -s cscope.files \
|
||||
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
|
||||
clean-cscope:
|
||||
-rm -f cscope.files
|
||||
cscope.files: clean-cscope cscopelist
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
|
||||
if test "$$subdir" = .; then :; else \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-test -n "$(am__skip_mode_fix)" \
|
||||
|| find "$(distdir)" -type d ! -perm -755 \
|
||||
-exec chmod u+rwx,go+rx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r "$(distdir)"
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-lzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-xz: distdir
|
||||
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
@echo WARNING: "Support for shar distribution archives is" \
|
||||
"deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
@echo WARNING: "Support for distribution archives compressed with" \
|
||||
"legacy program 'compress' is deprecated." >&2
|
||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
dist dist-all:
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
|
||||
$(am__post_remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.lz*) \
|
||||
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
|
||||
*.tar.xz*) \
|
||||
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir)
|
||||
chmod u+w $(distdir)
|
||||
mkdir $(distdir)/_build $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
test -d $(distdir)/_build || exit 0; \
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& am__cwd=`pwd` \
|
||||
&& $(am__cd) $(distdir)/_build \
|
||||
&& ../configure \
|
||||
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
--srcdir=.. --prefix="$$dc_install_base" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
|
||||
&& cd "$$am__cwd" \
|
||||
|| exit 1
|
||||
$(am__post_remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@test -n '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: trying to run $@ with an empty' \
|
||||
'$$(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
$(am__cd) '$(distuninstallcheck_dir)' || { \
|
||||
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
|
||||
exit 1; \
|
||||
}; \
|
||||
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-recursive
|
||||
all-am: Makefile $(DATA)
|
||||
installdirs: installdirs-recursive
|
||||
installdirs-am:
|
||||
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-recursive
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-recursive
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-recursive
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-libtool \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-pkgconfigDATA
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-recursive
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-recursive
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-pkgconfigDATA
|
||||
|
||||
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||
am--refresh check check-am clean clean-cscope clean-generic \
|
||||
clean-libtool cscope cscopelist-am ctags ctags-am dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
|
||||
dist-xz dist-zip distcheck distclean distclean-generic \
|
||||
distclean-libtool distclean-tags distcleancheck distdir \
|
||||
distuninstallcheck dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-pkgconfigDATA install-ps \
|
||||
install-ps-am install-strip installcheck installcheck-am \
|
||||
installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic \
|
||||
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
||||
uninstall-am uninstall-pkgconfigDATA
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
0
extern/portaudio-modified/bindings/cpp/NEWS
vendored
Normal file
0
extern/portaudio-modified/bindings/cpp/NEWS
vendored
Normal file
0
extern/portaudio-modified/bindings/cpp/README
vendored
Normal file
0
extern/portaudio-modified/bindings/cpp/README
vendored
Normal file
9787
extern/portaudio-modified/bindings/cpp/aclocal.m4
vendored
Normal file
9787
extern/portaudio-modified/bindings/cpp/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
9
extern/portaudio-modified/bindings/cpp/bin/Makefile.am
vendored
Normal file
9
extern/portaudio-modified/bindings/cpp/bin/Makefile.am
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
BINDIR = $(top_srcdir)/example
|
||||
LIBDIR = $(top_builddir)/lib
|
||||
|
||||
noinst_PROGRAMS = devs sine
|
||||
|
||||
LDADD = $(LIBDIR)/libportaudiocpp.la $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
|
||||
devs_SOURCES = $(BINDIR)/devs.cxx
|
||||
sine_SOURCES = $(BINDIR)/sine.cxx
|
618
extern/portaudio-modified/bindings/cpp/bin/Makefile.in
vendored
Normal file
618
extern/portaudio-modified/bindings/cpp/bin/Makefile.in
vendored
Normal file
|
@ -0,0 +1,618 @@
|
|||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
noinst_PROGRAMS = devs$(EXEEXT) sine$(EXEEXT)
|
||||
subdir = bin
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||
$(top_srcdir)/../../depcomp
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
PROGRAMS = $(noinst_PROGRAMS)
|
||||
am_devs_OBJECTS = devs.$(OBJEXT)
|
||||
devs_OBJECTS = $(am_devs_OBJECTS)
|
||||
devs_LDADD = $(LDADD)
|
||||
devs_DEPENDENCIES = $(LIBDIR)/libportaudiocpp.la \
|
||||
$(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
am_sine_OBJECTS = sine.$(OBJEXT)
|
||||
sine_OBJECTS = $(am_sine_OBJECTS)
|
||||
sine_LDADD = $(LDADD)
|
||||
sine_DEPENDENCIES = $(LIBDIR)/libportaudiocpp.la \
|
||||
$(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
||||
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
|
||||
am__v_CXX_0 = @echo " CXX " $@;
|
||||
am__v_CXX_1 =
|
||||
CXXLD = $(CXX)
|
||||
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
||||
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
|
||||
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
|
||||
am__v_CXXLD_0 = @echo " CXXLD " $@;
|
||||
am__v_CXXLD_1 =
|
||||
SOURCES = $(devs_SOURCES) $(sine_SOURCES)
|
||||
DIST_SOURCES = $(devs_SOURCES) $(sine_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_VERSION_INFO = @LT_VERSION_INFO@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
BINDIR = $(top_srcdir)/example
|
||||
LIBDIR = $(top_builddir)/lib
|
||||
LDADD = $(LIBDIR)/libportaudiocpp.la $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
devs_SOURCES = $(BINDIR)/devs.cxx
|
||||
sine_SOURCES = $(BINDIR)/sine.cxx
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .cxx .lo .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bin/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu bin/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-noinstPROGRAMS:
|
||||
@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list || exit $$?; \
|
||||
test -n "$(EXEEXT)" || exit 0; \
|
||||
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list
|
||||
|
||||
devs$(EXEEXT): $(devs_OBJECTS) $(devs_DEPENDENCIES) $(EXTRA_devs_DEPENDENCIES)
|
||||
@rm -f devs$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(devs_OBJECTS) $(devs_LDADD) $(LIBS)
|
||||
|
||||
sine$(EXEEXT): $(sine_OBJECTS) $(sine_DEPENDENCIES) $(EXTRA_sine_DEPENDENCIES)
|
||||
@rm -f sine$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(sine_OBJECTS) $(sine_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/devs.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sine.Po@am__quote@
|
||||
|
||||
.cxx.o:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
|
||||
|
||||
.cxx.obj:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.cxx.lo:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
|
||||
|
||||
devs.o: $(BINDIR)/devs.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT devs.o -MD -MP -MF $(DEPDIR)/devs.Tpo -c -o devs.o `test -f '$(BINDIR)/devs.cxx' || echo '$(srcdir)/'`$(BINDIR)/devs.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/devs.Tpo $(DEPDIR)/devs.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/devs.cxx' object='devs.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o devs.o `test -f '$(BINDIR)/devs.cxx' || echo '$(srcdir)/'`$(BINDIR)/devs.cxx
|
||||
|
||||
devs.obj: $(BINDIR)/devs.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT devs.obj -MD -MP -MF $(DEPDIR)/devs.Tpo -c -o devs.obj `if test -f '$(BINDIR)/devs.cxx'; then $(CYGPATH_W) '$(BINDIR)/devs.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/devs.cxx'; fi`
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/devs.Tpo $(DEPDIR)/devs.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/devs.cxx' object='devs.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o devs.obj `if test -f '$(BINDIR)/devs.cxx'; then $(CYGPATH_W) '$(BINDIR)/devs.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/devs.cxx'; fi`
|
||||
|
||||
sine.o: $(BINDIR)/sine.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sine.o -MD -MP -MF $(DEPDIR)/sine.Tpo -c -o sine.o `test -f '$(BINDIR)/sine.cxx' || echo '$(srcdir)/'`$(BINDIR)/sine.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sine.Tpo $(DEPDIR)/sine.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/sine.cxx' object='sine.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sine.o `test -f '$(BINDIR)/sine.cxx' || echo '$(srcdir)/'`$(BINDIR)/sine.cxx
|
||||
|
||||
sine.obj: $(BINDIR)/sine.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT sine.obj -MD -MP -MF $(DEPDIR)/sine.Tpo -c -o sine.obj `if test -f '$(BINDIR)/sine.cxx'; then $(CYGPATH_W) '$(BINDIR)/sine.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/sine.cxx'; fi`
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/sine.Tpo $(DEPDIR)/sine.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(BINDIR)/sine.cxx' object='sine.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o sine.obj `if test -f '$(BINDIR)/sine.cxx'; then $(CYGPATH_W) '$(BINDIR)/sine.cxx'; else $(CYGPATH_W) '$(srcdir)/$(BINDIR)/sine.cxx'; fi`
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(PROGRAMS)
|
||||
installdirs:
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
|
||||
ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
5
extern/portaudio-modified/bindings/cpp/cmake/PortAudioCppConfig.cmake.in
vendored
Normal file
5
extern/portaudio-modified/bindings/cpp/cmake/PortAudioCppConfig.cmake.in
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/PortAudioCppTargets.cmake")
|
||||
|
||||
check_required_components(PortAudioCpp)
|
81
extern/portaudio-modified/bindings/cpp/cmake/modules/FindASIO.cmake
vendored
Normal file
81
extern/portaudio-modified/bindings/cpp/cmake/modules/FindASIO.cmake
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
#[=======================================================================[.rst:
|
||||
FindASIO
|
||||
--------
|
||||
|
||||
Finds the ASIO SDK by searching for the SDK ZIP in CMAKE_PREFIX_PATH and
|
||||
CMAKE_CURRENT_BINARY_DIR. Alternatively, you may manually specify the path of
|
||||
the SDK ZIP with the ASIO_SDK_ZIP_PATH variable, which can be used for caching
|
||||
in CI scripts.
|
||||
|
||||
If the ZIP is found, this module extracts it.
|
||||
The ZIP extraction is skipped if the unzipped SDK is found.
|
||||
|
||||
This module provides an `ASIO::host` IMPORT library target for building host
|
||||
applications which use ASIO drivers. If you want to build an ASIO driver, this
|
||||
module may serve as a useful start but you will need to modify it.
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
if(NOT WIN32)
|
||||
message(WARNING "ASIO is only supported on Windows.")
|
||||
set(ASIO_FOUND OFF)
|
||||
return()
|
||||
endif()
|
||||
|
||||
file(GLOB HEADER_FILE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/asiosdk*/common/asio.h"
|
||||
"${CMAKE_PREFIX_PATH}/asiosdk*/common/asio.h"
|
||||
# The old build systems before PortAudio 19.8 used to look for the ASIO SDK
|
||||
# in the same parent directory as the source code repository. This is no
|
||||
# longer advised or documented but kept for backwards compatibility.
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../asiosdk*/common/asio.h"
|
||||
)
|
||||
if(NOT EXISTS "${HEADER_FILE}")
|
||||
# The file(ARCHIVE_EXTRACT) command was added in CMake 3.18, so if using an
|
||||
# older version of CMake, the user needs to extract it themselves.
|
||||
if(CMAKE_VERSION VERSION_LESS 3.18)
|
||||
message(STATUS "ASIO SDK NOT found. Download the ASIO SDK ZIP from "
|
||||
"https://www.steinberg.net/asiosdk and extract it to "
|
||||
"${CMAKE_PREFIX_PATH} or ${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
file(GLOB results
|
||||
"${ASIO_SDK_ZIP_PATH}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/asiosdk*.zip"
|
||||
"${CMAKE_PREFIX_PATH}/asiosdk*.zip"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../asiosdk*.zip"
|
||||
)
|
||||
foreach(f ${results})
|
||||
if(EXISTS "${f}")
|
||||
message(STATUS "Extracting ASIO SDK ZIP archive: ${f}")
|
||||
file(ARCHIVE_EXTRACT INPUT "${f}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
endif()
|
||||
endforeach()
|
||||
file(GLOB HEADER_FILE "${CMAKE_CURRENT_BINARY_DIR}/asiosdk*/common/asio.h")
|
||||
endif()
|
||||
|
||||
get_filename_component(HEADER_DIR "${HEADER_FILE}" DIRECTORY)
|
||||
get_filename_component(ASIO_ROOT "${HEADER_DIR}" DIRECTORY)
|
||||
|
||||
if(ASIO_ROOT)
|
||||
set(ASIO_FOUND TRUE)
|
||||
message(STATUS "Found ASIO SDK: ${ASIO_ROOT}")
|
||||
|
||||
if(ASIO_FOUND AND NOT TARGET ASIO::host)
|
||||
add_library(ASIO::host INTERFACE IMPORTED)
|
||||
target_sources(ASIO::host INTERFACE
|
||||
"${ASIO_ROOT}/common/asio.cpp"
|
||||
"${ASIO_ROOT}/host/asiodrivers.cpp"
|
||||
"${ASIO_ROOT}/host/pc/asiolist.cpp"
|
||||
)
|
||||
target_include_directories(ASIO::host INTERFACE
|
||||
"${ASIO_ROOT}/common"
|
||||
"${ASIO_ROOT}/host"
|
||||
"${ASIO_ROOT}/host/pc"
|
||||
)
|
||||
target_link_libraries(ASIO::host INTERFACE ole32 uuid)
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "ASIO SDK NOT found")
|
||||
endif()
|
39
extern/portaudio-modified/bindings/cpp/cmake/modules/FindPortAudio.cmake
vendored
Normal file
39
extern/portaudio-modified/bindings/cpp/cmake/modules/FindPortAudio.cmake
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
|
||||
macro(handle_default)
|
||||
|
||||
endmacro()
|
||||
|
||||
if(TARGET PortAudio::portaudio)
|
||||
# nothing to do
|
||||
return()
|
||||
endif()
|
||||
# search for portaudio as cmake module
|
||||
find_package(PortAudio CONFIG QUIET)
|
||||
if(PortAudio_FOUND)
|
||||
if(TARGET PortAudio::portaudio)
|
||||
return()
|
||||
elseif(TARGET portaudio)
|
||||
# vcpkg and old portaudio installations do not provide the same targets
|
||||
add_library(PortAudio::portaudio ALIAS portaudio)
|
||||
return()
|
||||
else()
|
||||
message(FATAL_ERROR "PortAudio_FOUND but not target PortAudio::portaudio")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# search for portaudio via pkg-config
|
||||
|
||||
message(STATUS "portaudio could not be found via cmake, specify PortAudio_DIR.\n Searching for it via pkg-config")
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(portaudio REQUIRED QUIET IMPORTED_TARGET GLOBAL portaudio-2.0)
|
||||
add_library(PortAudio::portaudio ALIAS PkgConfig::portaudio)
|
||||
return()
|
||||
|
||||
# include(FindPackageHandleStandardArgs)
|
||||
# find_package_handle_standard_args(Foo
|
||||
# FOUND_VAR Foo_FOUND
|
||||
# REQUIRED_VARS
|
||||
# Foo_LIBRARY
|
||||
# Foo_INCLUDE_DIR
|
||||
# VERSION_VAR Foo_VERSION
|
||||
# )
|
12
extern/portaudio-modified/bindings/cpp/cmake/portaudiocpp.pc.in
vendored
Normal file
12
extern/portaudio-modified/bindings/cpp/cmake/portaudiocpp.pc.in
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
prefix=@PC_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: PortAudioCpp
|
||||
Description: Portable audio I/O C++ bindings
|
||||
Version: 12
|
||||
Requires: portaudio-2.0
|
||||
|
||||
Libs: -L${libdir} -lportaudiocpp
|
||||
Cflags: -I${includedir}
|
17918
extern/portaudio-modified/bindings/cpp/configure
vendored
Executable file
17918
extern/portaudio-modified/bindings/cpp/configure
vendored
Executable file
File diff suppressed because it is too large
Load diff
54
extern/portaudio-modified/bindings/cpp/configure.ac
vendored
Normal file
54
extern/portaudio-modified/bindings/cpp/configure.ac
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
#
|
||||
# PortAudioCpp V19 autoconf input file
|
||||
# Shamelessly ripped from the PortAudio one by Dominic Mazzoni
|
||||
# Ludwig Schwardt
|
||||
# Customized for automake by Mikael Magnusson
|
||||
#
|
||||
|
||||
# Require autoconf >= 2.13
|
||||
AC_PREREQ(2.13)
|
||||
|
||||
m4_define([lt_current], [0])
|
||||
m4_define([lt_revision], [12])
|
||||
m4_define([lt_age], [0])
|
||||
|
||||
AC_INIT([PortAudioCpp], [12])
|
||||
AC_CONFIG_SRCDIR([include/portaudiocpp/PortAudioCpp.hxx])
|
||||
AM_INIT_AUTOMAKE
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
###### Top-level directory of pacpp
|
||||
###### This makes it easy to shuffle the build directories
|
||||
###### Also edit AC_CONFIG_SRCDIR above (wouldn't accept this variable)!
|
||||
PACPP_ROOT="\$(top_srcdir)"
|
||||
PORTAUDIO_ROOT="../.."
|
||||
|
||||
# Various other variables and flags
|
||||
DEFAULT_INCLUDES="-I$PACPP_ROOT/include -I$PACPP_ROOT/$PORTAUDIO_ROOT/include"
|
||||
CFLAGS=${CFLAGS-"-g -O2 -Wall -ansi -pedantic"}
|
||||
CXXFLAGS=${CXXFLAGS-"${CFLAGS}"}
|
||||
|
||||
LT_VERSION_INFO="lt_current:lt_revision:lt_age"
|
||||
|
||||
# Checks for programs
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
# Transfer these variables to the Makefile
|
||||
AC_SUBST(DEFAULT_INCLUDES)
|
||||
AC_SUBST(PORTAUDIO_ROOT)
|
||||
AC_SUBST(CXXFLAGS)
|
||||
AC_SUBST(LT_VERSION_INFO)
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
lib/Makefile
|
||||
include/Makefile
|
||||
bin/Makefile
|
||||
doc/Makefile
|
||||
portaudiocpp.pc
|
||||
])
|
||||
AC_OUTPUT
|
5
extern/portaudio-modified/bindings/cpp/doc/Makefile.am
vendored
Normal file
5
extern/portaudio-modified/bindings/cpp/doc/Makefile.am
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
PACPP_ROOT = .
|
||||
#INCLUDES = -I$(srcdir)/$(PACPP_ROOT)/include -I$(top_srcdir)/include
|
||||
|
||||
docs:
|
||||
doxygen $(srcdir)/config.doxy.linux
|
432
extern/portaudio-modified/bindings/cpp/doc/Makefile.in
vendored
Normal file
432
extern/portaudio-modified/bindings/cpp/doc/Makefile.in
vendored
Normal file
|
@ -0,0 +1,432 @@
|
|||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = doc
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_VERSION_INFO = @LT_VERSION_INFO@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
PACPP_ROOT = .
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu doc/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
tags TAGS:
|
||||
|
||||
ctags CTAGS:
|
||||
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile
|
||||
installdirs:
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
|
||||
cscopelist-am ctags-am distclean distclean-generic \
|
||||
distclean-libtool distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags-am uninstall uninstall-am
|
||||
|
||||
#INCLUDES = -I$(srcdir)/$(PACPP_ROOT)/include -I$(top_srcdir)/include
|
||||
|
||||
docs:
|
||||
doxygen $(srcdir)/config.doxy.linux
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
34
extern/portaudio-modified/bindings/cpp/doc/README
vendored
Normal file
34
extern/portaudio-modified/bindings/cpp/doc/README
vendored
Normal file
|
@ -0,0 +1,34 @@
|
|||
GNU/Linux:
|
||||
----------
|
||||
|
||||
1) Download and install a recent version of Doxygen (preferably version 1.3.3 or
|
||||
later). See http://www.doxygen.org/.
|
||||
2) Download and install a recent version of GraphViz. See
|
||||
http://www.research.att.com/sw/tools/graphviz/.
|
||||
3) Run ``doxygen config.doxy.linux'' in this directory or load and generate the file
|
||||
config.doxy.linux from the Doxywizard application. Or alternatively ``make docs'' can
|
||||
be run from the build/gnu folder.
|
||||
|
||||
The generated html documentation will be placed in /doc/api_reference/. To open
|
||||
the main page of the documentation, open the file /doc/api_reference/index.html in
|
||||
an html browser.
|
||||
|
||||
|
||||
Windows:
|
||||
--------
|
||||
|
||||
1) Download and install a recent Doxygen (preferably version 1.3.4 or later). See
|
||||
http://www.doxygen.org/.
|
||||
2) Download and install a recent version of GraphViz. See
|
||||
http://www.research.att.com/sw/tools/graphviz/.
|
||||
3) If needed, edit the config.doxy file in an ascii text editor so that
|
||||
``DOT_PATH'' variable points to the folder where GraphViz is installed.
|
||||
4) Run ``doxygen config.doxy'' in this directory or load and generate the file
|
||||
config.doxy from the Doxywizard application.
|
||||
|
||||
The generated html documentation will be placed in /doc/api_reference/. To open
|
||||
the main page of the documentation, open the file /doc/api_reference/index.html in
|
||||
an html browser.
|
||||
|
||||
|
||||
|
211
extern/portaudio-modified/bindings/cpp/doc/config.doxy
vendored
Normal file
211
extern/portaudio-modified/bindings/cpp/doc/config.doxy
vendored
Normal file
|
@ -0,0 +1,211 @@
|
|||
# Doxyfile 1.3.6
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = PortAudioCpp
|
||||
PROJECT_NUMBER = 2.0
|
||||
OUTPUT_DIRECTORY = ./
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = YES
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ABBREVIATE_BRIEF =
|
||||
ALWAYS_DETAILED_SEC = YES
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
SHORT_NAMES = YES
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = YES
|
||||
INHERIT_DOCS = YES
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
TAB_SIZE = 4
|
||||
ALIASES =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Build related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = NO
|
||||
SORT_BRIEF_DOCS = NO
|
||||
SORT_BY_SCOPE_NAME = NO
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
SHOW_USED_FILES = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../source \
|
||||
../include
|
||||
FILE_PATTERNS = *.hxx \
|
||||
*.cxx
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = NO
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 2
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = api_reference
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
XML_PROGRAMLISTING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = YES
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
UML_LOOK = YES
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH = "c:/Program Files/ATT/Graphviz/bin/"
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
210
extern/portaudio-modified/bindings/cpp/doc/config.doxy.linux
vendored
Normal file
210
extern/portaudio-modified/bindings/cpp/doc/config.doxy.linux
vendored
Normal file
|
@ -0,0 +1,210 @@
|
|||
# Doxyfile 1.3.3
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# General configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
PROJECT_NAME = PortAudioCpp
|
||||
PROJECT_NUMBER = 2.0
|
||||
OUTPUT_DIRECTORY = ./
|
||||
OUTPUT_LANGUAGE = English
|
||||
USE_WINDOWS_ENCODING = YES
|
||||
EXTRACT_ALL = YES
|
||||
EXTRACT_PRIVATE = YES
|
||||
EXTRACT_STATIC = YES
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
HIDE_IN_BODY_DOCS = NO
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
REPEAT_BRIEF = YES
|
||||
ALWAYS_DETAILED_SEC = YES
|
||||
INLINE_INHERITED_MEMB = NO
|
||||
FULL_PATH_NAMES = NO
|
||||
STRIP_FROM_PATH =
|
||||
INTERNAL_DOCS = NO
|
||||
CASE_SENSE_NAMES = YES
|
||||
SHORT_NAMES = YES
|
||||
HIDE_SCOPE_NAMES = NO
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
DETAILS_AT_TOP = YES
|
||||
INHERIT_DOCS = YES
|
||||
INLINE_INFO = YES
|
||||
SORT_MEMBER_DOCS = NO
|
||||
DISTRIBUTE_GROUP_DOC = NO
|
||||
TAB_SIZE = 4
|
||||
GENERATE_TODOLIST = YES
|
||||
GENERATE_TESTLIST = YES
|
||||
GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
ALIASES =
|
||||
ENABLED_SECTIONS =
|
||||
MAX_INITIALIZER_LINES = 30
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
SHOW_USED_FILES = YES
|
||||
SUBGROUPING = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to warning and progress messages
|
||||
#---------------------------------------------------------------------------
|
||||
QUIET = NO
|
||||
WARNINGS = YES
|
||||
WARN_IF_UNDOCUMENTED = YES
|
||||
WARN_IF_DOC_ERROR = YES
|
||||
WARN_FORMAT = "$file:$line: $text"
|
||||
WARN_LOGFILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = ../source \
|
||||
../include
|
||||
FILE_PATTERNS = *.hxx \
|
||||
*.cxx
|
||||
RECURSIVE = YES
|
||||
EXCLUDE =
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS =
|
||||
EXAMPLE_PATH =
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_RECURSIVE = NO
|
||||
IMAGE_PATH =
|
||||
INPUT_FILTER =
|
||||
FILTER_SOURCE_FILES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to source browsing
|
||||
#---------------------------------------------------------------------------
|
||||
SOURCE_BROWSER = NO
|
||||
INLINE_SOURCES = NO
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
REFERENCED_BY_RELATION = YES
|
||||
REFERENCES_RELATION = YES
|
||||
VERBATIM_HEADERS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
#---------------------------------------------------------------------------
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 2
|
||||
IGNORE_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the HTML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = api_reference
|
||||
HTML_FILE_EXTENSION = .html
|
||||
HTML_HEADER =
|
||||
HTML_FOOTER =
|
||||
HTML_STYLESHEET =
|
||||
HTML_ALIGN_MEMBERS = YES
|
||||
GENERATE_HTMLHELP = NO
|
||||
CHM_FILE =
|
||||
HHC_LOCATION =
|
||||
GENERATE_CHI = NO
|
||||
BINARY_TOC = NO
|
||||
TOC_EXPAND = NO
|
||||
DISABLE_INDEX = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
GENERATE_TREEVIEW = NO
|
||||
TREEVIEW_WIDTH = 250
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
LATEX_CMD_NAME = latex
|
||||
MAKEINDEX_CMD_NAME = makeindex
|
||||
COMPACT_LATEX = NO
|
||||
PAPER_TYPE = a4wide
|
||||
EXTRA_PACKAGES =
|
||||
LATEX_HEADER =
|
||||
PDF_HYPERLINKS = NO
|
||||
USE_PDFLATEX = NO
|
||||
LATEX_BATCHMODE = NO
|
||||
LATEX_HIDE_INDICES = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_RTF = NO
|
||||
RTF_OUTPUT = rtf
|
||||
COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
RTF_STYLESHEET_FILE =
|
||||
RTF_EXTENSIONS_FILE =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the man page output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_MAN = NO
|
||||
MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_LINKS = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the XML output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_XML = NO
|
||||
XML_OUTPUT = xml
|
||||
XML_SCHEMA =
|
||||
XML_DTD =
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options for the AutoGen Definitions output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_AUTOGEN_DEF = NO
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the Perl module output
|
||||
#---------------------------------------------------------------------------
|
||||
GENERATE_PERLMOD = NO
|
||||
PERLMOD_LATEX = NO
|
||||
PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
ENABLE_PREPROCESSING = YES
|
||||
MACRO_EXPANSION = NO
|
||||
EXPAND_ONLY_PREDEF = NO
|
||||
SEARCH_INCLUDES = YES
|
||||
INCLUDE_PATH =
|
||||
INCLUDE_FILE_PATTERNS =
|
||||
PREDEFINED =
|
||||
EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
TAGFILES =
|
||||
GENERATE_TAGFILE =
|
||||
ALLEXTERNALS = NO
|
||||
EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
CLASS_DIAGRAMS = YES
|
||||
HIDE_UNDOC_RELATIONS = YES
|
||||
HAVE_DOT = YES
|
||||
CLASS_GRAPH = YES
|
||||
COLLABORATION_GRAPH = YES
|
||||
UML_LOOK = YES
|
||||
TEMPLATE_RELATIONS = YES
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
CALL_GRAPH = NO
|
||||
GRAPHICAL_HIERARCHY = YES
|
||||
DOT_IMAGE_FORMAT = png
|
||||
DOT_PATH = "/usr/bin/dot"
|
||||
DOTFILE_DIRS =
|
||||
MAX_DOT_GRAPH_WIDTH = 1024
|
||||
MAX_DOT_GRAPH_HEIGHT = 1024
|
||||
MAX_DOT_GRAPH_DEPTH = 0
|
||||
GENERATE_LEGEND = YES
|
||||
DOT_CLEANUP = YES
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::addtions related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
SEARCHENGINE = NO
|
||||
CGI_NAME = search.cgi
|
||||
CGI_URL =
|
||||
DOC_URL =
|
||||
DOC_ABSPATH =
|
||||
BIN_ABSPATH = /usr/local/bin/
|
||||
EXT_DOC_PATHS =
|
177
extern/portaudio-modified/bindings/cpp/example/devs.cxx
vendored
Normal file
177
extern/portaudio-modified/bindings/cpp/example/devs.cxx
vendored
Normal file
|
@ -0,0 +1,177 @@
|
|||
#include <iostream>
|
||||
#include "portaudiocpp/PortAudioCpp.hxx"
|
||||
|
||||
#ifdef WIN32
|
||||
#include "portaudiocpp/AsioDeviceAdapter.hxx"
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
void printSupportedStandardSampleRates(
|
||||
const portaudio::DirectionSpecificStreamParameters &inputParameters,
|
||||
const portaudio::DirectionSpecificStreamParameters &outputParameters)
|
||||
{
|
||||
static double STANDARD_SAMPLE_RATES[] = {
|
||||
8000.0, 9600.0, 11025.0, 12000.0, 16000.0, 22050.0, 24000.0, 32000.0,
|
||||
44100.0, 48000.0, 88200.0, 96000.0, -1 }; // negative terminated list
|
||||
|
||||
int printCount = 0;
|
||||
|
||||
for (int i = 0; STANDARD_SAMPLE_RATES[i] > 0; ++i)
|
||||
{
|
||||
portaudio::StreamParameters tmp = portaudio::StreamParameters(inputParameters, outputParameters, STANDARD_SAMPLE_RATES[i], 0, paNoFlag);
|
||||
|
||||
if (tmp.isSupported())
|
||||
{
|
||||
if (printCount == 0)
|
||||
{
|
||||
std::cout << " " << STANDARD_SAMPLE_RATES[i]; // 8.2
|
||||
printCount = 1;
|
||||
}
|
||||
else if (printCount == 4)
|
||||
{
|
||||
std::cout << "," << std::endl;
|
||||
std::cout << " " << STANDARD_SAMPLE_RATES[i]; // 8.2
|
||||
printCount = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << ", " << STANDARD_SAMPLE_RATES[i]; // 8.2
|
||||
++printCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (printCount == 0)
|
||||
std::cout << "None" << std::endl;
|
||||
else
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
int main(int, char*[]);
|
||||
int main(int, char*[])
|
||||
{
|
||||
try
|
||||
{
|
||||
portaudio::AutoSystem autoSys;
|
||||
|
||||
portaudio::System &sys = portaudio::System::instance();
|
||||
|
||||
std::cout << "PortAudio version number = " << sys.version() << std::endl;
|
||||
std::cout << "PortAudio version text = '" << sys.versionText() << "'" << std::endl;
|
||||
|
||||
int numDevices = sys.deviceCount();
|
||||
std::cout << "Number of devices = " << numDevices << std::endl;
|
||||
|
||||
for (portaudio::System::DeviceIterator i = sys.devicesBegin(); i != sys.devicesEnd(); ++i)
|
||||
{
|
||||
std::cout << "--------------------------------------- device #" << (*i).index() << std::endl;
|
||||
|
||||
// Mark global and API specific default devices:
|
||||
bool defaultDisplayed = false;
|
||||
|
||||
if ((*i).isSystemDefaultInputDevice())
|
||||
{
|
||||
std::cout << "[ Default Input";
|
||||
defaultDisplayed = true;
|
||||
}
|
||||
else if ((*i).isHostApiDefaultInputDevice())
|
||||
{
|
||||
std::cout << "[ Default " << (*i).hostApi().name() << " Input";
|
||||
defaultDisplayed = true;
|
||||
}
|
||||
|
||||
if ((*i).isSystemDefaultOutputDevice())
|
||||
{
|
||||
std::cout << (defaultDisplayed ? "," : "[");
|
||||
std::cout << " Default Output";
|
||||
defaultDisplayed = true;
|
||||
}
|
||||
else if ((*i).isHostApiDefaultOutputDevice())
|
||||
{
|
||||
std::cout << (defaultDisplayed ? "," : "[");
|
||||
std::cout << " Default " << (*i).hostApi().name() << " Output";
|
||||
defaultDisplayed = true;
|
||||
}
|
||||
|
||||
if (defaultDisplayed)
|
||||
std::cout << " ]" << std::endl;
|
||||
|
||||
// Print device info:
|
||||
std::cout << "Name = " << (*i).name() << std::endl;
|
||||
std::cout << "Host API = " << (*i).hostApi().name() << std::endl;
|
||||
std::cout << "Max inputs = " << (*i).maxInputChannels() << ", Max outputs = " << (*i).maxOutputChannels() << std::endl;
|
||||
|
||||
std::cout << "Default low input latency = " << (*i).defaultLowInputLatency() << std::endl; // 8.3
|
||||
std::cout << "Default low output latency = " << (*i).defaultLowOutputLatency() << std::endl; // 8.3
|
||||
std::cout << "Default high input latency = " << (*i).defaultHighInputLatency() << std::endl; // 8.3
|
||||
std::cout << "Default high output latency = " << (*i).defaultHighOutputLatency() << std::endl; // 8.3
|
||||
|
||||
#ifdef WIN32
|
||||
// ASIO specific latency information:
|
||||
if ((*i).hostApi().typeId() == paASIO)
|
||||
{
|
||||
portaudio::AsioDeviceAdapter asioDevice((*i));
|
||||
|
||||
std::cout << "ASIO minimum buffer size = " << asioDevice.minBufferSize() << std::endl;
|
||||
std::cout << "ASIO maximum buffer size = " << asioDevice.maxBufferSize() << std::endl;
|
||||
std::cout << "ASIO preferred buffer size = " << asioDevice.preferredBufferSize() << std::endl;
|
||||
|
||||
if (asioDevice.granularity() == -1)
|
||||
std::cout << "ASIO buffer granularity = power of 2" << std::endl;
|
||||
else
|
||||
std::cout << "ASIO buffer granularity = " << asioDevice.granularity() << std::endl;
|
||||
}
|
||||
#endif // WIN32
|
||||
|
||||
std::cout << "Default sample rate = " << (*i).defaultSampleRate() << std::endl; // 8.2
|
||||
|
||||
// Poll for standard sample rates:
|
||||
portaudio::DirectionSpecificStreamParameters inputParameters((*i), (*i).maxInputChannels(), portaudio::INT16, true, 0.0, NULL);
|
||||
portaudio::DirectionSpecificStreamParameters outputParameters((*i), (*i).maxOutputChannels(), portaudio::INT16, true, 0.0, NULL);
|
||||
|
||||
if (inputParameters.numChannels() > 0)
|
||||
{
|
||||
std::cout << "Supported standard sample rates" << std::endl;
|
||||
std::cout << " for half-duplex 16 bit " << inputParameters.numChannels() << " channel input = " << std::endl;
|
||||
printSupportedStandardSampleRates(inputParameters, portaudio::DirectionSpecificStreamParameters::null());
|
||||
}
|
||||
|
||||
if (outputParameters.numChannels() > 0)
|
||||
{
|
||||
std::cout << "Supported standard sample rates" << std::endl;
|
||||
std::cout << " for half-duplex 16 bit " << outputParameters.numChannels() << " channel output = " << std::endl;
|
||||
printSupportedStandardSampleRates(portaudio::DirectionSpecificStreamParameters::null(), outputParameters);
|
||||
}
|
||||
|
||||
if (inputParameters.numChannels() > 0 && outputParameters.numChannels() > 0)
|
||||
{
|
||||
std::cout << "Supported standard sample rates" << std::endl;
|
||||
std::cout << " for full-duplex 16 bit " << inputParameters.numChannels() << " channel input, " << outputParameters.numChannels() << " channel output = " << std::endl;
|
||||
printSupportedStandardSampleRates(inputParameters, outputParameters);
|
||||
}
|
||||
}
|
||||
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
}
|
||||
catch (const portaudio::PaException &e)
|
||||
{
|
||||
std::cout << "A PortAudio error occurred: " << e.paErrorText() << std::endl;
|
||||
}
|
||||
catch (const portaudio::PaCppException &e)
|
||||
{
|
||||
std::cout << "A PortAudioCpp error occurred: " << e.what() << std::endl;
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
std::cout << "A generic exception occurred: " << e.what() << std::endl;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
std::cout << "An unknown exception occurred." << std::endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
135
extern/portaudio-modified/bindings/cpp/example/sine.cxx
vendored
Normal file
135
extern/portaudio-modified/bindings/cpp/example/sine.cxx
vendored
Normal file
|
@ -0,0 +1,135 @@
|
|||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include <iostream>
|
||||
#include <cmath>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
#include "portaudiocpp/PortAudioCpp.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Some constants:
|
||||
const int NUM_SECONDS = 5;
|
||||
const double SAMPLE_RATE = 44100.0;
|
||||
const int FRAMES_PER_BUFFER = 64;
|
||||
const int TABLE_SIZE = 200;
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// SineGenerator class:
|
||||
class SineGenerator
|
||||
{
|
||||
public:
|
||||
SineGenerator(int tableSize) : tableSize_(tableSize), leftPhase_(0), rightPhase_(0)
|
||||
{
|
||||
const double PI = 3.14159265;
|
||||
table_ = new float[tableSize];
|
||||
for (int i = 0; i < tableSize; ++i)
|
||||
{
|
||||
table_[i] = 0.125f * (float)sin(((double)i/(double)tableSize)*PI*2.);
|
||||
}
|
||||
}
|
||||
|
||||
~SineGenerator()
|
||||
{
|
||||
delete[] table_;
|
||||
}
|
||||
|
||||
int generate(const void *inputBuffer, void *outputBuffer, unsigned long framesPerBuffer,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags)
|
||||
{
|
||||
assert(outputBuffer != NULL);
|
||||
|
||||
float **out = static_cast<float **>(outputBuffer);
|
||||
|
||||
for (unsigned int i = 0; i < framesPerBuffer; ++i)
|
||||
{
|
||||
out[0][i] = table_[leftPhase_];
|
||||
out[1][i] = table_[rightPhase_];
|
||||
|
||||
leftPhase_ += 1;
|
||||
if (leftPhase_ >= tableSize_)
|
||||
leftPhase_ -= tableSize_;
|
||||
|
||||
rightPhase_ += 3;
|
||||
if (rightPhase_ >= tableSize_)
|
||||
rightPhase_ -= tableSize_;
|
||||
}
|
||||
|
||||
return paContinue;
|
||||
}
|
||||
|
||||
private:
|
||||
float *table_;
|
||||
int tableSize_;
|
||||
int leftPhase_;
|
||||
int rightPhase_;
|
||||
};
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// main:
|
||||
int main(int, char *[]);
|
||||
int main(int, char *[])
|
||||
{
|
||||
try
|
||||
{
|
||||
// Create a SineGenerator object:
|
||||
SineGenerator sineGenerator(TABLE_SIZE);
|
||||
|
||||
std::cout << "Setting up PortAudio..." << std::endl;
|
||||
|
||||
// Set up the System:
|
||||
portaudio::AutoSystem autoSys;
|
||||
portaudio::System &sys = portaudio::System::instance();
|
||||
|
||||
// Set up the parameters required to open a (Callback)Stream:
|
||||
portaudio::DirectionSpecificStreamParameters outParams(sys.defaultOutputDevice(), 2, portaudio::FLOAT32, false, sys.defaultOutputDevice().defaultLowOutputLatency(), NULL);
|
||||
portaudio::StreamParameters params(portaudio::DirectionSpecificStreamParameters::null(), outParams, SAMPLE_RATE, FRAMES_PER_BUFFER, paClipOff);
|
||||
|
||||
std::cout << "Opening stereo output stream..." << std::endl;
|
||||
|
||||
// Create (and open) a new Stream, using the SineGenerator::generate function as a callback:
|
||||
portaudio::MemFunCallbackStream<SineGenerator> stream(params, sineGenerator, &SineGenerator::generate);
|
||||
|
||||
std::cout << "Starting playback for " << NUM_SECONDS << " seconds." << std::endl;
|
||||
|
||||
// Start the Stream (audio playback starts):
|
||||
stream.start();
|
||||
|
||||
// Wait for 5 seconds:
|
||||
sys.sleep(NUM_SECONDS * 1000);
|
||||
|
||||
std::cout << "Closing stream..." <<std::endl;
|
||||
|
||||
// Stop the Stream (not strictly needed as termintating the System will also stop all open Streams):
|
||||
stream.stop();
|
||||
|
||||
// Close the Stream (not strictly needed as terminating the System will also close all open Streams):
|
||||
stream.close();
|
||||
|
||||
// Terminate the System (not strictly needed as the AutoSystem will also take care of this when it
|
||||
// goes out of scope):
|
||||
sys.terminate();
|
||||
|
||||
std::cout << "Test finished." << std::endl;
|
||||
}
|
||||
catch (const portaudio::PaException &e)
|
||||
{
|
||||
std::cout << "A PortAudio error occurred: " << e.paErrorText() << std::endl;
|
||||
}
|
||||
catch (const portaudio::PaCppException &e)
|
||||
{
|
||||
std::cout << "A PortAudioCpp error occurred: " << e.what() << std::endl;
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
std::cout << "A generic exception occurred: " << e.what() << std::endl;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
std::cout << "An unknown exception occurred." << std::endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
22
extern/portaudio-modified/bindings/cpp/include/Makefile.am
vendored
Normal file
22
extern/portaudio-modified/bindings/cpp/include/Makefile.am
vendored
Normal file
|
@ -0,0 +1,22 @@
|
|||
pkginclude_HEADERS = \
|
||||
portaudiocpp/AutoSystem.hxx \
|
||||
portaudiocpp/BlockingStream.hxx \
|
||||
portaudiocpp/CallbackInterface.hxx \
|
||||
portaudiocpp/CallbackStream.hxx \
|
||||
portaudiocpp/CFunCallbackStream.hxx \
|
||||
portaudiocpp/CppFunCallbackStream.hxx \
|
||||
portaudiocpp/Device.hxx \
|
||||
portaudiocpp/DirectionSpecificStreamParameters.hxx \
|
||||
portaudiocpp/Exception.hxx \
|
||||
portaudiocpp/HostApi.hxx \
|
||||
portaudiocpp/InterfaceCallbackStream.hxx \
|
||||
portaudiocpp/MemFunCallbackStream.hxx \
|
||||
portaudiocpp/PortAudioCpp.hxx \
|
||||
portaudiocpp/SampleDataFormat.hxx \
|
||||
portaudiocpp/Stream.hxx \
|
||||
portaudiocpp/StreamParameters.hxx \
|
||||
portaudiocpp/SystemDeviceIterator.hxx \
|
||||
portaudiocpp/SystemHostApiIterator.hxx \
|
||||
portaudiocpp/System.hxx
|
||||
|
||||
# portaudiocpp/AsioDeviceAdapter.hxx
|
571
extern/portaudio-modified/bindings/cpp/include/Makefile.in
vendored
Normal file
571
extern/portaudio-modified/bindings/cpp/include/Makefile.in
vendored
Normal file
|
@ -0,0 +1,571 @@
|
|||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = include
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||
$(pkginclude_HEADERS)
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(pkgincludedir)"
|
||||
HEADERS = $(pkginclude_HEADERS)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_VERSION_INFO = @LT_VERSION_INFO@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
pkginclude_HEADERS = \
|
||||
portaudiocpp/AutoSystem.hxx \
|
||||
portaudiocpp/BlockingStream.hxx \
|
||||
portaudiocpp/CallbackInterface.hxx \
|
||||
portaudiocpp/CallbackStream.hxx \
|
||||
portaudiocpp/CFunCallbackStream.hxx \
|
||||
portaudiocpp/CppFunCallbackStream.hxx \
|
||||
portaudiocpp/Device.hxx \
|
||||
portaudiocpp/DirectionSpecificStreamParameters.hxx \
|
||||
portaudiocpp/Exception.hxx \
|
||||
portaudiocpp/HostApi.hxx \
|
||||
portaudiocpp/InterfaceCallbackStream.hxx \
|
||||
portaudiocpp/MemFunCallbackStream.hxx \
|
||||
portaudiocpp/PortAudioCpp.hxx \
|
||||
portaudiocpp/SampleDataFormat.hxx \
|
||||
portaudiocpp/Stream.hxx \
|
||||
portaudiocpp/StreamParameters.hxx \
|
||||
portaudiocpp/SystemDeviceIterator.hxx \
|
||||
portaudiocpp/SystemHostApiIterator.hxx \
|
||||
portaudiocpp/System.hxx
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu include/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
install-pkgincludeHEADERS: $(pkginclude_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
|
||||
if test -n "$$list"; then \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(pkgincludedir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(pkgincludedir)" || exit 1; \
|
||||
fi; \
|
||||
for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
echo "$$d$$p"; \
|
||||
done | $(am__base_list) | \
|
||||
while read files; do \
|
||||
echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(pkgincludedir)'"; \
|
||||
$(INSTALL_HEADER) $$files "$(DESTDIR)$(pkgincludedir)" || exit $$?; \
|
||||
done
|
||||
|
||||
uninstall-pkgincludeHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(pkginclude_HEADERS)'; test -n "$(pkgincludedir)" || list=; \
|
||||
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
|
||||
dir='$(DESTDIR)$(pkgincludedir)'; $(am__uninstall_files_from_dir)
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(HEADERS)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(pkgincludedir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libtool mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-pkgincludeHEADERS
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-pkgincludeHEADERS
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||
clean-libtool cscopelist-am ctags ctags-am distclean \
|
||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
||||
dvi-am html html-am info info-am install install-am \
|
||||
install-data install-data-am install-dvi install-dvi-am \
|
||||
install-exec install-exec-am install-html install-html-am \
|
||||
install-info install-info-am install-man install-pdf \
|
||||
install-pdf-am install-pkgincludeHEADERS install-ps \
|
||||
install-ps-am install-strip installcheck installcheck-am \
|
||||
installdirs maintainer-clean maintainer-clean-generic \
|
||||
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
|
||||
ps ps-am tags tags-am uninstall uninstall-am \
|
||||
uninstall-pkgincludeHEADERS
|
||||
|
||||
|
||||
# portaudiocpp/AsioDeviceAdapter.hxx
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
44
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/AsioDeviceAdapter.hxx
vendored
Normal file
44
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/AsioDeviceAdapter.hxx
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_ASIODEVICEADAPTER_HXX
|
||||
#define INCLUDED_PORTAUDIO_ASIODEVICEADAPTER_HXX
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// Forward declaration(s):
|
||||
class Device;
|
||||
|
||||
// Declaration(s):
|
||||
//////
|
||||
/// @brief Adapts the given Device to an ASIO specific extension.
|
||||
///
|
||||
/// Deleting the AsioDeviceAdapter does not affect the underlying
|
||||
/// Device.
|
||||
//////
|
||||
class AsioDeviceAdapter
|
||||
{
|
||||
public:
|
||||
AsioDeviceAdapter(Device &device);
|
||||
|
||||
Device &device();
|
||||
|
||||
long minBufferSize() const;
|
||||
long maxBufferSize() const;
|
||||
long preferredBufferSize() const;
|
||||
long granularity() const;
|
||||
|
||||
void showControlPanel(void *systemSpecific);
|
||||
|
||||
const char *inputChannelName(int channelIndex) const;
|
||||
const char *outputChannelName(int channelIndex) const;
|
||||
|
||||
private:
|
||||
Device *device_;
|
||||
|
||||
long minBufferSize_;
|
||||
long maxBufferSize_;
|
||||
long preferredBufferSize_;
|
||||
long granularity_;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_ASIODEVICEADAPTER_HXX
|
62
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
vendored
Normal file
62
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_AUTOSYSTEM_HXX
|
||||
#define INCLUDED_PORTAUDIO_AUTOSYSTEM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudiocpp/System.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief A RAII idiom class to ensure automatic clean-up when an exception is
|
||||
/// raised.
|
||||
///
|
||||
/// A simple helper class which uses the 'Resource Acquisition is Initialization'
|
||||
/// idiom (RAII). Use this class to initialize/terminate the System rather than
|
||||
/// using System directly. AutoSystem must be created on stack and must be valid
|
||||
/// throughout the time you wish to use PortAudioCpp. Your 'main' function might be
|
||||
/// a good place for it.
|
||||
///
|
||||
/// To avoid having to type portaudio::System::instance().xyz() all the time, it's usually
|
||||
/// a good idea to make a reference to the System which can be accessed directly.
|
||||
/// @verbatim
|
||||
/// portaudio::AutoSys autoSys;
|
||||
/// portaudio::System &sys = portaudio::System::instance();
|
||||
/// @endverbatim
|
||||
//////
|
||||
class AutoSystem
|
||||
{
|
||||
public:
|
||||
AutoSystem(bool initialize = true)
|
||||
{
|
||||
if (initialize)
|
||||
System::initialize();
|
||||
}
|
||||
|
||||
~AutoSystem()
|
||||
{
|
||||
if (System::exists())
|
||||
System::terminate();
|
||||
}
|
||||
|
||||
void initialize()
|
||||
{
|
||||
System::initialize();
|
||||
}
|
||||
|
||||
void terminate()
|
||||
{
|
||||
System::terminate();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_AUTOSYSTEM_HXX
|
44
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
vendored
Normal file
44
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/BlockingStream.hxx
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudiocpp/Stream.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
|
||||
//////
|
||||
/// @brief Stream class for blocking read/write-style input and output.
|
||||
//////
|
||||
class BlockingStream : public Stream
|
||||
{
|
||||
public:
|
||||
BlockingStream();
|
||||
BlockingStream(const StreamParameters ¶meters);
|
||||
~BlockingStream();
|
||||
|
||||
void open(const StreamParameters ¶meters);
|
||||
|
||||
void read(void *buffer, unsigned long numFrames);
|
||||
void write(const void *buffer, unsigned long numFrames);
|
||||
|
||||
signed long availableReadSize() const;
|
||||
signed long availableWriteSize() const;
|
||||
|
||||
private:
|
||||
BlockingStream(const BlockingStream &); // non-copyable
|
||||
BlockingStream &operator=(const BlockingStream &); // non-copyable
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_BLOCKINGSTREAM_HXX
|
48
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx
vendored
Normal file
48
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CFunCallbackStream.hxx
vendored
Normal file
|
@ -0,0 +1,48 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_CFUNCALLBACKSTREAM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/CallbackStream.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s)
|
||||
namespace portaudio
|
||||
{
|
||||
class StreamParameters;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @brief Callback stream using a free function with C linkage. It's important that the function
|
||||
/// the passed function pointer points to is declared ``extern "C"''.
|
||||
//////
|
||||
class CFunCallbackStream : public CallbackStream
|
||||
{
|
||||
public:
|
||||
CFunCallbackStream();
|
||||
CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData);
|
||||
~CFunCallbackStream();
|
||||
|
||||
void open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData);
|
||||
|
||||
private:
|
||||
CFunCallbackStream(const CFunCallbackStream &); // non-copyable
|
||||
CFunCallbackStream &operator=(const CFunCallbackStream &); // non-copyable
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
} // portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
|
45
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx
vendored
Normal file
45
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CallbackInterface.hxx
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX
|
||||
#define INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @brief Interface for an object that's callable as a PortAudioCpp callback object (ie that implements the
|
||||
/// paCallbackFun method).
|
||||
//////
|
||||
class CallbackInterface
|
||||
{
|
||||
public:
|
||||
virtual ~CallbackInterface() {}
|
||||
|
||||
virtual int paCallbackFun(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags) = 0;
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
namespace impl
|
||||
{
|
||||
extern "C"
|
||||
{
|
||||
int callbackInterfaceToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags,
|
||||
void *userData);
|
||||
} // extern "C"
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_CALLBACKINTERFACE_HXX
|
40
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CallbackStream.hxx
vendored
Normal file
40
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CallbackStream.hxx
vendored
Normal file
|
@ -0,0 +1,40 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_CALLBACKSTREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_CALLBACKSTREAM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/Stream.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief Base class for all Streams which use a callback-based mechanism.
|
||||
//////
|
||||
class CallbackStream : public Stream
|
||||
{
|
||||
protected:
|
||||
CallbackStream();
|
||||
virtual ~CallbackStream();
|
||||
|
||||
public:
|
||||
// stream info (time-varying)
|
||||
double cpuLoad() const;
|
||||
|
||||
private:
|
||||
CallbackStream(const CallbackStream &); // non-copyable
|
||||
CallbackStream &operator=(const CallbackStream &); // non-copyable
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_CALLBACKSTREAM_HXX
|
86
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CppFunCallbackStream.hxx
vendored
Normal file
86
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/CppFunCallbackStream.hxx
vendored
Normal file
|
@ -0,0 +1,86 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_CPPFUNCALLBACKSTREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_CPPFUNCALLBACKSTREAM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/CallbackStream.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class StreamParameters;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
namespace impl
|
||||
{
|
||||
extern "C"
|
||||
{
|
||||
int cppCallbackToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags,
|
||||
void *userData);
|
||||
} // extern "C"
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @brief Callback stream using a C++ function (either a free function or a static function)
|
||||
/// callback.
|
||||
//////
|
||||
class FunCallbackStream : public CallbackStream
|
||||
{
|
||||
public:
|
||||
typedef int (*CallbackFunPtr)(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags,
|
||||
void *userData);
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @brief Simple structure containing a function pointer to the C++ callback function and a
|
||||
/// (void) pointer to the user supplied data.
|
||||
//////
|
||||
struct CppToCCallbackData
|
||||
{
|
||||
CppToCCallbackData();
|
||||
CppToCCallbackData(CallbackFunPtr funPtr, void *userData);
|
||||
void init(CallbackFunPtr funPtr, void *userData);
|
||||
|
||||
CallbackFunPtr funPtr;
|
||||
void *userData;
|
||||
};
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
FunCallbackStream();
|
||||
FunCallbackStream(const StreamParameters ¶meters, CallbackFunPtr funPtr, void *userData);
|
||||
~FunCallbackStream();
|
||||
|
||||
void open(const StreamParameters ¶meters, CallbackFunPtr funPtr, void *userData);
|
||||
|
||||
private:
|
||||
FunCallbackStream(const FunCallbackStream &); // non-copyable
|
||||
FunCallbackStream &operator=(const FunCallbackStream &); // non-copyable
|
||||
|
||||
CppToCCallbackData adapterData_;
|
||||
|
||||
void open(const StreamParameters ¶meters);
|
||||
};
|
||||
|
||||
|
||||
} // portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_CPPFUNCALLBACKSTREAM_HXX
|
90
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/Device.hxx
vendored
Normal file
90
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/Device.hxx
vendored
Normal file
|
@ -0,0 +1,90 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_DEVICE_HXX
|
||||
#define INCLUDED_PORTAUDIO_DEVICE_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include <iterator>
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/SampleDataFormat.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class System;
|
||||
class HostApi;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
//////
|
||||
/// @brief Class which represents a PortAudio device in the System.
|
||||
///
|
||||
/// A single physical device in the system may have multiple PortAudio
|
||||
/// Device representations using different HostApi 's though. A Device
|
||||
/// can be half-duplex or full-duplex. A half-duplex Device can be used
|
||||
/// to create a half-duplex Stream. A full-duplex Device can be used to
|
||||
/// create a full-duplex Stream. If supported by the HostApi, two
|
||||
/// half-duplex Devices can even be used to create a full-duplex Stream.
|
||||
///
|
||||
/// Note that Device objects are very light-weight and can be passed around
|
||||
/// by-value.
|
||||
//////
|
||||
class Device
|
||||
{
|
||||
public:
|
||||
// query info: name, max in channels, max out channels,
|
||||
// default low/high input/output latency, default sample rate
|
||||
PaDeviceIndex index() const;
|
||||
const char *name() const;
|
||||
int maxInputChannels() const;
|
||||
int maxOutputChannels() const;
|
||||
PaTime defaultLowInputLatency() const;
|
||||
PaTime defaultHighInputLatency() const;
|
||||
PaTime defaultLowOutputLatency() const;
|
||||
PaTime defaultHighOutputLatency() const;
|
||||
double defaultSampleRate() const;
|
||||
|
||||
bool isInputOnlyDevice() const; // extended
|
||||
bool isOutputOnlyDevice() const; // extended
|
||||
bool isFullDuplexDevice() const; // extended
|
||||
bool isSystemDefaultInputDevice() const; // extended
|
||||
bool isSystemDefaultOutputDevice() const; // extended
|
||||
bool isHostApiDefaultInputDevice() const; // extended
|
||||
bool isHostApiDefaultOutputDevice() const; // extended
|
||||
|
||||
bool operator==(const Device &rhs) const;
|
||||
bool operator!=(const Device &rhs) const;
|
||||
|
||||
// host api reference
|
||||
HostApi &hostApi();
|
||||
const HostApi &hostApi() const;
|
||||
|
||||
private:
|
||||
PaDeviceIndex index_;
|
||||
const PaDeviceInfo *info_;
|
||||
|
||||
private:
|
||||
friend class System;
|
||||
|
||||
explicit Device(PaDeviceIndex index);
|
||||
~Device();
|
||||
|
||||
Device(const Device &); // non-copyable
|
||||
Device &operator=(const Device &); // non-copyable
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_DEVICE_HXX
|
|
@ -0,0 +1,77 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_SINGLEDIRECTIONSTREAMPARAMETERS_HXX
|
||||
#define INCLUDED_PORTAUDIO_SINGLEDIRECTIONSTREAMPARAMETERS_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/System.hxx"
|
||||
#include "portaudiocpp/SampleDataFormat.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class Device;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
//////
|
||||
/// @brief All parameters for one direction (either in or out) of a Stream. Together with
|
||||
/// parameters common to both directions, two DirectionSpecificStreamParameters can make up
|
||||
/// a StreamParameters object which contains all parameters for a Stream.
|
||||
//////
|
||||
class DirectionSpecificStreamParameters
|
||||
{
|
||||
public:
|
||||
static DirectionSpecificStreamParameters null();
|
||||
|
||||
DirectionSpecificStreamParameters();
|
||||
DirectionSpecificStreamParameters(const Device &device, int numChannels, SampleDataFormat format,
|
||||
bool interleaved, PaTime suggestedLatency, void *hostApiSpecificStreamInfo);
|
||||
|
||||
// Set up methods:
|
||||
void setDevice(const Device &device);
|
||||
void setNumChannels(int numChannels);
|
||||
|
||||
void setSampleFormat(SampleDataFormat format, bool interleaved = true);
|
||||
void setHostApiSpecificSampleFormat(PaSampleFormat format, bool interleaved = true);
|
||||
|
||||
void setSuggestedLatency(PaTime latency);
|
||||
|
||||
void setHostApiSpecificStreamInfo(void *streamInfo);
|
||||
|
||||
// Accessor methods:
|
||||
PaStreamParameters *paStreamParameters();
|
||||
const PaStreamParameters *paStreamParameters() const;
|
||||
|
||||
Device &device() const;
|
||||
int numChannels() const;
|
||||
|
||||
SampleDataFormat sampleFormat() const;
|
||||
bool isSampleFormatInterleaved() const;
|
||||
bool isSampleFormatHostApiSpecific() const;
|
||||
PaSampleFormat hostApiSpecificSampleFormat() const;
|
||||
|
||||
PaTime suggestedLatency() const;
|
||||
|
||||
void *hostApiSpecificStreamInfo() const;
|
||||
|
||||
private:
|
||||
PaStreamParameters paStreamParameters_;
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_SINGLEDIRECTIONSTREAMPARAMETERS_HXX
|
107
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/Exception.hxx
vendored
Normal file
107
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/Exception.hxx
vendored
Normal file
|
@ -0,0 +1,107 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_EXCEPTION_HXX
|
||||
#define INCLUDED_PORTAUDIO_EXCEPTION_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include <exception>
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
//////
|
||||
/// @brief Base class for all exceptions PortAudioCpp can throw.
|
||||
///
|
||||
/// Class is derived from std::exception.
|
||||
//////
|
||||
class Exception : public std::exception
|
||||
{
|
||||
public:
|
||||
virtual ~Exception() throw() {}
|
||||
|
||||
virtual const char *what() const throw() = 0;
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @brief Wrapper for PortAudio error codes to C++ exceptions.
|
||||
///
|
||||
/// It wraps up PortAudio's error handling mechanism using
|
||||
/// C++ exceptions and is derived from std::exception for
|
||||
/// easy exception handling and to ease integration with
|
||||
/// other code.
|
||||
///
|
||||
/// To know what exceptions each function may throw, look up
|
||||
/// the errors that can occur in the PortAudio documentation
|
||||
/// for the equivalent functions.
|
||||
///
|
||||
/// Some functions are likely to throw an exception (such as
|
||||
/// Stream::open(), etc) and these should always be called in
|
||||
/// try{} catch{} blocks and the thrown exceptions should be
|
||||
/// handled properly (ie. the application shouldn't just abort,
|
||||
/// but merely display a warning dialog to the user or something).
|
||||
/// However nearly all functions in PortAudioCpp are capable
|
||||
/// of throwing exceptions. When a function like Stream::isStopped()
|
||||
/// throws an exception, it's such an exceptional state that it's
|
||||
/// not likely that it can be recovered. PaExceptions such as these
|
||||
/// can ``safely'' be left to be handled by some outer catch-all-like
|
||||
/// mechanism for unrecoverable errors.
|
||||
//////
|
||||
class PaException : public Exception
|
||||
{
|
||||
public:
|
||||
explicit PaException(PaError error);
|
||||
|
||||
const char *what() const throw();
|
||||
|
||||
PaError paError() const;
|
||||
const char *paErrorText() const;
|
||||
|
||||
bool isHostApiError() const; // extended
|
||||
long lastHostApiError() const;
|
||||
const char *lastHostApiErrorText() const;
|
||||
|
||||
bool operator==(const PaException &rhs) const;
|
||||
bool operator!=(const PaException &rhs) const;
|
||||
|
||||
private:
|
||||
PaError error_;
|
||||
};
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @brief Exceptions specific to PortAudioCpp (ie. exceptions which do not have an
|
||||
/// equivalent PortAudio error code).
|
||||
//////
|
||||
class PaCppException : public Exception
|
||||
{
|
||||
public:
|
||||
enum ExceptionSpecifier
|
||||
{
|
||||
UNABLE_TO_ADAPT_DEVICE
|
||||
};
|
||||
|
||||
PaCppException(ExceptionSpecifier specifier);
|
||||
|
||||
const char *what() const throw();
|
||||
|
||||
ExceptionSpecifier specifier() const;
|
||||
|
||||
bool operator==(const PaCppException &rhs) const;
|
||||
bool operator!=(const PaCppException &rhs) const;
|
||||
|
||||
private:
|
||||
ExceptionSpecifier specifier_;
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_EXCEPTION_HXX
|
75
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/HostApi.hxx
vendored
Normal file
75
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/HostApi.hxx
vendored
Normal file
|
@ -0,0 +1,75 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_HOSTAPI_HXX
|
||||
#define INCLUDED_PORTAUDIO_HOSTAPI_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/System.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class Device;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief HostApi represents a host API (usually type of driver) in the System.
|
||||
///
|
||||
/// A single System can support multiple HostApi's each one typically having
|
||||
/// a set of Devices using that HostApi (usually driver type). All Devices in
|
||||
/// the HostApi can be enumerated and the default input/output Device for this
|
||||
/// HostApi can be retrieved.
|
||||
//////
|
||||
class HostApi
|
||||
{
|
||||
public:
|
||||
typedef System::DeviceIterator DeviceIterator;
|
||||
|
||||
// query info: id, name, numDevices
|
||||
PaHostApiTypeId typeId() const;
|
||||
PaHostApiIndex index() const;
|
||||
const char *name() const;
|
||||
int deviceCount() const;
|
||||
|
||||
// iterate devices
|
||||
DeviceIterator devicesBegin();
|
||||
DeviceIterator devicesEnd();
|
||||
|
||||
// default devices
|
||||
Device &defaultInputDevice() const;
|
||||
Device &defaultOutputDevice() const;
|
||||
|
||||
// comparison operators
|
||||
bool operator==(const HostApi &rhs) const;
|
||||
bool operator!=(const HostApi &rhs) const;
|
||||
|
||||
private:
|
||||
const PaHostApiInfo *info_;
|
||||
Device **devices_;
|
||||
|
||||
private:
|
||||
friend class System;
|
||||
|
||||
explicit HostApi(PaHostApiIndex index);
|
||||
~HostApi();
|
||||
|
||||
HostApi(const HostApi &); // non-copyable
|
||||
HostApi &operator=(const HostApi &); // non-copyable
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_HOSTAPI_HXX
|
49
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/InterfaceCallbackStream.hxx
vendored
Normal file
49
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/InterfaceCallbackStream.hxx
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/CallbackStream.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s)
|
||||
namespace portaudio
|
||||
{
|
||||
class StreamParameters;
|
||||
class CallbackInterface;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief Callback stream using an instance of an object that's derived from the CallbackInterface
|
||||
/// interface.
|
||||
//////
|
||||
class InterfaceCallbackStream : public CallbackStream
|
||||
{
|
||||
public:
|
||||
InterfaceCallbackStream();
|
||||
InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance);
|
||||
~InterfaceCallbackStream();
|
||||
|
||||
void open(const StreamParameters ¶meters, CallbackInterface &instance);
|
||||
|
||||
private:
|
||||
InterfaceCallbackStream(const InterfaceCallbackStream &); // non-copyable
|
||||
InterfaceCallbackStream &operator=(const InterfaceCallbackStream &); // non-copyable
|
||||
};
|
||||
|
||||
|
||||
} // portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_INTERFACECALLBACKSTREAM_HXX
|
107
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/MemFunCallbackStream.hxx
vendored
Normal file
107
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/MemFunCallbackStream.hxx
vendored
Normal file
|
@ -0,0 +1,107 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/CallbackStream.hxx"
|
||||
#include "portaudiocpp/CallbackInterface.hxx"
|
||||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
#include "portaudiocpp/InterfaceCallbackStream.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief Callback stream using a class's member function as a callback. Template argument T is the type of the
|
||||
/// class of which a member function is going to be used.
|
||||
///
|
||||
/// Example usage:
|
||||
/// @verbatim MemFunCallback<MyClass> stream = MemFunCallbackStream(parameters, *this, &MyClass::myCallbackFunction); @endverbatim
|
||||
//////
|
||||
template<typename T>
|
||||
class MemFunCallbackStream : public CallbackStream
|
||||
{
|
||||
public:
|
||||
typedef int (T::*CallbackFunPtr)(const void *, void *, unsigned long, const PaStreamCallbackTimeInfo *,
|
||||
PaStreamCallbackFlags);
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
MemFunCallbackStream()
|
||||
{
|
||||
}
|
||||
|
||||
MemFunCallbackStream(const StreamParameters ¶meters, T &instance, CallbackFunPtr memFun) : adapter_(instance, memFun)
|
||||
{
|
||||
open(parameters);
|
||||
}
|
||||
|
||||
~MemFunCallbackStream()
|
||||
{
|
||||
close();
|
||||
}
|
||||
|
||||
void open(const StreamParameters ¶meters, T &instance, CallbackFunPtr memFun)
|
||||
{
|
||||
// XXX: need to check if already open?
|
||||
|
||||
adapter_.init(instance, memFun);
|
||||
open(parameters);
|
||||
}
|
||||
|
||||
private:
|
||||
MemFunCallbackStream(const MemFunCallbackStream &); // non-copyable
|
||||
MemFunCallbackStream &operator=(const MemFunCallbackStream &); // non-copyable
|
||||
|
||||
//////
|
||||
/// @brief Inner class which adapts a member function callback to a CallbackInterface compliant
|
||||
/// class (so it can be adapted using the paCallbackAdapter function).
|
||||
//////
|
||||
class MemFunToCallbackInterfaceAdapter : public CallbackInterface
|
||||
{
|
||||
public:
|
||||
MemFunToCallbackInterfaceAdapter() {}
|
||||
MemFunToCallbackInterfaceAdapter(T &instance, CallbackFunPtr memFun) : instance_(&instance), memFun_(memFun) {}
|
||||
|
||||
void init(T &instance, CallbackFunPtr memFun)
|
||||
{
|
||||
instance_ = &instance;
|
||||
memFun_ = memFun;
|
||||
}
|
||||
|
||||
int paCallbackFun(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags)
|
||||
{
|
||||
return (instance_->*memFun_)(inputBuffer, outputBuffer, numFrames, timeInfo, statusFlags);
|
||||
}
|
||||
|
||||
private:
|
||||
T *instance_;
|
||||
CallbackFunPtr memFun_;
|
||||
};
|
||||
|
||||
MemFunToCallbackInterfaceAdapter adapter_;
|
||||
|
||||
void open(const StreamParameters ¶meters)
|
||||
{
|
||||
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
||||
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::callbackInterfaceToPaCallbackAdapter,
|
||||
static_cast<void *>(&adapter_));
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
} // portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_MEMFUNCALLBACKSTREAM_HXX
|
109
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/PortAudioCpp.hxx
vendored
Normal file
109
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/PortAudioCpp.hxx
vendored
Normal file
|
@ -0,0 +1,109 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_PORTAUDIOCPP_HXX
|
||||
#define INCLUDED_PORTAUDIO_PORTAUDIOCPP_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @mainpage PortAudioCpp
|
||||
///
|
||||
/// <h1>PortAudioCpp - A Native C++ Binding of PortAudio V19</h1>
|
||||
/// <h2>PortAudio</h2>
|
||||
/// <p>
|
||||
/// PortAudio is a portable and mature C API for accessing audio hardware. It offers both callback-based and blocking
|
||||
/// style input and output, deals with sample data format conversions, dithering and much more. There are a large number
|
||||
/// of implementations available for various platforms including Windows MME, Windows DirectX, Windows and MacOS (Classic)
|
||||
/// ASIO, MacOS Classic SoundManager, MacOS X CoreAudio, OSS (Linux), Linux ALSA, JACK (MacOS X and Linux) and SGI Irix
|
||||
/// AL. Note that, currently not all of these implementations are equally complete or up-to-date (as PortAudio V19 is
|
||||
/// still in development). Because PortAudio has a C API, it can easily be called from a variety of other programming
|
||||
/// languages.
|
||||
/// </p>
|
||||
/// <h2>PortAudioCpp</h2>
|
||||
/// <p>
|
||||
/// Although, it is possible to use PortAudio's C API from within a C++ program, this is usually a little awkward
|
||||
/// as procedural and object-oriented paradigms need to be mixed. PortAudioCpp aims to resolve this by encapsulating
|
||||
/// PortAudio's C API to form an equivalent object-oriented C++ API. It provides a more natural integration of PortAudio
|
||||
/// into C++ programs as well as a more structured interface. PortAudio's concepts were preserved as much as possible and
|
||||
/// no additional features were added except for some `convenience methods'.
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// PortAudioCpp's main features are:
|
||||
/// <ul>
|
||||
/// <li>Structured object model.</li>
|
||||
/// <li>C++ exception handling instead of C-style error return codes.</li>
|
||||
/// <li>Handling of callbacks using free functions (C and C++), static functions, member functions or instances of classes
|
||||
/// derived from a given interface.</li>
|
||||
/// <li>STL compliant iterators to host APIs and devices.</li>
|
||||
/// <li>Some additional convenience functions to more easily set up and use PortAudio.</li>
|
||||
/// </ul>
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// PortAudioCpp requires a recent version of the PortAudio V19 source code. This can be obtained from CVS or as a snapshot
|
||||
/// from the website. The examples also require the ASIO 2 SDK which can be obtained from the Steinberg website. Alternatively, the
|
||||
/// examples can easily be modified to compile without needing ASIO.
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// Supported platforms:
|
||||
/// <ul>
|
||||
/// <li>Microsoft Visual C++ 6.0, 7.0 (.NET 2002) and 7.1 (.NET 2003).</li>
|
||||
/// <li>GNU G++ 2.95 and G++ 3.3.</li>
|
||||
/// </ul>
|
||||
/// Other platforms should be easily supported as PortAudioCpp is platform-independent and (reasonably) C++ standard compliant.
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// This documentation mainly provides information specific to PortAudioCpp. For a more complete explanation of all of the
|
||||
/// concepts used, please consult the PortAudio documentation.
|
||||
/// </p>
|
||||
/// <p>
|
||||
/// PortAudioCpp was developed by Merlijn Blaauw with many great suggestions and help from Ross Bencina. Ludwig Schwardt provided
|
||||
/// GNU/Linux build files and checked G++ compatibility. PortAudioCpp may be used under the same licensing, conditions and
|
||||
/// warranty as PortAudio. See <a href="http://www.portaudio.com/license.html">the PortAudio license</a> for more details.
|
||||
/// </p>
|
||||
/// <h2>Links</h2>
|
||||
/// <p>
|
||||
/// <a href="http://www.portaudio.com/">Official PortAudio site.</a><br>
|
||||
/// </p>
|
||||
//////
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @namespace portaudio
|
||||
///
|
||||
/// To avoid name collision, everything in PortAudioCpp is in the portaudio
|
||||
/// namespace. If this name is too long it's usually pretty safe to use an
|
||||
/// alias like ``namespace pa = portaudio;''.
|
||||
//////
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// @file PortAudioCpp.hxx
|
||||
/// An include-all header file (for lazy programmers and using pre-compiled headers).
|
||||
//////
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/AutoSystem.hxx"
|
||||
#include "portaudiocpp/BlockingStream.hxx"
|
||||
#include "portaudiocpp/CallbackInterface.hxx"
|
||||
#include "portaudiocpp/CallbackStream.hxx"
|
||||
#include "portaudiocpp/CFunCallbackStream.hxx"
|
||||
#include "portaudiocpp/CppFunCallbackStream.hxx"
|
||||
#include "portaudiocpp/Device.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
#include "portaudiocpp/HostApi.hxx"
|
||||
#include "portaudiocpp/InterfaceCallbackStream.hxx"
|
||||
#include "portaudiocpp/MemFunCallbackStream.hxx"
|
||||
#include "portaudiocpp/SampleDataFormat.hxx"
|
||||
#include "portaudiocpp/DirectionSpecificStreamParameters.hxx"
|
||||
#include "portaudiocpp/Stream.hxx"
|
||||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
#include "portaudiocpp/System.hxx"
|
||||
#include "portaudiocpp/SystemDeviceIterator.hxx"
|
||||
#include "portaudiocpp/SystemHostApiIterator.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_PORTAUDIOCPP_HXX
|
35
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/SampleDataFormat.hxx
vendored
Normal file
35
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/SampleDataFormat.hxx
vendored
Normal file
|
@ -0,0 +1,35 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_SAMPLEDATAFORMAT_HXX
|
||||
#define INCLUDED_PORTAUDIO_SAMPLEDATAFORMAT_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief PortAudio sample data formats.
|
||||
///
|
||||
/// Small helper enum to wrap the PortAudio defines.
|
||||
//////
|
||||
enum SampleDataFormat
|
||||
{
|
||||
INVALID_FORMAT = 0,
|
||||
FLOAT32 = paFloat32,
|
||||
INT32 = paInt32,
|
||||
INT24 = paInt24,
|
||||
INT16 = paInt16,
|
||||
INT8 = paInt8,
|
||||
UINT8 = paUInt8
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_SAMPLEDATAFORMAT_HXX
|
81
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/Stream.hxx
vendored
Normal file
81
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/Stream.hxx
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_STREAM_HXX
|
||||
#define INCLUDED_PORTAUDIO_STREAM_HXX
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class StreamParameters;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief A Stream represents an active or inactive input and/or output data
|
||||
/// stream in the System.
|
||||
///
|
||||
/// Concrete Stream classes should ensure themselves being in a closed state at
|
||||
/// destruction (i.e. by calling their own close() method in their deconstructor).
|
||||
/// Following good C++ programming practices, care must be taken to ensure no
|
||||
/// exceptions are thrown by the deconstructor of these classes. As a consequence,
|
||||
/// clients need to explicitly call close() to ensure the stream closed successfully.
|
||||
///
|
||||
/// The Stream object can be used to manipulate the Stream's state. Also, time-constant
|
||||
/// and time-varying information about the Stream can be retrieved.
|
||||
//////
|
||||
class Stream
|
||||
{
|
||||
public:
|
||||
// Opening/closing:
|
||||
virtual ~Stream();
|
||||
|
||||
virtual void close();
|
||||
bool isOpen() const;
|
||||
|
||||
// Additional set up:
|
||||
void setStreamFinishedCallback(PaStreamFinishedCallback *callback);
|
||||
|
||||
// State management:
|
||||
void start();
|
||||
void stop();
|
||||
void abort();
|
||||
|
||||
bool isStopped() const;
|
||||
bool isActive() const;
|
||||
|
||||
// Stream info (time-constant, but might become time-variant soon):
|
||||
PaTime inputLatency() const;
|
||||
PaTime outputLatency() const;
|
||||
double sampleRate() const;
|
||||
|
||||
// Stream info (time-varying):
|
||||
PaTime time() const;
|
||||
|
||||
// Accessors for PortAudio PaStream, useful for interfacing
|
||||
// with PortAudio add-ons (such as PortMixer) for instance:
|
||||
const PaStream *paStream() const;
|
||||
PaStream *paStream();
|
||||
|
||||
protected:
|
||||
Stream(); // abstract class
|
||||
|
||||
PaStream *stream_;
|
||||
|
||||
private:
|
||||
Stream(const Stream &); // non-copyable
|
||||
Stream &operator=(const Stream &); // non-copyable
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_STREAM_HXX
|
77
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/StreamParameters.hxx
vendored
Normal file
77
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/StreamParameters.hxx
vendored
Normal file
|
@ -0,0 +1,77 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX
|
||||
#define INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/DirectionSpecificStreamParameters.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
//////
|
||||
/// @brief The entire set of parameters needed to configure and open
|
||||
/// a Stream.
|
||||
///
|
||||
/// It contains parameters of input, output and shared parameters.
|
||||
/// Using the isSupported() method, the StreamParameters can be
|
||||
/// checked if opening a Stream using this StreamParameters would
|
||||
/// succeed or not. Accessors are provided to higher-level parameters
|
||||
/// aswell as the lower-level parameters which are mainly intended for
|
||||
/// internal use.
|
||||
//////
|
||||
class StreamParameters
|
||||
{
|
||||
public:
|
||||
StreamParameters();
|
||||
StreamParameters(const DirectionSpecificStreamParameters &inputParameters,
|
||||
const DirectionSpecificStreamParameters &outputParameters, double sampleRate,
|
||||
unsigned long framesPerBuffer, PaStreamFlags flags);
|
||||
|
||||
// Set up for direction-specific:
|
||||
void setInputParameters(const DirectionSpecificStreamParameters ¶meters);
|
||||
void setOutputParameters(const DirectionSpecificStreamParameters ¶meters);
|
||||
|
||||
// Set up for common parameters:
|
||||
void setSampleRate(double sampleRate);
|
||||
void setFramesPerBuffer(unsigned long framesPerBuffer);
|
||||
void setFlag(PaStreamFlags flag);
|
||||
void unsetFlag(PaStreamFlags flag);
|
||||
void clearFlags();
|
||||
|
||||
// Validation:
|
||||
bool isSupported() const;
|
||||
|
||||
// Accessors (direction-specific):
|
||||
DirectionSpecificStreamParameters &inputParameters();
|
||||
const DirectionSpecificStreamParameters &inputParameters() const;
|
||||
DirectionSpecificStreamParameters &outputParameters();
|
||||
const DirectionSpecificStreamParameters &outputParameters() const;
|
||||
|
||||
// Accessors (common):
|
||||
double sampleRate() const;
|
||||
unsigned long framesPerBuffer() const;
|
||||
PaStreamFlags flags() const;
|
||||
bool isFlagSet(PaStreamFlags flag) const;
|
||||
|
||||
private:
|
||||
// Half-duplex specific parameters:
|
||||
DirectionSpecificStreamParameters inputParameters_;
|
||||
DirectionSpecificStreamParameters outputParameters_;
|
||||
|
||||
// Common parameters:
|
||||
double sampleRate_;
|
||||
unsigned long framesPerBuffer_;
|
||||
PaStreamFlags flags_;
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_STREAMPARAMETERS_HXX
|
106
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/System.hxx
vendored
Normal file
106
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/System.hxx
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_SYSTEM_HXX
|
||||
#define INCLUDED_PORTAUDIO_SYSTEM_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class Device;
|
||||
class Stream;
|
||||
class HostApi;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief System singleton which represents the PortAudio system.
|
||||
///
|
||||
/// The System is used to initialize/terminate PortAudio and provide
|
||||
/// a single access point to the PortAudio System (instance()).
|
||||
/// It can be used to iterate through all HostApi 's in the System as
|
||||
/// well as all devices in the System. It also provides some utility
|
||||
/// functionality of PortAudio.
|
||||
///
|
||||
/// Terminating the System will also abort and close the open streams.
|
||||
/// The Stream objects will need to be deallocated by the client though
|
||||
/// (it's usually a good idea to have them cleaned up automatically).
|
||||
//////
|
||||
class System
|
||||
{
|
||||
public:
|
||||
class HostApiIterator; // forward declaration
|
||||
class DeviceIterator; // forward declaration
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
static int version();
|
||||
static const char *versionText();
|
||||
|
||||
static void initialize();
|
||||
static void terminate();
|
||||
|
||||
static System &instance();
|
||||
static bool exists();
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
// host apis:
|
||||
HostApiIterator hostApisBegin();
|
||||
HostApiIterator hostApisEnd();
|
||||
|
||||
HostApi &defaultHostApi();
|
||||
|
||||
HostApi &hostApiByTypeId(PaHostApiTypeId type);
|
||||
HostApi &hostApiByIndex(PaHostApiIndex index);
|
||||
|
||||
int hostApiCount();
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
// devices:
|
||||
DeviceIterator devicesBegin();
|
||||
DeviceIterator devicesEnd();
|
||||
|
||||
Device &defaultInputDevice();
|
||||
Device &defaultOutputDevice();
|
||||
|
||||
Device &deviceByIndex(PaDeviceIndex index);
|
||||
|
||||
int deviceCount();
|
||||
|
||||
static Device &nullDevice();
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
// misc:
|
||||
void sleep(long msec);
|
||||
int sizeOfSample(PaSampleFormat format);
|
||||
|
||||
private:
|
||||
System();
|
||||
~System();
|
||||
|
||||
static System *instance_;
|
||||
static int initCount_;
|
||||
|
||||
static HostApi **hostApis_;
|
||||
static Device **devices_;
|
||||
|
||||
static Device *nullDevice_;
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_SYSTEM_HXX
|
65
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx
vendored
Normal file
65
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/SystemDeviceIterator.hxx
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX
|
||||
#define INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include <iterator>
|
||||
#include <cstddef>
|
||||
|
||||
#include "portaudiocpp/System.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class Device;
|
||||
class HostApi;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief Iterator class for iterating through all Devices in a System.
|
||||
///
|
||||
/// Devices will be iterated by iterating all Devices in each
|
||||
/// HostApi in the System. Compliant with the STL bidirectional
|
||||
/// iterator concept.
|
||||
//////
|
||||
class System::DeviceIterator
|
||||
{
|
||||
public:
|
||||
typedef std::bidirectional_iterator_tag iterator_category;
|
||||
typedef Device value_type;
|
||||
typedef ptrdiff_t difference_type;
|
||||
typedef Device * pointer;
|
||||
typedef Device & reference;
|
||||
|
||||
Device &operator*() const;
|
||||
Device *operator->() const;
|
||||
|
||||
DeviceIterator &operator++();
|
||||
DeviceIterator operator++(int);
|
||||
DeviceIterator &operator--();
|
||||
DeviceIterator operator--(int);
|
||||
|
||||
bool operator==(const DeviceIterator &rhs) const;
|
||||
bool operator!=(const DeviceIterator &rhs) const;
|
||||
|
||||
private:
|
||||
friend class System;
|
||||
friend class HostApi;
|
||||
Device **ptr_;
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_SYSTEMDEVICEITERATOR_HXX
|
61
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx
vendored
Normal file
61
extern/portaudio-modified/bindings/cpp/include/portaudiocpp/SystemHostApiIterator.hxx
vendored
Normal file
|
@ -0,0 +1,61 @@
|
|||
#ifndef INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
|
||||
#define INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#include <iterator>
|
||||
#include <cstddef>
|
||||
|
||||
#include "portaudiocpp/System.hxx"
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Forward declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
class HostApi;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
// Declaration(s):
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
|
||||
//////
|
||||
/// @brief Iterator class for iterating through all HostApis in a System.
|
||||
///
|
||||
/// Compliant with the STL bidirectional iterator concept.
|
||||
//////
|
||||
class System::HostApiIterator
|
||||
{
|
||||
public:
|
||||
typedef std::bidirectional_iterator_tag iterator_category;
|
||||
typedef Device value_type;
|
||||
typedef ptrdiff_t difference_type;
|
||||
typedef HostApi * pointer;
|
||||
typedef HostApi & reference;
|
||||
|
||||
HostApi &operator*() const;
|
||||
HostApi *operator->() const;
|
||||
|
||||
HostApiIterator &operator++();
|
||||
HostApiIterator operator++(int);
|
||||
HostApiIterator &operator--();
|
||||
HostApiIterator operator--(int);
|
||||
|
||||
bool operator==(const HostApiIterator &rhs) const;
|
||||
bool operator!=(const HostApiIterator &rhs) const;
|
||||
|
||||
private:
|
||||
friend class System;
|
||||
HostApi **ptr_;
|
||||
};
|
||||
|
||||
|
||||
} // namespace portaudio
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
|
||||
#endif // INCLUDED_PORTAUDIO_SYSTEMHOSTAPIITERATOR_HXX
|
26
extern/portaudio-modified/bindings/cpp/lib/Makefile.am
vendored
Normal file
26
extern/portaudio-modified/bindings/cpp/lib/Makefile.am
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
SRCDIR = $(top_srcdir)/source/portaudiocpp
|
||||
|
||||
lib_LTLIBRARIES = libportaudiocpp.la
|
||||
|
||||
LDADD = libportaudiocpp.la
|
||||
|
||||
libportaudiocpp_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined
|
||||
|
||||
libportaudiocpp_la_LIBADD = $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
libportaudiocpp_la_SOURCES = \
|
||||
$(SRCDIR)/BlockingStream.cxx \
|
||||
$(SRCDIR)/CallbackInterface.cxx \
|
||||
$(SRCDIR)/CallbackStream.cxx \
|
||||
$(SRCDIR)/CFunCallbackStream.cxx \
|
||||
$(SRCDIR)/CppFunCallbackStream.cxx \
|
||||
$(SRCDIR)/Device.cxx \
|
||||
$(SRCDIR)/DirectionSpecificStreamParameters.cxx \
|
||||
$(SRCDIR)/Exception.cxx \
|
||||
$(SRCDIR)/HostApi.cxx \
|
||||
$(SRCDIR)/InterfaceCallbackStream.cxx \
|
||||
$(SRCDIR)/MemFunCallbackStream.cxx \
|
||||
$(SRCDIR)/Stream.cxx \
|
||||
$(SRCDIR)/StreamParameters.cxx \
|
||||
$(SRCDIR)/System.cxx \
|
||||
$(SRCDIR)/SystemDeviceIterator.cxx \
|
||||
$(SRCDIR)/SystemHostApiIterator.cxx
|
789
extern/portaudio-modified/bindings/cpp/lib/Makefile.in
vendored
Normal file
789
extern/portaudio-modified/bindings/cpp/lib/Makefile.in
vendored
Normal file
|
@ -0,0 +1,789 @@
|
|||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = lib
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||
$(top_srcdir)/../../depcomp
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
|
||||
am__install_max = 40
|
||||
am__nobase_strip_setup = \
|
||||
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
|
||||
am__nobase_strip = \
|
||||
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
|
||||
am__nobase_list = $(am__nobase_strip_setup); \
|
||||
for p in $$list; do echo "$$p $$p"; done | \
|
||||
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
|
||||
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
|
||||
if (++n[$$2] == $(am__install_max)) \
|
||||
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
|
||||
END { for (dir in files) print dir, files[dir] }'
|
||||
am__base_list = \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
|
||||
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
|
||||
am__uninstall_files_from_dir = { \
|
||||
test -z "$$files" \
|
||||
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|
||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||
}
|
||||
am__installdirs = "$(DESTDIR)$(libdir)"
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
libportaudiocpp_la_DEPENDENCIES = \
|
||||
$(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
am_libportaudiocpp_la_OBJECTS = BlockingStream.lo CallbackInterface.lo \
|
||||
CallbackStream.lo CFunCallbackStream.lo \
|
||||
CppFunCallbackStream.lo Device.lo \
|
||||
DirectionSpecificStreamParameters.lo Exception.lo HostApi.lo \
|
||||
InterfaceCallbackStream.lo MemFunCallbackStream.lo Stream.lo \
|
||||
StreamParameters.lo System.lo SystemDeviceIterator.lo \
|
||||
SystemHostApiIterator.lo
|
||||
libportaudiocpp_la_OBJECTS = $(am_libportaudiocpp_la_OBJECTS)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
libportaudiocpp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
|
||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
|
||||
$(AM_CXXFLAGS) $(CXXFLAGS) $(libportaudiocpp_la_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
depcomp = $(SHELL) $(top_srcdir)/../../depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
|
||||
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
|
||||
$(AM_CXXFLAGS) $(CXXFLAGS)
|
||||
AM_V_CXX = $(am__v_CXX_@AM_V@)
|
||||
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
|
||||
am__v_CXX_0 = @echo " CXX " $@;
|
||||
am__v_CXX_1 =
|
||||
CXXLD = $(CXX)
|
||||
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
|
||||
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
|
||||
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
|
||||
am__v_CXXLD_0 = @echo " CXXLD " $@;
|
||||
am__v_CXXLD_1 =
|
||||
SOURCES = $(libportaudiocpp_la_SOURCES)
|
||||
DIST_SOURCES = $(libportaudiocpp_la_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_INCLUDES = @DEFAULT_INCLUDES@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DLLTOOL = @DLLTOOL@
|
||||
DSYMUTIL = @DSYMUTIL@
|
||||
DUMPBIN = @DUMPBIN@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LD = @LD@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LIPO = @LIPO@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LT_VERSION_INFO = @LT_VERSION_INFO@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MANIFEST_TOOL = @MANIFEST_TOOL@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
NM = @NM@
|
||||
NMEDIT = @NMEDIT@
|
||||
OBJDUMP = @OBJDUMP@
|
||||
OBJEXT = @OBJEXT@
|
||||
OTOOL = @OTOOL@
|
||||
OTOOL64 = @OTOOL64@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PORTAUDIO_ROOT = @PORTAUDIO_ROOT@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
SRCDIR = $(top_srcdir)/source/portaudiocpp
|
||||
lib_LTLIBRARIES = libportaudiocpp.la
|
||||
LDADD = libportaudiocpp.la
|
||||
libportaudiocpp_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -no-undefined
|
||||
libportaudiocpp_la_LIBADD = $(top_builddir)/$(PORTAUDIO_ROOT)/lib/libportaudio.la
|
||||
libportaudiocpp_la_SOURCES = \
|
||||
$(SRCDIR)/BlockingStream.cxx \
|
||||
$(SRCDIR)/CallbackInterface.cxx \
|
||||
$(SRCDIR)/CallbackStream.cxx \
|
||||
$(SRCDIR)/CFunCallbackStream.cxx \
|
||||
$(SRCDIR)/CppFunCallbackStream.cxx \
|
||||
$(SRCDIR)/Device.cxx \
|
||||
$(SRCDIR)/DirectionSpecificStreamParameters.cxx \
|
||||
$(SRCDIR)/Exception.cxx \
|
||||
$(SRCDIR)/HostApi.cxx \
|
||||
$(SRCDIR)/InterfaceCallbackStream.cxx \
|
||||
$(SRCDIR)/MemFunCallbackStream.cxx \
|
||||
$(SRCDIR)/Stream.cxx \
|
||||
$(SRCDIR)/StreamParameters.cxx \
|
||||
$(SRCDIR)/System.cxx \
|
||||
$(SRCDIR)/SystemDeviceIterator.cxx \
|
||||
$(SRCDIR)/SystemHostApiIterator.cxx
|
||||
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .cxx .lo .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --gnu lib/Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||
list2=; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
list2="$$list2 $$p"; \
|
||||
else :; fi; \
|
||||
done; \
|
||||
test -z "$$list2" || { \
|
||||
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
|
||||
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
|
||||
}
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||
for p in $$list; do \
|
||||
$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
|
||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
|
||||
done
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
@list='$(lib_LTLIBRARIES)'; \
|
||||
locs=`for p in $$list; do echo $$p; done | \
|
||||
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||
sort -u`; \
|
||||
test -z "$$locs" || { \
|
||||
echo rm -f $${locs}; \
|
||||
rm -f $${locs}; \
|
||||
}
|
||||
|
||||
libportaudiocpp.la: $(libportaudiocpp_la_OBJECTS) $(libportaudiocpp_la_DEPENDENCIES) $(EXTRA_libportaudiocpp_la_DEPENDENCIES)
|
||||
$(AM_V_CXXLD)$(libportaudiocpp_la_LINK) -rpath $(libdir) $(libportaudiocpp_la_OBJECTS) $(libportaudiocpp_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BlockingStream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CFunCallbackStream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CallbackInterface.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CallbackStream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CppFunCallbackStream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Device.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DirectionSpecificStreamParameters.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Exception.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/HostApi.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/InterfaceCallbackStream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MemFunCallbackStream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stream.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamParameters.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/System.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SystemDeviceIterator.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SystemHostApiIterator.Plo@am__quote@
|
||||
|
||||
.cxx.o:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
|
||||
|
||||
.cxx.obj:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
.cxx.lo:
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
|
||||
|
||||
BlockingStream.lo: $(SRCDIR)/BlockingStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT BlockingStream.lo -MD -MP -MF $(DEPDIR)/BlockingStream.Tpo -c -o BlockingStream.lo `test -f '$(SRCDIR)/BlockingStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/BlockingStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/BlockingStream.Tpo $(DEPDIR)/BlockingStream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/BlockingStream.cxx' object='BlockingStream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o BlockingStream.lo `test -f '$(SRCDIR)/BlockingStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/BlockingStream.cxx
|
||||
|
||||
CallbackInterface.lo: $(SRCDIR)/CallbackInterface.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CallbackInterface.lo -MD -MP -MF $(DEPDIR)/CallbackInterface.Tpo -c -o CallbackInterface.lo `test -f '$(SRCDIR)/CallbackInterface.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CallbackInterface.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CallbackInterface.Tpo $(DEPDIR)/CallbackInterface.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/CallbackInterface.cxx' object='CallbackInterface.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CallbackInterface.lo `test -f '$(SRCDIR)/CallbackInterface.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CallbackInterface.cxx
|
||||
|
||||
CallbackStream.lo: $(SRCDIR)/CallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CallbackStream.lo -MD -MP -MF $(DEPDIR)/CallbackStream.Tpo -c -o CallbackStream.lo `test -f '$(SRCDIR)/CallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CallbackStream.Tpo $(DEPDIR)/CallbackStream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/CallbackStream.cxx' object='CallbackStream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CallbackStream.lo `test -f '$(SRCDIR)/CallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CallbackStream.cxx
|
||||
|
||||
CFunCallbackStream.lo: $(SRCDIR)/CFunCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CFunCallbackStream.lo -MD -MP -MF $(DEPDIR)/CFunCallbackStream.Tpo -c -o CFunCallbackStream.lo `test -f '$(SRCDIR)/CFunCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CFunCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CFunCallbackStream.Tpo $(DEPDIR)/CFunCallbackStream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/CFunCallbackStream.cxx' object='CFunCallbackStream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CFunCallbackStream.lo `test -f '$(SRCDIR)/CFunCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CFunCallbackStream.cxx
|
||||
|
||||
CppFunCallbackStream.lo: $(SRCDIR)/CppFunCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT CppFunCallbackStream.lo -MD -MP -MF $(DEPDIR)/CppFunCallbackStream.Tpo -c -o CppFunCallbackStream.lo `test -f '$(SRCDIR)/CppFunCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CppFunCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/CppFunCallbackStream.Tpo $(DEPDIR)/CppFunCallbackStream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/CppFunCallbackStream.cxx' object='CppFunCallbackStream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o CppFunCallbackStream.lo `test -f '$(SRCDIR)/CppFunCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/CppFunCallbackStream.cxx
|
||||
|
||||
Device.lo: $(SRCDIR)/Device.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Device.lo -MD -MP -MF $(DEPDIR)/Device.Tpo -c -o Device.lo `test -f '$(SRCDIR)/Device.cxx' || echo '$(srcdir)/'`$(SRCDIR)/Device.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Device.Tpo $(DEPDIR)/Device.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/Device.cxx' object='Device.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Device.lo `test -f '$(SRCDIR)/Device.cxx' || echo '$(srcdir)/'`$(SRCDIR)/Device.cxx
|
||||
|
||||
DirectionSpecificStreamParameters.lo: $(SRCDIR)/DirectionSpecificStreamParameters.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT DirectionSpecificStreamParameters.lo -MD -MP -MF $(DEPDIR)/DirectionSpecificStreamParameters.Tpo -c -o DirectionSpecificStreamParameters.lo `test -f '$(SRCDIR)/DirectionSpecificStreamParameters.cxx' || echo '$(srcdir)/'`$(SRCDIR)/DirectionSpecificStreamParameters.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/DirectionSpecificStreamParameters.Tpo $(DEPDIR)/DirectionSpecificStreamParameters.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/DirectionSpecificStreamParameters.cxx' object='DirectionSpecificStreamParameters.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o DirectionSpecificStreamParameters.lo `test -f '$(SRCDIR)/DirectionSpecificStreamParameters.cxx' || echo '$(srcdir)/'`$(SRCDIR)/DirectionSpecificStreamParameters.cxx
|
||||
|
||||
Exception.lo: $(SRCDIR)/Exception.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Exception.lo -MD -MP -MF $(DEPDIR)/Exception.Tpo -c -o Exception.lo `test -f '$(SRCDIR)/Exception.cxx' || echo '$(srcdir)/'`$(SRCDIR)/Exception.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Exception.Tpo $(DEPDIR)/Exception.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/Exception.cxx' object='Exception.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Exception.lo `test -f '$(SRCDIR)/Exception.cxx' || echo '$(srcdir)/'`$(SRCDIR)/Exception.cxx
|
||||
|
||||
HostApi.lo: $(SRCDIR)/HostApi.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT HostApi.lo -MD -MP -MF $(DEPDIR)/HostApi.Tpo -c -o HostApi.lo `test -f '$(SRCDIR)/HostApi.cxx' || echo '$(srcdir)/'`$(SRCDIR)/HostApi.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/HostApi.Tpo $(DEPDIR)/HostApi.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/HostApi.cxx' object='HostApi.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o HostApi.lo `test -f '$(SRCDIR)/HostApi.cxx' || echo '$(srcdir)/'`$(SRCDIR)/HostApi.cxx
|
||||
|
||||
InterfaceCallbackStream.lo: $(SRCDIR)/InterfaceCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT InterfaceCallbackStream.lo -MD -MP -MF $(DEPDIR)/InterfaceCallbackStream.Tpo -c -o InterfaceCallbackStream.lo `test -f '$(SRCDIR)/InterfaceCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/InterfaceCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/InterfaceCallbackStream.Tpo $(DEPDIR)/InterfaceCallbackStream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/InterfaceCallbackStream.cxx' object='InterfaceCallbackStream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o InterfaceCallbackStream.lo `test -f '$(SRCDIR)/InterfaceCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/InterfaceCallbackStream.cxx
|
||||
|
||||
MemFunCallbackStream.lo: $(SRCDIR)/MemFunCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT MemFunCallbackStream.lo -MD -MP -MF $(DEPDIR)/MemFunCallbackStream.Tpo -c -o MemFunCallbackStream.lo `test -f '$(SRCDIR)/MemFunCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/MemFunCallbackStream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/MemFunCallbackStream.Tpo $(DEPDIR)/MemFunCallbackStream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/MemFunCallbackStream.cxx' object='MemFunCallbackStream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o MemFunCallbackStream.lo `test -f '$(SRCDIR)/MemFunCallbackStream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/MemFunCallbackStream.cxx
|
||||
|
||||
Stream.lo: $(SRCDIR)/Stream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT Stream.lo -MD -MP -MF $(DEPDIR)/Stream.Tpo -c -o Stream.lo `test -f '$(SRCDIR)/Stream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/Stream.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/Stream.Tpo $(DEPDIR)/Stream.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/Stream.cxx' object='Stream.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o Stream.lo `test -f '$(SRCDIR)/Stream.cxx' || echo '$(srcdir)/'`$(SRCDIR)/Stream.cxx
|
||||
|
||||
StreamParameters.lo: $(SRCDIR)/StreamParameters.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT StreamParameters.lo -MD -MP -MF $(DEPDIR)/StreamParameters.Tpo -c -o StreamParameters.lo `test -f '$(SRCDIR)/StreamParameters.cxx' || echo '$(srcdir)/'`$(SRCDIR)/StreamParameters.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/StreamParameters.Tpo $(DEPDIR)/StreamParameters.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/StreamParameters.cxx' object='StreamParameters.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o StreamParameters.lo `test -f '$(SRCDIR)/StreamParameters.cxx' || echo '$(srcdir)/'`$(SRCDIR)/StreamParameters.cxx
|
||||
|
||||
System.lo: $(SRCDIR)/System.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT System.lo -MD -MP -MF $(DEPDIR)/System.Tpo -c -o System.lo `test -f '$(SRCDIR)/System.cxx' || echo '$(srcdir)/'`$(SRCDIR)/System.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/System.Tpo $(DEPDIR)/System.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/System.cxx' object='System.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o System.lo `test -f '$(SRCDIR)/System.cxx' || echo '$(srcdir)/'`$(SRCDIR)/System.cxx
|
||||
|
||||
SystemDeviceIterator.lo: $(SRCDIR)/SystemDeviceIterator.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SystemDeviceIterator.lo -MD -MP -MF $(DEPDIR)/SystemDeviceIterator.Tpo -c -o SystemDeviceIterator.lo `test -f '$(SRCDIR)/SystemDeviceIterator.cxx' || echo '$(srcdir)/'`$(SRCDIR)/SystemDeviceIterator.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/SystemDeviceIterator.Tpo $(DEPDIR)/SystemDeviceIterator.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/SystemDeviceIterator.cxx' object='SystemDeviceIterator.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SystemDeviceIterator.lo `test -f '$(SRCDIR)/SystemDeviceIterator.cxx' || echo '$(srcdir)/'`$(SRCDIR)/SystemDeviceIterator.cxx
|
||||
|
||||
SystemHostApiIterator.lo: $(SRCDIR)/SystemHostApiIterator.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT SystemHostApiIterator.lo -MD -MP -MF $(DEPDIR)/SystemHostApiIterator.Tpo -c -o SystemHostApiIterator.lo `test -f '$(SRCDIR)/SystemHostApiIterator.cxx' || echo '$(srcdir)/'`$(SRCDIR)/SystemHostApiIterator.cxx
|
||||
@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/SystemHostApiIterator.Tpo $(DEPDIR)/SystemHostApiIterator.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(SRCDIR)/SystemHostApiIterator.cxx' object='SystemHostApiIterator.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o SystemHostApiIterator.lo `test -f '$(SRCDIR)/SystemHostApiIterator.cxx' || echo '$(srcdir)/'`$(SRCDIR)/SystemHostApiIterator.cxx
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
|
||||
else \
|
||||
test -f "$(distdir)/$$file" \
|
||||
|| cp -p $$d/$$file "$(distdir)/$$file" \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES)
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(libdir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am: install-libLTLIBRARIES
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-libLTLIBRARIES
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
||||
clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
|
||||
ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-libLTLIBRARIES install-man install-pdf \
|
||||
install-pdf-am install-ps install-ps-am install-strip \
|
||||
installcheck installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
12
extern/portaudio-modified/bindings/cpp/portaudiocpp.pc.in
vendored
Normal file
12
extern/portaudio-modified/bindings/cpp/portaudiocpp.pc.in
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: PortAudioCpp
|
||||
Description: Portable audio I/O C++ bindings
|
||||
Version: 12
|
||||
Requires: portaudio-2.0
|
||||
|
||||
Libs: -L${libdir} -lportaudiocpp
|
||||
Cflags: -I${includedir}
|
81
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/AsioDeviceAdapter.cxx
vendored
Normal file
81
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/AsioDeviceAdapter.cxx
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
#include "portaudiocpp/AsioDeviceAdapter.hxx"
|
||||
|
||||
#include "portaudio.h"
|
||||
#include "pa_asio.h"
|
||||
|
||||
#include "portaudiocpp/Device.hxx"
|
||||
#include "portaudiocpp/HostApi.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
AsioDeviceAdapter::AsioDeviceAdapter(Device &device)
|
||||
{
|
||||
if (device.hostApi().typeId() != paASIO)
|
||||
throw PaCppException(PaCppException::UNABLE_TO_ADAPT_DEVICE);
|
||||
|
||||
device_ = &device;
|
||||
|
||||
PaError err = PaAsio_GetAvailableLatencyValues(device_->index(), &minBufferSize_, &maxBufferSize_,
|
||||
&preferredBufferSize_, &granularity_);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
|
||||
}
|
||||
|
||||
Device &AsioDeviceAdapter::device()
|
||||
{
|
||||
return *device_;
|
||||
}
|
||||
|
||||
long AsioDeviceAdapter::minBufferSize() const
|
||||
{
|
||||
return minBufferSize_;
|
||||
}
|
||||
|
||||
long AsioDeviceAdapter::maxBufferSize() const
|
||||
{
|
||||
return maxBufferSize_;
|
||||
}
|
||||
|
||||
long AsioDeviceAdapter::preferredBufferSize() const
|
||||
{
|
||||
return preferredBufferSize_;
|
||||
}
|
||||
|
||||
long AsioDeviceAdapter::granularity() const
|
||||
{
|
||||
return granularity_;
|
||||
}
|
||||
|
||||
void AsioDeviceAdapter::showControlPanel(void *systemSpecific)
|
||||
{
|
||||
PaError err = PaAsio_ShowControlPanel(device_->index(), systemSpecific);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
const char *AsioDeviceAdapter::inputChannelName(int channelIndex) const
|
||||
{
|
||||
const char *channelName;
|
||||
PaError err = PaAsio_GetInputChannelName(device_->index(), channelIndex, &channelName);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
|
||||
return channelName;
|
||||
}
|
||||
|
||||
const char *AsioDeviceAdapter::outputChannelName(int channelIndex) const
|
||||
{
|
||||
const char *channelName;
|
||||
PaError err = PaAsio_GetOutputChannelName(device_->index(), channelIndex, &channelName);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
|
||||
return channelName;
|
||||
}
|
||||
}
|
97
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/BlockingStream.cxx
vendored
Normal file
97
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/BlockingStream.cxx
vendored
Normal file
|
@ -0,0 +1,97 @@
|
|||
#include "portaudiocpp/BlockingStream.hxx"
|
||||
|
||||
#include "portaudio.h"
|
||||
|
||||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
BlockingStream::BlockingStream()
|
||||
{
|
||||
}
|
||||
|
||||
BlockingStream::BlockingStream(const StreamParameters ¶meters)
|
||||
{
|
||||
open(parameters);
|
||||
}
|
||||
|
||||
BlockingStream::~BlockingStream()
|
||||
{
|
||||
try
|
||||
{
|
||||
close();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
// ignore all errors
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
void BlockingStream::open(const StreamParameters ¶meters)
|
||||
{
|
||||
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
||||
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), NULL, NULL);
|
||||
|
||||
if (err != paNoError)
|
||||
{
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
void BlockingStream::read(void *buffer, unsigned long numFrames)
|
||||
{
|
||||
PaError err = Pa_ReadStream(stream_, buffer, numFrames);
|
||||
|
||||
if (err != paNoError)
|
||||
{
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
|
||||
void BlockingStream::write(const void *buffer, unsigned long numFrames)
|
||||
{
|
||||
PaError err = Pa_WriteStream(stream_, buffer, numFrames);
|
||||
|
||||
if (err != paNoError)
|
||||
{
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
signed long BlockingStream::availableReadSize() const
|
||||
{
|
||||
signed long avail = Pa_GetStreamReadAvailable(stream_);
|
||||
|
||||
if (avail < 0)
|
||||
{
|
||||
throw PaException(avail);
|
||||
}
|
||||
|
||||
return avail;
|
||||
}
|
||||
|
||||
signed long BlockingStream::availableWriteSize() const
|
||||
{
|
||||
signed long avail = Pa_GetStreamWriteAvailable(stream_);
|
||||
|
||||
if (avail < 0)
|
||||
{
|
||||
throw PaException(avail);
|
||||
}
|
||||
|
||||
return avail;
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
} // portaudio
|
41
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx
vendored
Normal file
41
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CFunCallbackStream.cxx
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
#include "portaudiocpp/CFunCallbackStream.hxx"
|
||||
|
||||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
CFunCallbackStream::CFunCallbackStream()
|
||||
{
|
||||
}
|
||||
|
||||
CFunCallbackStream::CFunCallbackStream(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData)
|
||||
{
|
||||
open(parameters, funPtr, userData);
|
||||
}
|
||||
|
||||
CFunCallbackStream::~CFunCallbackStream()
|
||||
{
|
||||
try
|
||||
{
|
||||
close();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
// ignore all errors
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------==
|
||||
|
||||
void CFunCallbackStream::open(const StreamParameters ¶meters, PaStreamCallback *funPtr, void *userData)
|
||||
{
|
||||
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
||||
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), funPtr, userData);
|
||||
|
||||
if (err != paNoError)
|
||||
{
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
}
|
26
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CMakeLists.txt
vendored
Normal file
26
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CMakeLists.txt
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
find_package(ASIO)
|
||||
if(ASIO_FOUND)
|
||||
set(portaudio-cpp-sources-asio AsioDeviceAdapter.cxx PARENT_SCOPE)
|
||||
else()
|
||||
set(portaudio-cpp-sources-asio PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
set(portaudio-cpp-sources
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/BlockingStream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CFunCallbackStream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CallbackInterface.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CallbackStream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CppFunCallbackStream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Device.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/DirectionSpecificStreamParameters.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Exception.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/HostApi.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/InterfaceCallbackStream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/MemFunCallbackStream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Stream.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/StreamParameters.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/System.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/SystemDeviceIterator.cxx
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/SystemHostApiIterator.cxx
|
||||
PARENT_SCOPE
|
||||
)
|
23
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CallbackInterface.cxx
vendored
Normal file
23
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CallbackInterface.cxx
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
#include "portaudiocpp/CallbackInterface.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
namespace impl
|
||||
{
|
||||
|
||||
//////
|
||||
/// Adapts any CallbackInterface object to a C-callable function (ie this function). A
|
||||
/// pointer to the object should be passed as ``userData'' when setting up the callback.
|
||||
//////
|
||||
int callbackInterfaceToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
|
||||
{
|
||||
CallbackInterface *cb = static_cast<CallbackInterface *>(userData);
|
||||
return cb->paCallbackFun(inputBuffer, outputBuffer, numFrames, timeInfo, statusFlags);
|
||||
}
|
||||
|
||||
|
||||
} // namespace impl
|
||||
|
||||
} // namespace portaudio
|
20
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CallbackStream.cxx
vendored
Normal file
20
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CallbackStream.cxx
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
#include "portaudiocpp/CallbackStream.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
CallbackStream::CallbackStream()
|
||||
{
|
||||
}
|
||||
|
||||
CallbackStream::~CallbackStream()
|
||||
{
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
double CallbackStream::cpuLoad() const
|
||||
{
|
||||
return Pa_GetStreamCpuLoad(stream_);
|
||||
}
|
||||
|
||||
} // namespace portaudio
|
81
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CppFunCallbackStream.cxx
vendored
Normal file
81
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/CppFunCallbackStream.cxx
vendored
Normal file
|
@ -0,0 +1,81 @@
|
|||
#include "portaudiocpp/CppFunCallbackStream.hxx"
|
||||
|
||||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
namespace impl
|
||||
{
|
||||
//////
|
||||
/// Adapts any a C++ callback to a C-callable function (ie this function). A
|
||||
/// pointer to a struct with the C++ function pointer and the actual user data should be
|
||||
/// passed as the ``userData'' parameter when setting up the callback.
|
||||
//////
|
||||
int cppCallbackToPaCallbackAdapter(const void *inputBuffer, void *outputBuffer, unsigned long numFrames,
|
||||
const PaStreamCallbackTimeInfo *timeInfo, PaStreamCallbackFlags statusFlags, void *userData)
|
||||
{
|
||||
FunCallbackStream::CppToCCallbackData *data = static_cast<FunCallbackStream::CppToCCallbackData *>(userData);
|
||||
return data->funPtr(inputBuffer, outputBuffer, numFrames, timeInfo, statusFlags, data->userData);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
FunCallbackStream::CppToCCallbackData::CppToCCallbackData()
|
||||
{
|
||||
}
|
||||
|
||||
FunCallbackStream::CppToCCallbackData::CppToCCallbackData(CallbackFunPtr funPtr, void *userData) : funPtr(funPtr), userData(userData)
|
||||
{
|
||||
}
|
||||
|
||||
void FunCallbackStream::CppToCCallbackData::init(CallbackFunPtr funPtr, void *userData)
|
||||
{
|
||||
this->funPtr = funPtr;
|
||||
this->userData = userData;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
FunCallbackStream::FunCallbackStream()
|
||||
{
|
||||
}
|
||||
|
||||
FunCallbackStream::FunCallbackStream(const StreamParameters ¶meters, CallbackFunPtr funPtr, void *userData) : adapterData_(funPtr, userData)
|
||||
{
|
||||
open(parameters);
|
||||
}
|
||||
|
||||
FunCallbackStream::~FunCallbackStream()
|
||||
{
|
||||
try
|
||||
{
|
||||
close();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
// ignore all errors
|
||||
}
|
||||
}
|
||||
|
||||
void FunCallbackStream::open(const StreamParameters ¶meters, CallbackFunPtr funPtr, void *userData)
|
||||
{
|
||||
adapterData_.init(funPtr, userData);
|
||||
open(parameters);
|
||||
}
|
||||
|
||||
void FunCallbackStream::open(const StreamParameters ¶meters)
|
||||
{
|
||||
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
||||
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::cppCallbackToPaCallbackAdapter,
|
||||
static_cast<void *>(&adapterData_));
|
||||
|
||||
if (err != paNoError)
|
||||
{
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
}
|
166
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/Device.cxx
vendored
Normal file
166
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/Device.cxx
vendored
Normal file
|
@ -0,0 +1,166 @@
|
|||
#include "portaudiocpp/Device.hxx"
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "portaudiocpp/HostApi.hxx"
|
||||
#include "portaudiocpp/System.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
Device::Device(PaDeviceIndex index) : index_(index)
|
||||
{
|
||||
if (index == paNoDevice)
|
||||
info_ = NULL;
|
||||
else
|
||||
info_ = Pa_GetDeviceInfo(index);
|
||||
}
|
||||
|
||||
Device::~Device()
|
||||
{
|
||||
}
|
||||
|
||||
PaDeviceIndex Device::index() const
|
||||
{
|
||||
return index_;
|
||||
}
|
||||
|
||||
const char *Device::name() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return "";
|
||||
|
||||
return info_->name;
|
||||
}
|
||||
|
||||
int Device::maxInputChannels() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return 0;
|
||||
|
||||
return info_->maxInputChannels;
|
||||
}
|
||||
|
||||
int Device::maxOutputChannels() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return 0;
|
||||
|
||||
return info_->maxOutputChannels;
|
||||
}
|
||||
|
||||
PaTime Device::defaultLowInputLatency() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return static_cast<PaTime>(0.0);
|
||||
|
||||
return info_->defaultLowInputLatency;
|
||||
}
|
||||
|
||||
PaTime Device::defaultHighInputLatency() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return static_cast<PaTime>(0.0);
|
||||
|
||||
return info_->defaultHighInputLatency;
|
||||
}
|
||||
|
||||
PaTime Device::defaultLowOutputLatency() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return static_cast<PaTime>(0.0);
|
||||
|
||||
return info_->defaultLowOutputLatency;
|
||||
}
|
||||
|
||||
PaTime Device::defaultHighOutputLatency() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return static_cast<PaTime>(0.0);
|
||||
|
||||
return info_->defaultHighOutputLatency;
|
||||
}
|
||||
|
||||
double Device::defaultSampleRate() const
|
||||
{
|
||||
if (info_ == NULL)
|
||||
return 0.0;
|
||||
|
||||
return info_->defaultSampleRate;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
bool Device::isInputOnlyDevice() const
|
||||
{
|
||||
return (maxOutputChannels() == 0);
|
||||
}
|
||||
|
||||
bool Device::isOutputOnlyDevice() const
|
||||
{
|
||||
return (maxInputChannels() == 0);
|
||||
}
|
||||
|
||||
bool Device::isFullDuplexDevice() const
|
||||
{
|
||||
return (maxInputChannels() > 0 && maxOutputChannels() > 0);
|
||||
}
|
||||
|
||||
bool Device::isSystemDefaultInputDevice() const
|
||||
{
|
||||
return (System::instance().defaultInputDevice() == *this);
|
||||
}
|
||||
|
||||
bool Device::isSystemDefaultOutputDevice() const
|
||||
{
|
||||
return (System::instance().defaultOutputDevice() == *this);
|
||||
}
|
||||
|
||||
bool Device::isHostApiDefaultInputDevice() const
|
||||
{
|
||||
return (hostApi().defaultInputDevice() == *this);
|
||||
}
|
||||
|
||||
bool Device::isHostApiDefaultOutputDevice() const
|
||||
{
|
||||
return (hostApi().defaultOutputDevice() == *this);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
bool Device::operator==(const Device &rhs) const
|
||||
{
|
||||
return (index_ == rhs.index_);
|
||||
}
|
||||
|
||||
bool Device::operator!=(const Device &rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
HostApi &Device::hostApi()
|
||||
{
|
||||
// NOTE: will cause an exception when called for the null device
|
||||
if (info_ == NULL)
|
||||
throw PaException(paInternalError);
|
||||
|
||||
return System::instance().hostApiByIndex(info_->hostApi);
|
||||
}
|
||||
|
||||
const HostApi &Device::hostApi() const
|
||||
{
|
||||
// NOTE; will cause an exception when called for the null device
|
||||
if (info_ == NULL)
|
||||
throw PaException(paInternalError);
|
||||
|
||||
return System::instance().hostApiByIndex(info_->hostApi);
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
163
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/DirectionSpecificStreamParameters.cxx
vendored
Normal file
163
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/DirectionSpecificStreamParameters.cxx
vendored
Normal file
|
@ -0,0 +1,163 @@
|
|||
#include "portaudiocpp/DirectionSpecificStreamParameters.hxx"
|
||||
|
||||
#include "portaudiocpp/Device.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Returns a `nil' DirectionSpecificStreamParameters object. This can be used to
|
||||
/// specify that one direction of a Stream is not required (i.e. when creating
|
||||
/// a half-duplex Stream). All fields of the null DirectionSpecificStreamParameters
|
||||
/// object are invalid except for the device and the number of channel, which are set
|
||||
/// to paNoDevice and 0 respectively.
|
||||
//////
|
||||
DirectionSpecificStreamParameters DirectionSpecificStreamParameters::null()
|
||||
{
|
||||
DirectionSpecificStreamParameters tmp;
|
||||
tmp.paStreamParameters_.device = paNoDevice;
|
||||
tmp.paStreamParameters_.channelCount = 0;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Default constructor -- all parameters will be uninitialized.
|
||||
//////
|
||||
DirectionSpecificStreamParameters::DirectionSpecificStreamParameters()
|
||||
{
|
||||
}
|
||||
|
||||
//////
|
||||
/// Constructor which sets all required fields.
|
||||
//////
|
||||
DirectionSpecificStreamParameters::DirectionSpecificStreamParameters(const Device &device, int numChannels,
|
||||
SampleDataFormat format, bool interleaved, PaTime suggestedLatency, void *hostApiSpecificStreamInfo)
|
||||
{
|
||||
setDevice(device);
|
||||
setNumChannels(numChannels);
|
||||
setSampleFormat(format, interleaved);
|
||||
setSuggestedLatency(suggestedLatency);
|
||||
setHostApiSpecificStreamInfo(hostApiSpecificStreamInfo);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
void DirectionSpecificStreamParameters::setDevice(const Device &device)
|
||||
{
|
||||
paStreamParameters_.device = device.index();
|
||||
}
|
||||
|
||||
void DirectionSpecificStreamParameters::setNumChannels(int numChannels)
|
||||
{
|
||||
paStreamParameters_.channelCount = numChannels;
|
||||
}
|
||||
|
||||
void DirectionSpecificStreamParameters::setSampleFormat(SampleDataFormat format, bool interleaved)
|
||||
{
|
||||
paStreamParameters_.sampleFormat = static_cast<PaSampleFormat>(format);
|
||||
|
||||
if (!interleaved)
|
||||
paStreamParameters_.sampleFormat |= paNonInterleaved;
|
||||
}
|
||||
|
||||
void DirectionSpecificStreamParameters::setHostApiSpecificSampleFormat(PaSampleFormat format, bool interleaved)
|
||||
{
|
||||
paStreamParameters_.sampleFormat = format;
|
||||
|
||||
paStreamParameters_.sampleFormat |= paCustomFormat;
|
||||
|
||||
if (!interleaved)
|
||||
paStreamParameters_.sampleFormat |= paNonInterleaved;
|
||||
}
|
||||
|
||||
void DirectionSpecificStreamParameters::setSuggestedLatency(PaTime latency)
|
||||
{
|
||||
paStreamParameters_.suggestedLatency = latency;
|
||||
}
|
||||
|
||||
void DirectionSpecificStreamParameters::setHostApiSpecificStreamInfo(void *streamInfo)
|
||||
{
|
||||
paStreamParameters_.hostApiSpecificStreamInfo = streamInfo;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
PaStreamParameters *DirectionSpecificStreamParameters::paStreamParameters()
|
||||
{
|
||||
if (paStreamParameters_.channelCount > 0 && paStreamParameters_.device != paNoDevice)
|
||||
return &paStreamParameters_;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const PaStreamParameters *DirectionSpecificStreamParameters::paStreamParameters() const
|
||||
{
|
||||
if (paStreamParameters_.channelCount > 0 && paStreamParameters_.device != paNoDevice)
|
||||
return &paStreamParameters_;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Device &DirectionSpecificStreamParameters::device() const
|
||||
{
|
||||
return System::instance().deviceByIndex(paStreamParameters_.device);
|
||||
}
|
||||
|
||||
int DirectionSpecificStreamParameters::numChannels() const
|
||||
{
|
||||
return paStreamParameters_.channelCount;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the (non host api-specific) sample format, without including
|
||||
/// the paNonInterleaved flag. If the sample format is host api-spefific,
|
||||
/// INVALID_FORMAT (0) will be returned.
|
||||
//////
|
||||
SampleDataFormat DirectionSpecificStreamParameters::sampleFormat() const
|
||||
{
|
||||
if (isSampleFormatHostApiSpecific())
|
||||
return INVALID_FORMAT;
|
||||
else
|
||||
return static_cast<SampleDataFormat>(paStreamParameters_.sampleFormat & ~paNonInterleaved);
|
||||
}
|
||||
|
||||
bool DirectionSpecificStreamParameters::isSampleFormatInterleaved() const
|
||||
{
|
||||
return ((paStreamParameters_.sampleFormat & paNonInterleaved) == 0);
|
||||
}
|
||||
|
||||
bool DirectionSpecificStreamParameters::isSampleFormatHostApiSpecific() const
|
||||
{
|
||||
return ((paStreamParameters_.sampleFormat & paCustomFormat) == 0);
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the host api-specific sample format, without including any
|
||||
/// paCustomFormat or paNonInterleaved flags. Will return 0 if the sample format is
|
||||
/// not host api-specific.
|
||||
//////
|
||||
PaSampleFormat DirectionSpecificStreamParameters::hostApiSpecificSampleFormat() const
|
||||
{
|
||||
if (isSampleFormatHostApiSpecific())
|
||||
return paStreamParameters_.sampleFormat & ~paCustomFormat & ~paNonInterleaved;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
PaTime DirectionSpecificStreamParameters::suggestedLatency() const
|
||||
{
|
||||
return paStreamParameters_.suggestedLatency;
|
||||
}
|
||||
|
||||
void *DirectionSpecificStreamParameters::hostApiSpecificStreamInfo() const
|
||||
{
|
||||
return paStreamParameters_.hostApiSpecificStreamInfo;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
121
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/Exception.cxx
vendored
Normal file
121
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/Exception.cxx
vendored
Normal file
|
@ -0,0 +1,121 @@
|
|||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
// PaException:
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Wraps a PortAudio error into a PortAudioCpp PaException.
|
||||
//////
|
||||
PaException::PaException(PaError error) : error_(error)
|
||||
{
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Alias for paErrorText(), to have std::exception compliance.
|
||||
//////
|
||||
const char *PaException::what() const throw()
|
||||
{
|
||||
return paErrorText();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Returns the PortAudio error code (PaError).
|
||||
//////
|
||||
PaError PaException::paError() const
|
||||
{
|
||||
return error_;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the error as a (zero-terminated) text string.
|
||||
//////
|
||||
const char *PaException::paErrorText() const
|
||||
{
|
||||
return Pa_GetErrorText(error_);
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns true is the error is a HostApi error.
|
||||
//////
|
||||
bool PaException::isHostApiError() const
|
||||
{
|
||||
return (error_ == paUnanticipatedHostError);
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the last HostApi error (which is the current one if
|
||||
/// isHostApiError() returns true) as an error code.
|
||||
//////
|
||||
long PaException::lastHostApiError() const
|
||||
{
|
||||
return Pa_GetLastHostErrorInfo()->errorCode;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the last HostApi error (which is the current one if
|
||||
/// isHostApiError() returns true) as a (zero-terminated) text
|
||||
/// string, if it's available.
|
||||
//////
|
||||
const char *PaException::lastHostApiErrorText() const
|
||||
{
|
||||
return Pa_GetLastHostErrorInfo()->errorText;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
bool PaException::operator==(const PaException &rhs) const
|
||||
{
|
||||
return (error_ == rhs.error_);
|
||||
}
|
||||
|
||||
bool PaException::operator!=(const PaException &rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
// PaCppException:
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
PaCppException::PaCppException(ExceptionSpecifier specifier) : specifier_(specifier)
|
||||
{
|
||||
}
|
||||
|
||||
const char *PaCppException::what() const throw()
|
||||
{
|
||||
switch (specifier_)
|
||||
{
|
||||
case UNABLE_TO_ADAPT_DEVICE:
|
||||
{
|
||||
return "Unable to adapt the given device to the specified host api specific device extension";
|
||||
}
|
||||
}
|
||||
|
||||
return "Unknown exception";
|
||||
}
|
||||
|
||||
PaCppException::ExceptionSpecifier PaCppException::specifier() const
|
||||
{
|
||||
return specifier_;
|
||||
}
|
||||
|
||||
bool PaCppException::operator==(const PaCppException &rhs) const
|
||||
{
|
||||
return (specifier_ == rhs.specifier_);
|
||||
}
|
||||
|
||||
bool PaCppException::operator!=(const PaCppException &rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
121
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/HostApi.cxx
vendored
Normal file
121
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/HostApi.cxx
vendored
Normal file
|
@ -0,0 +1,121 @@
|
|||
#include "portaudiocpp/HostApi.hxx"
|
||||
|
||||
#include "portaudiocpp/System.hxx"
|
||||
#include "portaudiocpp/Device.hxx"
|
||||
#include "portaudiocpp/SystemDeviceIterator.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
HostApi::HostApi(PaHostApiIndex index) : devices_(NULL)
|
||||
{
|
||||
try
|
||||
{
|
||||
info_ = Pa_GetHostApiInfo(index);
|
||||
|
||||
// Create and populate devices array:
|
||||
int numDevices = deviceCount();
|
||||
|
||||
devices_ = new Device*[numDevices];
|
||||
|
||||
for (int i = 0; i < numDevices; ++i)
|
||||
{
|
||||
PaDeviceIndex deviceIndex = Pa_HostApiDeviceIndexToDeviceIndex(index, i);
|
||||
|
||||
if (deviceIndex < 0)
|
||||
{
|
||||
throw PaException(deviceIndex);
|
||||
}
|
||||
|
||||
devices_[i] = &System::instance().deviceByIndex(deviceIndex);
|
||||
}
|
||||
}
|
||||
catch (const std::exception &e)
|
||||
{
|
||||
// Delete any (partially) constructed objects (deconstructor isn't called):
|
||||
delete[] devices_; // devices_ is either NULL or valid
|
||||
|
||||
// Re-throw exception:
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
HostApi::~HostApi()
|
||||
{
|
||||
// Destroy devices array:
|
||||
delete[] devices_;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
PaHostApiTypeId HostApi::typeId() const
|
||||
{
|
||||
return info_->type;
|
||||
}
|
||||
|
||||
PaHostApiIndex HostApi::index() const
|
||||
{
|
||||
PaHostApiIndex index = Pa_HostApiTypeIdToHostApiIndex(typeId());
|
||||
|
||||
if (index < 0)
|
||||
throw PaException(index);
|
||||
|
||||
return index;
|
||||
}
|
||||
|
||||
const char *HostApi::name() const
|
||||
{
|
||||
return info_->name;
|
||||
}
|
||||
|
||||
int HostApi::deviceCount() const
|
||||
{
|
||||
return info_->deviceCount;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
HostApi::DeviceIterator HostApi::devicesBegin()
|
||||
{
|
||||
DeviceIterator tmp;
|
||||
tmp.ptr_ = &devices_[0]; // begin (first element)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
HostApi::DeviceIterator HostApi::devicesEnd()
|
||||
{
|
||||
DeviceIterator tmp;
|
||||
tmp.ptr_ = &devices_[deviceCount()]; // end (one past last element)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
Device &HostApi::defaultInputDevice() const
|
||||
{
|
||||
return System::instance().deviceByIndex(info_->defaultInputDevice);
|
||||
}
|
||||
|
||||
Device &HostApi::defaultOutputDevice() const
|
||||
{
|
||||
return System::instance().deviceByIndex(info_->defaultOutputDevice);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
bool HostApi::operator==(const HostApi &rhs) const
|
||||
{
|
||||
return (typeId() == rhs.typeId());
|
||||
}
|
||||
|
||||
bool HostApi::operator!=(const HostApi &rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
45
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
vendored
Normal file
45
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/InterfaceCallbackStream.cxx
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
#include "portaudiocpp/InterfaceCallbackStream.hxx"
|
||||
|
||||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
#include "portaudiocpp/CallbackInterface.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// ---------------------------------------------------------------------------------==
|
||||
|
||||
InterfaceCallbackStream::InterfaceCallbackStream()
|
||||
{
|
||||
}
|
||||
|
||||
InterfaceCallbackStream::InterfaceCallbackStream(const StreamParameters ¶meters, CallbackInterface &instance)
|
||||
{
|
||||
open(parameters, instance);
|
||||
}
|
||||
|
||||
InterfaceCallbackStream::~InterfaceCallbackStream()
|
||||
{
|
||||
try
|
||||
{
|
||||
close();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
// ignore all errors
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------==
|
||||
|
||||
void InterfaceCallbackStream::open(const StreamParameters ¶meters, CallbackInterface &instance)
|
||||
{
|
||||
PaError err = Pa_OpenStream(&stream_, parameters.inputParameters().paStreamParameters(), parameters.outputParameters().paStreamParameters(),
|
||||
parameters.sampleRate(), parameters.framesPerBuffer(), parameters.flags(), &impl::callbackInterfaceToPaCallbackAdapter, static_cast<void *>(&instance));
|
||||
|
||||
if (err != paNoError)
|
||||
{
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
}
|
3
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/MemFunCallbackStream.cxx
vendored
Normal file
3
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/MemFunCallbackStream.cxx
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
#include "portaudiocpp/MemFunCallbackStream.hxx"
|
||||
|
||||
// (... template class ...)
|
195
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/Stream.cxx
vendored
Normal file
195
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/Stream.cxx
vendored
Normal file
|
@ -0,0 +1,195 @@
|
|||
#include "portaudiocpp/Stream.hxx"
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
#include "portaudiocpp/System.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
Stream::Stream() : stream_(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
Stream::~Stream()
|
||||
{
|
||||
// (can't call close here,
|
||||
// the derived class should atleast call
|
||||
// close() in it's deconstructor)
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Closes the Stream if it's open, else does nothing.
|
||||
//////
|
||||
void Stream::close()
|
||||
{
|
||||
if (isOpen() && System::exists())
|
||||
{
|
||||
PaError err = Pa_CloseStream(stream_);
|
||||
stream_ = NULL;
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns true if the Stream is open.
|
||||
//////
|
||||
bool Stream::isOpen() const
|
||||
{
|
||||
return (stream_ != NULL);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
void Stream::setStreamFinishedCallback(PaStreamFinishedCallback *callback)
|
||||
{
|
||||
PaError err = Pa_SetStreamFinishedCallback(stream_, callback);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
void Stream::start()
|
||||
{
|
||||
PaError err = Pa_StartStream(stream_);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
void Stream::stop()
|
||||
{
|
||||
PaError err = Pa_StopStream(stream_);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
void Stream::abort()
|
||||
{
|
||||
PaError err = Pa_AbortStream(stream_);
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
bool Stream::isStopped() const
|
||||
{
|
||||
PaError ret = Pa_IsStreamStopped(stream_);
|
||||
|
||||
if (ret < 0)
|
||||
throw PaException(ret);
|
||||
|
||||
return (ret == 1);
|
||||
}
|
||||
|
||||
bool Stream::isActive() const
|
||||
{
|
||||
PaError ret = Pa_IsStreamActive(stream_);
|
||||
|
||||
if (ret < 0)
|
||||
throw PaException(ret);
|
||||
|
||||
return (ret == 1);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Returns the best known input latency for the Stream. This value may differ from the
|
||||
/// suggested input latency set in the StreamParameters. Includes all sources of
|
||||
/// latency known to PortAudio such as internal buffering, and Host API reported latency.
|
||||
/// Doesn't include any estimates of unknown latency.
|
||||
//////
|
||||
PaTime Stream::inputLatency() const
|
||||
{
|
||||
const PaStreamInfo *info = Pa_GetStreamInfo(stream_);
|
||||
if (info == NULL)
|
||||
{
|
||||
throw PaException(paInternalError);
|
||||
return PaTime(0.0);
|
||||
}
|
||||
|
||||
return info->inputLatency;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the best known output latency for the Stream. This value may differ from the
|
||||
/// suggested output latency set in the StreamParameters. Includes all sources of
|
||||
/// latency known to PortAudio such as internal buffering, and Host API reported latency.
|
||||
/// Doesn't include any estimates of unknown latency.
|
||||
//////
|
||||
PaTime Stream::outputLatency() const
|
||||
{
|
||||
const PaStreamInfo *info = Pa_GetStreamInfo(stream_);
|
||||
if (info == NULL)
|
||||
{
|
||||
throw PaException(paInternalError);
|
||||
return PaTime(0.0);
|
||||
}
|
||||
|
||||
return info->outputLatency;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the sample rate of the Stream. Usually this will be the
|
||||
/// best known estimate of the used sample rate. For instance when opening a
|
||||
/// Stream setting 44100.0 Hz in the StreamParameters, the actual sample
|
||||
/// rate might be something like 44103.2 Hz (due to imperfections in the
|
||||
/// sound card hardware).
|
||||
//////
|
||||
double Stream::sampleRate() const
|
||||
{
|
||||
const PaStreamInfo *info = Pa_GetStreamInfo(stream_);
|
||||
if (info == NULL)
|
||||
{
|
||||
throw PaException(paInternalError);
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
return info->sampleRate;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
PaTime Stream::time() const
|
||||
{
|
||||
return Pa_GetStreamTime(stream_);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Accessor (const) for PortAudio PaStream pointer, useful for interfacing with
|
||||
/// PortAudio add-ons such as PortMixer for instance. Normally accessing this
|
||||
/// pointer should not be needed as PortAudioCpp aims to provide all of PortAudio's
|
||||
/// functionality.
|
||||
//////
|
||||
const PaStream *Stream::paStream() const
|
||||
{
|
||||
return stream_;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Accessor (non-const) for PortAudio PaStream pointer, useful for interfacing with
|
||||
/// PortAudio add-ons such as PortMixer for instance. Normally accessing this
|
||||
/// pointer should not be needed as PortAudioCpp aims to provide all of PortAudio's
|
||||
/// functionality.
|
||||
//////
|
||||
PaStream *Stream::paStream()
|
||||
{
|
||||
return stream_;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
160
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/StreamParameters.cxx
vendored
Normal file
160
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/StreamParameters.cxx
vendored
Normal file
|
@ -0,0 +1,160 @@
|
|||
#include "portaudiocpp/StreamParameters.hxx"
|
||||
|
||||
#include <cstddef>
|
||||
|
||||
#include "portaudiocpp/Device.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Default constructor; does nothing.
|
||||
//////
|
||||
StreamParameters::StreamParameters()
|
||||
{
|
||||
}
|
||||
|
||||
//////
|
||||
/// Sets up the all parameters needed to open either a half-duplex or full-duplex Stream.
|
||||
///
|
||||
/// @param inputParameters The parameters for the input direction of the to-be opened
|
||||
/// Stream or DirectionSpecificStreamParameters::null() for an output-only Stream.
|
||||
/// @param outputParameters The parameters for the output direction of the to-be opened
|
||||
/// Stream or DirectionSpecificStreamParameters::null() for an input-only Stream.
|
||||
/// @param sampleRate The to-be opened Stream's sample rate in Hz.
|
||||
/// @param framesPerBuffer The number of frames per buffer for a CallbackStream, or
|
||||
/// the preferred buffer granularity for a BlockingStream.
|
||||
/// @param flags The flags for the to-be opened Stream; default paNoFlag.
|
||||
//////
|
||||
StreamParameters::StreamParameters(const DirectionSpecificStreamParameters &inputParameters,
|
||||
const DirectionSpecificStreamParameters &outputParameters, double sampleRate, unsigned long framesPerBuffer,
|
||||
PaStreamFlags flags) : inputParameters_(inputParameters), outputParameters_(outputParameters),
|
||||
sampleRate_(sampleRate), framesPerBuffer_(framesPerBuffer), flags_(flags)
|
||||
{
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
//////
|
||||
/// Sets the requested sample rate. If this sample rate isn't supported by the hardware, the
|
||||
/// Stream will fail to open. The real-life sample rate used might differ slightly due to
|
||||
/// imperfections in the sound card hardware; use Stream::sampleRate() to retrieve the
|
||||
/// best known estimate for this value.
|
||||
//////
|
||||
void StreamParameters::setSampleRate(double sampleRate)
|
||||
{
|
||||
sampleRate_ = sampleRate;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Either the number of frames per buffer for a CallbackStream, or
|
||||
/// the preferred buffer granularity for a BlockingStream. See PortAudio
|
||||
/// documentation.
|
||||
//////
|
||||
void StreamParameters::setFramesPerBuffer(unsigned long framesPerBuffer)
|
||||
{
|
||||
framesPerBuffer_ = framesPerBuffer;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Sets the specified flag or does nothing when the flag is already set. Doesn't
|
||||
/// `unset' any previously existing flags (use clearFlags() for that).
|
||||
//////
|
||||
void StreamParameters::setFlag(PaStreamFlags flag)
|
||||
{
|
||||
flags_ |= flag;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Unsets the specified flag or does nothing if the flag isn't set. Doesn't affect
|
||||
/// any other flags.
|
||||
//////
|
||||
void StreamParameters::unsetFlag(PaStreamFlags flag)
|
||||
{
|
||||
flags_ &= ~flag;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Clears or `unsets' all set flags.
|
||||
//////
|
||||
void StreamParameters::clearFlags()
|
||||
{
|
||||
flags_ = paNoFlag;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
void StreamParameters::setInputParameters(const DirectionSpecificStreamParameters ¶meters)
|
||||
{
|
||||
inputParameters_ = parameters;
|
||||
}
|
||||
|
||||
void StreamParameters::setOutputParameters(const DirectionSpecificStreamParameters ¶meters)
|
||||
{
|
||||
outputParameters_ = parameters;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
bool StreamParameters::isSupported() const
|
||||
{
|
||||
return (Pa_IsFormatSupported(inputParameters_.paStreamParameters(),
|
||||
outputParameters_.paStreamParameters(), sampleRate_) == paFormatIsSupported);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
double StreamParameters::sampleRate() const
|
||||
{
|
||||
return sampleRate_;
|
||||
}
|
||||
|
||||
unsigned long StreamParameters::framesPerBuffer() const
|
||||
{
|
||||
return framesPerBuffer_;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns all currently set flags as a binary combined
|
||||
/// integer value (PaStreamFlags). Use isFlagSet() to
|
||||
/// avoid dealing with the bitmasks.
|
||||
//////
|
||||
PaStreamFlags StreamParameters::flags() const
|
||||
{
|
||||
return flags_;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns true if the specified flag is currently set
|
||||
/// or false if it isn't.
|
||||
//////
|
||||
bool StreamParameters::isFlagSet(PaStreamFlags flag) const
|
||||
{
|
||||
return ((flags_ & flag) != 0);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
DirectionSpecificStreamParameters &StreamParameters::inputParameters()
|
||||
{
|
||||
return inputParameters_;
|
||||
}
|
||||
|
||||
const DirectionSpecificStreamParameters &StreamParameters::inputParameters() const
|
||||
{
|
||||
return inputParameters_;
|
||||
}
|
||||
|
||||
DirectionSpecificStreamParameters &StreamParameters::outputParameters()
|
||||
{
|
||||
return outputParameters_;
|
||||
}
|
||||
|
||||
const DirectionSpecificStreamParameters &StreamParameters::outputParameters() const
|
||||
{
|
||||
return outputParameters_;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
} // namespace portaudio
|
307
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/System.cxx
vendored
Normal file
307
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/System.cxx
vendored
Normal file
|
@ -0,0 +1,307 @@
|
|||
#include "portaudiocpp/System.hxx"
|
||||
|
||||
#include <cstddef>
|
||||
#include <cassert>
|
||||
|
||||
#include "portaudiocpp/HostApi.hxx"
|
||||
#include "portaudiocpp/Device.hxx"
|
||||
#include "portaudiocpp/Stream.hxx"
|
||||
#include "portaudiocpp/Exception.hxx"
|
||||
#include "portaudiocpp/SystemHostApiIterator.hxx"
|
||||
#include "portaudiocpp/SystemDeviceIterator.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
// Static members:
|
||||
System *System::instance_ = NULL;
|
||||
int System::initCount_ = 0;
|
||||
HostApi **System::hostApis_ = NULL;
|
||||
Device **System::devices_ = NULL;
|
||||
Device *System::nullDevice_ = NULL;
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
int System::version()
|
||||
{
|
||||
return Pa_GetVersion();
|
||||
}
|
||||
|
||||
const char *System::versionText()
|
||||
{
|
||||
return Pa_GetVersionText();
|
||||
}
|
||||
|
||||
void System::initialize()
|
||||
{
|
||||
++initCount_;
|
||||
|
||||
if (initCount_ == 1)
|
||||
{
|
||||
// Create singleton:
|
||||
assert(instance_ == NULL);
|
||||
instance_ = new System();
|
||||
|
||||
// Initialize the PortAudio system:
|
||||
{
|
||||
PaError err = Pa_Initialize();
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
// Create and populate device array:
|
||||
{
|
||||
int numDevices = instance().deviceCount();
|
||||
|
||||
devices_ = new Device*[numDevices];
|
||||
|
||||
for (int i = 0; i < numDevices; ++i)
|
||||
devices_[i] = new Device(i);
|
||||
}
|
||||
|
||||
// Create and populate host api array:
|
||||
{
|
||||
int numHostApis = instance().hostApiCount();
|
||||
|
||||
hostApis_ = new HostApi*[numHostApis];
|
||||
|
||||
for (int i = 0; i < numHostApis; ++i)
|
||||
hostApis_[i] = new HostApi(i);
|
||||
}
|
||||
|
||||
// Create null device:
|
||||
nullDevice_ = new Device(paNoDevice);
|
||||
}
|
||||
}
|
||||
|
||||
void System::terminate()
|
||||
{
|
||||
PaError err = paNoError;
|
||||
|
||||
if (initCount_ == 1)
|
||||
{
|
||||
// Destroy null device:
|
||||
delete nullDevice_;
|
||||
|
||||
// Destroy host api array:
|
||||
{
|
||||
if (hostApis_ != NULL)
|
||||
{
|
||||
int numHostApis = instance().hostApiCount();
|
||||
|
||||
for (int i = 0; i < numHostApis; ++i)
|
||||
delete hostApis_[i];
|
||||
|
||||
delete[] hostApis_;
|
||||
hostApis_ = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// Destroy device array:
|
||||
{
|
||||
if (devices_ != NULL)
|
||||
{
|
||||
int numDevices = instance().deviceCount();
|
||||
|
||||
for (int i = 0; i < numDevices; ++i)
|
||||
delete devices_[i];
|
||||
|
||||
delete[] devices_;
|
||||
devices_ = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// Terminate the PortAudio system:
|
||||
assert(instance_ != NULL);
|
||||
err = Pa_Terminate();
|
||||
|
||||
// Destroy singleton:
|
||||
delete instance_;
|
||||
instance_ = NULL;
|
||||
}
|
||||
|
||||
if (initCount_ > 0)
|
||||
--initCount_;
|
||||
|
||||
if (err != paNoError)
|
||||
throw PaException(err);
|
||||
}
|
||||
|
||||
|
||||
System &System::instance()
|
||||
{
|
||||
assert(exists());
|
||||
|
||||
return *instance_;
|
||||
}
|
||||
|
||||
bool System::exists()
|
||||
{
|
||||
return (instance_ != NULL);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
System::HostApiIterator System::hostApisBegin()
|
||||
{
|
||||
System::HostApiIterator tmp;
|
||||
tmp.ptr_ = &hostApis_[0]; // begin (first element)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
System::HostApiIterator System::hostApisEnd()
|
||||
{
|
||||
int count = hostApiCount();
|
||||
|
||||
System::HostApiIterator tmp;
|
||||
tmp.ptr_ = &hostApis_[count]; // end (one past last element)
|
||||
return tmp;
|
||||
}
|
||||
|
||||
HostApi &System::defaultHostApi()
|
||||
{
|
||||
PaHostApiIndex defaultHostApi = Pa_GetDefaultHostApi();
|
||||
|
||||
if (defaultHostApi < 0)
|
||||
throw PaException(defaultHostApi);
|
||||
|
||||
return *hostApis_[defaultHostApi];
|
||||
}
|
||||
|
||||
HostApi &System::hostApiByTypeId(PaHostApiTypeId type)
|
||||
{
|
||||
PaHostApiIndex index = Pa_HostApiTypeIdToHostApiIndex(type);
|
||||
|
||||
if (index < 0)
|
||||
throw PaException(index);
|
||||
|
||||
return *hostApis_[index];
|
||||
}
|
||||
|
||||
HostApi &System::hostApiByIndex(PaHostApiIndex index)
|
||||
{
|
||||
if (index < 0 || index >= hostApiCount())
|
||||
throw PaException(paInternalError);
|
||||
|
||||
return *hostApis_[index];
|
||||
}
|
||||
|
||||
int System::hostApiCount()
|
||||
{
|
||||
PaHostApiIndex count = Pa_GetHostApiCount();
|
||||
|
||||
if (count < 0)
|
||||
throw PaException(count);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
System::DeviceIterator System::devicesBegin()
|
||||
{
|
||||
DeviceIterator tmp;
|
||||
tmp.ptr_ = &devices_[0];
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
System::DeviceIterator System::devicesEnd()
|
||||
{
|
||||
int count = deviceCount();
|
||||
|
||||
DeviceIterator tmp;
|
||||
tmp.ptr_ = &devices_[count];
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the System's default input Device, or the null Device if none
|
||||
/// was available.
|
||||
//////
|
||||
Device &System::defaultInputDevice()
|
||||
{
|
||||
PaDeviceIndex index = Pa_GetDefaultInputDevice();
|
||||
return deviceByIndex(index);
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the System's default output Device, or the null Device if none
|
||||
/// was available.
|
||||
//////
|
||||
Device &System::defaultOutputDevice()
|
||||
{
|
||||
PaDeviceIndex index = Pa_GetDefaultOutputDevice();
|
||||
return deviceByIndex(index);
|
||||
}
|
||||
|
||||
//////
|
||||
/// Returns the Device for the given index.
|
||||
/// Will throw a paInternalError equivalent PaException if the given index
|
||||
/// is out of range.
|
||||
//////
|
||||
Device &System::deviceByIndex(PaDeviceIndex index)
|
||||
{
|
||||
if (index < -1 || index >= deviceCount())
|
||||
{
|
||||
throw PaException(paInternalError);
|
||||
}
|
||||
|
||||
if (index == -1)
|
||||
return System::instance().nullDevice();
|
||||
|
||||
return *devices_[index];
|
||||
}
|
||||
|
||||
int System::deviceCount()
|
||||
{
|
||||
PaDeviceIndex count = Pa_GetDeviceCount();
|
||||
|
||||
if (count < 0)
|
||||
throw PaException(count);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
Device &System::nullDevice()
|
||||
{
|
||||
return *nullDevice_;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
void System::sleep(long msec)
|
||||
{
|
||||
Pa_Sleep(msec);
|
||||
}
|
||||
|
||||
int System::sizeOfSample(PaSampleFormat format)
|
||||
{
|
||||
PaError err = Pa_GetSampleSize(format);
|
||||
if (err < 0)
|
||||
{
|
||||
throw PaException(err);
|
||||
return 0;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
System::System()
|
||||
{
|
||||
// (left blank intentionally)
|
||||
}
|
||||
|
||||
System::~System()
|
||||
{
|
||||
// (left blank intentionally)
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
} // namespace portaudio
|
58
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx
vendored
Normal file
58
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/SystemDeviceIterator.cxx
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
#include "portaudiocpp/SystemDeviceIterator.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
Device &System::DeviceIterator::operator*() const
|
||||
{
|
||||
return **ptr_;
|
||||
}
|
||||
|
||||
Device *System::DeviceIterator::operator->() const
|
||||
{
|
||||
return &**this;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
System::DeviceIterator &System::DeviceIterator::operator++()
|
||||
{
|
||||
++ptr_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
System::DeviceIterator System::DeviceIterator::operator++(int)
|
||||
{
|
||||
System::DeviceIterator prev = *this;
|
||||
++*this;
|
||||
return prev;
|
||||
}
|
||||
|
||||
System::DeviceIterator &System::DeviceIterator::operator--()
|
||||
{
|
||||
--ptr_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
System::DeviceIterator System::DeviceIterator::operator--(int)
|
||||
{
|
||||
System::DeviceIterator prev = *this;
|
||||
--*this;
|
||||
return prev;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
bool System::DeviceIterator::operator==(const System::DeviceIterator &rhs) const
|
||||
{
|
||||
return (ptr_ == rhs.ptr_);
|
||||
}
|
||||
|
||||
bool System::DeviceIterator::operator!=(const System::DeviceIterator &rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
} // namespace portaudio
|
58
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx
vendored
Normal file
58
extern/portaudio-modified/bindings/cpp/source/portaudiocpp/SystemHostApiIterator.cxx
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
#include "portaudiocpp/SystemHostApiIterator.hxx"
|
||||
|
||||
namespace portaudio
|
||||
{
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
HostApi &System::HostApiIterator::operator*() const
|
||||
{
|
||||
return **ptr_;
|
||||
}
|
||||
|
||||
HostApi *System::HostApiIterator::operator->() const
|
||||
{
|
||||
return &**this;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
System::HostApiIterator &System::HostApiIterator::operator++()
|
||||
{
|
||||
++ptr_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
System::HostApiIterator System::HostApiIterator::operator++(int)
|
||||
{
|
||||
System::HostApiIterator prev = *this;
|
||||
++*this;
|
||||
return prev;
|
||||
}
|
||||
|
||||
System::HostApiIterator &System::HostApiIterator::operator--()
|
||||
{
|
||||
--ptr_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
System::HostApiIterator System::HostApiIterator::operator--(int)
|
||||
{
|
||||
System::HostApiIterator prev = *this;
|
||||
--*this;
|
||||
return prev;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
|
||||
bool System::HostApiIterator::operator==(const System::HostApiIterator &rhs) const
|
||||
{
|
||||
return (ptr_ == rhs.ptr_);
|
||||
}
|
||||
|
||||
bool System::HostApiIterator::operator!=(const System::HostApiIterator &rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------------
|
||||
} // namespace portaudio
|
12
extern/portaudio-modified/clear_gitrevision.sh
vendored
Executable file
12
extern/portaudio-modified/clear_gitrevision.sh
vendored
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Clear the Git commit SHA in the include file.
|
||||
# This should be run before checking in code to Git.
|
||||
#
|
||||
revision_filename=src/common/pa_gitrevision.h
|
||||
|
||||
# Update the include file with the current GIT revision.
|
||||
echo "#define PA_GIT_REVISION unknown" > ${revision_filename}
|
||||
|
||||
echo ${revision_filename} now contains
|
||||
cat ${revision_filename}
|
18
extern/portaudio-modified/cmake/PortAudioConfig.cmake.in
vendored
Normal file
18
extern/portaudio-modified/cmake/PortAudioConfig.cmake.in
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
@PACKAGE_INIT@
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/PortAudioTargets.cmake")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/modules")
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
|
||||
find_dependency(Threads)
|
||||
|
||||
if("@PA_USE_JACK@")
|
||||
find_dependency(Regex)
|
||||
find_dependency(JACK)
|
||||
endif()
|
||||
|
||||
if("@PA_USE_ALSA@")
|
||||
find_dependency(ALSA)
|
||||
endif()
|
21
extern/portaudio-modified/cmake/cmake_uninstall.cmake.in
vendored
Normal file
21
extern/portaudio-modified/cmake/cmake_uninstall.cmake.in
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
foreach(file ${files})
|
||||
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
||||
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
exec_program(
|
||||
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RETURN_VALUE rm_retval
|
||||
)
|
||||
if(NOT "${rm_retval}" STREQUAL 0)
|
||||
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
||||
endif(NOT "${rm_retval}" STREQUAL 0)
|
||||
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
||||
endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
endforeach(file)
|
79
extern/portaudio-modified/cmake/modules/FindASIO.cmake
vendored
Normal file
79
extern/portaudio-modified/cmake/modules/FindASIO.cmake
vendored
Normal file
|
@ -0,0 +1,79 @@
|
|||
#[=======================================================================[.rst:
|
||||
FindASIO
|
||||
--------
|
||||
|
||||
Finds the ASIO SDK by searching for the SDK ZIP in CMAKE_PREFIX_PATH and
|
||||
CMAKE_CURRENT_BINARY_DIR. Alternatively, you may manually specify the path of
|
||||
the SDK ZIP with the ASIO_SDK_ZIP_PATH variable, which can be used for caching
|
||||
in CI scripts.
|
||||
|
||||
If the ZIP is found, this module extracts it.
|
||||
The ZIP extraction is skipped if the unzipped SDK is found.
|
||||
|
||||
This module provides an `ASIO::host` IMPORT library target for building host
|
||||
applications which use ASIO drivers. If you want to build an ASIO driver, this
|
||||
module may serve as a useful start but you will need to modify it.
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
if(NOT WIN32)
|
||||
message(FATAL_ERROR "ASIO is only supported on Windows.")
|
||||
endif()
|
||||
|
||||
file(GLOB HEADER_FILE
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/asiosdk*/common/asio.h"
|
||||
"${CMAKE_PREFIX_PATH}/asiosdk*/common/asio.h"
|
||||
# The old build systems before PortAudio 19.8 used to look for the ASIO SDK
|
||||
# in the same parent directory as the source code repository. This is no
|
||||
# longer advised or documented but kept for backwards compatibility.
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../asiosdk*/common/asio.h"
|
||||
)
|
||||
if(NOT EXISTS "${HEADER_FILE}")
|
||||
# The file(ARCHIVE_EXTRACT) command was added in CMake 3.18, so if using an
|
||||
# older version of CMake, the user needs to extract it themselves.
|
||||
if(CMAKE_VERSION VERSION_LESS 3.18)
|
||||
message(STATUS "ASIO SDK NOT found. Download the ASIO SDK ZIP from "
|
||||
"https://www.steinberg.net/asiosdk and extract it to "
|
||||
"${CMAKE_PREFIX_PATH} or ${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
return()
|
||||
endif()
|
||||
file(GLOB results
|
||||
"${ASIO_SDK_ZIP_PATH}"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/asiosdk*.zip"
|
||||
"${CMAKE_PREFIX_PATH}/asiosdk*.zip"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../asiosdk*.zip"
|
||||
)
|
||||
foreach(f ${results})
|
||||
if(EXISTS "${f}")
|
||||
message(STATUS "Extracting ASIO SDK ZIP archive: ${f}")
|
||||
file(ARCHIVE_EXTRACT INPUT "${f}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
endif()
|
||||
endforeach()
|
||||
file(GLOB HEADER_FILE "${CMAKE_CURRENT_BINARY_DIR}/asiosdk*/common/asio.h")
|
||||
endif()
|
||||
|
||||
get_filename_component(HEADER_DIR "${HEADER_FILE}" DIRECTORY)
|
||||
get_filename_component(ASIO_ROOT "${HEADER_DIR}" DIRECTORY)
|
||||
|
||||
if(ASIO_ROOT)
|
||||
set(ASIO_FOUND TRUE)
|
||||
message(STATUS "Found ASIO SDK: ${ASIO_ROOT}")
|
||||
|
||||
if(ASIO_FOUND AND NOT TARGET ASIO::host)
|
||||
add_library(ASIO::host INTERFACE IMPORTED)
|
||||
target_sources(ASIO::host INTERFACE
|
||||
"${ASIO_ROOT}/common/asio.cpp"
|
||||
"${ASIO_ROOT}/host/asiodrivers.cpp"
|
||||
"${ASIO_ROOT}/host/pc/asiolist.cpp"
|
||||
)
|
||||
target_include_directories(ASIO::host INTERFACE
|
||||
"${ASIO_ROOT}/common"
|
||||
"${ASIO_ROOT}/host"
|
||||
"${ASIO_ROOT}/host/pc"
|
||||
)
|
||||
target_link_libraries(ASIO::host INTERFACE ole32 uuid)
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "ASIO SDK NOT found")
|
||||
endif()
|
67
extern/portaudio-modified/cmake/modules/FindJACK.cmake
vendored
Normal file
67
extern/portaudio-modified/cmake/modules/FindJACK.cmake
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
#[=======================================================================[.rst:
|
||||
FindJACK
|
||||
--------
|
||||
|
||||
Finds the JACK Audio Connection Kit library.
|
||||
|
||||
Imported Targets
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
This module provides the following imported targets, if found:
|
||||
|
||||
``JACK::jack``
|
||||
The JACK library
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
# Prefer finding the libraries from pkgconfig rather than find_library. This is
|
||||
# required to build with PipeWire's reimplementation of the JACK library.
|
||||
#
|
||||
# This also enables using PortAudio with the jack2 port in vcpkg. That only
|
||||
# builds JackWeakAPI (not the JACK server) which dynamically loads the real
|
||||
# JACK library and forwards API calls to it. JackWeakAPI requires linking `dl`
|
||||
# in addition to jack, as specified in the pkgconfig file in vcpkg.
|
||||
find_package(PkgConfig QUIET)
|
||||
if(PkgConfig_FOUND)
|
||||
pkg_check_modules(JACK jack)
|
||||
else()
|
||||
find_library(JACK_LINK_LIBRARIES
|
||||
NAMES jack
|
||||
DOC "JACK library"
|
||||
)
|
||||
find_path(JACK_INCLUDEDIR
|
||||
NAMES jack/jack.h
|
||||
DOC "JACK header"
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(Regex)
|
||||
list(APPEND JACK_LINK_LIBRARIES Regex::regex)
|
||||
|
||||
if(NOT CMAKE_USE_PTHREADS_INIT)
|
||||
# This CMake find module is provided by the pthreads port in vcpkg.
|
||||
find_package(pthreads)
|
||||
list(APPEND JACK_LINK_LIBRARIES PThreads4W::PThreads4W)
|
||||
endif()
|
||||
|
||||
if(CMAKE_USE_PTHREADS_INIT OR TARGET PThreads4W::PThreads4W)
|
||||
set(PTHREADS_AVAILABLE TRUE)
|
||||
else()
|
||||
set(PTHREADS_AVAILABLE FALSE)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
JACK
|
||||
DEFAULT_MSG
|
||||
JACK_LINK_LIBRARIES
|
||||
JACK_INCLUDEDIR
|
||||
PTHREADS_AVAILABLE
|
||||
Regex_FOUND
|
||||
)
|
||||
|
||||
if(JACK_FOUND AND NOT TARGET JACK::jack)
|
||||
add_library(JACK::jack INTERFACE IMPORTED)
|
||||
target_link_libraries(JACK::jack INTERFACE "${JACK_LINK_LIBRARIES}" Regex::regex)
|
||||
target_include_directories(JACK::jack INTERFACE "${JACK_INCLUDEDIR}")
|
||||
endif()
|
57
extern/portaudio-modified/cmake/modules/FindOSS.cmake
vendored
Normal file
57
extern/portaudio-modified/cmake/modules/FindOSS.cmake
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
#[=======================================================================[.rst:
|
||||
FindOSS
|
||||
--------
|
||||
|
||||
Finds the Open Sound System include directory. There is no library to link.
|
||||
|
||||
Imported Targets
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
This module provides the following imported targets, if found:
|
||||
|
||||
``OSS::oss``
|
||||
Target for the OSS header include directory. One of the following
|
||||
compile definitions is added to the target:
|
||||
HAVE_SYS_SOUNDCARD_H if the header is sys/soundcard.h
|
||||
HAVE_LINUX_SOUNDCARD_H if the header is linux/soundcard.h
|
||||
HAVE_MACHINE_SOUNDCARD_H if the header is machine/soundcard.h
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
find_path(OSS_INCLUDE_DIR
|
||||
NAMES sys/soundcard.h
|
||||
DOC "OSS include directory")
|
||||
if(OSS_INCLUDE_DIR)
|
||||
set(OSS_DEFINITIONS HAVE_SYS_SOUNDCARD_H)
|
||||
else()
|
||||
find_path(OSS_INCLUDE_DIR
|
||||
NAMES linux/soundcard.h
|
||||
DOC "OSS include directory")
|
||||
if(OSS_INCLUDE_DIR)
|
||||
set(OSS_DEFINITIONS HAVE_LINUX_SOUNDCARD_H)
|
||||
else()
|
||||
find_path(OSS_INCLUDE_DIR
|
||||
NAMES machine/soundcard.h
|
||||
DOC "OSS include directory")
|
||||
if(OSS_INCLUDE_DIR)
|
||||
set(OSS_DEFINITIONS HAVE_MACHINE_SOUNDCARD_H)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(
|
||||
OSS
|
||||
DEFAULT_MSG
|
||||
OSS_INCLUDE_DIR
|
||||
OSS_DEFINITIONS
|
||||
)
|
||||
|
||||
if(OSS_INCLUDE_DIR AND OSS_DEFINITIONS)
|
||||
set(OSS_FOUND TRUE)
|
||||
if(NOT TARGET OSS::oss)
|
||||
add_library(OSS::oss INTERFACE IMPORTED)
|
||||
target_include_directories(OSS::oss INTERFACE "${OSS_INCLUDE_DIR}")
|
||||
target_compile_definitions(OSS::oss INTERFACE "${OSS_DEFINITIONS}")
|
||||
endif()
|
||||
endif()
|
68
extern/portaudio-modified/cmake/modules/FindRegex.cmake
vendored
Normal file
68
extern/portaudio-modified/cmake/modules/FindRegex.cmake
vendored
Normal file
|
@ -0,0 +1,68 @@
|
|||
#[=======================================================================[.rst:
|
||||
FindRegex
|
||||
--------
|
||||
|
||||
Finds an implementation of POSIX regular expressions. It first checks if the
|
||||
standard regex.h POSIX header is available. If not, it looks for the TRE library.
|
||||
MinGW does not come with regex.h, so TRE is useful with MinGW.
|
||||
|
||||
Imported Targets
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
This module provides the following imported targets, if found:
|
||||
|
||||
``Regex::regex``
|
||||
The POSIX regular expression implementation
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
include(CheckIncludeFile)
|
||||
|
||||
set(CMAKE_REQUIRED_QUIET TRUE)
|
||||
check_include_file(regex.h REGEX_H)
|
||||
set(CMAKE_REQUIRED_QUIET FALSE)
|
||||
|
||||
if(REGEX_H)
|
||||
# No need to add any include directories or link any libraries;
|
||||
# simply provide a dummy target.
|
||||
if(NOT TARGET Regex::regex)
|
||||
add_library(Regex::regex INTERFACE IMPORTED)
|
||||
endif()
|
||||
|
||||
# check_include_file sets the variable to "1" which looks odd in the output
|
||||
# of find_package_handle_standard_args, so show the user what was actually found.
|
||||
set(REGEX_H "POSIX regex.h")
|
||||
find_package_handle_standard_args(
|
||||
Regex
|
||||
DEFAULT_MSG
|
||||
REGEX_H
|
||||
)
|
||||
else()
|
||||
# MinGW does not include regex.h but this can be supplied by the TRE library.
|
||||
find_path(TRE_REGEX_H NAMES tre/regex.h)
|
||||
if(TRE_REGEX_H)
|
||||
# The POSIX #include is simply <regex.h> but the tre regex.h is at <tre/regex.h>,
|
||||
# so add the directory containing tre's headers to the include path.
|
||||
set(TRE_INCLUDE_DIR "${TRE_REGEX_H}/tre")
|
||||
endif()
|
||||
find_library(TRE_LIBRARY NAMES tre)
|
||||
if(TRE_REGEX_H AND TRE_LIBRARY)
|
||||
message(STATUS "Found regex.h from TRE")
|
||||
else()
|
||||
message(STATUS "regex.h POSIX header NOT found and NOT available from TRE")
|
||||
endif()
|
||||
|
||||
if(NOT TARGET Regex::regex)
|
||||
add_library(Regex::regex INTERFACE IMPORTED)
|
||||
target_include_directories(Regex::regex INTERFACE "${TRE_INCLUDE_DIR}")
|
||||
target_link_libraries(Regex::regex INTERFACE "${TRE_LIBRARY}")
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(
|
||||
Regex
|
||||
DEFAULT_MSG
|
||||
TRE_INCLUDE_DIR
|
||||
TRE_LIBRARY
|
||||
)
|
||||
endif()
|
13
extern/portaudio-modified/cmake/portaudio-2.0.pc.in
vendored
Normal file
13
extern/portaudio-modified/cmake/portaudio-2.0.pc.in
vendored
Normal file
|
@ -0,0 +1,13 @@
|
|||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
|
||||
includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
|
||||
|
||||
Name: PortAudio
|
||||
Description: Portable audio I/O
|
||||
Version: @CMAKE_PROJECT_VERSION@
|
||||
|
||||
Libs: -L${libdir} -lportaudio
|
||||
Libs.private: @PKGCONFIG_LDFLAGS_PRIVATE@
|
||||
Cflags: -I${includedir} @PKGCONFIG_CFLAGS@
|
||||
Requires.private: @PKGCONFIG_REQUIRES_PRIVATE@
|
67
extern/portaudio-modified/cmake/portaudio.def.in
vendored
Normal file
67
extern/portaudio-modified/cmake/portaudio.def.in
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
; $Id: $
|
||||
;
|
||||
; !!! @GENERATED_MESSAGE@ !!!
|
||||
EXPORTS
|
||||
|
||||
;
|
||||
Pa_GetVersion @1
|
||||
Pa_GetVersionText @2
|
||||
Pa_GetErrorText @3
|
||||
Pa_Initialize @4
|
||||
Pa_Terminate @5
|
||||
Pa_GetHostApiCount @6
|
||||
Pa_GetDefaultHostApi @7
|
||||
Pa_GetHostApiInfo @8
|
||||
Pa_HostApiTypeIdToHostApiIndex @9
|
||||
Pa_HostApiDeviceIndexToDeviceIndex @10
|
||||
Pa_GetLastHostErrorInfo @11
|
||||
Pa_GetDeviceCount @12
|
||||
Pa_GetDefaultInputDevice @13
|
||||
Pa_GetDefaultOutputDevice @14
|
||||
Pa_GetDeviceInfo @15
|
||||
Pa_IsFormatSupported @16
|
||||
Pa_OpenStream @17
|
||||
Pa_OpenDefaultStream @18
|
||||
Pa_CloseStream @19
|
||||
Pa_SetStreamFinishedCallback @20
|
||||
Pa_StartStream @21
|
||||
Pa_StopStream @22
|
||||
Pa_AbortStream @23
|
||||
Pa_IsStreamStopped @24
|
||||
Pa_IsStreamActive @25
|
||||
Pa_GetStreamInfo @26
|
||||
Pa_GetStreamTime @27
|
||||
Pa_GetStreamCpuLoad @28
|
||||
Pa_ReadStream @29
|
||||
Pa_WriteStream @30
|
||||
Pa_GetStreamReadAvailable @31
|
||||
Pa_GetStreamWriteAvailable @32
|
||||
Pa_GetSampleSize @33
|
||||
Pa_Sleep @34
|
||||
Pa_GetVersionInfo @35
|
||||
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetAvailableBufferSizes @50
|
||||
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_ShowControlPanel @51
|
||||
@DEF_EXCLUDE_X86_PLAIN_CONVERTERS@PaUtil_InitializeX86PlainConverters @52
|
||||
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetInputChannelName @53
|
||||
@DEF_EXCLUDE_ASIO_SYMBOLS@PaAsio_GetOutputChannelName @54
|
||||
PaUtil_SetDebugPrintFunction @55
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetAudioClient @56
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_UpdateDeviceList @57
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceCurrentFormat @58
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceDefaultFormat @59
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceMixFormat @60
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetDeviceRole @61
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_ThreadPriorityBoost @62
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_ThreadPriorityRevert @63
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetFramesPerHostBuffer @64
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetJackCount @65
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetJackDescription @66
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_SetStreamStateHandler @68
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapiWinrt_SetDefaultDeviceId @67
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapiWinrt_PopulateDeviceList @69
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_GetIMMDevice @70
|
||||
@DEF_EXCLUDE_WASAPI_SYMBOLS@PaWasapi_IsLoopback @71
|
||||
@DEF_EXCLUDE_WMME_SYMBOLS@PaWinMME_GetStreamInputHandleCount @72
|
||||
@DEF_EXCLUDE_WMME_SYMBOLS@PaWinMME_GetStreamInputHandle @73
|
||||
@DEF_EXCLUDE_WMME_SYMBOLS@PaWinMME_GetStreamOutputHandleCount @74
|
||||
@DEF_EXCLUDE_WMME_SYMBOLS@PaWinMME_GetStreamOutputHandle @75
|
17
extern/portaudio-modified/cmake/toolchains/i686-w64-mingw32.cmake
vendored
Normal file
17
extern/portaudio-modified/cmake/toolchains/i686-w64-mingw32.cmake
vendored
Normal file
|
@ -0,0 +1,17 @@
|
|||
# CMake Toolchain file for cross-compiling PortAudio to i686-w64-mingw32
|
||||
# Inspired from: https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/cross_compiling/Mingw
|
||||
# Example usage: $ cmake -DCMAKE_TOOLCHAIN_FILE=cmake/toolchains/i686-w64-mingw32.cmake .
|
||||
# i686-w64-mingw32 needs to be installed for this to work. On Debian-based
|
||||
# distributions the package is typically named `mingw-w64`.
|
||||
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
|
||||
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
|
||||
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)
|
||||
|
||||
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32)
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
1558
extern/portaudio-modified/config.guess
vendored
Executable file
1558
extern/portaudio-modified/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue