Planet Amarok

Award-winning professor Philip Bourne to speak at Camp KDE

Jeff Mitchell - October 26, 2009 - 20:04

Philip Bourne, the 2009 Benjamin Franklin Award-winning computational biologist, will be speaking at Camp KDE 2010.

Professor Bourne is well-known in his field for contributions to open-source bioinformatics software and is a leading advocate of open access to data. Quoting from the UCSD News Center:

Bourne is co-founder of SciVee, the Web 2.0 resource dedicated to the dissemination of scientific research and science-specific research networking. Launched in late 2007 as a collaboration between the National Science Foundation and the San Diego Supercomputer Center (SDSC) at UC San Diego, SciVee has been used by hundreds of thousands of students and professional scientists as a means of learning and sharing their research through online science videos that supplement peer-reviewed journal articles, stimulate discussion, and promote collaboration. SciVee earlier this month announced a number of significant upgrades to its site, along with the addition of 32 new science categories.

Open data access and open source share similar goals, and Professor Bourne's discussion of his experiences with open data access should prove informative and interesting to all.

Kategorie: Planet Amarok

Travelling to Buğday?

Myriam Schweingruber - October 26, 2009 - 11:58

The KDE bugsquad will organize a bugday for Phonon on November 8th. To make sure not to forget that day, I duly entered it into my Google calendar. But I must say that the mail I got today from Dopplr was quite astonishing: it seems I will travel to Buğday, Turkey on that day!
Buğday
Now, while I enjoy travelling, I think it’s a bit far away just for a bug triaging event, isn’t it?

Regardless this interesting suggestion, I will stay at home and give a hand in bug triaging, this will probably be more efficient :) Don’t hesitate to join the fun in #kde-bugs on irc.freenode.net on November 8th!

PS. I seem to travel again on November 21st, this time to Giv’at’Ada, Israel. Since I planned to be in Bern for the Swiss Karmic Koala Release Party, I guess that’s what is meant ;)

Kategorie: Planet Amarok

Qt Developer Days 2009

Dan Leinir Turthra Jensen - October 17, 2009 - 09:06
Before i start, i would like to appologise for the lack of pictures in the following blog entry. Please accept it as a testament to the extreme level of niftiness of DevDays that i completely forgot to take pictures img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / The 2009 edition of the Qt Developer Days started out in great style with a really nice, if decidedly business-ish (not really my style, but understandable considering the target audience of the conference and such), party at the Hilton Munich Park. More or less standard reception style, and sponsored by Tieto, which is a huge company, i'd never heard of before - but now i have! Apparently a good 16000 employees spread out over the entire world. Funny how large the world is that things like that can be entirely unknown to you. The party had lots of finger food, and beer, wine and soft drinks on tickets, and lots of pleasant people and similarly reception-styled (i.e. relatively short lived but lively) conversations with people such as Jean-Baptiste of VLC fame. The Gluon contingent left party at around ten, to prepare for the next day, the start of which was planned to be half an hour earlier than normal during the sprint due to needing to get to DevDays and get registered.br / br / The following day started nice and early with breakfast and getting to DevDays again, where it was much fun finding out where i should be registering. Because of my full name being Dan Leinir Turthra Jensen, it took a while to figure out that i should be in the T queue. So, not the last surname, and not the first surname... but rather the second one. That's logic for you img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / Oh well, if that is the only gripe about a convention, then there isn't much to gripe about - and this is the case here, so wooh! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / After registering we all went for the keynotes, which were spectacularly good - a well rounded and very different set, all the way from the very marketing-heavy quot;We are so great, and our greatness is only exceeded by the greatness of our greatness!quot; styled presentation of Sebastian Nyström (please take this in the most positive manner - it was a really great pep-talk in exactly the right place and time), to the rather technical presentation (including code and everything) by Mattias Ettrich.br / br / After lunch i and Jure hooked up with Knut Yrvin, with whom we spent most of the beginning of the afternoon. The reason for us doing this rather than attending talks for example was that Knut and i had to put together the outline for an article he had to write about the Gluon developers' sprint. So, we sat in the lobby for a couple of hours writing some of this, and then ended up having a long talk which somehow went from open source politics and ended up in world war II... without me noticing any real transition happening. At any rate, it then later became time to stop talking - plus Knut had to go and have a nap, to get ready for his presentation later on that day.br / br / That meant it was time to go back to the con proper. In my case it meant actually attending some talks. First one was the Qt on Maemo talk, in which was shown how well Qt integrates into Maemo 5. Spectacularly well as it turns out! The menubar is automatically turned into a proper Maemo 5 style menu and the widgets all look native. Very swish! Afterwards it was time for Nokia, Qt and the Internet, in which the Common Web Runtime was presented. Now, this is something i'm a little weary of. My problem with it is that it seems like something a web developer has thought up. To my eyes at least, it seems... Somewhat displeasurable. i'm sure it has it's place, but i'm not particularly impressed. However, the presentation itself was well paced, and even with a little techy friendly code demo, so it wasn't all bad.br / br / After this i went onto the balcony where i ran into Bart from the Amarok team, who had been up all night and was hanging out with the Forum Nokia people. He was showing off Amarok 2 to them and we all got to talking about the visions for how Amarok would fit on Maemo, such as an entirely new UI based on Qt's new declarative UI system, while keeping most of the backend intact, which will be possible due to the strongly decoupled backend). While i was there, i took the time to also shortly mention Gluon's vision of creating a distribution system for games which would work amongst other things on Maemo 5 and ahead (e.g. anything that has Qt and OpenGL or OpenGL ES). More on that, of course, will come later - the vision document is being prepared, and will be presented to the world in a more official manner once it's in a state of relative readiness.br / br / Two very important traditions at DevDays are the Troll Happy Hour and Troll Dinner. The first is a rather straight forward drinks type party - standing of course, to encourage moving around and networking, proper corporate style and though executed in a very professional manner by the Hilton personnel also very pleasant and get-togetherish. The second is an entirely more involved matter. A proper sit-down dinner, with lots of different dishes plus desert,during which also took part one of the more important events, named The Annual Fact amp; Crap Showdown. This is a competition in which the table has to answer a number of questions - this year 24 - of varying difficulty about Troll related items. This year's price was an N900 for every person at the table - a worthy price for any competition! Unfortunately we didn't win. However, we made a good, solid attempt! 19 correct answers out of 24 asked. So, while we went home from the party N900-less, it was still really funny and a great experience in general. Also: Tasty food and good company makes all winners img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / The day after started directly into an explosion of activity. Having talked with a few of the others about possibly attending the Qt Essentials exam the day before, we talked with someone, who i honestly cannot remember who was (please tell me if you remember img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / ), who suggested that we should try talking with Knut or Alexandra about possibly getting sponsored tickets. So, Dirk and i went around trying to locate them, and ended up upstairs with the certification people, who told us that no, they didn't know. But they did know where Vladimir Minenko, the man at Qt responsible for the certification programme, was - in fact, he walked into the room immediately i asked. So, i was introduced to him, and my query presented to him. He asked me to hang around for a bit and meet him downstairs after a little.br / br / When he came there about five minutes later, he told me to round up every KDE person i could find, and that they were all getting a full, 100% discount on the at-DevDays exam. Suffice to say, Dirk and i went into activity overdrive, running around to find every KDE person we knew, and asking them to pass on the word. Half an hour later we'd found fifteen people, roughly, and we gathered upstairs to register for it. Over the course of the next couple of hours, until around three o'clock, we all went through the exam, and we are now waiting for the email with the results along with everybody else.br / br / One of the extra little perks that went along with the exam was the chance to win one of two N900s, and the first of them was drawn live in the big aula area just before the final presentation. Another couple of competitions were drawn there as well: A beagleboard by KDAB, an iPod Touch by Tieto, and a t-shirt by Nokia for filling out the Qt Ambassador programme survey. During this we were all taught about a small known effect of statistics called the Birthday Effect: Sandro from the Gluon team won both an N900 and the t-shirt. He was so surprised at winning the first time that he didn't even realise that he'd got the second until someone told him img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / In general, there was much talking about the Gluon distribution system, and eventually it was suggested that i should approach Nokia, Qt Developer Frameworks in a more official capacity, suggesting them possibilities for cooperation on the topic. So, while waiting for the information i've asked the Gluon sprint participants to send to me to roll in, another important thing to work on is a more formal description of the process, specifically a href="http://gluon.tuxfamily.org/wiki/index.php?title=The_Gluon_Vision"a vision document/a.br / br / bGame concept of the day:/b I Qt Coffee - Make sure there's enough coffee and warm cocoa for all the Qt developersbr / bFinal point:/b Make sure to ask Sandro for lottery numbers!
Kategorie: Planet Amarok

Gluon Sprint - Day 4

Dan Leinir Turthra Jensen - October 16, 2009 - 09:06
The final day of the sprint, the room in which i slept awoke quarter of an hour late - which would have been a problem with our rather tight morning schedule, had it not been for the fact that Harald also ended up getting in late. His excuse was the same as ours the previous day - problems with trams and the U-bahn - so we all, of course, understood.br / br / As we are settling in after arriving at the office, a few more KDE people show up to hang out with us for the day, while waiting for the welcome reception at Qt Developer Days that night. The first to arrive was Patrick Spendrin, and a little later Frederik Gladhorn and Frank Karlitschek showed up.br / br / Kim and Morten began restructuring all of KCL, something they decided to do the previous day, starting out by scribbling a whole lot on one of the large sheets of paper from the flip board. After a while they ended up with something that they could work with, and began coding. In short: They decided to reimplement the entirety of KCL, while keeping the API intact in as much as it was possible to do so.br / br / Just before lunch, Sandro and Sacha showed off their work on embedding QWidgets in KGL - something which of course will make it very easy for developers to create UIs for games. Something which did not come up while this was going on, but rather happened during one of the keynotes at Developer Days (this blog was, of course, not written at the time, but rather the day after, from notes taken at the time) was that this will enable us to use the declarative UI system that is under development, because the way this is used in normal applications is to use a QFXWidget, which then shows the declarative UI.br / br / a href="http://www.flickr.com/photos/49031477@N00/4016518162/" title="IMGP3550.JPG by leinir, on Flickr"img style="float: right;" src="http://farm4.static.flickr.com/3497/4016518162_ebf5e5de87_m.jpg" width="240" height="180" alt="IMGP3550.JPG" //aLunch happened at the caffeteria in a near-by office building - i must say i'd have never guessed there was a caffeteria in that building, but it really was clearly visible from the outside... Odd design, but pretty neat anyway - very minimalist and modern looking. In general the food there was entirely acceptable and respectably priced. Lunch, plus a large drink, plus a desert at less than ten euros isn't really that bad. Also: Strawberries with mascarpone cream is very, very yummy.br / br / Immediately following lunch we decided to do the group photo, but since some people needed to get out some money and such, one group went with Harald to the shopping centre, while the rest of us went back to the office. Now, of course, German weather is as efficiently timed as everything else in Germany, and as such it decided that the perfect time to start raining was to wait until the first group got back to the office and the second had just left the shopping centre. As such, when they returned they were all quite wet. Luckily, though, it was not so much as to make it impossible to do the group shot. But, as a bonus, try and spot the wet people on the group picture img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / (the group shot will be put up on the Dot when the wrap-up article is released later, still needs to be written)br / br / a href="http://www.flickr.com/photos/49031477@N00/4016518068/" title="gluon-is-active.jpg by leinir, on Flickr"img style="float: left;" src="http://farm4.static.flickr.com/3167/4016518068_e501e2f4c6_m.jpg" width="240" height="150" alt="gluon-is-active.jpg" //aAt a bit to five, everybody moved into two of the smaller room in the office, since someone else needed the big room (the room in which pizza was consumed the previous day and the wii room without a projector for the wii). Just when we've moved in there and settled down a bit, Albert mentioned that we were on the list of most active teams on Gitorious - screenshot on the left.br / br / After a good bunch of further coding we finally reached six o'clock. Arjen for example put together the first bits of Gluon Creator by adapting his GDLExample application (more information will come later on the concrete results of the sprint). Everybody then packed up their laptops and snacks and left for the Hilton to take part in the welcome reception at Qt Developer Days 2009, an entry about which is forthcoming (decided to split it out into a single, separate entry).br / br / This officially ended the first, and hopefully not last, Gluon Developer Sprint and i would like to take this opportunity to personally thank all the many people who made it possible - Knut, Harald, Alexandra and everybody on the Gluon team (including honorary members from the larger KDE Games project, you guys rock!). Hope to see you all again soon, it was an absolute blast! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / bGame concept of the day:/b Lost - The Game! Getting lost in new and exciting locations, all over the world! Munich Edition!br / bFinal point:/b Geeks have an uncanny ability to pick out identical t-shirts
Kategorie: Planet Amarok

Amarok 2.2.1 - We're getting there!

Mark Kretschmann - October 15, 2009 - 09:18
Here's a little teaser article, showing off some of the work we're doing for the upcoming emAmarok 2.2.1/em. As some of you may know (or maybe not), we have decided to turn the 2.2 "Sunjammer" series into a longer lasting series, similar to the 1.4.x "Fast Forward" cycle. This means, we're not branching to 2.3 immediately, but instead we will make new releases about every six weeks, each including a number of new features and bug fixes.br / br / This style of working was partly made possible by our migration to the Git version control system. I can only say, for us the migration was fully worth it. Our development speed has skyrocketed, as we are now able to develop new features in different branches, test them safely, and then merge them into our master branch. Also, the number of third-party contributions has increased dramatically, thanks to Git and Gitorious. You can find our Git repository online here:br / br / a href="http://gitorious.org/amarok"http://gitorious.org/amarok/abr / br / br / These are some of the improvements in 2.2.1 so far:br / br / liOptional support for KNotify./libr / liNew toolbar with nicer looks (you will also be able to select a "slim" version for small screens)./libr / li"Jump To" feature for quick playlist navigation./libr / liBetter Podcast support./libr / liEnhanced playlist inline editor./libr / liFull screen mode toggle, allowing to show Amarok without window decorations./libr / liMuch improved collection scanner (see a href="http://blog.jefferai.org/2009/10/14/speed-never-gets-old-at-least-in-software-1129"Jeff's blog/a)./libr / liMany many (many) bug fixes./libr / br / Words are one thing. We want screenshots! So here goes - please remember, it's a empreview snapshot/em:br / br / br / centerdiv class="serendipity_imageComment_center" style="width: 300px"div class="serendipity_imageComment_img"!-- s9ymdb:223 --a href="http://amarok.kde.org/blog/uploads/amarok_221_gettingthere.png"img class="serendipity_image_center" width="300" height="229" src="http://amarok.kde.org/blog/uploads/amarok_221_gettingthere.serendipityThumb.png" alt="" //a/divdiv class="serendipity_imageComment_txt"Click to show full size/div/div/centerbr / br /
Kategorie: Planet Amarok

