Saturday, October 31. 2009
A Howlin' Halloween Posted by Nikolaj Hald Nielsen
in freespirit at
16:58
Comment (1) Trackbacks (0) A Howlin' Halloween
Last year was started what we hope will become a long running tradition when an Amarok user known as linkmaster03 sent us this picture of his amazing Amarok pumpkin carving.
This year, Jessy Ouellette dropped by our IRC channel with this picture of his pumpkin masterpiece, which absolutely blew our minds! ![]() So happy Halloween to everyone and a big thanks to Jessy for letting us blog this picture! Wednesday, October 28. 2009
Post Amarok 2.2.1: Adding some color ... Posted by Nikolaj Hald Nielsen
in freespirit at
05:33
Comments (38) Trackbacks (0) Post Amarok 2.2.1: Adding some color to your life!
The upcoming Amarok 2.2.1 release is turning out to be quite an impressive one, especially considering how short of a release cycle we have put ourselves on. The changelog is full of good stuff already!
True to form though, I am going to do a little "2.2.1 is going to be great, but checkout what we have in store for 2.2.2" post! So here goes: If you are recoiling in horror at all those random colors, fear not, you will not see them at all. If however you have a ton of moodbar files lying around for your collection and liked this feature in Amarok 1.4.x, you are in luck! Showing the moodbar (if available) in the progress slider is configurable, and moodbars have been added to the playlist layout editor so you can add it to your favorite playlist alyout in any way you choose. Even the 4 different moodbar "styles" (normal, angry, frozen and happy) have been ported over. The moodbar generator itself seems to work still, even though it could really use some love and a porting to Phonon (or even to qtscript so it could be easily integrated into Amarok and, for instance, run on demand when playing a track or process the entire local collection in one go). Saturday, October 17. 2009
Qt Developer Days 2009 Posted by Dan Leinir Turthra Jensen
in leinir at
05:06
Comments (0) Trackbacks (0) Qt Developer Days 2009
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
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. 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 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 "We are so great, and our greatness is only exceeded by the greatness of our greatness!" 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. 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. 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. 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. 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 & 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 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 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. 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 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 vision document. Game concept of the day: I Qt Coffee - Make sure there's enough coffee and warm cocoa for all the Qt developers Final point: Make sure to ask Sandro for lottery numbers! Friday, October 16. 2009
Gluon Sprint - Day 4 Posted by Dan Leinir Turthra Jensen
in leinir at
05:06
Comments (0) Trackbacks (0) Gluon Sprint - Day 4
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.
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. 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. 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. Lunch 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.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 At 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.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). 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! Game concept of the day: Lost - The Game! Getting lost in new and exciting locations, all over the world! Munich Edition! Final point: Geeks have an uncanny ability to pick out identical t-shirts Thursday, October 15. 2009
Amarok 2.2.1 - We're getting there! Posted by Mark Kretschmann
in markey at
05:18
Comments (40) Trackbacks (0) Amarok 2.2.1 - We're getting there!
Here's a little teaser article, showing off some of the work we're doing for the upcoming Amarok 2.2.1. 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.
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: http://gitorious.org/amarok These are some of the improvements in 2.2.1 so far: Words are one thing. We want screenshots! So here goes - please remember, it's a preview snapshot: Monday, October 12. 2009
Chromium: It really shines Posted by Mark Kretschmann
in markey at
15:14
Comments (32) Trackbacks (0) Chromium: It really shines![]() 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! 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). Now, what makes Chromium so great? Let me just list a few things that I love about it: 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. Monday, October 12. 2009
Gluon Sprint - Day 3 Posted by Dan Leinir Turthra Jensen
in leinir at
09:10
Comments (7) Trackbacks (0) Gluon Sprint - Day 3
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
The 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 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. Just 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 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: "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." At 18:28:41 he posts the following on IRC: "gluon on Mac OS X (native 64-bit Cocoa application): http://chaos.troll.no/~harald/Block.tiff" In 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 Having 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 Game concept of the day: Knitting Hero (multi-touch, with two styluses) Final point: i need a new camera... hey, is that an N900? Sunday, October 11. 2009
Gluon Sprint - Day 2 Posted by Dan Leinir Turthra Jensen
in leinir at
08:46
Comments (2) Trackbacks (0) Gluon Sprint - Day 2
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.
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 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. 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 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. 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! 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. 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 the Debian logo. 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 "Horrible for programmers, but amazing for game designers and graphics people". 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). The final large-scale discussion that happened was regarding the Gluon Project concept described on the wiki. 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 At 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 Definition Language handler, plus its assisting classes). Finally 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: Pleasure is the path to joy!. We managed to find our way home at around 0100, and all went straight to bed.All in all, a really nice day! Game Concept of the day: Hungry Hungry Hakcers - keep your hackers fed, or they get angry and you lose the game! Final point: We can do better! Saturday, October 10. 2009
Gluon Sprint - Day 1 Posted by Dan Leinir Turthra Jensen
in leinir at
04:15
Comments (2) Trackbacks (0) Gluon Sprint - Day 1
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.
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. 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 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. 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). 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! 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. 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! 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! Friday, October 9. 2009SmartPointerList
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:
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: SmartPointerList 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. If you feel the class could be useful to you, have a look here: http://gitorious.org/amarok/amarok/blobs/master/src/SmartPointerList.h http://gitorious.org/amarok/amarok/blobs/master/src/SmartPointerList.cpp Enjoy Wednesday, October 7. 2009Thursday, October 1. 2009SunjammerIn 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. 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. |
Amarok LinksCalendarQuicksearchCategoriesSyndicate This BlogBlog Administration |

