Re: [Website Contact] JJack

48 views
Skip to first unread message

Neil C Smith

unread,
Jul 17, 2013, 11:53:48 AM7/17/13
to frank...@hetnet.nl, jaudi...@googlegroups.com
Hi Frank,

Thanks for your email.

On 17 July 2013 11:31, <frank...@hetnet.nl> wrote:
> Frank sent a message using the contact form at
> http://neilcsmith.net

Please join up and use the mailing list at
https://groups.google.com/d/forum/jaudiolibs for support queries.

If you don't have a Google account (not necessarily GMail) you should
also be able to subscribe by emailing
jaudiolibs...@googlegroups.com

> i am trying to understand JNA Jack or JJack. However i understand
> JNA Jack is the follow up of JJack.
>

Not exactly. JJack is no longer under development and uses some
deprecated functionality, which also means it won't work as is on
Windows. JNAJack has a different design - it seeks to offer a direct
mapping of JACK functionality. It also works across Linux, Windows
and OSX.

> Can you tell me what you need to get JNA Jack working without compiling any
> libraries as with JJack. I am a Java developer, not a C developer.
>

You need the JNAJack JAR file in your classpath, along with JNA -
https://github.com/twall/jna

JNAJack hasn't yet been tested with the new JNA 4.x series. It should
work, but if you have any difficulties you could try getting an older
JAR (3.4) from http://search.maven.org/#search|gav|1|g%3A%22net.java.dev.jna%22%20AND%20a%3A%22jna%22

> A good example should help.
>
> I developed javaDAW (www.midiworks.nl) as a sequencer build with java and i
> want to extend this Daw with Jack for the Mac.

Why just Mac???

javaDAW looks interesting, and I look forward to your possible plan to
open-source it! :-) As I can't currently look at your source code,
how are you currently handling the difference between JavaSound and
ASIO API's?

The recommended way to use JNAJack is to also make use of the
JAudioLibs AudioServer API. This provides a generic callback API that
can also be used with JavaSound (and may give better performance than
your existing code - it uses a few tricks!). Doing it this way makes
it easy to swap out underlying audio implementations. There's a bit
more information in the wiki on the Google Code site -
http://code.google.com/p/java-audio-utils/wiki/GettingStarted_AudioServers
You could also have a look at
http://code.google.com/p/java-audio-utils/wiki/GettingStarted_JNAJack

It should be very easy to implement an AudioServer that wraps
jASIOHost if you go that route, providing you with a single audio IO
API. If you do, please consider making it available. I've considered
doing this myself though it has not been a priority - there are
licensing issues with the ASIO headers, and JACK already gives access
to ASIO and the possibility of routing between ASIO applications.

If you want to just work with JNAJack you can take a look at how the
JackAudioServer is implemented -
https://github.com/jaudiolibs/audioservers/blob/master/audioservers-jack/src/main/java/org/jaudiolibs/audioservers/jack/JackAudioServer.java

Hope that helps.

Best wishes,

Neil

PS. Check out www.praxislive.org too - that's the project all this
code was written for.


--
Neil C Smith
Artist : Technologist : Adviser
http://neilcsmith.net
Reply all
Reply to author
Forward
0 new messages