fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Jack Driver for Fluidsynth Windows Build


From: David Henningsson
Subject: Re: [fluid-dev] Jack Driver for Fluidsynth Windows Build
Date: Mon, 18 Apr 2011 08:47:58 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110411 Thunderbird/3.1.9

Hi Graham,

I don't want to push the problem back and forward, but in this case I think it's reasonable to say that:

1) We need to be told by the Jack devs about recommended way to link to the jack headers. Does that means dynamic linking? On windows only or on all platforms? Will that still work with e g Jack 1? Anyway, if we conclude dynamic linking is the way forward, it is reasonable to think that there should be a version of JackWeakAPI.cpp that is in C and not C++ (just like the rest of FS). I don't exactly know how difficult it would be to bring C++ code into FS on all platforms, but it would probably be more difficult than rewriting JackWeakAPI.cpp in pure C.

2) If Jack has an ASIO backend, that's great news! However, looking at
http://trac.jackaudio.org/browser/jack2/trunk/jackmp/windows/JackRouter/JackRouter.h
it seems to be declared under GPLv2+. I don't see how the end result could be legally distributed in binary form, when the ASIO headers cannot be freely distributed.

// David

On 2011-04-17 17:56, Graham Goode wrote:
Hi Guys,

As a user and tester of fluidsynth with Qsynth and jOrgan, I have been
wanting low latency connections rather than the default 'dsound'
driver for a while. To this end, and with some help, I finally got a
PortAudio build done and working, and so I have WDMKS/WASAPI and ASIO
available now. The problem with WDMKS and ASIO is that only a single
instance of fluidsynth can be run.

So I communicated with some of the PortAudio guys and with this
mailing list about multi-instance PortAudio, and the end result of
that communication is that the understanding that the 'single
instance' part of the WDMKS and the ASIO is with their respective
APIs.

So, I approached Stéphane to see if the ASIO branch could be modified
to allow multiple connections to JackRouter (the Jack ASIO driver).
While this is programatically possible, the consensus was that it
would be much better to use the Jack driver natively in fluidsynth.
According to Stéphane one can use "weak linking" to solve the 'Is Jack
present, and if so is the version compatible' problem. On Windows the
simplest is to compile the following file:

http://trac.jackaudio.org/browser/jack2/trunk/jackmp/common/JackWeakAPI.cpp

Would it be possible for those more experienced than I am to look at
this idea and see if this is the valuable way forward for windows
users that I think it could be?

Thanks, and kind regards,
GrahamG

On 4/16/11, Stéphane Letz<address@hidden>  wrote:

Le 16 avr. 2011 à 10:51, Graham Goode a écrit :

Hi Stéphane,

I see from the pa_asio.cpp file that you are the author of the ASIO
driver for PortAudio. Thanks for all your work to get ASIO working
with PortAudio. With Rob's help I have been able to build the
WDMKS\WaveRT branch with the WDMKS and ASIO drivers for use with
fluidsynth in jOrgan. The PortAudio ASIO driver sees JackRouter and
connects very nicely, but there is one issue that I would like to
raise to see if there is a way around it.

When using the PortAudio ASIO driver with fluidsynth, only one
instance of fluidsynth will run.


fluidsynth has a JACK driver right? (I know the answer is yes... ((-:)

So would be even better to ask fluidsynth developers to compile JACK support
for windows , using the "weak linking" method I described for LinuxSampler.

Stephane

_______________________________________________
fluid-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/fluid-dev





reply via email to

[Prev in Thread] Current Thread [Next in Thread]