Showing posts with label xmms2. Show all posts
Showing posts with label xmms2. Show all posts

2010/02/21

XMMS2Con

I am on my train back to Gothenburg from Malmö where I spent the weekend with the cool XMMS2 people. I think everything went very smooth and it was very very productive. We got a lot of things done and a lot of code merged. I will outline some of the highlights in this post, as I am certain that other participants also will do in their blogs.

First of all, 0.7 DrNo was released. This was the first thing we did, even before the Con started. It was way overdue, it actually was almost a year since we did the 0.6 DrMattDestruction release. There are a lot of reasons for this very delayed release. I think most of the people in the team are starting to feel the effects of their "real life". Some have become fathers, others has been busy with work, school and other activities that has to take precedence. But as always, when we get together and get to it, we get a lot of work done. I think I am not the only one to feel a bit energized and have a lot of ideas that would be cool to realize, let's see how long that lasts this time :-)

The most discussed topic on the Saturday was GenIPC. What is GenIPC you might ask yourself? Well if you have been around and tried to write any XMMS2 bindings at any point you know that it involves a lot of manual labour for wrapping all the functions the server implements. GenIPC is the answer to that. Our plan is to have the IPC definition in a XML file, which then can be used to generate the code for each binding. One of the benefits of this is that it will be easier to add new functions to all bindings, the other great benefit is that it will be easier to implement native bindings for all languages, since you only need to write the serialization and the code generator and the rest will be taken care of for you. Tilman have done some great work with GenIPC and the server side of it was merged directly after the DrNo request. On Saturday Tilman, Anders and Henrik discussed a lot of improvements for GenIPC in order to allow for function overloading and default arguments. This work is now well under way and I hope to see it in the master branch pretty soon, since I want to convert native Qt4 bindings to GenIPC and also finish my Objective-C bindings.

Next big project that Seb and Daniel looked at was S4. S4 is our homegrown database backend that is supposed to replace the SQLite backend we have now. The rational behind this is that we horribly misuse the SQL part of SQLite and forces our datamodel it. This leads to bad performance, lot of code overhead and so on. S4 solves this by introducing a datamodel that fits our use case a lot better. Preliminary tests shows that S4 is a lot faster when you have a lot of entries in the database, in fact the only time it's slower is when you do advanced queries that uses regex matching and that's slow almost everywhere :-) This will probably be reworked so that we don't use regex, but rather globbing as we had with SQLite. I hope to see S4 merged soon.

We did have some talk about workflow and how to improve the visibility of the topic branches and we have started to try out Gitorious, I hope that everyone will be satisfied with it. I think that workflow discussions warrants it's own blog posts so I will try to write it up later in the week. In the meantime you can checkout our Gitorious team page. And if you want to get in on the action, just tell me or Anders.

Next big step which also warrants it own blog post will be about our information reorganization, redesign of wiki and move to xmms2.org instead of xmms2.xmms.se. Stay tuned.

Oh, and thanks to everyone that came out, I had a great time organizing it and I am more than willing to do it again. I also want to make sure to thank Purple Scout AB for hosting us, if you attended and liked it, drop a line to twitter or on your blog to thank Purple Scout as well.


2009/03/19

Google Summer of Code 2009

XMMS2 got the good news again! It feels awesome, not only because we get to participate in this fantastic program once again, but also the prospect of going to a mentor summit later this year is awesome :-) Thanks Leslie, you know we love you! ;)

But, I heard someone whispering that our proposed projects was less interesting this year! Let's do something about that! Do you have a good idea? File it at our wiki, TODAY! :-)

2009/03/18

Official XMMS2 client should be written in Qt!

I read the that theefer did the other day and I just wanted to voice out my opinion about the Official client. I don't doubt that all people in the XMMS2 community probably already know my position about this, but I wanted to make it perfectly clear!

I think the official XMMS2 client should be written in the Qt toolkit and these are my reasons for it:
  1. Qt works natively on all the platforms that XMMS2 runs on. More important, it actually looks good on all the platforms that XMMS2 runs on. It even looks good under GNOME these days.
  2. The Qt API is very clean and easy to use.
  3. You can write Qt applications in C++, Python or Ruby (see my language discussion further down).
  4. Qt bundles with QtScript, which is a ECMA compliant language, which means that we can extend the official client in QtScript. This means a very low entry-level for people that want to add functionality to our client. QtScript is (IMHO) not fast enough to be the sole language we should use, but that might change soon.
  5. Upcoming features like QtKientic will bring awesomeness to our client.

I also think that the base client should be written in C++, but supported by QtScript. First we had the idea that we should write the whole client in QtScript, just have a small C++ loader. I have researched this possibility but I don't think QtScript is ready for that. QtScript is slow, and you need the qtscriptbindings to bind the full Qt API to QtScript, that takes 2 hours to compile on my master macbook pro.

Writing the application in Python or Ruby would probably be more rapid than writing it in C++, but it will be a bigger pain to deploy. Qt/C++ is easiest to deploy because all the tools are already there and users don't have to install yet-another-lib. My second choice would be Python, mostly because I know Python, I don't know Ruby :)

How about xmmsclient bindings?
The last thing I would like to touch is about xmmsclient bindings. Right now I have Qt4 bindings that are native, that means that it doesn't use libxmmsclient beneath, they are not merged into the mainline, but could be found here. I think these bindings could be a good candidate to use in the client, but we would need to make it complete and merge it into XMMS2 first.

See this post as a material for discussion, I would love to hear your opinion. Let the flames rain!

2009/03/11

GSoC 2009 and other tidbits.

I am on vacation this week, we where supposed to be in Sälen the whole week for some skiing, but due to some mandatory classes that Lisa had to attend, that didn't happen. We will leave for Sälen today instead and get 3 days in the slopes, that will be perfectly fine as well, I am actually looking forward to it a lot.

Also two days of vacation at home haven't been unwelcome at all. I have had time to reinstall my Eee 901, this time with easy peasy. I like it a lot, it really makes the most of the small screen and I didn't have to worry about drivers and X11 configuration etc, etc.

I have also submitted XMMS2 GSoC 2009 application. With some great help of theefer and wanders we finialized all the texts and got it sent away. I have a good feeling about this year, I am more motivated to be the admin and we have learned a lot. I just hope that Google gives us the chance this year as well.

On a XMMS2 releated note DrM has finaly entered testing period. This is waay overdue and we hope that we can wrap it up before the start of the GSoC, so that students can work against that version and not some unreleased one.

2009/02/15

XMMS2 vision

Following up on my post from FOSDEM I have now started the process together with the XMMS2 community to define our Vision. We are working on getting a version of this vision that everyone feels ok with. You can see our work (and chip in if you want) at the following wiki page.

2009/02/08

First vision, then hack.

I am currently sitting in one of the Hacker Rooms at FOSDEM in Brussels. I have spent my last two days together with a great group of XMMS2 developers, just as last year. I really enjoy these events where you have the possibility to actually meet the people you spend a lot of your spare time with.

The discussions this year was very different than last years topics. This year people was more concerned about how to organize the distributed team and work on the "right stuff". I find it pretty funny since this is just the things I have started to do at Purple Scout recently.

I have decided to give it a go for the XMMS2 community as well. I am sure that I can leverage on some of the things I have learned recently, but I also know that it will be very different since the developers of the XMMS2 community are not working on XMMS2, just doing it for the kicks (and possibly the chicks, but I think that is just a big misunderstanding).

One of the talks that inspired the discussion was Bdale Garbee's keynote about the Debian community. He said that you shouldn't underestimate the values of values. Basically you'll need to share common values and goals within a community in order to get everyone aligned. Debian has a Social Contract that outlines the vision for the Debian project.

My plan is to establish a similar document for the XMMS2 project. It will be a document that is created by the community for the community and will hopefully allow us to align better towards the ultimate world domination goal.

After this document is done I will move on and establishing our "Code of Conduct" or "Development Guidelines", this document will outline how we work together as a group and what processes we follow.

So the current plan for world domination is:

  1. Establish the XMMS2 vision document
  2. Establish the XMMS2 code of conduct document
  3. Get everyone super-hyped about XMMS2 development
  4. Hack!
  5. ????
  6. World Domination! (Or at least 'Ready to amaRock').



2008/12/16

Long overdue post

2008 was a crazy year...

