-
Notifications
You must be signed in to change notification settings - Fork 361
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
[coreaudio] Implement Endpoint and Format Enumeration #196
[coreaudio] Implement Endpoint and Format Enumeration #196
Conversation
b6212dc
to
9d4e357
Compare
Based on RustAudio#195. Also implements proper handling of the given `Endpoint` in the macos implementation of the `build_voice` method. Updates to the latest coreaudio-sys and coreaudio-rs which include the additional necessary frameworks. Also adds a line that prints the name of the default device in the `enumeration.rs` example. Updates the CHANGELOG for this PR. Closes RustAudio#194. Related to RustAudio#180. Related external issues: - RustAudio/coreaudio-sys#4 - RustAudio/coreaudio-rs#57
9d4e357
to
3952c44
Compare
Any chance another macos user could test this on their setup? cc @HybridEidolon @jansol @SirVer |
I will take a look this evening. |
I lied, I wanted to check real quick at work. Compilation fails on High Sierra on building coreaudio-sys because CoreMIDI headers are missing on my system. Not sure if this is because of a deprecation or something else. |
Here is my test log: Full success on a MacBook Pro, 15 inch, 2017 and Sierra (10.12.6):
Errors on a MacBook Pro, 15 inch, early 2013 and High Sierra (10.13.3):
Manually deleting this tests leads to more similar errors in that file, once all are fixed compilation fails because of errors in this generated file. I gave up here.
|
Thank you both for testing! @HybridEidolon interesting! In the documentation I've been able to find Apple mentions that CoreMIDI is not available on iOS but seems to imply that it should be generally be available on macOS. That said, those docs were quite old. I'll do some digging and see if I can find anything about a change for CoreMIDI between Sierra and High Sierra. What are the results if you build coreaudio-sys with @SirVer it looks like this syntax error is due to an old bug in the way that rustfmt handles unions. What is the result of Do you run into the missing CoreMIDI issue that HybridEidolon mentioned at all? |
I wonder if we should just call |
The Headers are missing from the system framework. I do have Xcode installed, so it seems odd. |
@HybridEidolon hmm I'm struggling to find why this might be the case. The frameworks reference mentions it should have been around since v10.0. The If you search your system for Is MIDI input/output working on your system at all at the moment? I wonder if you could test with this, although you'd probably need some MIDI device to do so. |
For starters, I'll update this PR to remove all unnecessary features that CPAL itself does not currently use. This should leave only the |
@HybridEidolon I've updated this PR to only link to the necessary AudioUnit and CoreAudio frameworks - I wonder if you'll have more luck now? |
Reading through the comments I revisited the Errors on a MacBook Pro, 15 inch, early 2013 and High Sierra (10.13.3):
So full success on both of my systems now. |
Based on #195.
Also implements proper handling of the given
Endpoint
in themacos implementation of the
build_voice
method.Updates to the latest coreaudio-sys and coreaudio-rs which include the
additional necessary frameworks.
Also adds a line that prints the name of the default device in the
enumeration.rs
example.Updates the CHANGELOG for this PR.
Closes #194.
Related to #180.
Related external issues: