Microphone Czech One Two
What is this? Well, I'm off to Prague tomorrow morning. I'm very much looking forward to this trip as there are a whole bunch of interesting talks going on over the three conferences I'll be visiting, plus I get to go to Prague, which has been on my "cities to visit" list for quite some time. Tick and tick.
Arun will be giving a PulseAudio talk and Lennart will be rambling on about init systems as is customary these days. Very much looking forward to both.
We've also had an IRC meeting about bluetooth support and policy stuff for in-car usage with some big car manufacturers which we'll follow up next week in person and there are also a lot of other audio folk in town so we'll hopefully kickstart the UCM discussions again with a view to merging into PA 2.0. Looking forward to catch up with Mark and Liam again on that front.
So with pretty much all the people invloved in the Linux audio field, this is a really good opportunity to make some good progress!
Here's to a successful trip!
Many thanks to Collabora who have helped me organise funding and also to Yocto Project (via Texas Instruments) who have very kindly sponsored my attendance of the LinuxCon/ELC-E part of the event. I look forward to finding out more about their project when I help out at their booth!
One and One Makes Two…. or 1.1
Just a quick note to say that I've just pushed PulseAudio 1.1 out the door. Get it while it's hot!
This release fixes a couple issues people had with our two-point version number change and several other bits and bobs.
On it's way to Mageia Cauldron now and I should get around to backporting this sometime very soon for mga1 now that backports are open
One Point Oh!
It is with great pride that I announce PulseAudio 1.0!
It's been a long time coming and I'm very glad this is finally out of the door and I look forward to a much more streamlined release process in the future.
There are too many people to thank but in particular I'd like to thank Arun Raghavan, Tanu Kaskinen, David Henningsson, Maarten Bosmans, Daniel Mack, Jason Newton, Jyri Sarha, Lu Guanqun, Luiz Augusto von Dentz, Marc-André Lureau, Pierre-Louis Bossart, Siarhei Siamashka and of course Lennart Poettering.
There is more info over on the announce mail, so give it a read and also see our release notes.
Obviously there is still a huge amount to be done, both in the daemon itself, improving documentation and improving integration into the desktop environment itself. Any help is gratefully received!
So stay tuned for future improvements! And speaking of staying tuned, I'd also like to announce Planet PulseAudio. This is an aggregated feed of posts about PulseAudio. If you have a blog and write about PA, please get in touch and we can add your feed. The design is heavily borrowed from Planet GNOME so it should be familiar for some readers.
Packages are already available for Mageia Cauldron and backports for Mageia 1 will be available sometime soon. Hopefully someone will update the packages in Mandriva as I'm not actively doing stuff over there these days.
Happy listening!
PS I'm sure there will be a brown bag moment to come with a 1.0 release, but fingers crossed.... :p
Thunderavian: Renaming Thunderbird Newsgroups
Like a lot of open source developers in the KDE and GNOME communities, I use Thunderbird as my primary email client (I generally sit on the fence between KDE and GNOME anyway so not using KMail or Evolution is in fitting with that!). I have a few other clients for accessing my mail (e.g. Roundcube and on various phones and tablets via IMAP too). But when I use Thunderbird, I also use the awesome Gmane service. This free service allows you to access many of the mailing lists of the Open Source community via an NNTP interface (which Thunderbird supports well). Rather than clogging up your mail server with subscriptions to lots of messages of numerous projects (even if something like GMail would do a good job of organising this), using NNTP gives you control over when to "pull" the messages in. In most cases you can even post to the mailing list via Gmane too without having to subscribe to the list (you just have to go through a one time verification process).
Sadly one things that has always bugged me: the fact I cannot rename the newsgroups to suit my taste. I already use the Extra Folder Columns addon that lets me see additional columns in the folder listings so I had a little go at tweaking it to allow me to assign nicer names for the numerous newsgroups (well mailing lists) I follow. It turned out not to be too hard (tho' it took me a while due to not knowing anything about modding Mozilla apps!).
The result:
My patch can be found here. I'll be submitting it upstream to the guys who developed the addon and they'll hopefully incorporate it (even if it does not fit in perfectly with the name of the addon, it wouldn't really be possible to do this separately without tweaking the existing addon in some capacity).
Network Boot Mageia: PXE + NFS Root goodness
So a while back I wrote about setting up Mandriva for network boot and I'm still running a similar configuration albeit upgraded every six months or so as new Mandriva releases come out.
Well as I'm now mostly running Mageia, I decided it was worth posting a follow up article. Read on if you're interested in the nitty gritty of how such a system works.
Randa, round baby right round
OK, so it's been about a year since I was last in this sleeply little town on the path to Zermatt and a lot has changed.
While last year it felt like I was the lone voice singing the praises of PulseAudio (although there were a few supporters!), but this year it feels like everything has gone 180° with pretty much everyone on board! This is a great result for me personally as I've been pretty much the only person working on KDE+PulseAudio integration, so I was very pleased to get this feedback. It's good to know that the hard work and effort you put in is appreciated. It's all too often that the people who appreciate your work are the silent majority (if you do a really good job, they don't know you've done anything as things Just Work™), while the vocal minority are quick to shout and judge and generally flame.
So I was off to an lovely start and I got down to hacking. What did I do this year? Well I continued some work on the interface I made last year called "Speaker Setup". I realised just a short while ago that there was no interface in KDE to be able to change the Source Ports (i.e. pick Mic vs. Line In on your laptop) so I set about extending speaker setup to cope with this. I added a Mic VU meter for good measure (mainly to use up the space with something vaguely useful!). I would ultimately like to do more with this UI but this would need more changes in PulseAudio itself (come listen to my talk in Berlin at the Desktop Summit if you want to know more about this!).
As well as this, I did some tweaks in Phonon to tidy some things up. Various bits and bobs within Phonon and the KCM had bit rotted a little, so minor tweaking saw that all brought up to speed.
I also spent some time hacking on PulseAudio itself, improving some earlier work related to adding Source Output volume controls to PA to take on peer review comments (for those of you unaware, this is capture stream volume control - PA has long supported "per-application" volume control but this only actually applied to outputs. It's not really very common for users to record multiple streams at the same time so support for per-capture stream volumes was never introduced. Now that PA supports Flat Volumes (a feature that always tries to use the hardware volume whenever possible to get the most efficient volume adjustment path), it makes sense to use this for inputs too. It also establishes a degree of symmetry to the API which has always felt a little weird in the past - especially if you are developing a VoIP app (the guys from Skype were a little confused about this disparity for example)). I also spent some time making some minor improvements to pavucontol (shh, don't tell the KDE guys but this is a GTK app!) as this is still my main debug tool when hacking on PA (I mainly improved it to deal more gracefully with errors - like when PA itself crashes and leaves behind the X11 root window's PULSE_SERVER property which results in an invalid argument error from the context with the result that the automatic reconnect mode doesn't work! - but also added some simple keyboard shortcuts that I generally miss when switching windows quickly). I also added support for Source Output volumes to KMix, but this will stay in my private branch until I've committed the PA code as the version check will currently match git master code even if it doesn't yet have the support needed!
I also started to look at Arun and Pierre's awesome work to support passthrough. As there is no reliable way to query receivers for the encodings they support (AC3, DTS etc.) we have to provide a way for users to specify this manually. I worked to rejig how PA stores various bits of information in internal databases to allow for arbitrary lengths of data to be stored rather than the fixed size blobs supported currently. This will pave the way to adding a protocol extension to set the formats for which support will have to be added to the Speaker Setup GUI somehow...
In addition, I also looked at VLC's PulseAudio output layer. I've known for a while that it's kind of lacking and Rémi from upstream VLC has become rather exasperated about the lack of good documentation we provide. I fully appreciate our docs are lacking (some mails on our mailing list today highlight that internal docs for module development are also severely lacking), but I was able to use what was out there to add what I think is quite robust support to VLC. As VLC is used as a Phonon backend by some distros, I felt this was an important task to work on during this KDE sprint.
All in all it was a pleasure to stay here again and meet some now familiar as well as some new people (especially Bart and Trever who are big PA fans!) I look forward to seeing several of them again in Berlin and hopefully next year here in Randa too!
(Version) One for the Road (to Randa)
Good news everyone! Mageia 1 is out!!!! Just as I travel to Randa for the KDE Multimedia Development Sprint, I hear that all the hard work put in by the various contributors (in all their forms: packagers, admins, translators, testers and artists) has come to fruition! Go read the official announcement and release notes and then download it!
I've not had nearly as much time to contribute as much as I would have liked to this release, due to various personal, work and upstream project commitments, but I know my good friends and colleagues have done a stellar job (and I've helped out when I can).
I should say that this shouldn't be expected as a ground breaking release. We're not using Gnome 3 or Systemd yet (both will most likely come in Mageia 2) as this release more signifies the establishing of all the various infrastructure needed to create a distro (build cluster, community management, mirror management etc.) especially the proper cleaning and rebuilding of all of the Mandriva packages thought to be essential or vaguely useful. This was a momentous task and one that I think has been achieved in good time.
Onwards and upwards! (to 2!)
Desktop Summit
This is just a quick reminder that the Call for Papers for the Desktop Summit ends on Friday. So get your thinking caps on and write some abstracts! I've submitted my own proposal which would discuss the UI layers which expose PulseAudio in both KDE and GNOME, how they differ and what is missing (hopefully a lot less will be missing by the time the summit comes around in August!!).
I've included my abstract below just in case you are interested.
The Magic is Back!
As many users in the community know, the Mandriva Linux distribution was forked a few months ago to form Mageia. This is a community driven effort to setup a properly organised and people-powered version of our favourite distro. I've personally not had nearly as much time to concentrate on helping the efforts here as I'd have like (various work and real life things getting in the way), but I've been stunned by the amount of time, effort and good will piling into the project from all corners. Various Mandriva contributors, both past and present have helped set things up and today I was able to update and reboot into my new operating system!
[colin@jimmy ~]$ uname -a
Linux jimmy 2.6.37-desktop-3.mga #1 SMP Tue Jan 25 14:16:42 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
[colin@jimmy ~]$ cat /etc/mageia-release
Mageia release 1 (Cauldron) for x86_64
Yay! Now I should be able to step up the pace of my contributions as I find it much easier and more natural to work and test as I go on my own computer rather than in a virtualised environment.
Personally I upgraded my computer from Cooker which I had frozen in a pre-rpm5 state, diligently not doing any updates despite wanting several newer packages (esp the latest Firefox 4 beta). The upgrade itself went fairly smoothly, but had some hiccups. These were mostly solved when I realised I still had a bunch of stuff in my urpmi skip.list and cleaned it out (I had various rpm things in there to prevent rpm5 being accidentally installed - I'm sure it'll be good eventually, but I'll hold off for a little while
).
So now I can update my computer again, the magic can return! Mageia has arrived!!!
Bobby Digital: In 5.1 Surround
OK, so this question crops up quite often, so I figured it's worth a post. People often ask how to enable 5.1 digital output with PulseAudio. In the past the answer is typically "you can't because S/PDIF only accepts stereo PCM or passthrough data" and while this is true, we can relatively easily hook up an AC3 encoder which is helpfully provided in the ALSA plugins package.

