<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-15500</id>
	<title>Nabble - Jack Audio</title>
	<updated>2008-10-12T09:09:45Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/Jack-Audio-f15500.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Jack-Audio-f15500.html" />
	<subtitle type="html">&lt;a href=&quot;http://www.jackaudio.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;JACK&lt;/a&gt;&amp;nbsp;is a low-latency audio server, written for POSIX conformant operating systems such as GNU/Linux and Apple's OS X.</subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-19943028</id>
	<title>RFC: &quot;enum&quot; parameters patch</title>
	<published>2008-10-12T09:09:45Z</published>
	<updated>2008-10-12T09:09:45Z</updated>
	<author>
		<name>Nedko Arnaudov</name>
	</author>
	<content type="html">I think my work is for fixing ticket #83 is done.
&lt;br&gt;&lt;br&gt;Summary from Trac:
&lt;br&gt;------------
&lt;br&gt;Currently there is no way to describe possible values of parameter. So
&lt;br&gt;far the solution is to define normal parameter (char, string or integer)
&lt;br&gt;and describe possible values in the long comment. This approach however
&lt;br&gt;does not allow generated UIs to show combobox/radiobutton widgets for
&lt;br&gt;selecting one of several possible values.
&lt;br&gt;&lt;br&gt;Some examples are dither parameter in jack1, ALSA midi type selection
&lt;br&gt;(-X parameter). Buffer size is probably in this category too, because it
&lt;br&gt;must be power of 2 and has min and max values, implied by hardware
&lt;br&gt;(lower level driver). 
&lt;br&gt;------------
&lt;br&gt;&lt;br&gt;The proposed changeset can be seen here (colored though gitweb):
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://repo.or.cz/w/jack2.git?a=commitdiff;h=821b3b02219ce7e40478e52a9a2102ea403e93fb;hp=bcf3493bdebfdf6279c962c91776ad01f9be74e6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://repo.or.cz/w/jack2.git?a=commitdiff;h=821b3b02219ce7e40478e52a9a2102ea403e93fb;hp=bcf3493bdebfdf6279c962c91776ad01f9be74e6&lt;/a&gt;&lt;br&gt;&lt;br&gt;or here (as regular patch file):
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://nedko.arnaudov.name/soft/jack/jack2-enum-params.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://nedko.arnaudov.name/soft/jack/jack2-enum-params.patch&lt;/a&gt;&lt;br&gt;&lt;br&gt;The topic branch can be seen here:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://repo.or.cz/w/jack2.git?a=shortlog;h=refs/heads/enum-params&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://repo.or.cz/w/jack2.git?a=shortlog;h=refs/heads/enum-params&lt;/a&gt;&lt;br&gt;&lt;br&gt;In changeset for jack2 I've implemented, amoung base functionality,
&lt;br&gt;enum constraints for some parameters of ALSA driver:
&lt;br&gt;&amp;nbsp;* device (composed runtime, code based on qjackctl code for this)
&lt;br&gt;&amp;nbsp;* dither
&lt;br&gt;&amp;nbsp;* midi-driver
&lt;br&gt;&lt;br&gt;Base functionality changes are:
&lt;br&gt;&amp;nbsp;* driver interface change (backward compatible at source level)
&lt;br&gt;&amp;nbsp;* new functions are added to control API
&lt;br&gt;&amp;nbsp;* new methods are added to D-Bus configure interface
&lt;br&gt;&lt;br&gt;sletz, if you decide to commit this as it is, please let me do it, I
&lt;br&gt;want to test how well git-svn will handle topic branches in git that are
&lt;br&gt;commited upstream through git-svn dcommit functionality.
&lt;br&gt;&lt;br&gt;As for jack1, I have motivation to backport this, but I doubt there is
&lt;br&gt;good reason for doing so without jack1 dbus.patch being accpted, a step
&lt;br&gt;that will allow this functionality to be usable by an already existing
&lt;br&gt;control application.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Nedko Arnaudov &amp;lt;GnuPG KeyID: DE1716B0&amp;gt;
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19943028&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;attachment0&lt;/strong&gt; (194 bytes) &lt;a href=&quot;http://www.nabble.com/attachment/19943028/0/attachment0&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/RFC%3A-%22enum%22-parameters-patch-tp19943028p19943028.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19942834</id>
	<title>Re: midi port names</title>
	<published>2008-10-12T08:48:50Z</published>
	<updated>2008-10-12T08:48:50Z</updated>
	<author>
		<name>Nedko Arnaudov</name>
	</author>
	<content type="html">Rui Nuno Capela &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19942834&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rncbc@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; that's the original issue with the jack-midi alsa backend, not
&lt;br&gt;&amp;gt; qjackctl's: it puts all midi ports under the common 'system'/'alsa_pcm'
&lt;br&gt;&amp;gt; client name, instead of separating it by proper application clients, as
&lt;br&gt;&amp;gt; you and i agree it would be righter. unfortunately it's not the way
&lt;br&gt;&amp;gt; jack-midi alsa backend sorts it and i, as qjackctl's author, am just
&lt;br&gt;&amp;gt; helpless about it :(
&lt;br&gt;&lt;br&gt;I &amp;quot;workarounded&amp;quot; this issue in lpatchage, when operating over a2jmidid,
&lt;br&gt;the out of server variant of &amp;quot;-X seq&amp;quot;. As can be seen in this screenhost:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://nedko.arnaudov.name/tmp/ladi-patchage-20080802-a2jmidid-integration.png&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://nedko.arnaudov.name/tmp/ladi-patchage-20080802-a2jmidid-integration.png&lt;/a&gt;&lt;br&gt;&lt;br&gt;lash_synth is ALSA seq application, as opposed to non-sequencer and
&lt;br&gt;system midi ports that are native JACK MIDI.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Nedko Arnaudov &amp;lt;GnuPG KeyID: DE1716B0&amp;gt;
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19942834&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;attachment0&lt;/strong&gt; (194 bytes) &lt;a href=&quot;http://www.nabble.com/attachment/19942834/0/attachment0&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19942834.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19941665</id>
	<title>Re: midi port names</title>
	<published>2008-10-12T06:27:58Z</published>
	<updated>2008-10-12T06:27:58Z</updated>
	<author>
		<name>Ralf Mardorf</name>
	</author>
	<content type="html">Rui Nuno Capela wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Ralf Mardorf wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Rui Nuno Capela wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Ralf Mardorf wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi Rui :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; JFYI the CVS version 0.3.3.6 of QjackCtl visually conveys to be fine for
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Suse 11.0. I had no time to check out if it will work.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; When selecting 'First' for aliases, the aliases are correctly shown in
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the Connect MIDI tab.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It's not a problem, but it's displayed 'alsa_pcm' instead of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 'alsa_midi'. All entries can be renamed, so there's definitive no bug
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; for first aliases in the MIDI tab.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; There's one drawback. While Hydrogen's client alias is including
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 'Hydrogen', Rosegarden's and Qsampler's aliases are missing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; information about the application they are from.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It would be better to have the application 'folders' like the Audio and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ALSA tabs have got, instead of showing all of them in the 'alsa_pcm'
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (resp. 'alsa_midi') 'folder'.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; unless being a bug, qjackctl shows exactly what is set by (lib)jack alsa
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; backend when listing client port names. in fact, 'alsa_pcm' is the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; actual client name's &amp;nbsp;first alias for jack-midi &amp;quot;system&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; you just can't change that naming from qjackctl, but you can set an
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; alternate name as a qjackctl own alias though
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (Setup/Display/Connections/Enable client/port aliases editing (rename))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; confused?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; No I'm not :)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; as I've written, the rename function also is fine, but there's no need
&lt;br&gt;&amp;gt;&amp;gt; to rename it from 'alsa_pcm' to 'alsa_midi', because the needed
&lt;br&gt;&amp;gt;&amp;gt; information is 'alsa' ;). I'll go on writing 'alsa_...' instead of
&lt;br&gt;&amp;gt;&amp;gt; 'alsa_pcm'.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It's plausible that the bridged ALSA clients are shown in a (let me call
&lt;br&gt;&amp;gt;&amp;gt; it a) 'folder' named 'alsa_...'.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It's also not confusing when running Hydrogen, Rosegarden and Qsampler
&lt;br&gt;&amp;gt;&amp;gt; that they are shown in the 'folder' named 'alsa_...', because I know the
&lt;br&gt;&amp;gt;&amp;gt; port's names. But this might become unclear when running many
&lt;br&gt;&amp;gt;&amp;gt; applications using aliases, that by default don't use the applications
&lt;br&gt;&amp;gt;&amp;gt; name they are from, in the aliases names.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; The Audio tab has got 'folders' for each application and it would become
&lt;br&gt;&amp;gt;&amp;gt; more obvious if each client got it's own 'folder' for the MIDI tab too.
&lt;br&gt;&amp;gt;&amp;gt; It isn't a help to rename the ports after restarting a session. Just my
&lt;br&gt;&amp;gt;&amp;gt; 2 cents.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; that's the original issue with the jack-midi alsa backend, not
&lt;br&gt;&amp;gt; qjackctl's: it puts all midi ports under the common 'system'/'alsa_pcm'
&lt;br&gt;&amp;gt; client name, instead of separating it by proper application clients, as
&lt;br&gt;&amp;gt; you and i agree it would be righter. unfortunately it's not the way
&lt;br&gt;&amp;gt; jack-midi alsa backend sorts it and i, as qjackctl's author, am just
&lt;br&gt;&amp;gt; helpless about it :(
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; cheers
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;/div&gt;I've got respect for anyone programing for Linux. I'm not fine with
&lt;br&gt;doing this.
&lt;br&gt;I don't know how much work it is to write a rout, that will
&lt;br&gt;&lt;br&gt;diff the first alias for each MIDI tab port with the ALSA tab ports
&lt;br&gt;&lt;br&gt;and if alias names are equal and if there will be no second alias with
&lt;br&gt;the same name,
&lt;br&gt;&lt;br&gt;to copy the corresponding 'client/folder' name from the ALSA tab to the
&lt;br&gt;MIDI tab (and to sort the corresponding ports to the
&lt;br&gt;'cklient/folders'.). Just visually for the MIDI tab.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19941665&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (268 bytes) &lt;a href=&quot;http://www.nabble.com/attachment/19941665/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19941665.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19941030</id>
	<title>Re: midi port names</title>
	<published>2008-10-12T05:04:12Z</published>
	<updated>2008-10-12T05:04:12Z</updated>
	<author>
		<name>Rui Nuno Capela</name>
	</author>
	<content type="html">Ralf Mardorf wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Rui Nuno Capela wrote:
&lt;br&gt;&amp;gt;&amp;gt; Ralf Mardorf wrote:
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi Rui :)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; JFYI the CVS version 0.3.3.6 of QjackCtl visually conveys to be fine for
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Suse 11.0. I had no time to check out if it will work.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; When selecting 'First' for aliases, the aliases are correctly shown in
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the Connect MIDI tab.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It's not a problem, but it's displayed 'alsa_pcm' instead of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 'alsa_midi'. All entries can be renamed, so there's definitive no bug
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for first aliases in the MIDI tab.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; There's one drawback. While Hydrogen's client alias is including
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 'Hydrogen', Rosegarden's and Qsampler's aliases are missing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; information about the application they are from.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It would be better to have the application 'folders' like the Audio and
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ALSA tabs have got, instead of showing all of them in the 'alsa_pcm'
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (resp. 'alsa_midi') 'folder'.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; unless being a bug, qjackctl shows exactly what is set by (lib)jack alsa
&lt;br&gt;&amp;gt;&amp;gt; backend when listing client port names. in fact, 'alsa_pcm' is the
&lt;br&gt;&amp;gt;&amp;gt; actual client name's &amp;nbsp;first alias for jack-midi &amp;quot;system&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; you just can't change that naming from qjackctl, but you can set an
&lt;br&gt;&amp;gt;&amp;gt; alternate name as a qjackctl own alias though
&lt;br&gt;&amp;gt;&amp;gt; (Setup/Display/Connections/Enable client/port aliases editing (rename))
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; confused?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No I'm not :)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; as I've written, the rename function also is fine, but there's no need
&lt;br&gt;&amp;gt; to rename it from 'alsa_pcm' to 'alsa_midi', because the needed
&lt;br&gt;&amp;gt; information is 'alsa' ;). I'll go on writing 'alsa_...' instead of
&lt;br&gt;&amp;gt; 'alsa_pcm'.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's plausible that the bridged ALSA clients are shown in a (let me call
&lt;br&gt;&amp;gt; it a) 'folder' named 'alsa_...'.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's also not confusing when running Hydrogen, Rosegarden and Qsampler
&lt;br&gt;&amp;gt; that they are shown in the 'folder' named 'alsa_...', because I know the
&lt;br&gt;&amp;gt; port's names. But this might become unclear when running many
&lt;br&gt;&amp;gt; applications using aliases, that by default don't use the applications
&lt;br&gt;&amp;gt; name they are from, in the aliases names.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The Audio tab has got 'folders' for each application and it would become
&lt;br&gt;&amp;gt; more obvious if each client got it's own 'folder' for the MIDI tab too.
&lt;br&gt;&amp;gt; It isn't a help to rename the ports after restarting a session. Just my
&lt;br&gt;&amp;gt; 2 cents.
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;that's the original issue with the jack-midi alsa backend, not
&lt;br&gt;qjackctl's: it puts all midi ports under the common 'system'/'alsa_pcm'
&lt;br&gt;client name, instead of separating it by proper application clients, as
&lt;br&gt;you and i agree it would be righter. unfortunately it's not the way
&lt;br&gt;jack-midi alsa backend sorts it and i, as qjackctl's author, am just
&lt;br&gt;helpless about it :(
&lt;br&gt;&lt;br&gt;cheers
&lt;br&gt;-- 
&lt;br&gt;rncbc aka Rui Nuno Capela
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19941030&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rncbc@...&lt;/a&gt;
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19941030&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19941030.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19940749</id>
	<title>Re: midi port names</title>
	<published>2008-10-12T04:26:41Z</published>
	<updated>2008-10-12T04:26:41Z</updated>
	<author>
		<name>Ralf Mardorf</name>
	</author>
	<content type="html">Rui Nuno Capela wrote:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Ralf Mardorf wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Hi Rui :)
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; JFYI the CVS version 0.3.3.6 of QjackCtl visually conveys to be fine for
&lt;br&gt;&amp;gt;&amp;gt; Suse 11.0. I had no time to check out if it will work.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; When selecting 'First' for aliases, the aliases are correctly shown in
&lt;br&gt;&amp;gt;&amp;gt; the Connect MIDI tab.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It's not a problem, but it's displayed 'alsa_pcm' instead of
&lt;br&gt;&amp;gt;&amp;gt; 'alsa_midi'. All entries can be renamed, so there's definitive no bug
&lt;br&gt;&amp;gt;&amp;gt; for first aliases in the MIDI tab.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; There's one drawback. While Hydrogen's client alias is including
&lt;br&gt;&amp;gt;&amp;gt; 'Hydrogen', Rosegarden's and Qsampler's aliases are missing the
&lt;br&gt;&amp;gt;&amp;gt; information about the application they are from.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It would be better to have the application 'folders' like the Audio and
&lt;br&gt;&amp;gt;&amp;gt; ALSA tabs have got, instead of showing all of them in the 'alsa_pcm'
&lt;br&gt;&amp;gt;&amp;gt; (resp. 'alsa_midi') 'folder'.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; unless being a bug, qjackctl shows exactly what is set by (lib)jack alsa
&lt;br&gt;&amp;gt; backend when listing client port names. in fact, 'alsa_pcm' is the
&lt;br&gt;&amp;gt; actual client name's &amp;nbsp;first alias for jack-midi &amp;quot;system&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; you just can't change that naming from qjackctl, but you can set an
&lt;br&gt;&amp;gt; alternate name as a qjackctl own alias though
&lt;br&gt;&amp;gt; (Setup/Display/Connections/Enable client/port aliases editing (rename))
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&amp;gt; confused?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;No I'm not :)
&lt;br&gt;&lt;br&gt;as I've written, the rename function also is fine, but there's no need
&lt;br&gt;to rename it from 'alsa_pcm' to 'alsa_midi', because the needed
&lt;br&gt;information is 'alsa' ;). I'll go on writing 'alsa_...' instead of
&lt;br&gt;'alsa_pcm'.
&lt;br&gt;&lt;br&gt;It's plausible that the bridged ALSA clients are shown in a (let me call
&lt;br&gt;it a) 'folder' named 'alsa_...'.
&lt;br&gt;&lt;br&gt;It's also not confusing when running Hydrogen, Rosegarden and Qsampler
&lt;br&gt;that they are shown in the 'folder' named 'alsa_...', because I know the
&lt;br&gt;port's names. But this might become unclear when running many
&lt;br&gt;applications using aliases, that by default don't use the applications
&lt;br&gt;name they are from, in the aliases names.
&lt;br&gt;&lt;br&gt;The Audio tab has got 'folders' for each application and it would become
&lt;br&gt;more obvious if each client got it's own 'folder' for the MIDI tab too.
&lt;br&gt;It isn't a help to rename the ports after restarting a session. Just my
&lt;br&gt;2 cents.
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19940749&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (268 bytes) &lt;a href=&quot;http://www.nabble.com/attachment/19940749/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19940749.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19940400</id>
	<title>Re: midi port names</title>
	<published>2008-10-12T03:37:56Z</published>
	<updated>2008-10-12T03:37:56Z</updated>
	<author>
		<name>Rui Nuno Capela</name>
	</author>
	<content type="html">Ralf Mardorf wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Rui :)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; JFYI the CVS version 0.3.3.6 of QjackCtl visually conveys to be fine for
&lt;br&gt;&amp;gt; Suse 11.0. I had no time to check out if it will work.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; When selecting 'First' for aliases, the aliases are correctly shown in
&lt;br&gt;&amp;gt; the Connect MIDI tab.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's not a problem, but it's displayed 'alsa_pcm' instead of
&lt;br&gt;&amp;gt; 'alsa_midi'. All entries can be renamed, so there's definitive no bug
&lt;br&gt;&amp;gt; for first aliases in the MIDI tab.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; There's one drawback. While Hydrogen's client alias is including
&lt;br&gt;&amp;gt; 'Hydrogen', Rosegarden's and Qsampler's aliases are missing the
&lt;br&gt;&amp;gt; information about the application they are from.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It would be better to have the application 'folders' like the Audio and
&lt;br&gt;&amp;gt; ALSA tabs have got, instead of showing all of them in the 'alsa_pcm'
&lt;br&gt;&amp;gt; (resp. 'alsa_midi') 'folder'.
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;unless being a bug, qjackctl shows exactly what is set by (lib)jack alsa
&lt;br&gt;backend when listing client port names. in fact, 'alsa_pcm' is the
&lt;br&gt;actual client name's &amp;nbsp;first alias for jack-midi &amp;quot;system&amp;quot;.
&lt;br&gt;&lt;br&gt;you just can't change that naming from qjackctl, but you can set an
&lt;br&gt;alternate name as a qjackctl own alias though
&lt;br&gt;(Setup/Display/Connections/Enable client/port aliases editing (rename))
&lt;br&gt;&lt;br&gt;confused?
&lt;br&gt;&lt;br&gt;cheers
&lt;br&gt;-- 
&lt;br&gt;rncbc aka Rui Nuno Capela
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19940400&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;rncbc@...&lt;/a&gt;
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19940400&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19940400.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19938410</id>
	<title>Re: midi port names</title>
	<published>2008-10-11T20:16:45Z</published>
	<updated>2008-10-11T20:16:45Z</updated>
	<author>
		<name>Bob McGwier-2</name>
	</author>
	<content type="html">The meter reads, as it is should, the sum (integral) of all the power inside
&lt;br&gt;the filter. &amp;nbsp;The noise floor on the panadapter will ALWAYS be less than the
&lt;br&gt;meter as a result. &amp;nbsp;This is correct and is why the meter is about the most
&lt;br&gt;accurate one in amateur radio.
&lt;br&gt;&lt;br&gt;Bob
&lt;br&gt;&lt;br&gt;&lt;br&gt;ARRL SDR Working Group Chair
&lt;br&gt;Member: ARRL, AMSAT, AMSAT-DL, TAPR, Packrats,
&lt;br&gt;NJQRP, QRP ARCI, QCWA, FRC.
&lt;br&gt;&amp;quot;Trample the slow .... &amp;nbsp;Hurdle the dead&amp;quot;
&lt;br&gt;&lt;br&gt;&lt;br&gt;-----Original Message-----
&lt;br&gt;From: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19938410&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jack-devel-bounces@...&lt;/a&gt;
&lt;br&gt;[mailto:&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19938410&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jack-devel-bounces@...&lt;/a&gt;] On Behalf Of Ralf Mardorf
&lt;br&gt;Sent: Saturday, October 11, 2008 9:07 PM
&lt;br&gt;To: Rui Nuno Capela
&lt;br&gt;Cc: &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19938410&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jack-devel@...&lt;/a&gt;
&lt;br&gt;Subject: Re: [Jack-Devel] midi port names
&lt;br&gt;&lt;br&gt;Hi Rui :)
&lt;br&gt;&lt;br&gt;JFYI the CVS version 0.3.3.6 of QjackCtl visually conveys to be fine for
&lt;br&gt;Suse 11.0. I had no time to check out if it will work.
&lt;br&gt;&lt;br&gt;When selecting 'First' for aliases, the aliases are correctly shown in the
&lt;br&gt;Connect MIDI tab.
&lt;br&gt;&lt;br&gt;It's not a problem, but it's displayed 'alsa_pcm' instead of 'alsa_midi'.
&lt;br&gt;All entries can be renamed, so there's definitive no bug for first aliases
&lt;br&gt;in the MIDI tab.
&lt;br&gt;&lt;br&gt;There's one drawback. While Hydrogen's client alias is including 'Hydrogen',
&lt;br&gt;Rosegarden's and Qsampler's aliases are missing the information about the
&lt;br&gt;application they are from.
&lt;br&gt;&lt;br&gt;It would be better to have the application 'folders' like the Audio and ALSA
&lt;br&gt;tabs have got, instead of showing all of them in the 'alsa_pcm'
&lt;br&gt;(resp. 'alsa_midi') 'folder'.
&lt;br&gt;&lt;br&gt;Thank you!
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19938410&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19938410.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19937895</id>
	<title>Re: midi port names</title>
	<published>2008-10-11T18:07:24Z</published>
	<updated>2008-10-11T18:07:24Z</updated>
	<author>
		<name>Ralf Mardorf</name>
	</author>
	<content type="html">Hi Rui :)
&lt;br&gt;&lt;br&gt;JFYI the CVS version 0.3.3.6 of QjackCtl visually conveys to be fine for
&lt;br&gt;Suse 11.0. I had no time to check out if it will work.
&lt;br&gt;&lt;br&gt;When selecting 'First' for aliases, the aliases are correctly shown in
&lt;br&gt;the Connect MIDI tab.
&lt;br&gt;&lt;br&gt;It's not a problem, but it's displayed 'alsa_pcm' instead of
&lt;br&gt;'alsa_midi'. All entries can be renamed, so there's definitive no bug
&lt;br&gt;for first aliases in the MIDI tab.
&lt;br&gt;&lt;br&gt;There's one drawback. While Hydrogen's client alias is including
&lt;br&gt;'Hydrogen', Rosegarden's and Qsampler's aliases are missing the
&lt;br&gt;information about the application they are from.
&lt;br&gt;&lt;br&gt;It would be better to have the application 'folders' like the Audio and
&lt;br&gt;ALSA tabs have got, instead of showing all of them in the 'alsa_pcm'
&lt;br&gt;(resp. 'alsa_midi') 'folder'.
&lt;br&gt;&lt;br&gt;Thank you!
&lt;br&gt;&lt;br&gt;Cheers,
&lt;br&gt;Ralf
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19937895&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://www.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;signature.asc&lt;/strong&gt; (268 bytes) &lt;a href=&quot;http://www.nabble.com/attachment/19937895/0/signature.asc&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/midi-port-names-tp19759242p19937895.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19915700</id>
	<title>Re: thread_init_callback</title>
	<published>2008-10-10T03:19:49Z</published>
	<updated>2008-10-10T03:19:49Z</updated>
	<author>
		<name>Stéphane Letz</name>
	</author>
	<content type="html">&lt;br&gt;Le 9 oct. 08 à 22:29, Fons Adriaensen a écrit :
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; From jack.h:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; * Tell JACK to call thread_init_callback once just after
&lt;br&gt;&amp;gt; * the creation of the thread in which all other callbacks
&lt;br&gt;&amp;gt; * will be handled.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now in jackdmp/jack2 there are *two* such threads IIRC.
&lt;br&gt;&amp;gt; Which one is meant here ? If it's the one doing the
&lt;br&gt;&amp;gt; process() callback, then this description should be
&lt;br&gt;&amp;gt; modified.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Ciao,
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Actually in jack2 the init callback is called in *both* threads.... it &amp;nbsp;
&lt;br&gt;was needed by Ardour AFAIK
&lt;br&gt;&lt;br&gt;Stephane 
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19915700&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/thread_init_callback-tp19906817p19915700.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19906817</id>
	<title>thread_init_callback</title>
	<published>2008-10-09T13:29:25Z</published>
	<updated>2008-10-09T13:29:25Z</updated>
	<author>
		<name>Fons Adriaensen-2</name>
	</author>
	<content type="html">&amp;gt;From jack.h:
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp;* Tell JACK to call thread_init_callback once just after
&lt;br&gt;&amp;nbsp;* the creation of the thread in which all other callbacks 
&lt;br&gt;&amp;nbsp;* will be handled.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Now in jackdmp/jack2 there are *two* such threads IIRC.
&lt;br&gt;Which one is meant here ? If it's the one doing the
&lt;br&gt;process() callback, then this description should be
&lt;br&gt;modified.
&lt;br&gt;&lt;br&gt;Ciao,
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;FA
&lt;br&gt;&lt;br&gt;Follie! Follie! Delirio vano e' questo!
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19906817&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/thread_init_callback-tp19906817p19906817.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19886603</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-08T13:09:08Z</published>
	<updated>2008-10-08T13:09:08Z</updated>
	<author>
		<name>Juan-Pablo Caceres</name>
	</author>
	<content type="html">Fons Adriaensen wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, Oct 08, 2008 at 12:20:39AM +0200, Paul Davis wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On Wed, 2008-10-08 at 00:10 +0200, Fons Adriaensen wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The context switches are within the same process, so they should
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; not involve too much work... Still, unless I had the time to test
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; this extensively, I'd opt for a single client solution.
&lt;br&gt;&amp;gt;&amp;gt; thats true if they have no JACK input ports. otherwise, the clients
&lt;br&gt;&amp;gt;&amp;gt; could be connected to other JACK clients and then we go back and forth.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; but yes, you're right and i should have caught that.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; IIRC, the application is a multi-out player, no inputs.
&lt;/div&gt;&lt;br&gt;&lt;br&gt;The server works with actually no connections between clients, 
&lt;br&gt;everything is handled on each process callback. I am sure there are 
&lt;br&gt;better ways of doing this, but this is a first working prototype, and it 
&lt;br&gt;may actually even run using the dummy driver.
&lt;br&gt;&lt;br&gt;I'll let you know how it works after I'm done and what's the performance 
&lt;br&gt;hit.
&lt;br&gt;&lt;br&gt;Thanks for all the advice.
&lt;br&gt;Juan-Pablo
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19886603&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19886603.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19881310</id>
	<title>jackmp : fix a rev 2957 introduced bug...</title>
	<published>2008-10-08T08:30:06Z</published>
	<updated>2008-10-08T08:30:06Z</updated>
	<author>
		<name>Stéphane Letz</name>
	</author>
	<content type="html">For &amp;nbsp;jackdmp, get the latest SVN version, (rev 2957 has a important &amp;nbsp;
&lt;br&gt;issue) :
&lt;br&gt;&lt;br&gt;rev 2965: Fix a SMP related bug introduced in rev 2957 : remove the &amp;nbsp;
&lt;br&gt;__SMP__ flag and define LOCK for SMP in all cases.
&lt;br&gt;&lt;br&gt;Stephane 
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19881310&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jackmp-%3A-fix-a-rev-2957-introduced-bug...-tp19881310p19881310.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19869273</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T16:04:25Z</published>
	<updated>2008-10-07T16:04:25Z</updated>
	<author>
		<name>Fons Adriaensen-2</name>
	</author>
	<content type="html">On Wed, Oct 08, 2008 at 12:20:39AM +0200, Paul Davis wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, 2008-10-08 at 00:10 +0200, Fons Adriaensen wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The context switches are within the same process, so they should
&lt;br&gt;&amp;gt; &amp;gt; not involve too much work... Still, unless I had the time to test
&lt;br&gt;&amp;gt; &amp;gt; this extensively, I'd opt for a single client solution.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; thats true if they have no JACK input ports. otherwise, the clients
&lt;br&gt;&amp;gt; could be connected to other JACK clients and then we go back and forth.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; but yes, you're right and i should have caught that.
&lt;/div&gt;&lt;br&gt;IIRC, the application is a multi-out player, no inputs.
&lt;br&gt;&lt;br&gt;Ciao,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;FA
&lt;br&gt;&lt;br&gt;Follie! Follie! Delirio vano e' questo!
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19869273&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19869273.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868805</id>
	<title>Re: State of Jack</title>
	<published>2008-10-07T15:34:34Z</published>
	<updated>2008-10-07T15:34:34Z</updated>
	<author>
		<name>Quentin Harley</name>
	</author>
	<content type="html">Paul Davis wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Wed, 2008-09-10 at 09:49 +0200, Quentin Harley wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; We have been parked on 0.109.2 for quite a while now, and I am sure 
&lt;br&gt;&amp;gt;&amp;gt; quite a few fixes to the current server got implemented in the 7 months 
&lt;br&gt;&amp;gt;&amp;gt; since. &amp;nbsp;I am a Debian user and a tester for 64-studio, thus we are 
&lt;br&gt;&amp;gt;&amp;gt; waiting for the crucial release to be able to go ahead...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Paul said something about a release being close. &amp;nbsp;Any ETA as of yet?
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Just as soon as I get the ardour 2.X-&amp;gt;3.0 merge done, it will be my next
&lt;br&gt;&amp;gt; task. Might be 2-3 days work.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;Seems it might have been a bit more than 2-3 days work ;-)
&lt;br&gt;&lt;br&gt;Jack is not the little connecting app it used to be any more, but better 
&lt;br&gt;for it.
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868805&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/State-of-Jack-tp19408482p19868805.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868592</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T15:20:39Z</published>
	<updated>2008-10-07T15:20:39Z</updated>
	<author>
		<name>Paul Davis</name>
	</author>
	<content type="html">On Wed, 2008-10-08 at 00:10 +0200, Fons Adriaensen wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Oct 07, 2008 at 11:58:20PM +0200, Paul Davis wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Tue, 2008-10-07 at 14:46 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; That makes total sense. Thanks for the explanation. The static mutexes 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; worked perfectly, now I am testing with 60 stereo clients in a thread 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; pool, each of them sending and receiving UDP uncompressed audio, in two 
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 4core machines.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; other than ease of code development, there is little argument for this
&lt;br&gt;&amp;gt; &amp;gt; design. you are requiring 60+1 context switches per interrupt from the
&lt;br&gt;&amp;gt; &amp;gt; audio interface, instead of just 1+1 in the case of a client that
&lt;br&gt;&amp;gt; &amp;gt; handles the &amp;quot;multiplexing&amp;quot; internally. its great that it works for you,
&lt;br&gt;&amp;gt; &amp;gt; but its not really very good engineering. probably.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The context switches are within the same process, so they should
&lt;br&gt;&amp;gt; not involve too much work... Still, unless I had the time to test
&lt;br&gt;&amp;gt; this extensively, I'd opt for a single client solution.
&lt;/div&gt;&lt;br&gt;thats true if they have no JACK input ports. otherwise, the clients
&lt;br&gt;could be connected to other JACK clients and then we go back and forth.
&lt;br&gt;&lt;br&gt;but yes, you're right and i should have caught that.
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868592&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868592.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868528</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T15:10:42Z</published>
	<updated>2008-10-07T15:10:42Z</updated>
	<author>
		<name>Fons Adriaensen-2</name>
	</author>
	<content type="html">On Tue, Oct 07, 2008 at 11:58:20PM +0200, Paul Davis wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, 2008-10-07 at 14:46 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; That makes total sense. Thanks for the explanation. The static mutexes 
