[LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Emanuel Rumpf
In the new jack API the function jack_client_new ist deprecated.
Actually it's not only deprecated:
Apps using it don't play any sound,
as I've experienced with alsaplayer, and fluidsynth for example.


I'm thus inviting

1. to change all apps which still use jack_client_new to use this instead:

//jack_client_t*
jclient = jack_client_open( name, //jack_options_t
JackNullOption,  //jack_status_t * status
NULL
);


2. to make the new jackd work with jack_client_new for some time
still, until most apps have adjusted their code

Thanks for the advertence.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread victor
Csound also uses jack_client_new(). Is there any document explaining what 
needs to
be done to update to the new API?

Victor
- Original Message - 
From: Emanuel Rumpf xb...@web.de
To: linux-audio-dev@lists.linuxaudio.org
Sent: Sunday, October 11, 2009 3:41 PM
Subject: [LAD] jackd api change, fluidsynth, etc.


 In the new jack API the function jack_client_new ist deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,
 as I've experienced with alsaplayer, and fluidsynth for example.


 I'm thus inviting

 1. to change all apps which still use jack_client_new to use this instead:

 //jack_client_t*
 jclient = jack_client_open( name, //jack_options_t
JackNullOption,  //jack_status_t * status
NULL
);


 2. to make the new jackd work with jack_client_new for some time
 still, until most apps have adjusted their code

 Thanks for the advertence.
 ___
 Linux-audio-dev mailing list
 Linux-audio-dev@lists.linuxaudio.org
 http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Emanuel Rumpf
2009/10/11 victor victor.lazzar...@nuim.ie:
 Csound also uses jack_client_new(). Is there any document explaining what
 needs to
 be done to update to the new API?


Replace jack_client_new() with jack_client_open(), as mentioned.
More info here:

http://jackaudio.org/files/docs/html/group__ClientFunctions.html#g705aa8159e65464dc7e9cf65fc451b90
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Jack O'Quin
On Sun, Oct 11, 2009 at 9:52 AM, victor victor.lazzar...@nuim.ie wrote:
 Csound also uses jack_client_new(). Is there any document explaining what
 needs to
 be done to update to the new API?

http://jackaudio.org/files/docs/html/group__ClientFunctions.html#g705aa8159e65464dc7e9cf65fc451b90


 In the new jack API the function jack_client_new ist deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,
 as I've experienced with alsaplayer, and fluidsynth for example.


 I'm thus inviting

 1. to change all apps which still use jack_client_new to use this instead:

 //jack_client_t*
 jclient = jack_client_open( name,     //jack_options_t
                JackNullOption,              //jack_status_t * status
                NULL
                );


 2. to make the new jackd work with jack_client_new for some time
 still, until most apps have adjusted their code

jack_client_new() has been deprecated for about 6 years now, if I
recall correctly.  It has still been supported all that time.  As far
as I know, it is still supported.  If it's not working for someone,
they should report it as a bug.

*But!*  Something needs to be done to overcome the inertia of all
those old JACK clients.  At the very least,  jack_client_new() should
probably start printing some very ugly user message, warning that the
interface is deprecated and may go away some day soon.  Either that,
or declare that it's not deprecated after all.
-- 
 joq
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Fons Adriaensen
On Sun, Oct 11, 2009 at 03:52:09PM +0100, victor wrote:

 Csound also uses jack_client_new(). Is there any document explaining what 
 needs to
 be done to update to the new API?

AFAIK jack_client_new() still works. But it has been
deprecated for a few years now, so you don't have
any excuses...

$PREFIX/include/jack/jack.h will tell you all you
need to know. 

The minimal solution is quite simple - just use an
empty options argument. But while you're there you
(I mean all developers of jackified apps) should
IMNSHO  add the option for the user to set the
application's name as a Jack client.

And of course read the actual name used after having
called jack_client_open() and use that for window
captions etc.

Ciao,

-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Adrian Knoth
On Sun, Oct 11, 2009 at 04:41:25PM +0200, Emanuel Rumpf wrote:

 In the new jack API the function jack_client_new is deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,

Huu? As far as I know, nothing has changed on the jackd side. Also
jackd2 still provides jack_client_new, so what you see must be something
else.

 I'm thus inviting
 1. to change all apps which still use jack_client_new to use this instead:

Next Debian's jackd package will contain the following patch:

   http://trac.jackaudio.org/ticket/138

It adds deprecation warnings to the API, so using deprecated functions
results in compiler warnings at compile time. With -Werror, these can
obviously be turned into errors, thus stopping the compiler. It's easy to
catch them.


Note that jackd2 issues a warning (printf) when calling a deprecated
function.



HTH

-- 
mail: a...@thur.de  http://adi.thur.de  PGP/GPG: key via keyserver
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread victor
I have been observing the deprecation warning issued when running
Csound, but sound is still there, but I guess this will not be the case
soon.

I'll fix the code for the next release. Although I didn't write the Jack
IO module, I guess I may as well maintain it, since noone else in our
team does.

Thanks for your responses.

Victor
- Original Message - 
From: Adrian Knoth a...@drcomp.erfurt.thur.de
To: linux-audio-dev@lists.linuxaudio.org
Sent: Sunday, October 11, 2009 4:35 PM
Subject: Re: [LAD] jackd api change, fluidsynth, etc.


 On Sun, Oct 11, 2009 at 04:41:25PM +0200, Emanuel Rumpf wrote:

 In the new jack API the function jack_client_new is deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,

 Huu? As far as I know, nothing has changed on the jackd side. Also
 jackd2 still provides jack_client_new, so what you see must be something
 else.

 I'm thus inviting
 1. to change all apps which still use jack_client_new to use this 
 instead:

 Next Debian's jackd package will contain the following patch:

   http://trac.jackaudio.org/ticket/138

 It adds deprecation warnings to the API, so using deprecated functions
 results in compiler warnings at compile time. With -Werror, these can
 obviously be turned into errors, thus stopping the compiler. It's easy to
 catch them.


 Note that jackd2 issues a warning (printf) when calling a deprecated
 function.



 HTH

 -- 
 mail: a...@thur.de  http://adi.thur.de PGP/GPG: key via keyserver
 ___
 Linux-audio-dev mailing list
 Linux-audio-dev@lists.linuxaudio.org
 http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Emanuel Rumpf
2009/10/11 Adrian Knoth a...@drcomp.erfurt.thur.de:
 On Sun, Oct 11, 2009 at 04:41:25PM +0200, Emanuel Rumpf wrote:

 In the new jack API the function jack_client_new is deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,

 Huu? As far as I know, nothing has changed on the jackd side. Also
 jackd2 still provides jack_client_new, so what you see must be something
 else.


At least: I'm using jack 1.9.3 (switched to jackdbus recently)
Recompiling with jack_client_open() fixed the sound -
that looks fairly obvious, doesn't it ?
Maybe that hit just me for the instance, but soon may be all of you...
Thus I decided to rather mention it.
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread Jack O'Quin
On Sun, Oct 11, 2009 at 12:32 PM, Emanuel Rumpf xb...@web.de wrote:
 2009/10/11 Adrian Knoth a...@drcomp.erfurt.thur.de:
 On Sun, Oct 11, 2009 at 04:41:25PM +0200, Emanuel Rumpf wrote:

 In the new jack API the function jack_client_new is deprecated.
 Actually it's not only deprecated:
 Apps using it don't play any sound,

 Huu? As far as I know, nothing has changed on the jackd side. Also
 jackd2 still provides jack_client_new, so what you see must be something
 else.


 At least: I'm using jack 1.9.3 (switched to jackdbus recently)
 Recompiling with jack_client_open() fixed the sound -
 that looks fairly obvious, doesn't it ?

Maybe, but it does not explain why jack_client_new() did not work for you.

-- 
 joq
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


Re: [LAD] jackd api change, fluidsynth, etc.

2009-10-11 Thread victor
I can certainly cause Csound to issue a message containing
the correct name returned by Jack. That should be no problem.
The change to jack_client_open() seemed trivial enough so I
went ahead and pushed it into CVS, and will test later one.
Thanks for all your suggestions and for the alert.

Victor
- Original Message - 
From: Fons Adriaensen f...@kokkinizita.net
To: linux-audio-dev@lists.linuxaudio.org
Sent: Sunday, October 11, 2009 6:07 PM
Subject: Re: [LAD] jackd api change, fluidsynth, etc.


On Sun, Oct 11, 2009 at 05:07:38PM +0100, victor wrote:
 
 The minimal solution is quite simple - just use an
 empty options argument. But while you're there you
 (I mean all developers of jackified apps) should
 IMNSHO  add the option for the user to set the
 application's name as a Jack client.

 And of course read the actual name used after having
 called jack_client_open() and use that for window
 captions etc.
 ===

 Do you mean JackLoadName?

My remark was 'to all developers of jackified apps',
not particular to csound which already has the option,
('jack_client' IIRC).

But depending on how the name is used, you may have
to do one of two things:

1. Use the option 'JackUseExactName', which makes
jack_client_open() fail if the name is not unique
instead of creating a modified one, or

2. Read the actual name using jack_get_client_name(),
after jack_client_open().

Without one of these, the actual name may not be
the one you think is being used. It does matter
in some cases, e.g. to apps that save Jack
connections (e.g. Ardour), and to session managers.


Ciao,

-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev 

___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev