Hot on the heals of the awesome PulseAudio 2.0 release, I am very please to announce Mageia 2! It's been a lot of very hard work and I inadvertently ended up doing a lot more than I had originally intended but I can't complain - while it was a lot of hard work and a massive time sink for the last few months, I certainly learned a great deal and feel I've contributed to a great user experience.
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 🙂
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.
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.
PS I'm sure there will be a brown bag moment to come with a 1.0 release, but fingers crossed.... :p
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!).
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).
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!
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!)
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.
So I'm just back from Nürmberg, German where I was fortunate enough to be invited to the speak at the OpenSuse Developer Summit. It has to be said, everything went really well. The first thing that struck me about this event is that it was quite inclusive. Although, obviously, the point was to discuss, promote and develop Suse there were folk there from other distros including Debian, Fedora and, of course Mandriva/Mageia (well, me!). This was very nice to see.
Confession time. I think I cocked up. Someone was asking me about why the HDMI was the default sound device in Phonon when used with PulseAudio. I patiently explained that this was a bug a while back but I fixed it.I diligently went to look up the relevant commit refs and then realised that I hadn't actually committed the fix. Whoops. It seems I fixed that bug during a late part of the Mandriva development cycle and only applied the code changes as patches on top of the source rather than committing them properly. I think I did this because I wanted wider testing before deeming them "ready" for upstream inclusion but then basically forgot. The other reason was perhaps that I was ashamed of myself for using a bubble sort - I really need to make an ordered pa_hashmap for this as I've found myself needing it a couple times now and will definitely need it in the future too. Another item on my todo list!
So apologies for that. I know some distro maintainers look at the Mandriva packages subversion for patches etc. so I'm sure some folks will have these fixes already, but it was a mistake not to push them upstream sooner.
Anyway, fixes are pushed to upstream master and stable-queue and will be part of the (hopefully) upcoming bugfix release.
As many followers of the Linux ecosystem will already be aware, Mandriva Linux (my personal distro of choice) has been through some turbulent times of late. Financial troubles meant that Edge IT (a subsidiary of Mandriva SA) was liquidated and all employees made redundant as a result. While it was not widely known, many of the core developers were technically employees of Edge IT rather than Mandriva SA, so this lay off was actually quite drastic.
Those of us involved in the community surrounding Mandriva have obviously been worried that the future of our favourite distro is in doubt, so it is with great pleasure that I pass on news of the upcoming fork of Mandriva Linux: Mageia
Obviously the obligatory slashdot story only really draws comments on the choice of name. Personally, I quite like it (more so than the name "Mandriva" (which itself was a contraction of Mandrake and Conectiva - partly due to the use of the name Mandrake drawing some legal issues)). And choosing a name is no easy business: there are trademark issues to consider and domain names to secure: this can seriously limit your choice. Regardless of the practicalities, "that which we call a rose, by any other name, would smell as sweet". In other words, the name doesn't matter, what really matters is the work done and the contributions to be made to the wider Linux ecosystem.
Mandriva has long been regarded as a good participant in upstream projects, contributing to the Kernel, Graphic and Audio subsystems as well as being a very active contributor to higher level desktop environments such as KDE (and GNOME and XFCE and others too). With so many of the key contributors following this fork and contributing to Mageia, I feel this tradition will continue and grow with time.
So, as I said in one of the many "goodbye" emails I've had to write following the lay offs: The future is unwritten. Let's write it!