[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
Re: [LAD] jackd api change, fluidsynth, etc.
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 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.
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.
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.
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.
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 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.
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.
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