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

Linux arm64 and Darwin arm64 for RtMidiAccess #32

Closed
atsushieno opened this issue Feb 18, 2023 · 7 comments
Closed

Linux arm64 and Darwin arm64 for RtMidiAccess #32

atsushieno opened this issue Feb 18, 2023 · 7 comments

Comments

@atsushieno
Copy link
Owner

Currently we depend on atsushieno/rtmidi-jna to implement RtMidiAccess (which is the primary API for native desktop MidiAccess for ktmidi), but it cannot support Darwin arm64 (M1/M2) because the underlying jnaerator does not support it (and the development had stopped).

We should probably find some alternative to rtmidi-jna. So far JRtMidi does not support darwin-arm64 either.

@sed0
Copy link
Contributor

sed0 commented May 12, 2023

JNI with jnigen might work. Or javacpp, but I've never tried it

@atsushieno
Copy link
Owner Author

atsushieno commented May 12, 2023

Yeah - last week I was indeed trying to build javacpp binding again (I tried it before and that did not work for some reason I don't remember anymore).
rtmidi-javacpp-main.zip but had not tried further. I thought I need dogfooding and did not go further.

I also have "panama-rtmidi" stuff and thought it would be nicer, but I want Android version of Panama first and it's going to take much longer time :/

I haven't tried jnigen. If javacpp does not work for me, I would try that. Thanks for the hints!

@atsushieno
Copy link
Owner Author

I'm not very hopeful enough so far, but made rtmidi-javacpp repo public anyways...! https://github.com/atsushieno/rtmidi-javacpp

@atsushieno
Copy link
Owner Author

It is finally being sorted out (as rtmidi-javacpp branch). Those arm64 builds will still not be published as "platform" Maven packages, but at least they should build locally. (They are missing due to CI build issues.)

@atsushieno
Copy link
Owner Author

It is currently blocked to due Gradle module resolution issue (which I guess is identical to atsushieno/aap-core#174). We cannot "publish" rtmidi-javacpp package from this repo, so either we exclude the module from publishing target, or fix the actual Gradle issue.

@atsushieno
Copy link
Owner Author

The actual rtmidi-javacpp resolution failure seems coming from atsushieno/rtmidi-javacpp#1 .

@atsushieno
Copy link
Owner Author

atsushieno commented Dec 13, 2023

It is regarded as fixed as of 92a294e.

Linux arm64 and Mac arm64 packages build, but they cannot be "published" on GitHub Actions and Maven Central. For macosx-arm64 it would be possible if I had access to macos-13-xlarge, but I don't. And gradle-javacpp does not support cross compiling so far (as far as I know).

I'm marking this issue as completed.

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

No branches or pull requests

2 participants