cool idea, update

So I went and pimped my Idea Of The Day on #banshee, and was rewarded by a nice explanation from one of the main developers on how they're working on doing exactly this already.


Idea of the day

AdamW's idea of the day - really cool device support for media player apps.

Media players like Rhythmbox, Banshee etc are getting iPod support these days. Blah. Sure, the iPod is the definition of cool, etc etc etc, but it's expensive and it doesn't play all my Vorbis files. It'd be nice to stop thinking about iPods and be a little more comprehensive. With a bit of work this could be really cool.

An increasing number of devices can play music files these days. My Neuros can, obviously. My PSP can. My next cellphone probably will, too. Wouldn't it be really cool if...

my media player really understood this?

Picture this. I launch my favourite media player and plug in my PSP, my cellphone, and my music player. All three of these players appear in the interface somewhere. I can then move music with a simple drag operation from any of these players to any other, or from them to my library or vice versa, or from a CD to the library or any of the players. The app takes care of the nitty gritty of converting to the appropriate format for the device and writing the player's database, if it uses one.

Wouldn't that be really, really cool?

The best thing is, I think this is all possible today. HAL lets apps know exactly what hardware has just been plugged in. You could set up a list of the requirements for all popular players - for e.g., the app needs to know my PSP can only handle MP3 files, so it should convert anything going to the PSP to lame-encoded MP3. It would also know they need to go into a specific directory for any given device. It then abstracts everything to hell so, as far as the user is concerned, every player is just a container with a bunch of music in it. There should also be an interface to configure this, so the user can set the preferred format for devices that support multiple formats. The user's library could also act as a 'device' in this sense, I suppose. Behind the scenes, this could be arranged simply through multiple gstreamer profiles. Unknown devices should probably default to MP3 (if available), since everything speaks MP3. This would be an ideal use for the power and simplicity of HAL and gstreamer, and would make Linux media players immediately rock seventy times harder than ones on other platforms which are generally tuned to the needs of one specific player and don't worry about others at all. More and more devices these days just act as mass storage and don't need specific database fiddling, so there wouldn't be need for things like libipoddevice for too many players in future, but for ones which need databases, they could be written. Neuros would be a good starting point, since it's very open and there's already a few Linux projects which write the Neuros database, so their code could be hijacked.

Good idea, no?

I think I'll send this post to the banshee and rhythmbox projects too...

Funny 2

If you play many RPGs - especially Japanese ones - this will be one of the best things you read this week. It's a painfully exhaustive and accurate list of the genre cliches. I particularly like this one:

Pretty Line Syndrome (or, Crash Bandicoot: The RPG)

Seen in most modern RPGs. The key to completing your quest is to walk forward in a straight line for fifty hours, stopping along the way to look at, kill, and/or have meaningful conversations with various pretty things.

Anyone who's played Final Fantasy X will know what that's all about...


Sorry if you haven't been able to access the site lately; my IP address went and changed (which usually never happens), and the no-ip change might take a few days to propagate.