Speed never gets old. At least, in software.

Jeff Mitchell - October 15, 2009 - 03:17

As my regular readers -- such as that may be, considering how rarely I post -- may know, I've been doing all sorts of things to speed up scanning your files into Amarok's local collection. I have some really nice news on that front: a few goodies that will be very useful to you, especially if you have very flat collections. These improvements are in the forthcoming 2.2.1.

First up, and the lesser of the two: If a directory is encountered multiple times during scan, the scanner will now only scan them once. There are a few corner cases where this could happen (for instance, if you have a top-level directory specified as well as one of its subdirectories, and the subdirectory's name changes, changing both its and its parent's mtime). Not too useful for most cases, but was implemented while working on...

Second, and the biggie: When doing an incremental recursive scan, Amarok will now no longer scan subdirectories whose mtimes have not changed. This is big news if you have a large, flat collection (which I dislike myself but some really enjoy...to each their own). For instance, in a setup like 3,000 files in your main folder, plus a few thousand files each in a few subfolders for a total of 10,000 tracks, if you added a single file to the top-level folder and had incremental recursive scanning turned on (the default), you'd cause a rescan of your entire music collection -- all 10,000 tracks or so. Now, if you add a single file to the top-level folder, you'll only cause a rescan of 3,000 tracks...which is still a lot, but even more of a reason to use a hierarchy.

This should help scanning time even for those with hierarchies, as adding a new album to an artist won't cause the artist's other album folders to be rescanned, or adding a new artist to a genre won't cause all the artists and albums in that genre to rescan.

It's really the proper way to do things, but it required some changes to the data sent between Amarok proper and the collection scanner, so had to be done carefully (as far as I am currently aware I didnt' cause any regressions). Regardless, I'm glad to have it in there and working, and hopefully you will be too.

Kategorie: Planet Amarok

Chromium: It really shines

Mark Kretschmann - October 12, 2009 - 19:14
!-- s9ymdb:222 --a href="http://en.wikipedia.org/wiki/Chromium_(web_browser)"centerimg class="serendipity_image_center" width="300" height="300" style="border: 0px; padding-left: 5px; padding-right: 5px;" src="http://amarok.kde.org/blog/uploads/chromium-logo.png" alt="" //center/abr / br / Have you tried it yet? I'm running the Chromium "Daily Builds" on Kubuntu 9.10. At first, not very long ago, I was quite skeptical about Chromium. It looked unfamiliar, it seemed to lack features. Then, about a week ago, I gave it another try. And boy, has it improved!br / br / To give you some back story on my personal history of browser usage, I'm a die hard Opera fan. I've been using Opera since about 10 years, and nothing ever came close to its performance, usability, and elegance. In fact Opera used to be the last remaining non-free software that I used on a daily basis. While I'm a huge supporter of Free Software, I didn't feel bad about using it, as it was just so damn good. Still, I would have preferred a good free alternative, but nothing else did it for me (including Firefox).br / br / Now, what makes Chromium so great? Let me just list a few things that I love about it:br / br / liIncredibly fast./libr / liBased on WebKit, which is based on KDE's KHTML. Proves how great KDE technology is./libr / liRapid development process, fully transparent, using Git for version control./libr / liIngenious multi-process system. Forget about memory leaks, plugins crashing the whole browser, etc./libr / liSimple user interface. Doesn't overwhelm me with obscure options./libr / liFree Software (not just as in beer)./libr / br / br / Where there is light, there is also shadow, and there is one thing about Chromium that I find a bit sad: Why did they not use Qt from the beginning? Qt would have provided a perfect foundation for a cross-platform application. Google probably had its reasons for doing it differently (I assume it's simply time-to-market, they made a pure Windows version first), but that's still one aspect that they could have done better. Anyway, Chromium's GUI is rather simplistic, so the choice of toolkit doesn't make a very big difference to the user.br / br /
Kategorie: Planet Amarok

Gluon Sprint - Day 3

Dan Leinir Turthra Jensen - October 12, 2009 - 13:10
On the third day, the developers all rose from their beds to meet up in the lobby of the hostel and then proceed to breakfast. Here, Sacha could tell us that he had just recieved an email from our final sprint participant. As it turns out, poor Eugene was so unfortunate as to miss his plane and thus be unable to show up. So, with heavy heart we decided that there was nothing to be done about that, accepted it, and continued on to go forth into the new day. Of course, it continued in the same vein, as the tram we were supposed to catch decided to be a no-show img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / Luckily Munich has so many public transport options that it wasn't a problem - there was a five minute walk to the nearest S-bahn station, so everything soon found its way back on track.br / br / a href="http://www.flickr.com/photos/49031477@N00/4003672797/" title="IMGP3546.JPG by leinir, on Flickr"img style="float: right;" src="http://farm3.static.flickr.com/2518/4003672797_775f2f6955_m.jpg" width="240" height="180" alt="IMGP3546.JPG" //aThe first thing that happened when we got to the office was, interestingly, that it was discovered that some of my code was causing horrible crashes all over the place. So... that needed instant fixing - which Albert was so nice as to provide img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / While that was going on, Arjen began working on a small example showing how to actually use the Definition Language handler, and later on he worked on creating a Qt Model (the Model/View sort) which represents a GameObject hierarchy - during process, of course, a large number of bugs in my untested code was found, and for the most part fixed. There are still some left, which will be worked on tomorrow.br / br / All the while that was going on Sacha, Sandro and Jure worked hard on Blok, the first Gluon game which was included with the tech preview last week, and the Blok Editor. Kim and Morten continued their work on KCL's MacOS X support, and towards the end of the day reached a point at where they realised that KCL in its current form does not function well in a cross-platform environment. So, they are planning on restructuring the entire library over the course of Monday.br / br / a href="http://www.flickr.com/photos/49031477@N00/4004433804/" title="IMGP3544.JPG by leinir, on Flickr"img style="float: left;" src="http://farm3.static.flickr.com/2452/4004433804_03afa90b36_m.jpg" width="240" height="180" alt="IMGP3544.JPG" //aJust before lunch the manager of all things not actually programming in Qt joined us, and he hung out with us for lunch (pizza sponsored by Nokia) and according to Knut his managerial roles included the pizza we were eating - so, much applause happened there img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / Other than that, over lunch was discussed the visions for the project, and what sort of things Gluon would actually have on existing solutions. This, of course, is something which would be very interesting to have as a document - for example on the wiki - stating the goals of the project, and its unique selling points (to use a term which sounds a lot like marketing... which of course is what it is img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / ).br / br / After lunch, people go back to the room - after finding out that someone has borrowed the projector so that Wii Tennis is not possible - and return to working at their respective tasks. One highlight of this: At 15.45 Harald exclaims: quot;Good news - Gluon builds and runs on Maemo5. Bad news - It uses the wrong style. Good news - 50 fps. Bad news - doesn't render anything.quot; At 18:28:41 he posts the following on IRC: quot;gluon on Mac OS X (native 64-bit Cocoa application): a href="http://chaos.troll.no/~harald/Block.tiff"http://chaos.troll.no/~harald/Block.tiff/aquot;br / br / a href="http://www.flickr.com/photos/49031477@N00/4003672617/" title="IMGP3545.JPG by leinir, on Flickr"img style="float: right;" src="http://farm3.static.flickr.com/2547/4003672617_8ab93cefdb_m.jpg" width="240" height="180" alt="IMGP3545.JPG" //aIn between Harald's two statements the team decided to do some brainstorming on the user interface of Gluon Creator. As can be seen on the image to the left, a lot of investigation was performed on what other similar projects have done - in this case you see a search for Game Maker. Other projects looked at were the already mentioned Unity3D, Blender Game Engine and Virtools. As an experiment, the mocking up was done in two places at once: Leinir did the mocking up on the flip-board, and Sacha did mocking up in Qt Designer simultaneously, shown on the wall with the projector (sorry, no image of this, but you can see the flip-board on the picture to the right img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / ).br / br / a href="http://www.flickr.com/photos/49031477@N00/4004434250/" title="IMGP3547.JPG by leinir, on Flickr"img style="float: left;" src="http://farm4.static.flickr.com/3504/4004434250_59e784dd0e_m.jpg" width="240" height="180" alt="IMGP3547.JPG" //aHaving learned on Saturday that going out for dinner late is a really bad idea in Germany, we left the Nokia offices at around eight. We headed for a restaurant recommended by Harald named Hacker-Pschorr and arrived there in good time - there were almost noone else in the positively enormous restaurant (as it turns out, the huge hall we were in, with surely enough room for at least three hundred seated guests, probably more, was only one of two of such halls) and ordered ourselves some food and beer. Of course, since this is a Bavariant themed restaurant, when you order a large beer... You get what you ask for. The picture to the left shows just how big those beers really were img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / Even better yet, the beer (their house brew) was absolutely stunning - wonderfully smooth and very tasty - and the food was just as good. Brilliant food and drink, coupled with good company, equalling a very pleasant evening of dining out with the team. Afterwards, we all walked home (the restaurant was well within walking distance of our hostel) and went straight to bed. So, all in all, a really great day at the Gluon Developers' Sprint!br / br / bGame concept of the day:/b Knitting Hero (multi-touch, with two styluses)br / br / bFinal point:/b i need a new camera... hey, is that an N900? img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /
Kategorie: Planet Amarok

Gluon Sprint - Day 2

Dan Leinir Turthra Jensen - October 11, 2009 - 12:46
Starting the day with a hearty breakfast is very important, and for the people at the Gluon developers' sprint this is of course no different - anything but, in fact, as the sprint is quite intensive. And so, the day started out with having breakfast in the hostel's cafeteria, which served a quite straight forward continental style breakfast service with cereal, bread, cheese, meats and all that's included. Oh yes, and cocoa milk.br / br / After the breakfast, Harald Fernengel picked us up. For those of you who don't know, this is the guy who made sure that we had hacking space at the Nokia offices in Munich. He is, as his name implies, an angel. Well, technically he's a troll, but you get the idea. But we already knew that trolls are, in essense, just angels without wings img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / So, he picked us up, and had even been so good as to buy us tickets for the duration of the sprint. We then got on the tram, and en ruite Harald informed us of the interesting points - one of the best beer gardens in Munich is right next door to us, there are beautiful churches, and the shopping street was where we changed to the U-bahn.br / br / Finally we got to the office, which is in the business area - a surprisingly green area all things considered - on the fifth floor of an office building. Very nicely laid out offices, where had been arranged coffee and soft drinks for us - news of course received by the team with sounds of glee and much joy. After setting up the laptops and checking our mail and news and such after a couple of days, it was time to start the first topics which, as it turns out, ended up taking most of the day.br / br / Just before the first point, Knut Yrvin (for those who don't know, he's the community managet for Qt Nokia) showed up to hang out with us. In the tradition of such things, he brought along a toy for us to play with, namely an N900. Now, of course, everybody wants one (even more than they already did img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / ).br / br / Kim then started his presentation, in which he described what Unity3D's workflow is like, and some of the base concepts in it. One thing that i personally got out of this refresher is how scripted Components are handled. They are not handled in any magical way, like i thought i remembered. In stead, they are handled very simply by a Script Handling Component, which has a script Asset attached. The component then analyses the script, and exposes the public fields in the script as properties. This means that the concept is much cleaner as well - scripts are no longer a special case, they are simply assets. Furthermore, it meant that everybody in the team now has an at least superficial understanding of how Unity3D works, and what sort of workflows we are working towards supporting.br / br / a href="http://www.flickr.com/photos/49031477@N00/3999920221/" title="IMGP3534.JPG by leinir, on Flickr"img style="float: right;" src="http://farm3.static.flickr.com/2598/3999920221_d04f622162_m.jpg" width="180" height="240" alt="IMGP3534.JPG" //a Afterwards, Sacha requested i describe the GameObject hierachy in some more deep detail by describing what you would do to create Pong using this method. After a bit of talking about the GameObjects and how you add Components to them, and the fact that a Prefab is really just an instance of a GameObject that you can change a few values in, but which stay the same as the prefab, we eventually came up with a layout with two instances of a Paddle Prefab (which is just a GameObject with a sprite renderer, a box collider, a mouse input component and a small scripted component which reacts to the mouse input), one GameObject named ball with most of the actual game logic inside it (a motion handler which simply moves the ball in a set direction at a set speed per frame, and a collission handler which simply checks whether the ball has collided with something, and reacts accordingly (hit one of the end walls the person owning that wall looses one point, hit one of the paddles or one of the side walls the ball bounces), and a sound emitter which the collission handler tells to make a sound at appropriate times) and four bits of wall with a box collider (made of by a sprite renderer and a box collider). The end result of this is visible in the picture to the right. Coding on your feet is fun! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / Around two in the afternoon, a little later than originally planned, and after people had spent some time hacking around, working on the different parts of Gluon, it was decided that it was time to grab something to eat. So, we all got ready to go out, and as we gathered in the social area of the office, Harald handed out meal tickets to everybody and we went down to the mall next to the offices. The problem with this plan, as it turned out, was that in Munich, a lot of places are closed on Saturday. So, we ended up going to the super market, where Harald bought lots of food type things (bread, toppings and the like), and instructed the rest of us to buy random other things (i.e. snacks). So, we all ended up buying all kinds of silly things, like bisquits, crisps and so on. This mishap ended up turning out quite well, since what happened when we got back to the office was that we all gathered around the social area, where we talked much about open source in general.br / br / After lunch was completed it was time for the final run of presentations. So, after poking around with remote desktop a lot (since Rune had also forgotten his VGA converter, and had a laptop which was not compatible with the other converter) we ended up able to see him showing off the Blender Game Engine. Two important things came out of this: We saw how not to design user interfaces -around half way in, Rune mentioned that what people couldn't see too easily was that on his netbook's screen, sitting beside his laptop, he had the keyboard reference open - basically every key makes Blender do something, and they have decided to focus so much on effectiveness that learnability has gone completely out the window. As such, they have created the 3D modelling equivalent of the Vi editor. Extremely effective, but with a learning curve greatly resembling a mirrored version of a href="http://www.debian.org/logos/openlogo-nd-100.jpg"the Debian logo/a. The other important thing which came out of this presentation was an introduction to the interaction management system in the Blender Gane Engine. Short short version is that in Blender, any object in the game world can have three types of game related data added to them: Sensors, Controllers and Actuators. A Sensor is something such as for example mouse input, a keyboard button or a magic 'always' sensor which is simply always true. A Controller is a piece of logic which can define a number of outputs associated with the sensor's values, and an Actuator acts on the game world (for example moving an object around, setting colour values and so on). So, most things can be scripted in this manner without writing any code. Afterwards Virtools was discussed, which has a similar graphical scripting system, which was described by someone as quot;Horrible for programmers, but amazing for game designers and graphics peoplequot;.br / br / After this Kim, Morten and i gave a short introduction to our university project about Behavior Trees, which will be implemented as a component for Gluon. A short explanation was given of what a behavior tree is, something i won't bother you the reader with (if you are interested, keep an eye on this blog as you can be sure there'll be something about it at a later date, when we're closer to project end), but the really interesting part here was the properties editor that is found inside the behavior tree editing tool. For those interested in the code to this thing, it can be found on gitorious: http://gitorious.org/gluon-bt/gluon-bt/blobs/master/src/gluon-bt-editor/btpropertywidget.h and http://gitorious.org/gluon-bt/gluon-bt/blobs/master/src/gluon-bt-editor/btpropertywidgetitem.h (plus their accompanying cpp files, of course). What this allows us is to basically just grab this code, do very few changes to it and have it work on GluonObjects, which are the generic objects that make up a GameObject hierarchy (GameObjects, Assets, Prefabs and Components are all GluonObjects). Much more on this later - when we've actually got something to say properly on Gluon Creator (hopefully tomorrow).br / br / The final large-scale discussion that happened was regarding a href="http://gluon.tuxfamily.org/wiki/index.php?title=Gluon_Project"the Gluon Project concept described on the wiki/a. What came out of that discussion was a more or less straight forward resolution that building Gluon Creator on top of KDevPlatform might well make sense - the reasoning behind this being that this already has functionality for version control and handling projects, and that what we would need would be to implement a project management plugin for it, and then create a UI based around it. Whether or not we will be using Sublime is entirely up in the air, and it may be overkill for what we need, but KDevPlatform does seem like the logical choice. It would also mean that any scripting languages we would support needs some simple coding assistance. To implement this we could either do something simple ourselves, or we can create language support for it in KDevPlatform. The KDE way, it seems to us, would be the second option. Any help with this endeavour would be greatly appreciated! (as, of course, any help with any part of Gluon img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / ).br / br / a href="http://www.flickr.com/photos/49031477@N00/4000685476/" title="IMGP3533.JPG by leinir, on Flickr"img style="float: left;" src="http://farm4.static.flickr.com/3527/4000685476_de30724d0e_m.jpg" width="240" height="180" alt="IMGP3533.JPG" //aAt six, the larger discussions finally ended and people started to work on coding more heavily. People all started playing around with their respective parts - much pair-programming or group-programming happened, with a number of small teams gathering around one or two machines, working hard on getting this or that piece working (especially KCL on MacOS X and KGL in general is getting much love, as is the a href="http://gluon.tuxfamily.org/wiki/index.php?title=Definition_Language"Definition Language/a handler, plus its assisting classes).br / br / a href="http://www.flickr.com/photos/49031477@N00/4000686130/" title="IMGP3538.JPG by leinir, on Flickr"img style="float: right;" src="http://farm4.static.flickr.com/3460/4000686130_5cc5f1974a_m.jpg" width="240" height="180" alt="IMGP3538.JPG" //aFinally at eight it was time for dinner... But people were so busy that we ended up working way past that, not leaving the office until an hour and a half later, when Knut stood up and exclaimed that we had to leave now or face the possibility of having nowhere to eat. This meant that when we got to a restaurant which was open, we went in there and were instructed that the kitchen was almost closed. However, a quick decision later, and everybody has beer on the table, and a few minutes later food starts getting served. Fastest service ever for twelve people, i'm sure! Kudos to the kitchen team at Weisses Brauhaus for providing us with such brilliant service - especially considering the waitress didn't understand a word of English, and still seemed very happy (stressed out though she was by the sudden influx). After dinner, which of course included the mandatory discussions of open source politics and general life stories, we decided that it was time for ice cream. In the words of the ice cream gurus: a href="http://www.youtube.com/watch?v=h724FR3ppOk"Pleasure is the path to joy!/a. We managed to find our way home at around 0100, and all went straight to bed.br / br / All in all, a really nice day!br / br / bGame Concept of the day:/b Hungry Hungry Hakcers - keep your hackers fed, or they get angry and you lose the game! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / bFinal point:/b We can do better! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /
Kategorie: Planet Amarok

