Re: [pulseaudio-discuss] pulse gui

2007-11-19 Thread Lennart Poettering
On Thu, 15.11.07 10:41, Esteban Salazar ([EMAIL PROTECTED]) wrote:

 So I watched the video.   I guess what I find confusing is this notion of
 Moving streams.  I think a lot could be resolved instead by getting rid of
 the notion of moving streams and instead conceptually have streams exist
 always and independent (similar to now) but instead of moving streams you
 just specify which outputs they are conneced to.

I am not sure if that's true. Having such a patchbay might make sense
for pro audio stuff. But for normal users the most common case is
output on all devices simultaneously, and alternatively output on only
one device at a time, I would say.

If people really want more complicated setups they are welcome to edit
the PA configuration files to add arbitrarily configured
module-combine sinks.

Hiding/reconfiguring the virtual combine sink would come either
at the cost of additional latency or at making the code of PA more
exceptionally more difficult. Why? because evening out the different
quartzes of the devices is done in a seperate thread -- this comes at
the cost of an additional context switch and some buffering. Which
makes it diserable to not do it if we only output on a single
device. However, switching between these modes constantly and without
interruptions in playback is very hard, makes the core of PA very
complex and the latencies very unreliable.

But yes, I agree to have this would be nice. However, I doubt that
there is a good real-life use case for this that would justify the
cost of doing things like this.

 So, if I want to direct a stream to my three outputs (o1,o2,o3), I can just
 specify in the gui by checking those three boxes.  This really simplifies
 things because some of the more confusing concepts in pulse just go away.
 For example, you don't need virtual devices anymore (you might keep them
 around as a convenient shorthand for saying hook up these a,b,c devices to
 this stream but you don't need them anymore and only advanced users would
 care about the shortcut).  

Uh? On one hand you say it is confusing and then you call it
convenience? 

The use case I have is that someone wants to switch playback from his
internal laptop speakers to his usb headset, and such like. If we'd
implement what you suggest then the user would first have to enable
output on the target device and then disable output on the internal
speakers. Two clicks instead of just one. Also, if we'd do what you
suggest then the user might end up with having a stream that is not
connected to any output. Something which is *really* confusing I would
say.

In short: I think that *moving* streams between devices is what the
user wants. Not *copying* them.

 Also the confusion with multicast streams and looping back to
 speakers goes away.  You just treat multicast output as another
 output device and if you also want audio to come out of your local
 speakers, you just also leave your local speakers checked.

Uh, that's not quite the same.

Also, multicast streams are very exotic things. The normal user
shouldn't think about them, and see them ever. And for those who like
to play with it it is fine to open paprefs and click on a few
checkboxes.

I see ne value in making multicast streams even more easy to
use. They are already ridiculuously easy to enable. It probably takes
more time to understand what Multicasting actually is then to enable
them.

 I think the current gui actually has a bug because you are using
 check boxes instead of radio boxes for moving streams but in the
 change I'm talking about, that would actually be what you want
 except that you could check multiple boxes at once.

Yes, this bug has been reported before. This will be fixed in the next
release of pavucontrol. Here's the commit:

http://svn.0pointer.de/viewvc/trunk/src/pavucontrol.cc?root=pavucontrolr1=62r2=67

 My idea in the image I send was just in recognition of that fact that many
 gui apps are associated with a single stream so it makes sense to also
 expose this exact dialog in the window menu so you can direct the output of
 that app direct from the app instead of having to open and extra pulse
 dialogs.

Yes, I acknowledge this part. And I plan to implement something like
this as mentioned. However, I will do it with *moving* streams, not
*copying* them.

 Having things associated with the window manager is also cool because just
 like remembering window locations and dimensions when a program is launched,
 the window manager (or whatever) could remember audio settings from previous
 launches so you wouldn't really have to ever set this stuff up except when
 you wanted to change it which for most streams you never would.  For
 example, once I specify that I want all my desktop sounds only to go to the
 local speakers, I'm never going to change that, same thing with directing my
 audio player outputs to my living room stereo.

PA already remembers the device and volume of all applications and
restores them when they 

Re: [pulseaudio-discuss] pulse gui

2007-11-16 Thread Lennart Poettering
On Wed, 14.11.07 22:19, Esteban Salazar ([EMAIL PROTECTED]) wrote:

 Hi, I have been trying to get pulse audio working on gutsy and have had some
 trouble, mainly I think because I'm confused by the gui.
 
 What about something like the attached image?  Instead of having to go to a
 stream mixing dialog you can just right click on the apps and reroute audio
 right there.  The menu options could even appear and disappear depending on
 if their are any input or output streams.

In fact something like this has been on my TODO list. For that to work
we however need to attach more meta information to each stream (like
X11 window id, or PID), which is on my TODO list however.

 Then the preferences could be just:
 
 Server Name [ ]
 Allow other computers to browse? [x]
 Require Password? [x]
Set Password []
 Default output device [ ]
 Default input device [ ]

Have you seen the paprefs 0.9.6? It makes configuration of remote
audio devices exceptionally easy if you have zeroconf: click on one
checkbox and open the local devices for the network. Click on a second
one to make all devices that are available on the LAN available
locally. i.e. you don't even have to specify a server name or
suchlike. However right now there is no way to to configure passwords
or something like that. I am not happy with the state of the whole
authentication business in PA right now. But when I rework this I will
probably move to something like TLS, which however is a non-trivial
amount of work. And I am probably not going for passwords. 

paprefs 0.9.6 and zeroconf is demoed here:

 http://0pointer.de/blog/projects/pa-097.html

 For authentication when trying to play to a remote device, just prompt the
 user when they try and check the output box

This is more problematic than it might sound at first. I am not sure
how to best implment the whole auth stuff. but see above.

Lennart

-- 
Lennart PoetteringRed Hat, Inc.
lennart [at] poettering [dot] net ICQ# 11060553
http://0pointer.net/lennart/   GnuPG 0x1A015CC4
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss