2006/09/26

Bindata API in Gonzo

New exciting (can you feel it) releases from us! XMMS2 - Dr. Gonzo was released today. It's a feature addition release which contains DAAP streaming plugin and Monkeys Audio decoder and more.

Of course the cool things happens under the hood. We have added a framework for storing binary data on the server (primary for use of cover art). This is called bindata. The API can be used by plugins and by clients, currently only id3v2 and faad plugins have added support for coverart extraction. Plugins use the xmms_bindata_plugin_add() call that returns the md5 hash for the data. The hash can later be used to extract the covertart from a client. The hash is stored in the medialib as "picture_front".

The clients can easily show coverart with this method, a simple example with python-like-code:

if mediadata.has_key("picture_front"):
pic = xmms.bindata_retreive(mediadata["picture_front"])
show_image(pic)
Clients can also add coverart by calling bindata_add() with the data and the length, this will return the hash that is suitable to save in the picture_front property. This is already done by xmms2-covers that will fetch coverart from several different sources for your collection.

Clients can also of course remove bindata by calling bindata_remove() with the hash as argument.

We hope that the addition of this API will be giving coverart prettyniess to all clients.

2006/09/08

Pre-testing for DrGonzo

Dr.Gonzo is looking really sweet. The details here: http://wiki.xmms2.xmms.se/index.php/Release:DrGonzo

and contribute testdata for us by following the instructions on http://test.xmms.se/

and remember to file bugs!

2006/08/14

mDNS madness

I have spent the weekend trying to get my head around Apples implementation of mDNS. In my efforts I have concluded two things:

  1. The code-monkey at Apple that created the API was probably high on LSD
  2. I needed to create a wrapper as soon as possible to get away from the madness.
The result is GLib mDNS Wrapper 0.1. Download it here: http://exodus.xmms.se/~tru/gmdns/

This will allow you to integrate the DNS-SD API into GMainLoop and give you a somewhat more understandable API. It will only do browsing for now. Maybe I add more features in the future, maybe not.

Maybe this will save some frustration for someone in the future.

2006/07/25

Qt4.2 Technology Preview

As many of you might already know, I am a strong Qt4 follower. The latest TP for 4.2 looks very very good. It's funpacked with a lot of new nifty features that I would like to start using in my programs allready :) Here is some of the things I know I can use directly:

* The "clearlooks" theme. This makes Qt4 look like GNOME. This will finaly (hopefully) stop all the whining about how "ugly" Qt4 is.
* GMainLoop integration. Qt4 programs can now share mainloop with Gtk Programs, great for interoperbillity.
* QCompleter. A completion framework that can make your applications complete the text input.
* QFileSystemWatcher. Wrapper around KQueue, Inotify and friends, since gamin suck nuts I really want this.
* Also the possibility to customize your widgets with CSS like syntax.

I will probably start using a lot of these features whenever PyQt is available for 4.2.

2006/07/07

MallocDebug.app

Just after I released DrEvil I found this nifty little program included in XCode called MallocDebug. I thought, hey, let's take it for a ride on XMMS2. Man what a ride. In under 20 minutes I found four memory leaks that has been eluding me for a long time. I just love Apple when they do things as right as this. The program seems to work with libc in OSX to track allocations and then show it to you in a not-so-intuitive GUI, but when you finaly learn how to use it, it's great. You can sort the leaks on counts or used memory which makes it easy to understand if it's really a leak or just a one time problem. To bad I discovered it 20 minutes after a release :-)

2006/07/03

Black MacBook

So I got myself a black MacBook and considering all the negative press this piece of equipment has gotten lately I got a bit worried after I ordered it. Now I have had it for a couple of days and I just wanted to share what I found out.

Heat
Yes it does get hot, no it doesn't get hotter then my PowerBook 12" that I had before. Dunno why people are whining about that.

Speed
It's SOOO fast. This computer out-preforms most laptops I have owned, ever. I really like how my macosx is all snappy and fun again!

Glossy screen
I like it! It gives nice colors, good viewing angels and it's really nice when I look at movies. Widescreen is a big plus too :)

Style
Yes the black makes it more sexy, I promise :-) Keyboard is as good as on my Powerbook, no problems here.

Overall
I am happy with this computer, I will get back to more information when the honeymoon phase is over, but I dooooo like it. No outstanding problems for now.

2006/05/31

Summer of Code and Dr. Evil Testing.

I am mentoring two Summer of Code projects. Since we are still very early on I can't say anything about the progress, but I can comment on the projects.

TurboX2 - By DraX, is a webbased AJAX client. My aim for the end of the summer is to have my girlfriend use and like turbox2. :-) Since she is going to live with me I must have her stop using Windows Media Player for her own small speakers.... So the idea is that she is going to use TurboX2 that is running on my Mac Mini. Right now I am experiencing some really wierd preformance problems that DraX can't reproduce. I hope we will solve this pretty soon.


DAAP support
- by Cole Thompson. DAAP is the protocol that iTunes use to exchange music between two instances of iTunes, so that you can stream and play your friends music (if he allows you too). Adding this to XMMS2 would be cool since you will be able to share music with iTunes user and also with other XMMS2 users.

I have a good feeling about both my students and I hope to be able to update on their progress after the 8th of June when we have our first checkpoint.

Oh, and the first Release Canidate of Dr. Evil is out there now. I think you will find it a even better and cooler version of XMMS2. Please give it a try and donate test data.