Gluon Sprint - Day 1

Dan Leinir Turthra Jensen - October 10, 2009 - 08:15
Friday, everybody's arriving. After driving for 12 hours, the 4 person Danish contingent arrived in Munich safe and sound, and found two people already at the hostel, Arjen Hiemstra and Dirk Leifeld, both sitting in the lobby, where we joined them.br / br / As most people were slowly trickling into the hostel, we all hung around the lobby while the rooms were made ready for us. Much random talking happened, and around four the room keys were finally handed to us, and everybody put their stuff in the rooms and such.br / br / After this we all went out for a meal at a nice little restaurant down in town, where we were introduced to a mix of beer and soda named Radler - since only one person in the group is German (Dirk Leifeld), he was our interpreter. However, as it turned out, this was not really needed - everybody at the restaurant spoke English, so we could all order. One of the guys, of course, forgot to tell us that he is a vegetarian before we actually started ordering, so much fun ensued attempting to find a vegetarian dish in a place whose specialty is grilled foods img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / However, everybody was fed, and again much talking happened. One thing which was discussed around the table was the sound systems available to us for creating games. As we know already, Phonon is not really geared for such things as it is currently, and we do not know of QtMM is useful for it either. However, in Gluon there exists a library named KAL, which currently knows of two things: Playing sound effects and playing music.br / br / Furthermore was quickly discussed input systems. Qt currently lacks an input handling system powerful enough for use in games - there's keyboard, but it is not entirely fast enough, there is mouse support, which is fine for point-and-click things, but not so good for e.g. first person shooters, however there is no handling of joysticks and the like. In Gluon we're working around this by having KCL, which is already extremely powerful - the problem it has is that it needs a new backend for each new operating system. The backend on Linux is the very powerful evdev, but on MacOS X we have one person who through the last couple of weeks has been ripping his hair out trying to get input out of the system itself, and on Windows there's nothing so far (though the idea of using DirectInput has been tossed around).br / br / So, discussion points for Saturday now also include sound and input, on top of scripting and showing off Blender Game Engine and Unity3D which was already on the agenda. So, much to be done! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / After the meal, we went back to the hostel - which has really nice rooms, with en-suite bathrooms and plenty of room for the four people sleeping in each room - and people went straight to sleep. Personally, i went to sleep after sitting in the lobby for a while, not managing to stay awake. As i later find out, around half an hour later, two more of our team scheduled to show up Friday showed up (saw the texts on my phone this morning, telling me they had luckily found their way into their room), but at time of writing i have yet to hear from the final member (Sanro Andrade) coming in from Brazil. Hopefully he will be ok - i will find out when we meet up for breakfast in a few minutes.br / br / So, the first day went quite well, all things considered - people were tired after a long day of travelling (for most anyway, Leifeld only had three hours in a train, and others a couple of hours in a plane, bah! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" / ) - a really good day, with much talking both shop-talk and non-shop talk, which of course is at least as important at this type of thing. Getting to know how people work is just one of those things that's difficult to pick up through email only. So, good stuff all 'round! Looking forward to this sprint img src="http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br / P.S.: Yeah, i know - this entry isn't tl;dr compliant, and contains no pictures. Sorry, i shall endeavour to do better tomorrow when i'm not tired! img src="http://amarok.kde.org/blog/templates/default/img/emoticons/wink.png" alt=";-)" style="display: inline; vertical-align: bottom;" class="emoticon" /
Kategorie: Planet Amarok

SmartPointerList

Mark Kretschmann - October 9, 2009 - 18:41
Here's a little class that we developed for Amarok, and I thought it might be interesting for some of you as well (maybe KDElibs?). What it does is the following:br / br / Assume that you have a list of pointers to objects (they must be QObject subclasses). Sometimes such lists are used to cache pointers in multiple places, but the objects they contain (as pointers) might be destroyed at some point. In Amarok we had this problem with QAction: Many classes stored lists of pointers to actions, but sometimes actions were destroyed (e.g. on track change), and the lists got out of sync. You could probably see this as a design flaw, but we came up with a simple solution:br / br / emSmartPointerList/em is a QList for pointers which automatically removes a pointer when the object it refererences is destroyed. A simple idea (by myself), implemented with help from Ian Monroe and Max Howell (of Amarok/FileLight/DragonPlayer/Last.fm fame). In our case, it solved many ugly crashes that were pretty hard to debug. br / br / br / If you feel the class could be useful to you, have a look here:br / br / a href="http://gitorious.org/amarok/amarok/blobs/master/src/SmartPointerList.h"http://gitorious.org/amarok/amarok/blobs/master/src/SmartPointerList.h/abr / a href="http://gitorious.org/amarok/amarok/blobs/master/src/SmartPointerList.cpp"http://gitorious.org/amarok/amarok/blobs/master/src/SmartPointerList.cpp/abr / br / br / Enjoy img src="http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png" alt=":-)" style="display: inline; vertical-align: bottom;" class="emoticon" /br / br /
Kategorie: Planet Amarok

Free Music Charts script for Amarok 2.2

Sven Krohlas - October 9, 2009 - 06:46
Just a few days ago (yeah, might already be old news for some people out there) I released version 1.3.2 of the a href=http://kde-apps.org/content/show.php/Free+Music+Charts?content=91484Free Music Charts integration for Amarok/a. This one is required to work properly with Amarok 2.2.br/ br/ The FMC are a monthly internet radio charts show where only open music is allowed to take part. You can chose five songs from usually five newcomers and the best 15 tracks of last month to vote for. All songs can be downloaded and redistributed freely. You can get the script from the Amarok Script Manager (try the Get more scripts button) or from kde-apps.org.
Kategorie: Planet Amarok

Guess who’s the owner :D

Lydia Pintscher - October 7, 2009 - 17:06

Amarok license plate

Kategorie: Planet Amarok

I like curves

Orville Bennett - October 4, 2009 - 01:23
pAnd who doesn't? Like curves I mean. I'm not just talking about any old curves here though.br / The QtCurve style for KDE is, as far as I can tell, an attempt to unify the desktop UI experience between Gnome and KDE, and a darn good one at that.br / This isn't why I'm heaping praises on it today though (and again pouring shame on Qt's mac skin). Crap I just gave it away. But yeah, qtcurve makes KDE apps suck SOOOOOOOOOOOOO much less on a mac by sheer virtue of them not looking like complete and utter crap. And by suck less I actually mean it makes them enjoyable to use for long periods of time. I know, strongmadness/strong. /p pSo what's it all mean? It means I'm once again using my favorite audio player of all time, Amarok, on a regular basis. iTunes is still used but much less to play music. KMail's also been getting pretty heavy usage. It's on its way to being my day to day mail client once more. Again, because Qtcurve makes using it actually emenjoyable/em rather than just bearable./p pIf you'd like to try it out, it's not exactly straightforward though so here's what you'll need to do./p ol liDownload QtCurve for KDE./li liExtract it./li liEnter the directory./li liEdit the file style/qtcurve.cpp/li liDelete the line with q#include lt;QX11Infogt;/q/li liInstall to the root kde folder. code/opt/local/code for macports./li liIf you've installed from macports edit code~/Library/Preferences/KDE/share/config/kdeglobals/code and add:/li pre[General] widgetStyle=qtcurve /preliCopy a custom qtcurve theme, if you'd like (you'll see them listed after make install), to ~/.config/qtcurvestylerc/li li(Re-)launch your program./li liEnjoy a pleasant looking (I'm looking at you Qt style) and responsive (I'm looking at you Macygen style) user interface for your KDE progs./li /ol pI should mention that there is a much better way to fix this, ifdef the QX11Info include based on OS. Surely anything non X11 and therefore non-Unix will have no use for this.br / I've contacted the author via the spectacularly awful kde-look.org messaging system (whose captcha system seems designed to prevent spam by just discouraging people from messaging outright). Maybe this change will be incorporated into a new release of QtCurve. I wouldn't hold my breath though. /p pOne of these days it might make its way into macports though, once I figure out how to: /p ol liMake it so that QtCurve is used as the default style. I'll probably just lie and overwrite oxygen's theme file/li liModify the qtcurve mac theme and colors to look a bit closer to OS X./li /ol pAnd no. No screenies (or links) for you. I'm tired! /p pP.S. Amarok's icon sucks (wasn't this going to change? It makes my dock feel so dirty).br / P.P.S Amarok 2.2.0 is a solid release. If you've been holding back because of the 2.0-ness of the thing, give this release another try. Especially if you little bastards are lucky enough to be blessed with an OS which actually supports all of its features. But I'm not bitter. Really./p pimg width=650 height=523 src=/images/screenshots/amarok_2.2_layout.png /br / Default Qtcurve look 'n feel/p pimg width=650 height=523 src=/images/screenshots/amarok_2.2_moremac.png /br / Aqua like theme called Agua. /p pimg width=650 height=523 src=/images/screenshots/amarok_2.2.0_osx.png //p pa href=http://www.kde-look.org/content/show.php/Milky+Suite+%28aka+Milky+Air%29?content=109463Milky Theme/a/p
Kategorie: Planet Amarok

Sunjammer

Lydia Pintscher - October 1, 2009 - 15:05

In the last 14 weeks the Amarok team has been working hard to get Amarok 2.2 ready for prime-time. We’ve worked in dark cellars, in a nice living room in front of a warm fire, at the beach, at airports, in cabins in the wood, on the train – yea you get it – pretty much everywhere.

Today we can finally present you the result. Amarok 2.2 is out in the wild and brings lots of goodies people have been waiting for. Check out the release announcement and please digg it!

With that I say bye bye and run off to a very sunny island with my fellow rokers – oh wait, no – we gotta prepare 2.2.1. Stay tuned ;-)

More serious though: I’m getting ready for the GSoC mentor summit. Soooo excited.

Kategorie: Planet Amarok

Nokia Browntooth enabled…(Engrish.com Repost)

Alejandro Wainzinger - September 30, 2009 - 15:27
a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.engrish.com//wp-content/uploads/2009/10/nokia-connocting-poopie.jpg"img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 485px; height: 364px;" src="http://www.engrish.com//wp-content/uploads/2009/10/nokia-connocting-poopie.jpg" border="0" alt="" //abr /div"span class="Apple-style-span" style="font-family: arial, helvetica, sans-serif; font-size: 12px; color: rgb(102, 102, 102); line-height: 18px; "Let me call you back, we’ve got a crappy connection…"/span/divdivspan class="Apple-style-span" style="font-family:arial, helvetica, sans-serif;font-size:100%;color:#666666;"span class="Apple-style-span" style="font-size: 12px; line-height: 18px;"br //span/span/divdivspan class="Apple-style-span" style="font-family:arial, helvetica, sans-serif;font-size:100%;color:#666666;"span class="Apple-style-span" style="font-size: 12px; line-height: 18px;"I wonder that this isn't what Nokia means by Qt everywhere.../span/span/divdiv class="blogger-post-footer"img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1504418270400156450-1051747411730347643?l=awainzin-foss.blogspot.com' alt='' //div
Kategorie: Planet Amarok

Say goodbye to history

Jeff Mitchell - September 30, 2009 - 00:11

And by that, I mean say goodbye to an historical (read: old) bug.

I'd heard these whispers recently about "whenever I add or remove an album from the collection and do an incremental update, my collection gets messed up." Okay -- we've heard these whispers for a long time, but there were so many other things that had to be fixed first that it wasn't clear whether this was a symptom of a different problem or a problem of its own...and it could always be fixed with a full rescan.

However, with the collection being much more solid these days and with this being the only super-visible bug left that I knew of, I decided to tackle this. It turns out that, once the rest of the collection was behaving, this wasn't that hard to find...it just took a lot of debug tracing, because it wasn't obvious. Since the cause was the wrong field being used in a DB query to remove some tracks during an incremental scan, with anything other than a very tiny test collection it could quickly start to make no logical sense what was happening.

The reason I say the bug is historical is that the code causing it has been there since May 2008. While admitting that provides some fodder for naysayers and haters to harp on Amarok for such visible and longstanding bugs, I prefer to take the other approach: it means that all the various issues users have found since the total rewrite that was 2.0 *are* being found and *are* being solved. Some of them just take some time; it's a *lot* of code. But the proof is in the 2.2 ChangeLog.

I managed to sneak in the fix a day before 2.2 was tagged, so when Amarok 2.2 comes out scanning (both full and incremental) should be really quite solid. In fact, since this has been fixed in git, I've yet to hear of any more problems, just lots of happy users. It's just another way that the (very close!) 2.2 is going to *rock*.

Kategorie: Planet Amarok

KDE

Lydia Pintscher - September 26, 2009 - 23:35

I finally got around to writing the GSoC wrap-up for the dot with a short intro to what all our students achieved during this summer. 37 successful projects out of 38 is awesome. It was great to work with this year’s mentors and students alike. Thanks to every one of them for making the admin team’s life as easy as it gets.

I think our new selection process had the biggest impact on this year’s great results (besides a lot of very awesome students and dedicated mentors of course). For those not familiar with it: In previous years we had one big  IRC meeting with all KDE mentors and a few more people to select the best projects and students for KDE out of over 200 proposals. As GSoC slots are very limited and everyone wanted to get a few for their sub-project this was quite chaotic and not always fair especially to smaller sub-projects that didn’t have the power to make themselves heard in those meetings. But given the time constraints and size of KDE this was what we had to deal with.

Last year bigger sub-projects like KOffice and Amarok got a fixed amount of slots and were asked to select their students themselves.  This improved things a lot for the big projects as they got the projects they really needed and wanted without other sub-projects messing with the selection. But the smaller ones were probably even worse off than in previous years.

This year Jeff, Leo, Ian and I decided to change this and make it better for everyone. Our goal was to make it fair for all involved and at the same time give more power to the sub-projects in selecting their students because in the end only they really know what they want and need. No use in me deciding if KDE Games needs someone working on KGolf more than someone working on KPatience. Oh and of course we wanted to get rid of that hated hour-long IRC meeting.

So we started a big spreadsheet on Google Docs with a sheet for every sub-project as well as one for proposals which don’t fit in any of the sub-projects. Then we sent an invite to our mentor mailinglist and asked all mentors to add the proposals for their sub-project with a possible mentor and backup mentor as well as if the student already got in contact with our community somehow to work on improving the proposal. Then we asked them to rank their proposals, why they think this particular proposal is important for KDE as a whole and which projects they definitely need and which ones they would rather not have. Armed with this huge spreadsheet and some keeping in mind of the proposals no-one was fighting for because they didn’t belong to any sub-project the admin team sat down and created a list of the students KDE would really love to have. We ended up with a list of 60 students or so. Everyone was happy – no sub-project left behind. Everyone got the projects most important to them and no-one was going away with no student. We knew we weren’t going to get them all and we already had a few students we knew we would have to dismiss. But since they were on the maybe-list according to the previous ranking anyway that was ok. Then we got the first number from Google. We would likely get 42 slots. Ok. That meant all our maybes had to go. Tough but doable. Then the second round of slot allocations came. We got down to 35. Outsch! That would mean quite a few of our we-really-want-this projects would need to be cut. We had an emergency meeting with a few people to cut even more without having to let a sub-project go without any student at all but it was pretty much impossible. Thankfully Leslie is awesome and we got 38 slots in the end which meant we could give at least one slot to every sub-project that requested one and everyone got the projects most important to them (which turned out to also be the ones most important to KDE as a whole btw).

This crowd sourcing approach was a lot fairer because it is basically impossible for every mentor to read over 200 proposals and select the most important ones. (Though huge props to those who did!) Everyone could concentrate on their part of the proposals and really make a good judgment on whether the project is good and if the student is actually able to do it or just a poser. And I think our success rate this year speaks for itself :)

