Skip to content

feat: auto-negotiate device config with resample and upmix#19

Merged
nicokim merged 3 commits intomainfrom
fix/update-python-stubs
Feb 24, 2026
Merged

feat: auto-negotiate device config with resample and upmix#19
nicokim merged 3 commits intomainfrom
fix/update-python-stubs

Conversation

@nicokim
Copy link
Owner

@nicokim nicokim commented Feb 24, 2026

No description provided.

- Update _pyaudiocast.pyi: remove write_array/write_f32, unified write()
  with all supported types, add clear(), make sample_rate/channels optional
- Use importlib.metadata for __version__ instead of hardcoded value
- Negotiate best sample rate/format instead of failing on unsupported configs
- Add linear interpolation resampling (e.g. 22050Hz -> 48000Hz)
- Add channel upmix (e.g. mono -> stereo)
- Expose device_sample_rate and device_channels properties
- Update type stubs with new properties
- Use importlib.metadata for dynamic __version__
- Add pip install instructions
- Document auto-negotiate, resample, and upmix features
- Add device_sample_rate/device_channels to API reference
- Update architecture diagram with resample/upmix step
- Update examples: import as pyaudiocast, show device info
- Add play_wav.py and stream_with_interrupt.py examples
@nicokim nicokim changed the title fix: update python stubs feat: auto-negotiate device config with resample and upmix Feb 24, 2026
@nicokim nicokim merged commit 8f0d5e4 into main Feb 24, 2026
4 checks passed
@nicokim nicokim deleted the fix/update-python-stubs branch February 24, 2026 22:52
@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants