On 05/28/2009 08:02 AM, Lee Revell wrote:
On Wed, May 27, 2009 at 5:28 PM, Patrick Shirkey
pshirkey@... wrote:
Basically I'm thinking of adding a couple of calls to remove the existing
pulse sink/source modules and insert jack sink/source modules when started
and vice versa if jack is stopped.
It would mean anyone wanting to keep pulseaudio alive and streaming while
jack is running wouldn't have to jump through hoops, run shell scripts or
setup any pa config files.
Just out of curiosity, what's the use case you had in mind? I would
not expect that many JACK users want to hear system sounds once they
fire up JACK.
IMO anyone who runs pulse and jack at the same time wants to hear
system sounds through master i/o or at least a default jack-pulse i/o.
If they don't then they can: mute the pulse stream, disable the system
sounds, run with out pulse support or kill pulse completely. Anyone who
doesn't want pulse support will have a good reason for that and already
has many options to get the job done.
However for the larger majority of normal desktop users who want to
have a seamlessly functioning audio system that doesn't make them jump
through hoops to for example use a jack'ed app and still receive skype
phone calls and email notifications then the current situation is a
complete mess.
I would certainly hope this auto-patching would be disabled by default.
I actually think we should enable it by default as "normal" user should
not be expected to enable pulse to have seamless integration but my
main concern is that jack can handle signalling to PA to auto
disconnect existing sink/source and reconnect to jack sink/source and
vice versa. The api calls are available and the dbus system already
accomplishes half of the functionality so I believe it should be a
relatively trivial step to implement the rest.
ex.
if(pulse flag is set && pulse is running)
{
pasuspend
pactl disconnect existing sink/source
pactl connect jack sink/source
}
If (jack is closing && pulse flag is set)
{
pactl disconnect jack sink/source
pactl connect default pulse sink/source
paunsuspend
}
Please note that Lennart has now said that pulseaudio api calls will
eventually be discarded in favor of dbus control so I guess that
implementing them directly to jack will cause breakage at some point.
Another option I have suggested is a "pajackcontrol" applet that could
be compiled with pulseaudio and provide a simple api for jack to access
directly to be called by jack at startup. I prefer for core jack not to
be tied to dbus when the existing api calls already work but Lennart
prefers to use dbus instead.
I assume that means he will also implement dbus support into the
existing control applets in the future.
Cheers.
Patrick Shirkey
Boost Hardware Ltd
_______________________________________________
Jack-Devel mailing list
Jack-Devel@...
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org