Claudia bought tickets for Leo and me to the mentor summit last week and I’m really excited to finally put a mark on that big white spot on my personal travel map called America :D

Now gearheads: Is there anything you think we can improve for GSoC next year? What did you like? What didn’t work so well? What do you want Leo and me to talk about at the mentor summit with all the other orgs?

Kategorie: Planet Amarok

Amarok,KDE and Kubuntu at OpenExpo in Winterthur, Switzerland

Myriam Schweingruber - September 26, 2009 - 19:23

Another edition of Openexpo in Winterthur is over and I owe you a (not so) short report:

Eckhart, Andi and Adriaan held a booth for KDE, Mark and Sven were manning the Amarok one and I tried to be at both the KDE and Kubuntu booth during these two days. This was made quite easy by the organizers as they arranged the three booths around the same pilar we shared with the guys from the Swiss OLPC Team.

While Andi could only attend the first day (thanks again, Andi, for helping us, it was really nice meeting you!), Adriaan was also wearing his FSFE/FTF hat and was busy with attending talks, FSFE and Swiss FOSS meeting and getting in touch with a lot of Swiss activist, especially during the second day. He sometimes found a little time to show KDE running on OpenSolaris and talk about the pilars of KDE and brought some very yummy Dutch cookies. Eckhart held the KDE flag steadily, selling swag, showing 4.3.1 and handing out CDs (we had Kubuntu 9.04 and Fedora KDE Live Media kindly provided by the Fedora guys from the booth right in front of us). He even found some time on brainstorming about how to improve the booth to make it better despite the little space and prevented the table from getting too much cluttered with empty water glasses, paper and such. Great work, Echkart, as usual! I sat somehow between the KDE and Kubuntu booth (actually the booth of the official Swiss Ubuntu LoCo Team), showing KDE 4.3.1 on my laptop to give people some taste of what they could expect for the next release. The Swiss Team was present with Manuel and Roman on Wednesday, Dirk and Dani on Thursday (since Dani helped out a the OOo booth on the first day) and Nick was the nice guy who attended all two days! He really deserves a special Thank You for his patience and expertise :) It was also a nice occasion to meet Dirk, who is usually helping out the German team and took his Thursday afternoon off to give a hand.