Spent half of last night trying to build a version of mplayer that would play a certain video file. Container format Matroska (.mkv), video format H264, audio - for some bizarre reason - aac. So I needed an mplayer with matroska, H264 video and libfaad support. MDV's doesn't support faad for legal reasons, and the PLF build is out of date and crashed trying to play the video, so I had to build it myself. (UPDATE: it appears only my PLF media was out of date, not PLF itself. If only I'd known that before.) Of course, this wasn't easy.

The last official release source from the mplayer website doesn't build properly on current Cooker. The CVS version builds, but to get H264 video support you need libavcodec. Reading obscure documentation on the mplayer website told me the way to do this was to check ffmpeg out of CVS and copy the libavformat, libavutil and libavcodec directories out of it into the mplayer source directory.


fine, okay, whatever.

I do that, and it stops building again, with an error in libavcodec.

I spend an hour going around in circles trying various combinations of gcc 3.3, gcc 4.0, the 'stable' mplayer source, the cvs mplayer source, the livav stuff from ffmpeg CVS and the libav stuff from the 'stable' mplayer source (stable mplayer releases include it, CVS doesn't), to no avail.

What finally fixes it is using gcc 4.0, CVS mplayer, and libav* from ffmpeg CVS from the day before. It appears someone checked some changes into libavformat seven hours before I started the whole thing which broke it. So I reverted them all and finally got what I wanted.

Sheesh, stupid patent laws. Still, at least it worked in the end. I tried to get it working on my partner's Windows machine instead; I installed the latest official Matroska directshow filter pack, fired up Media Player Classic, and it didn't play. Ping, brick wall.


I'm watching New England playing Carolina...commentary is a tricky thing, but the announcer really got a bit tripped up by his own negatives with this one:

"Don't tell me this is a team that doesn't think they can't come back"

Erm...OK, I'll try not to. :)


Well, Goetz packaged the wv fix and Warly let it into main along with some much more important fixes, so beagle on 2006 will work well. Yay! Unfortunately we can't have the latest 0.1.0 as it depends on some GNOME 2.12 stuff, but it's there in gpwgnome for anyone who needs it.

Mandriva stuff

So we're in last-minute-bug-squish mode for Mandriva 2006 release now. As always on the six month cycle this is a mad rush, but as always I'm amazed at just how much useful stuff gets fixed at the last minute, and how much the distro seems to magically transform from 'wouldn't give it to my dog' quality to 'actually perfectly releasable' in the space of about three days. We released RC2 on Wednesday morning, and already several important installer bugs and other vital infrastructure stuff has been fixed since. Final should be frozen very soon. Once it's frozen nothing moves for a while, at least in public, as final validation is done on the 'final' ISOs, and they're sent for duplication / printing and so forth. Once that's all done, the pre-ordered boxes are shipped and the ISOs made available to Club members, and the final FTP tree put on the public mirrors. You can, if you feel so inclined, jump the gun and upgrade to 'Cooker' during this period; since it's frozen, you effectively get the final release. Just remember to switch your urpmi media away from Cooker again when it gets unfrozen, or else you'll wind up with something horribly broken.

Last minute irritants - 2.0 turned out to be such a huge and complex building job that it couldn't be sufficiently tested to be shipped as the default release, so 1.1.5 will be in main and 2.0 in contrib. There was also not enough time to fix an annoying crasher bug with GNOME dialogs in OO.o 2.0, so if you use the GNOME-ified version, you have to switch to OO.o native dialogs. On the bright side, though, the OO.o 2 package is ten times better now than it was a week ago - it's updated to a very recent snapshot, and it's nicely modularised, with KDE and GNOME bits and all the various i18n bits split off from the core. It may be in contrib, but it's certainly worth trying out.

I only just this morning found out (from the Beagle release notes) about a bug in libwv1 which causes quite serious problems for the Beagle indexer. Since libwv1 is in main and this isn't a critical bug there's no chance of it being patched, now. Which is a bummer. The only possible workaround is to get Goetz to rebuild Beagle without wv support in time for the package to make it into 2006 contrib, but even that will be cutting it fine.

People are still, apparently, having mysterious problems with KDE crashes on logout. This appears to sorta-kinda-mostly solved but it'd really be nice to have a solid handle on what the problem is and what the fix is. So far the best thing to do appears to be to wipe some KDE config files, and turn off Kat.

Still, apart from those minor niggles, 2006 really seems like it's shaping up nicely. Having 6.9 doesn't look like it's going to be quite so problematic as it seemed a couple of weeks ago, and all the cool new MDV stuff seems to be working really nicely - especially the interactive firewall and the improved network configuration stuff. I'm also quite excited by the changes that Lycoris is going to bring to the Discovery edition - can't talk about them yet, unfortunately, but it should really set Discovery apart as being an exciting product on its own and not just a cut-down version of Powerpack, and help attract even more new users.

Of course, once the release is made, my job hits its busiest point, as the noise within and outside the MDV community about the distribution reaches its highest point and I have to run around promoting the product, replying to the good old OS News flamers, correcting mistakes and doing the unofficial tech support thing. But hey, it's all fun, and hopefully the positive reviews will make it worthwhile...:)

Mandriva - 2006 RC1

Many enthusiastic Mandriva users found the 2006 RC1 ISOs trickling onto mirrors in the last couple of days. Just a warning, though - a serious bug was discovered after Warly had already begun uploading the ISOs, so they had to be reuploaded. If you downloaded very early, you may not have the correct version. Here are the official MD5 sums so you can check:

655f0653a7880a392a94acc00f81188d Mandriva-Linux-Free-2006-0.4-CD1.i586.iso c66bc643f5646be3fe8394b2af892da0 Mandriva-Linux-Free-2006-0.4-CD2.i586.iso d4954a74cb0aea3a87df124a4dd8ad5a Mandriva-Linux-Free-2006-0.4-CD3.i586.iso

0dc7efc5708eb2e29a8fd7cfbdb530ea Mandriva-Linux-Free-Mini-2006-0.4-CD.i586.iso

6e1765f49abd272c908abc1863d24e9f Mandriva-Linux-Free-2006-0.4-CD1.x86_64.iso dcb9e40a1f8c713e558e57e841ad82db Mandriva-Linux-Free-2006-0.4-CD2.x86_64.iso 6ad7b27c21f0fcdd27d7be7038ef5d2a Mandriva-Linux-Free-2006-0.4-CD3.x86_64.iso

3fcad6b98dcbf7ec4f3952ae4d0ee50e Mandriva-Linux-Free-Mini-2006-0.4-CD.x86_64.iso


So, time to cover everything in one post...

Kat: I had a nice email exchange with Kat's author, who was understandably miffed at me for ripping his baby and made it clear that he doesn't think of Kat as a simple desktop search application but as a framework which will eventually pervade KDE. I'm happy to make that clarification, but I also maintained (and he ultimately agreed) that Kat right now, so far as actual useful use is concerned, is a simple desktop search application, and not a very good one. Ultimately, we both think that shipping current Kat for normal users is not a very sensible idea, and he wants MDV to either include an improved version he's hoping to release shortly, or not ship Kat by default in 2006 at all. So I'm happy we ultimately found consensus on that one. I'll certainly try and remember to revisit Kat when it's more mature, and hopefully be able to be nicer about it.

I finally got bored of new versions of sound-juicer coming out without me being able to use 'em, so updated to Goetz Waschk's GNOME 2.11 packages, which went disappointingly smoothly. Man, it's hard to break stuff these days. Still, now my sound-juicer has a play button, so that's alright.

MDV 2006 is shaping up nicely, and some important bugs (SATA recognition, network configuration, x86-64 dual core support) are being squished, which is great. RC1 is due soon but has been delayed a couple of times while we squish some important bugs; we're really making an effort to make RC1 a true Release Candidate, and not just beta 4, so hang in there, it'll be worth the wait :)

In baseball, the Canadians are one win from clinching a playoff spot, which is great, but someone at the Mets seems to have forgotten you have to win games in September to get to October. Namely, the entire offensive lineup. Wakey wakey, guys. When your team can only win games off the back of Jae Seo's one-run masterpieces, you know you're in trouble, even though we can pretty much rely on one of them a week...

Have been tinkering some more with my HTPC: I rebuilt Freevo from the CVS 1.5 branch to fix Python 2.4 support, which means it actually reads DVDs again, and I added N64 emulation support via Mupen, so now it can play Playstation, N64 and MAME games, which is nice.

This month is looking good for games...Suikoden Tactics, We Love Katamari and a few others are coming, along with the new Game Boy Micro, which I'll pick up in a flash - there's still a ton of classic GBA games I never got around to playing, and this thing will sure beat the crap out of my DS and SP for playing them in little bursts. I'm thinking of getting a Play-Yan (GBA media player adapter) off lik-sang, since my Neuros died recently and I'd rather wait for the iAudio x5 60GB or Neuros III than buy any currently available replacement, so I need something to tide me over in the meantime...

there, think that got everything :)