Is there a Java SDK?


#1

Hello everyone,
Is there a Java SDK to be used for a non-Android Java application (e.g. a JavaFX project)?
Thank you


#2

No one?
I need to know if I can develop a Java application running on a desktop environment (Windows or Linux) and that can interact with the headsets. For instance, a JavaFX application.
Thank you


#3

I think you are out of luck - there doesn’t seem to be a Java SDK.

In theory, I suppose you could try to reverse engineer the android version (assuming that was legal, which I doubt) and adapt it to standard java, but that would probably be an unreasonable amount of work, even it if was possible and/or legal.


#4

i recently found myself in the exact same situation! Until we have support from Interaxon for a Java SDK, you have two choices. Both require a significant about of development effort just to create the plumbing for your application:

Attempt your own implementation of the libmuse platform base classes in the android SDK

The good news here is that the libmuse android SDK has the appropriate abstractions to facilitate a generic Java SDK implementation. The bad news is that everything is funneled through JNI calls to a native libmuse library, so without the native platform library (mine is OSX) there is not much you can do.

i did attempt to create a non-native com.choosemuse.libmuse.Muse implementation using the Bluecove bluetooth libraries for OSX. The Bluecove project is close to a decade without development, and i had to rely on an experimental build (2.1.2) that i managed to find for 64-bit OSX 10.13. i was able to connect to the headband, but without a protocol specification or plenty of time to hack at it, i had to set that aside.

Interaxon is almost there, it would be nice if they could provide a libmuse native library for OSX. Please!!!

Connect to MuseIO and consume OSC messages

This is really the only workable solution right now, however I really don’t like this option as it requires a dependency on the MuseIO application and means you can’t really turn this into a product. It’s OK for playing around with data and may work for you if you do not need to create a product.

In either case, feel free to check out the work i started here: https://github.com/ruffkat/muse

i’ve only had a couple of hours over the last couple of weeks to work on this, but here you will find:

  • a generic framework for consuming muse messages over OSC.
  • the direct connect experiment mentioned above (see kungzhi.muse.runtime.PlatformHarness under test root in the platform module)
  • a very, very simple JFX demo charting live absolute band power data (see kungzhi.muse.ui.MuseApplication under the main root in the ui module)

Best of luck to you!