img_0512

Don't try this!

Despite the ongoning economic crisis, the event was nice although very noisy, with good catering and the organizers did a lot to make us comfortable (thanks again to Hannes and the two Matthias from ch/open !). The adjacent business event called Topsoft was focusing on the same themes as usual, ERP and CRM, with big booths, suits and ties everywhere, expensive flyers and buzzwords. They even had Brazilian dancers on the first evening “apéro” :) But even without the big money, we had a lot of fun on our side and were greeted with a yummy supper at the social event, listening to some lightning talks (where Sven presented the Darker Radio Charts available as a script in Amarok) and making new acquaintances. Add to that the Free Beer which made us all quite happy :)

The evening of the second day was topped by a gathering of about 20 Free Software activists in a Spanish bodega with very good tapas and some beer and sangria in Zürich. So sad Eckhart had a train to catch and couldn’t join in, but we will repeat that on the next occasion, promised. How about Openexpo in Spring again?

Kategorie: Planet Amarok

Compiling Amarok from git locally - full summary

Myriam Schweingruber - September 26, 2009 - 09:05

As we have more and more questions for support on how to install Amarok 2.2 from GIT, I thought I might make another synopsis on how to install a local build. Apparently linking to previous posts is not very useful because people tend not to read the links…

Warning: please do not try this if you are not comfortable with compiling from sources, and be aware that compiling from a development branch can break a few things!

Note: as I use Kubuntu, this is heavily biased, but there are a few indications for other distributions, as far as those have been provided by the previous bloggers.

Thanks go to Mark Kretschmann who started that adventure and wrote the first instructions, to Stephan Jau who wrote an excellent How-to for the SVN version for Kubuntu users and to David Faure who corrected some of our settings. And, of course, all the Amarok Team who do a tremendous job every single day :)


This document explains how to install Amarok 2 from GIT in your home directory - in an easy way :-)

Update:October 12th 2009 I updated a few things since the first edition, in particular the README content in section 5 and adapted it to the upcoming Karmic Koala aka Kubuntu 9.10 (remember, I am biased)

If you already have an Amarok 2.x version installed from your distro, un-install it to prevent setting conflicts and similar. You will need the kdelibs and kdebase-runtime from KDE 4.2 or higher. Please see also the minimal requirements and mandatory dependencies in section 5.


1.Install git, the compiler and KDE 4 development packages:

  • In Kubuntu, Debian, and all their derivatives:
    • sudo aptitude install git-core build-essential kde-devel
  • In Archlinux:
    • sudo pacman -Sy git base-devel kdelibs kdebase-runtime
  • In Gentoo:
    • sudo emerge -av dev-util/git kdelibs plasma-workspace


2. Install ccache to speed up compilation

ccache is a very nice tool that can speed up your compilation. It speeds up re-compilation of C/C++ code by caching previous compiles and detecting when the same compile is being done again. Install the package from your distribution and set the size of the cache to 2 GB with the command

ccache -M 2G

This will take 2Gb of space in your local directory, but the gain of time is really impressive. Enable the use of ccache by adding it to your local .bashrc, described in step 3 below:


3. Define the PATH and local environment

  • Append the following to $HOME/.bashrc:
    • export PATH=$HOME/kde/bin:$PATH
    • export PATH=/usr/lib/ccache:$PATH
  • Reload your edited .bashrc:
    • source $HOME/.bashrc

    NOTE: if you are not using the bash shell, edit your proper shell config file (~/.zshrc or ~/.tcshrc or whatever it may be).


    4. Make KDE aware of Amarok’s plugin location:

  • echo 'export KDEDIR=$HOME/kde' >> $HOME/.kde/env/myenv.sh
  • echo 'export KDEDIRS=$KDEDIR' >> $HOME/.kde/env/myenv.sh

  • 5. Make sure you have all the necessary dependencies

    The README file in the source states the required and optional dependencies, but I might as well write it down here, so there is no other document to be read for the lazy ones. Of course, before diving into compiling from source, check if those dependencies are available in the package repository of your distro :)

    Note: you must also install the devel versions of these packages!

  • Required
    • MySQL 5.0 (or newer) Embedded: libmysqld compiled with fPIC (In-process database support)

      Note: If you have installed MySQL Embedded in non-default location (i.e. $HOME/usr), Amarok may fail to start with error regarding libmysqlclient library. In this case, add the following string to your ~/.bashrc:

      • export LD_LIBRARY_PATH=$HOME/usr/lib/mysql:$LD_LIBRARY_PATH

        where $HOME/usr is the path you will use in the --prefix option when compiling (see step 7. below)

  • Optional
    • MySQL 5.0 (or newer) Server (external database support)


    5.1.Various dependencies that might cause compile errors and have to be installed:

    (these are rather specific to Kubuntu, might have other names in other distributions and/or are already installed)

    • libstrigiqtdbusclient-dev
    • libsearchclient-dev
    • libmysqlclient15off
    • libmysqlclient16-dev
    • libmysqld-dev
    • libmysqld-pic


    6. Create folders:

    • mkdir $HOME/kde
    • mkdir $HOME/kde/src
    • mkdir $HOME/kde/build
    • mkdir $HOME/kde/build/amarok


    7. Checking out and Building:

    Now you need a source checkout from Gitorious. In the folder ~/kde/src/, type the following command:

    git clone git://gitorious.org/amarok/amarok.git

    this will drag approx. 55-60Mb of data, depending on the moment you actually make this checkout.

    Everything is now ready to build:

    • cd $HOME/kde/build/amarok
    • cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/amarok
    • make install


    8. Updating KDE Config:

    • kbuildsycoca4 --noincremental
    • Note: this might not be necessary for most of the cases

    Now you are ready to run Amarok 2, by typing “amarok” in the shell. We strongly recommend you run amarok with the -d and –nofork option, so you will have debugging enabled and can get a valid backtrace if Amarok crashes.


    9. Updating your Amarok build:

    Since the development is quite fast with git, you should update your Amarok build regularly, and a daily checkout is not too much. This is made easy with the following command:

    • cd $HOME/kde/src/amarok
    • git pull

    This will update your local git branch. If you have done modifications to your local branch you would like to keep, make sure you update with the --rebase option. See also the git tutorial for KDE in section 10.

    You can now simply build again with

    • cd $HOME/kde/build/amarok
    • make install

    Since you have installed ccache, a full build will speed up over time. To have an idea about the build time, just type time make install when building. If you have several CPU cores, you can speed up even more with the -j[n] option, where [n] is the number of CPU cores +1. Of course, the more CPU you use for building, the less you will have available for other tasks :)


    10. More information and useful links

    Don’t forget: running a development version also means that it is not stable and can break anytime ! This is especially true after a feature freeze, when the developers merge their personal git branches to the master branch.

    Note: To be notified about major changes you definitely should subscribe to our mailing list amarok@kde.org at https://mail.kde.org/mailman/listinfo/amarok. Of course you will also find help in our #amarok channel on irc.freenode.net, but reading the mailing list is mandatory and spares us a lot of time.

    Since you don’t want to repeat all this completely when you upgrade to a newer version of your preferred distribution, you should consider installing your /home directory on a separate partition from the start, it will spare you quite some time and hassle in the future.

    Edit: Casper van Donderen just pointed me to the possibility to have the latest Amarok from git on Windows, too: if you build KDE using the emerge system, just type emerge amarok at the kdeenv command prompt. Thanks for the hint, Casper!

    Kategorie: Planet Amarok
    Subskrybuj zawartość