-
Notifications
You must be signed in to change notification settings - Fork 283
Android Oboe support #422
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
Android Oboe support #422
Conversation
|
Looks good to me. |
joebowbeer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
I want to merge the pd-for-android piece (libpd/pd-for-android#167) now in order to create a 1.4.0-SNAPSHOT, and it refs this commit. When to merge this? |
|
Just to check: As this touches the Java wrapper, are there any changes to Java on desktop? Does it still build for "normal" Java? |
|
yes, normal java still builds (on my machine). Of course, this is a breaking change for external users, if they use their own jni: they will have to add these new functions too, unless the app won't link. |
|
Wow. This looks great! Unfortunately, due to family matters, I can't look into it in detail right now, but as soon as I have time, I'll definitely try it myself. Thank you so much! |
joebowbeer
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
When do we plan to merge this? |
|
@danomatika I defer to you wrt merging this. |
|
It would be good to have someone who uses libpd with Java desktop to check. I haven't done a Java build in a long time. |
|
I would like to test the Java samples on desktop, unfortunately there's nothing about it in the docs, and I haven't been able to figure it out on my own. Would someone know how to run the Java samples on desktop, via commandline (without using Eclipse)? |
|
I'm now thinking that another solution might be better, that would imply less change in the Java API, maybe no change at all actually. I'm investigating this solution, I'm switching this to 'draft' in the mean time. |
|
I don't think you need to change your approach, I just wanted to know that someone had checked that the desktop Java still builds ok. Are the new functions applicable to Android only? If so, why not wrap them in defines etc so they are available on Android only. If accepting new key/value controls works when opening audio, perhaps that's nicer. I defer to those using the Java API to decide but I always prefer if whatever is changed tries to stay consistent with the current design, naming, usage etc. |
I agree, that's why I think the new version #423 is better. It doesn't change the Java API, reusing an already existing possibility. I just should have thought of it before :-) |
|
closing this in favor of #423 |
This implements the native interface for the Oboe audio driver library.
It takes care of the buffer size conversion between Pd and Oboe, separately for input and output (since Oboe can provide less input samples than output ones, mainly on start).
It also extends the PdBase jni a bit, to allow selecting input and output audio devices (which Oboe offers), and setting the audio buffer size.
The new
pdnativeoboe.sois now loaded by PdBase loader when on Android, replacing the previouspdnativeopensl.so.Closes #284.