Skip to content

Allow input/output parameter pairs in all constructors #180

Allow input/output parameter pairs in all constructors

Allow input/output parameter pairs in all constructors #180

name: Test PortAudio binaries
on: [push, pull_request]
jobs:
binaries:
strategy:
matrix:
include:
- os: macos-latest
arch: 'arm64'
# Last version with Intel CPU:
- os: macos-13
arch: 'x64'
- os: windows-latest
arch: 'x64'
- os: windows-latest
arch: 'x86'
runs-on: ${{ matrix.os }}
steps:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
architecture: ${{ matrix.arch }}
- name: Double-check Python version
run: |
python --version
- name: Clone Git repository (with submodules)
uses: actions/checkout@v4
with:
path: git-repo
submodules: true
- name: Install Python package
working-directory: git-repo
run: |
python -m pip install .
- name: Import module
run: |
python -m sounddevice
python -c "import sounddevice as sd; print(sd._libname)"
python -c "import sounddevice as sd; print(sd.get_portaudio_version())"
python -c "import sounddevice as sd; print(sd.query_hostapis())"
python -c "import sounddevice as sd; assert 'asio' not in sd._libname"
python -c "import sounddevice as sd; assert not any(a['name'] == 'ASIO' for a in sd.query_hostapis())"
- name: Import module (using the ASIO DLL)
if: startsWith(matrix.os, 'windows')
env:
SD_ENABLE_ASIO: 1
run: |
python -m sounddevice
python -c "import sounddevice as sd; print(sd._libname)"
python -c "import sounddevice as sd; print(sd.get_portaudio_version())"
python -c "import sounddevice as sd; print(sd.query_hostapis())"
python -c "import sounddevice as sd; assert 'asio' in sd._libname"
python -c "import sounddevice as sd; assert any(a['name'] == 'ASIO' for a in sd.query_hostapis())"