&lt;br&gt;&amp;gt; &amp;gt; worked perfectly, now I am testing with 60 stereo clients in a thread 
&lt;br&gt;&amp;gt; &amp;gt; pool, each of them sending and receiving UDP uncompressed audio, in two 
&lt;br&gt;&amp;gt; &amp;gt; 4core machines.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; other than ease of code development, there is little argument for this
&lt;br&gt;&amp;gt; design. you are requiring 60+1 context switches per interrupt from the
&lt;br&gt;&amp;gt; audio interface, instead of just 1+1 in the case of a client that
&lt;br&gt;&amp;gt; handles the &amp;quot;multiplexing&amp;quot; internally. its great that it works for you,
&lt;br&gt;&amp;gt; but its not really very good engineering. probably.
&lt;/div&gt;&lt;br&gt;The context switches are within the same process, so they should
&lt;br&gt;not involve too much work... Still, unless I had the time to test
&lt;br&gt;this extensively, I'd opt for a single client solution.
&lt;br&gt;&lt;br&gt;Ciao,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;FA
&lt;br&gt;&lt;br&gt;Follie! Follie! Delirio vano e' questo!
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868528&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868528.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868356</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T15:03:34Z</published>
	<updated>2008-10-07T15:03:34Z</updated>
	<author>
		<name>Paul Davis</name>
	</author>
	<content type="html">On Tue, 2008-10-07 at 23:58 +0200, Paul Davis wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, 2008-10-07 at 14:46 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; That makes total sense. Thanks for the explanation. The static mutexes 
&lt;br&gt;&amp;gt; &amp;gt; worked perfectly, now I am testing with 60 stereo clients in a thread 
&lt;br&gt;&amp;gt; &amp;gt; pool, each of them sending and receiving UDP uncompressed audio, in two 
&lt;br&gt;&amp;gt; &amp;gt; 4core machines.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; other than ease of code development, there is little argument for this
&lt;br&gt;&amp;gt; design. you are requiring 60+1 context switches per interrupt from the
&lt;br&gt;&amp;gt; audio interface, instead of just 1+1 in the case of a client that
&lt;br&gt;&amp;gt; handles the &amp;quot;multiplexing&amp;quot; internally. its great that it works for you,
&lt;br&gt;&amp;gt; but its not really very good engineering. probably.
&lt;/div&gt;&lt;br&gt;and to expand a bit: JACK was designed with the assumption that although
&lt;br&gt;context switching is fast, it still has real costs. we were happy to
&lt;br&gt;find it could be done fast enough to make JACK's process-level
&lt;br&gt;separation of clients work, but we didn't expect that it would be fast
&lt;br&gt;enough to scale to arbitrary numbers of clients, particularly not if the
&lt;br&gt;working set (number of pages of memory required for code+data inside the
&lt;br&gt;process() callback) was larger in several or all clients. in those
&lt;br&gt;cases, the context switching has much more significant costs on most
&lt;br&gt;modern h/w (far exceeding the register save/restore stuff), and this can
&lt;br&gt;cripple JACK with respect to low latency execution.
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868356&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868356.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868254</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:58:20Z</published>
	<updated>2008-10-07T14:58:20Z</updated>
	<author>
		<name>Paul Davis</name>
	</author>
	<content type="html">On Tue, 2008-10-07 at 14:46 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; That makes total sense. Thanks for the explanation. The static mutexes 
&lt;br&gt;&amp;gt; worked perfectly, now I am testing with 60 stereo clients in a thread 
&lt;br&gt;&amp;gt; pool, each of them sending and receiving UDP uncompressed audio, in two 
&lt;br&gt;&amp;gt; 4core machines.
&lt;br&gt;&lt;br&gt;other than ease of code development, there is little argument for this
&lt;br&gt;design. you are requiring 60+1 context switches per interrupt from the
&lt;br&gt;audio interface, instead of just 1+1 in the case of a client that
&lt;br&gt;handles the &amp;quot;multiplexing&amp;quot; internally. its great that it works for you,
&lt;br&gt;but its not really very good engineering. probably.
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868254&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868254.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868218</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:51:54Z</published>
	<updated>2008-10-07T14:51:54Z</updated>
	<author>
		<name>Fons Adriaensen-2</name>
	</author>
	<content type="html">On Tue, Oct 07, 2008 at 11:37:02PM +0200, Paul Davis wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; they should all be thread safe because once you have a JACK client, all
&lt;br&gt;&amp;gt; calls operate exclusively on your client structure, or they are calls
&lt;br&gt;&amp;gt; which must inherently be MT-safe for JACK's own &amp;quot;protection&amp;quot;. the
&lt;br&gt;&amp;gt; problem with jack_client_open() is that unlike all other calls, there is
&lt;br&gt;&amp;gt; no client structure yet, and JACK is operating on a single data
&lt;br&gt;&amp;gt; structure and is not expecting thread collisions ....
&lt;br&gt;&lt;br&gt;They are to be expected: the list of existing client names 
&lt;br&gt;(to be checked for each new client) has to be 'global'...
&lt;br&gt;&lt;br&gt;Ciao,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;FA
&lt;br&gt;&lt;br&gt;Follie! Follie! Delirio vano e' questo!
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868218&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868218.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868089</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:49:32Z</published>
	<updated>2008-10-07T14:49:32Z</updated>
	<author>
		<name>Jack O'Quin</name>
	</author>
	<content type="html">On Tue, Oct 7, 2008 at 4:46 PM, Juan-Pablo Caceres
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868089&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jcaceres@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Paul
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Paul Davis wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Tue, 2008-10-07 at 14:33 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi Stéphane,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Stéphane Letz wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Ok, so jack_client_open/jack_client_close functions are not thread safe,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (at least some &amp;quot;first client init&amp;quot;/&amp;quot;last client destroy&amp;quot; code is not MT
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; safe) and this client renaming thing also. Not sure the situation is really
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; better in jack1, for the same kind of reasons.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; So the general question now: should the jack API be guaranted to be
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; thread safe? or the kind of &amp;quot;non so common case&amp;quot; &amp;nbsp;with this multi-threaded
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; open could he handled in your code with mutexes?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Yeah, that's what I am doing right now. I added a static mutex in my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; class to protect jack unsafe functions. The problem is since I didn't know
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; what functions weren't thread safe, I didn't know where to put the mutexes.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Using mutexes in all jack functions would mean a serious performance hit, I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; think, specially in jackdmp, so I wanted to avoid that.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; they should all be thread safe because once you have a JACK client, all
&lt;br&gt;&amp;gt;&amp;gt; calls operate exclusively on your client structure, or they are calls
&lt;br&gt;&amp;gt;&amp;gt; which must inherently be MT-safe for JACK's own &amp;quot;protection&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Yeah, I meant that I didn't want to put mutexes when I call the function, I
&lt;br&gt;&amp;gt; understand that they should be MT-safe &amp;quot;inside&amp;quot;...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; problem with jack_client_open() is that unlike all other calls, there is
&lt;br&gt;&amp;gt;&amp;gt; no client structure yet, and JACK is operating on a single data
&lt;br&gt;&amp;gt;&amp;gt; structure and is not expecting thread collisions ....
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That makes total sense. Thanks for the explanation. The static mutexes
&lt;br&gt;&amp;gt; worked perfectly, now I am testing with 60 stereo clients in a thread pool,
&lt;br&gt;&amp;gt; each of them sending and receiving UDP uncompressed audio, in two 4core
&lt;br&gt;&amp;gt; machines.
&lt;/div&gt;&lt;br&gt;We should probably fix jack_client_open() to be thread-safe on its own.
&lt;br&gt;I don't recall thinking about that when I originally wrote it. &amp;nbsp;I suspect
&lt;br&gt;jack_client_new(), which is deprecated, probably has the same problem.
&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp;joq
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868089&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868089.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19868043</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:46:50Z</published>
	<updated>2008-10-07T14:46:50Z</updated>
	<author>
		<name>Juan-Pablo Caceres</name>
	</author>
	<content type="html">Hi Paul
&lt;br&gt;&lt;br&gt;Paul Davis wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, 2008-10-07 at 14:33 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Stéphane,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Stéphane Letz wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Ok, so jack_client_open/jack_client_close functions are not thread safe, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (at least some &amp;quot;first client init&amp;quot;/&amp;quot;last client destroy&amp;quot; code is not MT 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; safe) and this client renaming thing also. Not sure the situation is 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; really better in jack1, for the same kind of reasons.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; So the general question now: should the jack API be guaranted to be 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; thread safe? or the kind of &amp;quot;non so common case&amp;quot; &amp;nbsp;with this 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; multi-threaded open could he handled in your code with mutexes?
&lt;br&gt;&amp;gt;&amp;gt; Yeah, that's what I am doing right now. I added a static mutex in my 
&lt;br&gt;&amp;gt;&amp;gt; class to protect jack unsafe functions. The problem is since I didn't 
&lt;br&gt;&amp;gt;&amp;gt; know what functions weren't thread safe, I didn't know where to put the 
&lt;br&gt;&amp;gt;&amp;gt; mutexes. Using mutexes in all jack functions would mean a serious 
&lt;br&gt;&amp;gt;&amp;gt; performance hit, I think, specially in jackdmp, so I wanted to avoid that.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; they should all be thread safe because once you have a JACK client, all
&lt;br&gt;&amp;gt; calls operate exclusively on your client structure, or they are calls
&lt;br&gt;&amp;gt; which must inherently be MT-safe for JACK's own &amp;quot;protection&amp;quot;.
&lt;/div&gt;&lt;br&gt;Yeah, I meant that I didn't want to put mutexes when I call the 
&lt;br&gt;function, I understand that they should be MT-safe &amp;quot;inside&amp;quot;...
&lt;br&gt;&lt;br&gt;&amp;gt; the
&lt;br&gt;&amp;gt; problem with jack_client_open() is that unlike all other calls, there is
&lt;br&gt;&amp;gt; no client structure yet, and JACK is operating on a single data
&lt;br&gt;&amp;gt; structure and is not expecting thread collisions ....
&lt;br&gt;&lt;br&gt;That makes total sense. Thanks for the explanation. The static mutexes 
&lt;br&gt;worked perfectly, now I am testing with 60 stereo clients in a thread 
&lt;br&gt;pool, each of them sending and receiving UDP uncompressed audio, in two 
&lt;br&gt;4core machines.
&lt;br&gt;&lt;br&gt;Juan-Pablo
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19868043&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19868043.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19867888</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:37:02Z</published>
	<updated>2008-10-07T14:37:02Z</updated>
	<author>
		<name>Paul Davis</name>
	</author>
	<content type="html">On Tue, 2008-10-07 at 14:33 -0700, Juan-Pablo Caceres wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Stéphane,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Stéphane Letz wrote:
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Ok, so jack_client_open/jack_client_close functions are not thread safe, 
&lt;br&gt;&amp;gt; &amp;gt; (at least some &amp;quot;first client init&amp;quot;/&amp;quot;last client destroy&amp;quot; code is not MT 
&lt;br&gt;&amp;gt; &amp;gt; safe) and this client renaming thing also. Not sure the situation is 
&lt;br&gt;&amp;gt; &amp;gt; really better in jack1, for the same kind of reasons.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; So the general question now: should the jack API be guaranted to be 
&lt;br&gt;&amp;gt; &amp;gt; thread safe? or the kind of &amp;quot;non so common case&amp;quot; &amp;nbsp;with this 
&lt;br&gt;&amp;gt; &amp;gt; multi-threaded open could he handled in your code with mutexes?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yeah, that's what I am doing right now. I added a static mutex in my 
&lt;br&gt;&amp;gt; class to protect jack unsafe functions. The problem is since I didn't 
&lt;br&gt;&amp;gt; know what functions weren't thread safe, I didn't know where to put the 
&lt;br&gt;&amp;gt; mutexes. Using mutexes in all jack functions would mean a serious 
&lt;br&gt;&amp;gt; performance hit, I think, specially in jackdmp, so I wanted to avoid that.
&lt;/div&gt;&lt;br&gt;they should all be thread safe because once you have a JACK client, all
&lt;br&gt;calls operate exclusively on your client structure, or they are calls
&lt;br&gt;which must inherently be MT-safe for JACK's own &amp;quot;protection&amp;quot;. the
&lt;br&gt;problem with jack_client_open() is that unlike all other calls, there is
&lt;br&gt;no client structure yet, and JACK is operating on a single data
&lt;br&gt;structure and is not expecting thread collisions ....
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19867888&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19867888.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19867799</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:33:21Z</published>
	<updated>2008-10-07T14:33:21Z</updated>
	<author>
		<name>Juan-Pablo Caceres</name>
	</author>
	<content type="html">Hi Stéphane,
