hi list!
I seem to recall some changes about the way pd and jackd interact together but I couldn't find the related info online so forgive me if that was discussed already..
before, if I launched pd without jack running, pd would take more time to launch with a bunch of messages complaining that jack is not running...
now, if jack is not running and I launch pd, pd starts jack by itself.. well... ok... the problem is that when I close pd, it just won't close (terminal would print "watchdog... signaling pd" messages forever) and unless I kill the created jackd process, the pd window would _never_ close.... argh.
this is really annoying and looks like a regression to me..
should I submit an issue or is that a known one or was it discussed already (and I missed it)?
running pd-0.45 on archlinux Linux x230 3.9.6-1-ARCH #1 SMP PREEMP
ciao y
Are you using 0.44? (I don't think 0.45 exists yet :)
The only relevant thing I can find in recent commits is a change from jack_client_new() to jack_client_open() back in 2010.
With apologies, here is the commit I found...
commit 1022e5687bb5785904ba1b1977a9a29c9b6b25dc Author: IOhannes m zmoelnig zmoelnig@iem.at Date: Wed Jul 14 10:02:45 2010 +0200
properly handle shutdown of jackd and updated to new jack API
in older versions of Pd, if the jackd shut down (e.g. because the user stopped
it manually), Pd would just freeze and could not be revived (you have to KILL
it)
properly handling the jack_shutdown signal allows us to cleanup and continue to
run. the user can then select another backend at their convenience.
Pd's jack-backend mainly used _deprecated_ way of interfacing with jack (namely
using jack_client_new() rather than jack_client_open())
the new API allows more flexibility (e.g. the jackd need not run before the
application starts -> if it is missing, it will be automatically launched)
TODO: jack is actually a callback-based API...
Signed-off-by: Miller Puckette <msp@ucsd.edu>
Is it possible this bug has been there for the last three years? (i.e. 0.43 and 0.44 would have this problem)?
cheers Miller
On Mon, Jun 24, 2013 at 01:26:50AM +0200, yvan volochine wrote:
hi list!
I seem to recall some changes about the way pd and jackd interact together but I couldn't find the related info online so forgive me if that was discussed already..
before, if I launched pd without jack running, pd would take more time to launch with a bunch of messages complaining that jack is not running...
now, if jack is not running and I launch pd, pd starts jack by itself.. well... ok... the problem is that when I close pd, it just won't close (terminal would print "watchdog... signaling pd" messages forever) and unless I kill the created jackd process, the pd window would _never_ close.... argh.
this is really annoying and looks like a regression to me..
should I submit an issue or is that a known one or was it discussed already (and I missed it)?
running pd-0.45 on archlinux Linux x230 3.9.6-1-ARCH #1 SMP PREEMP
ciao y
-- http://yvanvolochine.com http://soundcloud.com/yvanvolochine http://soundcloud.com/elgusanorojo http://vimeo.com/yv
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hi Miller,
Are you using 0.44? (I don't think 0.45 exists yet :)
yeah sorry, 0.44 (pd-0.45-0-test)
The only relevant thing I can find in recent commits is a change from jack_client_new() to jack_client_open() back in 2010.
With apologies, here is the commit I found...
commit 1022e5687bb5785904ba1b1977a9a29c9b6b25dc
[SNIP]
Is it possible this bug has been there for the last three years? (i.e. 0.43 and 0.44 would have this problem)?
I just built 0.43-1 and yes the problem is there as well (weird that I never tried to open pd without jack before..).
I couldn't build any older pd version (I guess I have a too recent tcl somehow) so I cannot test with 0.42 (or with the commit before the one you mentioned)
let me know if I should submit an issue..
ciao, y
Miller,
I think I solved the hang part in pd-l2ork implementation that is based on the older model that allows disconnection and reconnection practically under any circumstances. The only downside is if you yank the USB soundcard while jack is running pd waits on jack to report that it lost the soundcard and stops which can take up to 20 seconds. In other words in this case it's jack that is hanging and consequently making pd hang as well but only temporarily.
HTH On Jun 24, 2013 5:14 AM, "yvan volochine" yvan.pd@gmail.com wrote:
hi Miller,
Are you using 0.44? (I don't think 0.45 exists yet :)
yeah sorry, 0.44 (pd-0.45-0-test)
The only relevant thing I can find in recent commits is a change from
jack_client_new() to jack_client_open() back in 2010.
With apologies, here is the commit I found...
commit 1022e5687bb5785904ba1b1977a9a2**9c9b6b25dc
[SNIP]
Is it possible this bug has been there for the last three years? (i.e. 0.43 and 0.44 would have this problem)?
I just built 0.43-1 and yes the problem is there as well (weird that I never tried to open pd without jack before..).
I couldn't build any older pd version (I guess I have a too recent tcl somehow) so I cannot test with 0.42 (or with the commit before the one you mentioned)
let me know if I should submit an issue..
ciao, y
-- http://yvanvolochine.com http://soundcloud.com/**yvanvolochinehttp://soundcloud.com/yvanvolochine http://soundcloud.com/**elgusanorojo http://soundcloud.com/elgusanorojo http://vimeo.com/yv
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
Thanks... I'm toying with a middle solution, which would be simply to open jack with the JackNoStartServer option (one of JackOpenOptions). I think this is a good idea anyway as the user might want to specify jack options and it seems wrong to have Pd get involved in that.
cheers Miller
On Mon, Jun 24, 2013 at 11:33:47AM +0200, Ivica Bukvic wrote:
Miller,
I think I solved the hang part in pd-l2ork implementation that is based on the older model that allows disconnection and reconnection practically under any circumstances. The only downside is if you yank the USB soundcard while jack is running pd waits on jack to report that it lost the soundcard and stops which can take up to 20 seconds. In other words in this case it's jack that is hanging and consequently making pd hang as well but only temporarily.
HTH On Jun 24, 2013 5:14 AM, "yvan volochine" yvan.pd@gmail.com wrote:
hi Miller,
Are you using 0.44? (I don't think 0.45 exists yet :)
yeah sorry, 0.44 (pd-0.45-0-test)
The only relevant thing I can find in recent commits is a change from
jack_client_new() to jack_client_open() back in 2010.
With apologies, here is the commit I found...
commit 1022e5687bb5785904ba1b1977a9a2**9c9b6b25dc
[SNIP]
Is it possible this bug has been there for the last three years? (i.e. 0.43 and 0.44 would have this problem)?
I just built 0.43-1 and yes the problem is there as well (weird that I never tried to open pd without jack before..).
I couldn't build any older pd version (I guess I have a too recent tcl somehow) so I cannot test with 0.42 (or with the commit before the one you mentioned)
let me know if I should submit an issue..
ciao, y
-- http://yvanvolochine.com http://soundcloud.com/**yvanvolochinehttp://soundcloud.com/yvanvolochine http://soundcloud.com/**elgusanorojo http://soundcloud.com/elgusanorojo http://vimeo.com/yv
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 24/06/13 18:58, Miller Puckette wrote:
Thanks... I'm toying with a middle solution, which would be simply to open jack with the JackNoStartServer option (one of JackOpenOptions). I think this is a good idea anyway as the user might want to specify jack options and it seems wrong to have Pd get involved in that.
+1 =)
y
On 24/06/2013 18:58, Miller Puckette wrote:
Thanks... I'm toying with a middle solution, which would be simply to open jack with the JackNoStartServer option (one of JackOpenOptions). I think this is a good idea anyway as the user might want to specify jack options and it seems wrong to have Pd get involved in that.
I liked it when (v 0.42?) Pd would use jack if it found a jack server running and just alsa otherwise...
Lorenzo
cheers Miller
On Mon, Jun 24, 2013 at 11:33:47AM +0200, Ivica Bukvic wrote:
Miller,
I think I solved the hang part in pd-l2ork implementation that is based on the older model that allows disconnection and reconnection practically under any circumstances. The only downside is if you yank the USB soundcard while jack is running pd waits on jack to report that it lost the soundcard and stops which can take up to 20 seconds. In other words in this case it's jack that is hanging and consequently making pd hang as well but only temporarily.
HTH On Jun 24, 2013 5:14 AM, "yvan volochine" yvan.pd@gmail.com wrote:
hi Miller,
Are you using 0.44? (I don't think 0.45 exists yet :) yeah sorry, 0.44 (pd-0.45-0-test)
The only relevant thing I can find in recent commits is a change from
jack_client_new() to jack_client_open() back in 2010.
With apologies, here is the commit I found...
commit 1022e5687bb5785904ba1b1977a9a2**9c9b6b25dc
[SNIP]
Is it possible this bug has been there for the last three years? (i.e. 0.43 and 0.44 would have this problem)?
I just built 0.43-1 and yes the problem is there as well (weird that I never tried to open pd without jack before..).
I couldn't build any older pd version (I guess I have a too recent tcl somehow) so I cannot test with 0.42 (or with the commit before the one you mentioned)
let me know if I should submit an issue..
ciao, y
-- http://yvanvolochine.com http://soundcloud.com/**yvanvolochinehttp://soundcloud.com/yvanvolochine http://soundcloud.com/**elgusanorojo http://soundcloud.com/elgusanorojo http://vimeo.com/yv
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
On 06/25/2013 01:24 PM, Lorenzo Sutton wrote:
On 24/06/2013 18:58, Miller Puckette wrote:
Thanks... I'm toying with a middle solution, which would be simply to open jack with the JackNoStartServer option (one of JackOpenOptions). I think this is a good idea anyway as the user might want to specify jack options and it seems wrong to have Pd get involved in that.
hmm, i'm not entirely convinced about that: the autostarted jack server should use sane defaults as configured by the user. if these defaults are not what the user wants, they can always start the jack server beforehand, and Pd will connect to that server.
in any case, i'd like to check with the jack-devs what's the *expected* behaviour of a jack application...i'd really like Pd to behave as "standard" as possible.
and of course the fact that Pd hangs on quit when it has an autostarted jackd, is a bug. if the only way to fix this, is to prevent Pd from starting jackd, then we might go that route. if we can make Pd quit successfully even with an autostarted jackd, i'd like to keep the autostarting.
what i'd like to have is, that Pd and jack are totally independent processes: Pd should keep working (including quitting!), whether jack is (auto)started or not, and it should gracefully survive a shutdown/restart of the jack server. and the other way round.
I liked it when (v 0.42?) Pd would use jack if it found a jack server running and just alsa otherwise...
honestly, i think this is too much intelligence on the Pd layer.
if the user chose "jack" as backend, then they should get "jack", and not "alsa" or "asio". if there is no "jack" (and we cannot autostart), then Pd should NOT try to grab the first available alsa device, preventing any jack server from being started afterwards, and potentially crashing the "700 gigawatt PA"* where Pd was never meant to be routed to.
fgmasdr IOhannes
I guess that asking Ardour's main dev (Paul Davis, also one of jackd's devs) about the expected behaviour of a jack app would be a good idea.
While Ardour without audio is pretty useless (not so true anymore since it does midi now, but well), Pd is not, so my take on this is "don't do anything i didn't told you to" :
I didn't specified -jack : don't start it, don't connect to it. Let me handle this. I didn't specified any audio options : don't do anything, i'll start the whole mess.
Here is what i get when starting Pd-extended 0.43.4 and jackd 1.9.10 on ubuntu 13.04 :
~$ pd-extended priority 6 scheduling enabled. priority 8 scheduling enabled. Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jackdbus should be auto-executed by D-Bus message bus daemon. If you want to run it manually anyway, specify "auto" as only parameter Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel Cannot connect to server socket err = No such file or directory Cannot connect to server request channel watchdog: signaling pd... Cannot connect to server socket err = No such file or directory Cannot connect to server request channel jack server is not running or cannot be started
4 seconds trying to get that there's no jackd running... Did i specified -jack ? No ! So why is Pd-ext trying to start it ?
On 26/06/2013 08:07, IOhannes zmölnig wrote:
On 06/25/2013 01:24 PM, Lorenzo Sutton wrote:
On 24/06/2013 18:58, Miller Puckette wrote:
Thanks... I'm toying with a middle solution, which would be simply to open jack with the JackNoStartServer option (one of JackOpenOptions). I think this is a good idea anyway as the user might want to specify jack options and it seems wrong to have Pd get involved in that.
hmm, i'm not entirely convinced about that: the autostarted jack server should use sane defaults as configured by the user. if these defaults are not what the user wants, they can always start the jack server beforehand, and Pd will connect to that server.
in any case, i'd like to check with the jack-devs what's the *expected* behaviour of a jack application...i'd really like Pd to behave as "standard" as possible.
and of course the fact that Pd hangs on quit when it has an autostarted jackd, is a bug. if the only way to fix this, is to prevent Pd from starting jackd, then we might go that route. if we can make Pd quit successfully even with an autostarted jackd, i'd like to keep the autostarting.
what i'd like to have is, that Pd and jack are totally independent processes: Pd should keep working (including quitting!), whether jack is (auto)started or not, and it should gracefully survive a shutdown/restart of the jack server. and the other way round.
I liked it when (v 0.42?) Pd would use jack if it found a jack server running and just alsa otherwise...
honestly, i think this is too much intelligence on the Pd layer.
if the user chose "jack" as backend, then they should get "jack", and not "alsa" or "asio". if there is no "jack" (and we cannot autostart), then Pd should NOT try to grab the first available alsa device, preventing any jack server from being started afterwards, and potentially crashing the "700 gigawatt PA"* where Pd was never meant to be routed to.
fgmasdr IOhannes
- courtesy erik de castro lopo
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2013-06-26 11:16, batinste wrote:
I guess that asking Ardour's main dev (Paul Davis, also one of jackd's devs) about the expected behaviour of a jack app would be a good idea.
i'd rather ask the entire jack-dev crew. while paul has written the original jack server, he is no longer the main authore of jackd2.
~$ pd-extended
4 seconds trying to get that there's no jackd running... Did i specified -jack ? No ! So why is Pd-ext trying to start it ?
most likely because you *did* specify to start "-jack" in your preferences.
but seriously: i don't think this is a very good example (most likely you were trying to prove that my claim that "pd should not try to be too clever" was incorrect in many cases).
what i did forget in my post is: yes, i would like to have an "-audio auto" switch, that will try to get *any* audio backend (e.g. jack, alsa, oss, dummy; in that order) i even think that this should be the default (e.g. when you start Pd with no arguments and uninitialized settings). but if the user specifies a given audio backend (e.g. "-audio jack", or "-jack" as we currently call it), then Pd should not do something else.
those who don't like the default "any" config, could specify multiple backends, e.g. "-audio alsa,oss"
fgvjmasdr IOhannes
On 26/06/13 11:31, IOhannes m zmoelnig wrote:
yes, i would like to have an "-audio auto" switch, that will try to get*any* audio backend (e.g. jack, alsa, oss, dummy; in that order) i even think that this should be the default (e.g. when you start Pd with no arguments and uninitialized settings).
but please provide a way to disable this autostart-audio feature. (I don't know any audio app which starts jack for me
consider as well this use case:
the jackd process
very annoying for those who are not familiar with how to use your browser with jack etc..
cheers, y
On Wed, 26 Jun 2013, yvan volochine wrote:
but please provide a way to disable this autostart-audio feature. (I don't know any audio app which starts jack for me
Any jack application that calls jack_client_open and does not pass JackNoStartServer will have this behavior. You probably just haven't noticed this, or are using only old clients that are using the (now deprecated) jack_client_new. (See http://jackaudio.org/files/docs/html/group__ClientFunctions.html#gabbd2041bc... for the api docs on jack_client_open).
In my experience, most people using jack these days are aware that most clients will autostart the server if they haven't started it, and it does not confuse them.
-Nick
On 26/06/13 12:57, Nick Lanham wrote:
In my experience, most people using jack these days are aware that most clients will autostart the server if they haven't started it, and it does not confuse them.
yeah well in my expericence you don't need to open a terminal and kill jackd because an app has been too smart and started it for you.
since my first days with linux I learned to:
I don't know if the following apps use the old jack API but about "starting jack for me when I didn't ask them to":
I would expect a call to jack_client_open()
when I turn DSP on, not
when I launch an app with which I might not make audio at all..
my 0.02£ anyway y
On Wed, 26 Jun 2013, yvan volochine wrote:
On 26/06/13 12:57, Nick Lanham wrote:
In my experience, most people using jack these days are aware that most clients will autostart the server if they haven't started it, and it does not confuse them.
yeah well in my experience you don't need to open a terminal and kill jackd because an app has been too smart and started it for you.
Yeah, that's bad, but that's a bug in the app, not a jack bug. Jack usually shuts down cleanly if you kill your app.
I don't know if the following apps use the old jack API but about "starting jack for me when I didn't ask them to":
- ardour3 does not
- audacity does not
- any media players that I tried don't..
Also, all the following apps will auto-start jack, and are more similar IMO to PD than audacity or a media player:
So, I think it's more common to start it than not to.
I would expect a call to
jack_client_open()
when I turn DSP on, not when I launch an app with which I might not make audio at all..
Agreed. If I don't turn on DSP, PD probably shouldn't start jack, but if you haven't started jack and you've configured PD to use jack, and you turn on DSP, it should probably start it.
-Nick
On 26/06/13 14:11, Nick Lanham wrote:
- ardour3 does not
- Yes it does. It will pop up a dialog asking you to configure jack
first, but it does start it.
of course you're right, my mistake..
I would expect a call to
jack_client_open()
when I turn DSP on, not when I launch an app with which I might not make audio at all..Agreed. If I don't turn on DSP, PD probably shouldn't start jack, but if you haven't started jack and you've configured PD to use jack, and you turn on DSP, it should probably start it.
agreed too.
so I guess pd should behave like the following:
selected)
Ardour3 does)
cheers, y
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2013-06-26 14:11, Nick Lanham wrote:
I would expect a call to
jack_client_open()
when I turn DSP on, not when I launch an app with which I might not make audio at all..Agreed. If I don't turn on DSP, PD probably shouldn't start jack, but if you haven't started jack and you've configured PD to use jack, and you turn on DSP, it should probably start it.
note, that this is the behaviour we had (0.43) and it broke quite a lot of things. especially, starting and shutting down the jack *client* takes some time, and attaching that to [; pd dsp 1/0( is a bad idea (e.g. when doing dynamic patching, you would usually turn off the dsp before creating a few signal-objects, and then turn it on again...so Pd only has to recompute the DSP-graph once; if this would also mean power-cycling the jack connection, yo get loads of dropouts)
gfamsdr IOhannes
On 26/06/2013 11:31, IOhannes m zmoelnig wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2013-06-26 11:16, batinste wrote:
I guess that asking Ardour's main dev (Paul Davis, also one of jackd's devs) about the expected behaviour of a jack app would be a good idea.
i'd rather ask the entire jack-dev crew.
Eventually, but Paul's take on a professionnal jack app is interesting.
while paul has written the original jack server, he is no longer the main authore of jackd2.
I was mentioning his name as someone who develops a jack app as well as someone who knows what's under jackd's hood.
~$ pd-extended
4 seconds trying to get that there's no jackd running... Did i specified -jack ? No ! So why is Pd-ext trying to start it ?
most likely because you *did* specify to start "-jack" in your preferences.
-jack flag is nowhere to be found on any config file in my system. ~$ cat .pdextended | grep flags flags: ~$ cat /etc/pd-extended/default.pdextended | grep flags flags:
but seriously: i don't think this is a very good example (most likely you were trying to prove that my claim that "pd should not try to be too clever" was incorrect in many cases).
Nope, i think your point is good ! Pd should only do what you told it to do !
what i did forget in my post is: yes, i would like to have an "-audio auto" switch, that will try to get *any* audio backend (e.g. jack, alsa, oss, dummy; in that order)
agree
i even think that this should be the default (e.g. when you start Pd with no arguments and uninitialized settings).
not agree. What if i don't want to make sound with Pd ? And, worst, what if i want to ? Especially on linux, where the flash/alsa/pulseaudio is a mess... I just tried : launch pd-extended -alsa, open a youtube vid : the vid plays for 4 sec, then stops. Open a youtube vid, then launch pd-extended -alsa : the vid plays, pd-ext is unusable and unresponsive when i try to create and patch. I want the choice. ("use an other OS/distro" is not a valid criticism ;) ) That is why the "audio configuration" menu and the config files are there for. Unless the "automagical audio backend selection" box is ticked, i don't want pd to do anything.
but if the user specifies a given audio backend (e.g. "-audio jack", or "-jack" as we currently call it), then Pd should not do something else.
agree
those who don't like the default "any" config, could specify multiple backends, e.g. "-audio alsa,oss"
Why not
fgvjmasdr IOhannes -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/
iEYEARECAAYFAlHKtPkACgkQkX2Xpv6ydvRN3QCg4pfezb+PkFOqbq/iIpT7Q/lg N4QAoN9FtfaPg24pgpocCWjErv1UFwkb =QpoS -----END PGP SIGNATURE-----
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 2013-06-26 12:29, batinste wrote:
On 26/06/2013 11:31, IOhannes m zmoelnig wrote: On 2013-06-26 11:16, batinste wrote:
I guess that asking Ardour's main dev (Paul Davis, also one of jackd's devs) about the expected behaviour of a jack app would be a good idea.
i'd rather ask the entire jack-dev crew.
Eventually, but Paul's take on a professionnal jack app is interesting.
while paul has written the original jack server, he is no longer the main authore of jackd2.
I was mentioning his name as someone who develops a jack app as well as someone who knows what's under jackd's hood.
sure. the best bet is porbably to just ask on linux-audio-dev, where paul is a frequent poster and loads of other people who use jack on a semi to fully professional level.
~$ cat .pdextended | grep flags flags: ~$ cat /etc/pd-extended/default.pdextended | grep flags flags:
because the audio API is not selected via flags. $ grep audioapi ~/.pdextended /etc/pd-extended/default.pdextended
what i did forget in my post is: yes, i would like to have an "-audio auto" switch, that will try to get *any* audio backend (e.g. jack, alsa, oss, dummy; in that order)
agree
i even think that this should be the default (e.g. when you start Pd with no arguments and uninitialized settings).
not agree. What if i don't want to make sound with Pd ?
currently you do this by running "pd -noaudio". (i would prefer something like "-audio dummy" or "-audio none")
while it makes perfect sense for Pd to run without audio, i still think that it is a *very* sane default to enable audio by default, and only disable it on demand.
And, worst, what
if i want to ? Especially on linux, where the flash/alsa/pulseaudio is a mess... I just tried : launch pd-extended -alsa, open a youtube vid : the vid plays for 4 sec, then stops. Open a youtube vid, then launch pd-extended -alsa : the vid plays, pd-ext is unusable and unresponsive when i try to create and patch.
i never experienced something like this. it works fine here (pd-vanilla): of course i don't get sound if some other process blocks it, but everything else works great.
I want the choice. ("use an other OS/distro" is not a valid criticism ;) )
definitely.
gfmasd IOhannes