Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to nannou 0.10. Includes ASIO support behind asio feature flag. #189

Merged
merged 14 commits into from
Jul 21, 2019

Conversation

mitchmindtree
Copy link
Member

This updates the audio server from nannou 0.5 to 0.10!

Version 0.10 has not been released just yet, but I'm opening this PR in anticipation as @freesig and I resolve some of the last remaining issues.

ASIO Support

A lot of work has gone into adding support for ASIO to CPAL (the cross-platform audio library partly developed by and used by nannou). See RustAudio/cpal#221, RustAudio/cpal#292, RustAudio/cpal#289 and RustAudio/cpal#295 to get an idea of some of the foundational work required to make this possible.

An ASIO setup section has been added to the platform-specific section of the README describing the required setup process on Windows.

Audio Device Selection

Support for selecting specific audio devices has been added. Previously, the server would simply pick the default device on the system. This behaviour was normally enough as operating system audio hosts let you select the current default device in a "System Preferences" audio control panel or something similar. However, seeing as this is not possible with ASIO, it was necessary to add the ability to select an audio device manually.

Functionality has been added to allow for selecting input and output audio devices by name. A section has been added to the README that describes how to do this in detail along with an example.

Other Patches

  • Fixes a bug where hidden files left over from copying between operating systems would fail to load a .wav files and result in confusing error messages.
  • Ensures that streams are started properly on platforms where streams do not play automatically by default (e.g. ASIO).

Closes #184
Closes #52

Updates to the latest version of nannou, ready for the [ASIO CPAL
patch](RustAudio/cpal#221) to land. You can track
the remaining ASIO issues
[here](https://github.com/freesig/cpal/issues).
Currently waiting on upstream PRs to get merged and published before
publishing this.
This makes sure that the input and output streams are playing on
platforms where the streams do not play by default.
See the new section added to the README for motivation and a description
on how this works.
@mitchmindtree mitchmindtree changed the title Update to nannou 0.10 pre-release. Includes ASIO support behind asio feature flag. Update to nannou 0.10. Includes ASIO support behind asio feature flag. Jul 21, 2019
@mitchmindtree
Copy link
Member Author

Okydoke, now that nannou 0.10 has been published this should be good to go! We can always submit any follow up patches or tweaks in a follow-up PR if necessary 👍

@mitchmindtree mitchmindtree merged commit 0fc951f into museumsvictoria:master Jul 21, 2019
@mitchmindtree mitchmindtree deleted the nannou_asio_update branch July 21, 2019 16:43
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.

Add ASIO support to CPAL
1 participant