&lt;br&gt;&lt;br&gt;Stéphane Letz wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ok, so jack_client_open/jack_client_close functions are not thread safe, 
&lt;br&gt;&amp;gt; (at least some &amp;quot;first client init&amp;quot;/&amp;quot;last client destroy&amp;quot; code is not MT 
&lt;br&gt;&amp;gt; safe) and this client renaming thing also. Not sure the situation is 
&lt;br&gt;&amp;gt; really better in jack1, for the same kind of reasons.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So the general question now: should the jack API be guaranted to be 
&lt;br&gt;&amp;gt; thread safe? or the kind of &amp;quot;non so common case&amp;quot; &amp;nbsp;with this 
&lt;br&gt;&amp;gt; multi-threaded open could he handled in your code with mutexes?
&lt;br&gt;&lt;br&gt;Yeah, that's what I am doing right now. I added a static mutex in my 
&lt;br&gt;class to protect jack unsafe functions. The problem is since I didn't 
&lt;br&gt;know what functions weren't thread safe, I didn't know where to put the 
&lt;br&gt;mutexes. Using mutexes in all jack functions would mean a serious 
&lt;br&gt;performance hit, I think, specially in jackdmp, so I wanted to avoid that.
&lt;br&gt;&lt;br&gt;Answering your general question, I know that what I am doing is not 
&lt;br&gt;common, but that's why we are here, to push the boundaries right ;)? I 
&lt;br&gt;was just about to get rid of jack in the server and write my own 
&lt;br&gt;scheduler instead, but I would much prefer to use Jack, and now it seems 
&lt;br&gt;to be working. I think in the future more a more people will do this 
&lt;br&gt;multi-threaded stuff, as you guys have been doing in Grame for many 
&lt;br&gt;years now.
&lt;br&gt;&lt;br&gt;If at least the documentation would list the functions that are not 
&lt;br&gt;thread safe, adding static mutexes is actually really simple though.
&lt;br&gt;&lt;br&gt;Thought?
&lt;br&gt;Thanks again!
&lt;br&gt;Juan-Pablo
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19867799&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19867799.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19867201</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T14:01:35Z</published>
	<updated>2008-10-07T14:01:35Z</updated>
	<author>
		<name>Stéphane Letz</name>
	</author>
	<content type="html">&lt;br&gt;Le 7 oct. 08 à 22:27, Juan-Pablo Caceres a écrit :
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Stéphane Letz wrote:
&lt;br&gt;&amp;gt;&amp;gt; Le 6 oct. 08 à 23:38, Juan-Pablo Caceres a écrit :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi Paul,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thanks for your answer. To illustrate the problem, I am putting &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the following code in a thread:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; // 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==================================================================== 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;jack_client_t* mClient;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;const char* client_name = &amp;quot;JackThread&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;const char* server_name = NULL;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;jack_options_t options = JackNoStartServer;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;jack_status_t status;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;mClient = jack_client_open (client_name, options, &amp;status, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; server_name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;if (mClient == NULL) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;jack_client_open() failed, &amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;status = 0x%2.0x\n&amp;quot;, status);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (status &amp; JackServerFailed) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;Unable to connect to JACK server\n&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::exit(1);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;if (status &amp; JackServerStarted) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;JACK server started\n&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;if (status &amp; JackNameNotUnique) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;client_name = jack_get_client_name(mClient);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;unique name `%s' assigned\n&amp;quot;, client_name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; // 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==================================================================== 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Now, if I execute it once, everything works fine, however, if I &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; instantiate several worker threads with that code, I get the error:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ----
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Cannot open JackThread client
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; jack_client_open() failed, status = 0x21
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Cannot open JackThread client
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ----
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Now, if I just sleep for a second before starting the next worker &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; thread, everything works fine.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Any ideas why this is happening?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thanks again,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Juan-Pablo
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Please start jack server in verbose mode (-v) and send the log on &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; server and client side.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Verbose output follows:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; CLIENT:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jack: JackClient::SetupDriverSync driver sem in flush mode
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Ok, so jack_client_open/jack_client_close functions are not thread &amp;nbsp;
&lt;br&gt;safe, (at least some &amp;quot;first client init&amp;quot;/&amp;quot;last client destroy&amp;quot; code &amp;nbsp;
&lt;br&gt;is not MT safe) and this client renaming thing also. Not sure the &amp;nbsp;
&lt;br&gt;situation is really better in jack1, for the same kind of reasons.
&lt;br&gt;&lt;br&gt;So the general question now: should the jack API be guaranted to be &amp;nbsp;
&lt;br&gt;thread safe? or the kind of &amp;quot;non so common case&amp;quot; &amp;nbsp;with this multi- 
&lt;br&gt;threaded open could he handled in your code with mutexes?
&lt;br&gt;&lt;br&gt;Stephane
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19867201&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19867201.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19866560</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T13:29:37Z</published>
	<updated>2008-10-07T13:29:37Z</updated>
	<author>
		<name>Juan-Pablo Caceres</name>
	</author>
	<content type="html">Stéphane Letz wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Le 6 oct. 08 à 23:38, Juan-Pablo Caceres a écrit :
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Hi Paul,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks for your answer. To illustrate the problem, I am putting the 
&lt;br&gt;&amp;gt;&amp;gt; following code in a thread:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; //======================================================================
&lt;br&gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;jack_client_t* mClient;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;const char* client_name = &amp;quot;JackThread&amp;quot;;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;const char* server_name = NULL;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;jack_options_t options = JackNoStartServer;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;jack_status_t status;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;mClient = jack_client_open (client_name, options, &amp;status, server_name);
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;if (mClient == NULL) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;jack_client_open() failed, &amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;status = 0x%2.0x\n&amp;quot;, status);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (status &amp; JackServerFailed) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;Unable to connect to JACK server\n&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::exit(1);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;if (status &amp; JackServerStarted) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;JACK server started\n&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;if (status &amp; JackNameNotUnique) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;client_name = jack_get_client_name(mClient);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;unique name `%s' assigned\n&amp;quot;, client_name);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt; }
&lt;br&gt;&amp;gt;&amp;gt; //======================================================================
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Now, if I execute it once, everything works fine, however, if I 
&lt;br&gt;&amp;gt;&amp;gt; instantiate several worker threads with that code, I get the error:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ----
&lt;br&gt;&amp;gt;&amp;gt; Cannot open JackThread client
&lt;br&gt;&amp;gt;&amp;gt; jack_client_open() failed, status = 0x21
&lt;br&gt;&amp;gt;&amp;gt; Cannot open JackThread client
&lt;br&gt;&amp;gt;&amp;gt; ----
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Now, if I just sleep for a second before starting the next worker 
&lt;br&gt;&amp;gt;&amp;gt; thread, everything works fine.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Any ideas why this is happening?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks again,
&lt;br&gt;&amp;gt;&amp;gt; Juan-Pablo
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Please start jack server in verbose mode (-v) and send the log on server 
&lt;br&gt;&amp;gt; and client side.
&lt;/div&gt;&lt;br&gt;Verbose output follows:
&lt;br&gt;&lt;br&gt;CLIENT:
&lt;br&gt;&lt;br&gt;Jack: JackClient::SetupDriverSync driver sem in flush mode
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;Cannot open JackThread client
&lt;br&gt;Jack: JackSocketClientChannel::Stop
&lt;br&gt;Jack: JackPosixThread::Kill
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::~JackLibClient
&lt;br&gt;jack_client_open() failed, status = 0x21
&lt;br&gt;Jack: JackClientSocket::Close
&lt;br&gt;Jack: JackLibClient::JackLibClient table = 81a2518
&lt;br&gt;Jack: JackLibClient::Open JackThread
&lt;br&gt;Jack: JackSocketClientChannel::Open name = JackThread
&lt;br&gt;Jack: Connect: addr.sun_path /dev/shm/jack_default_0
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;SERVER:
&lt;br&gt;&lt;br&gt;Previous message bounced, because it was too long, it's waiting for 
&lt;br&gt;moderator...
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19866560&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19866560.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19864235</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T11:19:42Z</published>
	<updated>2008-10-07T11:19:42Z</updated>
	<author>
		<name>Juan-Pablo Caceres</name>
	</author>
	<content type="html">Paul Davis wrote:
&lt;br&gt;&amp;gt; On Mon, 2008-10-06 at 14:38 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Paul,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks for your answer. To illustrate the problem, I am putting the 
&lt;br&gt;&amp;gt;&amp;gt; following code in a thread:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What version of JACK?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;I am using these packets, at CCRMA:
&lt;br&gt;jack-audio-connection-kit-devel-1.90-0.svn2957.1.fc9.ccrma.i386
&lt;br&gt;jack-audio-connection-kit-1.90-0.svn2957.1.fc9.ccrma.i386
&lt;br&gt;&lt;br&gt;It should be the jackdmp version,
&lt;br&gt;&lt;br&gt;Juan-Pablo
&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19864235&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19864235.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19860814</id>
	<title>Re: periodic drop-outs on asus EeePC 900</title>
	<published>2008-10-07T08:30:43Z</published>
	<updated>2008-10-07T08:30:43Z</updated>
	<author>
		<name>Paul Davis</name>
	</author>
	<content type="html">On Tue, 2008-10-07 at 17:27 +0200, Jonatan Liljedahl wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jack O'Quin wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Tue, Oct 7, 2008 at 10:38 AM, Jamie McLaughlin 
&lt;br&gt;&amp;gt; &amp;gt; &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19860814&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;j.mclaughlin@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Hmm. This is a really interesting problem. Can I ask which distro
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; you're using? Is it the default one which came on the Eee?
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Also, are you running jackd in realtime (-R) mode?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes. And as I said I've tried raising the realtime priority from the
&lt;br&gt;&amp;gt; default. I've checked with ps -ceLf that it actually runs in realtime
&lt;br&gt;&amp;gt; (FF). I've tried different settings for frames/period and
&lt;br&gt;&amp;gt; periods/buffer. The dropouts are happening in a regular interval, one at
&lt;br&gt;&amp;gt; a time.
&lt;/div&gt;&lt;br&gt;you may need a custom kernel to debug this. there are kernel options
&lt;br&gt;allowing debugging of latency issues.
&lt;br&gt;&lt;br&gt;--p
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19860814&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/periodic-drop-outs-on-asus-EeePC-900-tp19859540p19860814.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19860726</id>
	<title>Re: periodic drop-outs on asus EeePC 900</title>
	<published>2008-10-07T08:27:53Z</published>
	<updated>2008-10-07T08:27:53Z</updated>
	<author>
		<name>Jonatan Liljedahl</name>
	</author>
	<content type="html">Jack O'Quin wrote:
&lt;br&gt;&amp;gt; On Tue, Oct 7, 2008 at 10:38 AM, Jamie McLaughlin 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19860726&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;j.mclaughlin@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hmm. This is a really interesting problem. Can I ask which distro
&lt;br&gt;&amp;gt;&amp;gt; you're using? Is it the default one which came on the Eee?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Also, are you running jackd in realtime (-R) mode?
&lt;br&gt;&lt;br&gt;Yes. And as I said I've tried raising the realtime priority from the
&lt;br&gt;default. I've checked with ps -ceLf that it actually runs in realtime
&lt;br&gt;(FF). I've tried different settings for frames/period and
&lt;br&gt;periods/buffer. The dropouts are happening in a regular interval, one at
&lt;br&gt;a time.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;/Jonatan &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;http://kymatica.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://kymatica.com&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19860726&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/periodic-drop-outs-on-asus-EeePC-900-tp19859540p19860726.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19860591</id>
	<title>Re: periodic drop-outs on asus EeePC 900</title>
	<published>2008-10-07T08:21:55Z</published>
	<updated>2008-10-07T08:21:55Z</updated>
	<author>
		<name>Jonatan Liljedahl</name>
	</author>
	<content type="html">Jamie McLaughlin wrote:
&lt;br&gt;&amp;gt; Hmm. This is a really interesting problem. Can I ask which distro you're
&lt;br&gt;&amp;gt; using? Is it the default one which came on the Eee?
&lt;br&gt;&lt;br&gt;No, it's a custom one based on GoboLinux.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;/Jonatan &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;http://kymatica.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://kymatica.com&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19860591&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/periodic-drop-outs-on-asus-EeePC-900-tp19859540p19860591.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19859733</id>
	<title>Re: periodic drop-outs on asus EeePC 900</title>
	<published>2008-10-07T07:42:27Z</published>
	<updated>2008-10-07T07:42:27Z</updated>
	<author>
		<name>Jack O'Quin</name>
	</author>
	<content type="html">On Tue, Oct 7, 2008 at 10:38 AM, Jamie McLaughlin
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19859733&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;j.mclaughlin@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Hmm. This is a really interesting problem. Can I ask which distro you're
&lt;br&gt;&amp;gt; using? Is it the default one which came on the Eee?
&lt;br&gt;&lt;br&gt;Also, are you running jackd in realtime (-R) mode?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;nbsp;joq
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19859733&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/periodic-drop-outs-on-asus-EeePC-900-tp19859540p19859733.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19859673</id>
	<title>Re: periodic drop-outs on asus EeePC 900</title>
	<published>2008-10-07T07:39:45Z</published>
	<updated>2008-10-07T07:39:45Z</updated>
	<author>
		<name>creepytennis</name>
	</author>
	<content type="html">Hmm. This is a really interesting problem. Can I ask which distro you're 
&lt;br&gt;using? Is it the default one which came on the Eee?
&lt;br&gt;&lt;br&gt;Jamie
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;&lt;br&gt;Jonatan Liljedahl wrote:
&lt;br&gt;&amp;gt; I'm having trouble running jack (0.109.2) on my EeePC, I get periodic
&lt;br&gt;&amp;gt; dropouts, once every 10 seconds or so. It affects both audio and midi.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's happening both with the internal soundcard (snd-hda-intel) and an
&lt;br&gt;&amp;gt; external (usb audio). It happens even when only Jack and QJackctl is
&lt;br&gt;&amp;gt; running, no other clients. It's running in realtime mode. I've tried
&lt;br&gt;&amp;gt; raising the realtime priority but it doesn't help.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any ideas?
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19859673&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/periodic-drop-outs-on-asus-EeePC-900-tp19859540p19859673.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19859540</id>
	<title>periodic drop-outs on asus EeePC 900</title>
	<published>2008-10-07T07:32:49Z</published>
	<updated>2008-10-07T07:32:49Z</updated>
	<author>
		<name>Jonatan Liljedahl</name>
	</author>
	<content type="html">I'm having trouble running jack (0.109.2) on my EeePC, I get periodic
&lt;br&gt;dropouts, once every 10 seconds or so. It affects both audio and midi.
&lt;br&gt;&lt;br&gt;It's happening both with the internal soundcard (snd-hda-intel) and an
&lt;br&gt;external (usb audio). It happens even when only Jack and QJackctl is
&lt;br&gt;running, no other clients. It's running in realtime mode. I've tried
&lt;br&gt;raising the realtime priority but it doesn't help.
&lt;br&gt;&lt;br&gt;Any ideas?
&lt;br&gt;-- 
&lt;br&gt;/Jonatan &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;http://kymatica.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://kymatica.com&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19859540&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/periodic-drop-outs-on-asus-EeePC-900-tp19859540p19859540.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19852865</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T00:40:16Z</published>
	<updated>2008-10-07T00:40:16Z</updated>
	<author>
		<name>Stéphane Letz</name>
	</author>
	<content type="html">&lt;br&gt;Le 6 oct. 08 à 23:38, Juan-Pablo Caceres a écrit :
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Paul,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks for your answer. To illustrate the problem, I am putting the &amp;nbsp;
&lt;br&gt;&amp;gt; following code in a thread:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; // 
&lt;br&gt;&amp;gt; ======================================================================
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt; &amp;nbsp;jack_client_t* mClient;
&lt;br&gt;&amp;gt; &amp;nbsp;const char* client_name = &amp;quot;JackThread&amp;quot;;
&lt;br&gt;&amp;gt; &amp;nbsp;const char* server_name = NULL;
&lt;br&gt;&amp;gt; &amp;nbsp;jack_options_t options = JackNoStartServer;
&lt;br&gt;&amp;gt; &amp;nbsp;jack_status_t status;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;mClient = jack_client_open (client_name, options, &amp;status, &amp;nbsp;
&lt;br&gt;&amp;gt; server_name);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;if (mClient == NULL) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;jack_client_open() failed, &amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;quot;status = 0x%2.0x\n&amp;quot;, status);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;if (status &amp; JackServerFailed) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;Unable to connect to JACK server\n&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;std::exit(1);
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;if (status &amp; JackServerStarted) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;JACK server started\n&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;if (status &amp; JackNameNotUnique) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;client_name = jack_get_client_name(mClient);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;unique name `%s' assigned\n&amp;quot;, client_name);
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; // 
&lt;br&gt;&amp;gt; ======================================================================
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now, if I execute it once, everything works fine, however, if I &amp;nbsp;
&lt;br&gt;&amp;gt; instantiate several worker threads with that code, I get the error:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ----
&lt;br&gt;&amp;gt; Cannot open JackThread client
&lt;br&gt;&amp;gt; jack_client_open() failed, status = 0x21
&lt;br&gt;&amp;gt; Cannot open JackThread client
&lt;br&gt;&amp;gt; ----
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Now, if I just sleep for a second before starting the next worker &amp;nbsp;
&lt;br&gt;&amp;gt; thread, everything works fine.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any ideas why this is happening?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks again,
&lt;br&gt;&amp;gt; Juan-Pablo
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Please start jack server in verbose mode (-v) and send the log on &amp;nbsp;
&lt;br&gt;server and client side.
&lt;br&gt;&lt;br&gt;Stephane 
&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19852865&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19852865.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19852663</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-07T00:31:40Z</published>
	<updated>2008-10-07T00:31:40Z</updated>
	<author>
		<name>Paul Davis</name>
	</author>
	<content type="html">On Mon, 2008-10-06 at 14:38 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt; Hi Paul,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks for your answer. To illustrate the problem, I am putting the 
&lt;br&gt;&amp;gt; following code in a thread:
&lt;br&gt;&lt;br&gt;What version of JACK?
&lt;br&gt;&lt;br&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19852663&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19852663.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19846938</id>
	<title>Re: jack functions thread safety</title>
	<published>2008-10-06T14:38:31Z</published>
	<updated>2008-10-06T14:38:31Z</updated>
	<author>
		<name>Juan-Pablo Caceres</name>
	</author>
	<content type="html">Hi Paul,
&lt;br&gt;&lt;br&gt;Thanks for your answer. To illustrate the problem, I am putting the 
&lt;br&gt;following code in a thread:
&lt;br&gt;&lt;br&gt;//======================================================================
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp;jack_client_t* mClient;
&lt;br&gt;&amp;nbsp; &amp;nbsp;const char* client_name = &amp;quot;JackThread&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp;const char* server_name = NULL;
&lt;br&gt;&amp;nbsp; &amp;nbsp;jack_options_t options = JackNoStartServer;
&lt;br&gt;&amp;nbsp; &amp;nbsp;jack_status_t status;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;mClient = jack_client_open (client_name, options, &amp;status, server_name);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (mClient == NULL) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;jack_client_open() failed, &amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	 &amp;nbsp; &amp;nbsp; &amp;quot;status = 0x%2.0x\n&amp;quot;, status);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (status &amp; JackServerFailed) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;Unable to connect to JACK server\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;std::exit(1);
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (status &amp; JackServerStarted) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;JACK server started\n&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;if (status &amp; JackNameNotUnique) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;client_name = jack_get_client_name(mClient);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;fprintf (stderr, &amp;quot;unique name `%s' assigned\n&amp;quot;, client_name);
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;//======================================================================
&lt;br&gt;&lt;br&gt;Now, if I execute it once, everything works fine, however, if I 
&lt;br&gt;instantiate several worker threads with that code, I get the error:
&lt;br&gt;&lt;br&gt;----
&lt;br&gt;Cannot open JackThread client
&lt;br&gt;jack_client_open() failed, status = 0x21
&lt;br&gt;Cannot open JackThread client
&lt;br&gt;----
&lt;br&gt;&lt;br&gt;Now, if I just sleep for a second before starting the next worker 
&lt;br&gt;thread, everything works fine.
&lt;br&gt;&lt;br&gt;Any ideas why this is happening?
&lt;br&gt;&lt;br&gt;Thanks again,
&lt;br&gt;Juan-Pablo
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Paul Davis wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Mon, 2008-10-06 at 14:10 -0700, Juan-Pablo Caceres wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hello all,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; As far as I understand, &amp;lt;jack/jack.h&amp;gt; functions are not thread safe, 
&lt;br&gt;&amp;gt;&amp;gt; i.e., calling jack_client_open (etc...) functions causes race 
&lt;br&gt;&amp;gt;&amp;gt; conditions, and error when trying to register two clients at the same 
&lt;br&gt;&amp;gt;&amp;gt; time, for instance.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; either all or almost all JACK API functions should be thread safe. there
&lt;br&gt;&amp;gt; is no global data. if there is, it needs fixing.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; why do you believe jack_client_open() to be non-thread-safe? 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;_______________________________________________
&lt;br&gt;Jack-Devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19846938&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Jack-Devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org&lt;/a&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://www.nabble.com/Jackit-f499.html&quot; embed=&quot;fixTarget[499]&quot; target=&quot;_top&quot; &gt;Jackit&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/jack-functions-thread-safety-tp19846520p19846938.html" />
</entry>

</feed>