This is the reason I haven't been posting stuff to my blog that often. I really hope that I can get back into it during 2009. So much of my creativity was lost into my day job, so much of the fun was stripped away. This is why I have resigned from my post at Procera Networks.

From the 12th of January I will start my new job at Purple Scout. I have been hired to structure their newly founded development group, to create processes and infrastructure for in-house development projects.

Purple Scout is a workplace where I think I can find my creativity again. Hopefully this will mark my return to open source and XMMS2, which I miss so much. In light of my new position I will also try to blog a bit more about driving a development team and development processes which has been inspired by both GTD and my work with the XMMS2 community.

Also watch out for more blog posts about this years best music and books later on.

2008/03/26

Slow summer? We NEED you!

As you all know XMMS2 was accepted for Summer of Code even this year. We are always very excited about SoC since it really brings a lot to us and the student.

The application process is OPEN now and it will end the 31th of April. Please have a look at our proposed projects page and submit some awesome projects to us!

2008/03/09

FOSDEM presentation video

If you haven't got enough of XMMS2 and FOSDEM you can see a video of me doing the speech here: http://exodus.xmms.se/podcasts/FOSDEM2008-xmms2.ogg.

2008/02/23

First day at FOSDEM

Hello,

I am at the FOSDEM now together with 9 other XMMS2 devels and a lot of other people. In place here we have: Me, Daniel "nano" Svensson, Anders "anders" Waldenborg, Tilman "tilman" Saurbeck, Sebastien "theefer" Cevey, Florian "rafl" Ragwitz, Erik "nesciens" Massop, Auke "auke" Schrijnen, Sebastian "wose" Woetzel and Sebastian "wallunit" Noack.

Yesterday was the beer event at Delirium Cafe in the center of Brussels. It was very fun and most of us got a bit too drunk :-) Before this we had the time to talk about some XMMS2 issues and status in the hotel lobby. This was our conclusions:
  • Next version DrLecter will contain: airplay, visulizations and we will try to get TEST1 out this weekend.
  • Next version will not contain: result/value split, service clients, xmms_value_t unification or a cool GUI
  • Version DrM? will contain the above changes and will break the client API pretty bad.
  • Lengthy discussion about S4 and GenIPC also occured.
I will blog about each change a bit more in depth later. I will also try to be more communicative with our public from this point on. I will try to resurrect our news letter and publish more posts about improvments in XMMS2. I encourage you all to the same.

So far the trip here has been very very productive and it's fun to meet everyone that you talk with on a daily basis.

2008/02/17

FOSDEM presentation

Just finished my presentation for FOSDEM. I am going to treat you all to something a bit different this time so I hope that you all will show up! For all of you that can't show up for the presentation I will post my slides online later, I am not sure how much sense they will make without my sweet voice though :)

Getting pretty hyped for the whole FOSDEM thing now. Hope to meet a lot of interesting people and that we'll gain some traction for XMMS2.

Oh, and this is all written on my MacBook Air btw, I will post a review of it later.

2008/01/16

FOSDEM 08

I am going to my first FOSDEM this year. I am not that excited about the tracks given this year, but I am looking forward to meet a couple of XMMS2 developers. So far it seems that we are going to be 8 regulars at the FOSDEM conference. We are living at the NH Atlanta downtown. Keep in touch if you want to grab a beer with the XMMS2 guys (or even buy us a beer :-)).

Hope I will get my Macbook before I am leaving :-)

2007/09/25

General Update

I am god damned tired right now. Yesterday I worked for a lot more hours than usual, because I had to go up very early (4:00) to make a installation at a customer site. That totally destroyed my rhythm so I am still totally lost.

Finished Pattern Recognition by William Gibson yesterday. It was ok, not as good as everyone says it is, but still pretty intense. I think my main objection towards the book is that the main story is pretty strange and in the end it doesn't get really that clear why everything happened the way it did. I have started a new Alistair Reynolds book right now, I'll get back to that.

Talking about intense I played a lot of World in Conflict the last week. It's a strategy game created by a Massive Entertainment from Malmö, Sweden where some of my friends work. It's a great multi player / online game and I recommend it to everyone into strategy.

Next week I am going to South America again, Brazil first and then Argentina. Two trade shows in two weeks. Going to kill me I think.

As for XMMS2, haven't had so much time for this lately. I have worked a bit on the new playlist in Esperanza, it will be pretty cool whenever I have time to release it. You can see a teaser here.

2007/09/14

I got my XMMS2 tshirts!

I have got my XMMS2 t-shirts! Looks good, feels good! I have attached some pics! Go fetch!




2007/09/12

Ok, I am a QZealot

After I have been playing around with Hildon / Maemo a couple of days, trying to make a PyMaemo client for XMMS2 I have a really bad headache. GTK feels soo different from Qt and frankly I couldn't loath the API any more. I have decided to scrap that effort, right now I want to see what it would take to be able to use Qt properly under Maemo. I searched the internet for good advice but it seems like all the efforts to make Qt work well under Maemo has been very scattered and disorganized. I have created a wiki page and try to collect information about how to "port" Qt4 to Maemo. If you have any information I lack please head over to the wiki and help me out!

On another note I am thinking about going to the Trolltech Dev Days in Germany the 16-17th of October. Come buy me a beer ;-)

2007/09/08

First step towards a xmms2/maemo client

Since I got a Nokia N800 device, I just HAD to port xmmsclient to it. It was a lot easier than I had suspected. Once I had scratchbox up and running (this was actually the hard part), it was very straight forward to just do ./waf configure ; ./waf build. I had to tweak waf to find the correct python binary but nothing more than this. I now have xmmsclient + python bindings running on my n800 :) Expect a small client soon!

2007/08/29

Nokia N800

I am seriously thinking about getting a Nokia N800. All the mobile phones with built-in webbrowsers and stuff has always let me down. But I would like to be able to go down to starbucks, read some webpages, update my blog and chat without having to bring the laptop. The lack of a keyboard is a bit unsettling, but I have heard that the on screen keyboard works just perfectly.

So maybe we will see a maemo xmms2 client soon? :)

2007/05/20

XMMS2 DrJekyll, Esperanza 0.3.0 and more.

Today I uploaded the final of XMMS2 DrJekyll and 0.3.0 of Esperanza.

There is a lot of changes in both. Noteworthy changes for XMMS2 includes:
  • Collections. After almost a year in development (it was last years SoC) the API is pretty stable and very usable. I was amazed how much you could do with it when I started to convert Esperanza to it.
  • Playlist plugins are available again. Lot of people have asked for that.
  • WAF. We switched build system from SCons to WAF and it has helped us a lot (also created new wondrous problems).
The noteworthy changes for Esperanza is the following:
  • Medialib browser.
  • Collections API conversion.
  • Stream browser.
  • Lot of stability changes
Now I will probably go a bit silent within XMMS2 for a while since I am going to the WGT festival in Leipzig, Germany (drop by and buy me a beer!) and after that to San Francisco (drop by and buy me a glass of wine!). Hopefully this summer will give me some time to make some internal changes in Esperanza.

Enjoy the releases!

2007/03/24

Open Audio Summit?

The idea crossed my mind when I saw this: http://2007.oscms-summit.org/

Wouldn't it be cool to invite all open source audio related projects and people and organize a OpenAudio summit? I think a lot of things could be gained from that. Like interoperability and idea sharing. I am willing to help organize to do this. What do you other projects think? Also we should locate a good sponsor to be able to do it.

2007/03/06

XMMS2: State of the Union

I haven't really posted here as much as I should. I just wanted to quickly update the current status of XMMS2.

XMMS2 DrJekyll pre-testing:
DrJekyll is the next developer-release. We should start pre-testing this week. Jekyll contains tons of cool goodies. Most notable is the additions of Collections. You should all look into porting your clients to this concept since we are going to deprecate the API for touching SQL directly.

Google: Summer of Code:
We have decided to apply for summer of code once more. Hopefully we will be picked and we can accept a few student this year also. You can visit our project ideas page and give some insights on what you want to see in XMMS2.

Graphic contest:
We have a strong need for a graphic profile in XMMS2 so we are going to spend some SOC money from last year on announcing a contest that will bring us (hopefully) a logotype and a nice wiki design. This project will probably be launched within a few weeks. Look at this spot later on.