Planet Amarok

Camp KDE 2010 Announced!

Jeff Mitchell - August 7, 2009 - 12:18

I'm pleased as punch/as a fat cat/etc. to point you to The Dot (specifically here) to see the official announcement and some details. More details will be forthcoming soon (and especially as we get the web site in order). Start clearing your schedule and working on your presentations!

分类: Planet Amarok

AFT and MusicBrainz track identifiers

Jeff Mitchell - August 7, 2009 - 12:15

A heads-up: Amarok File Tracking can now use MusicBrainz track identifiers for its embedded IDs. This means people that have used Picard to tag their files but not amarok_afttagger can still get some embedded AFT goodness! It also enables an interesting "mode" because it essentially enables song tracking vs. actual file tracking (which you may or may not want, depending on your particular needs).

Full details are here.

分类: Planet Amarok

Camp KDE 2010 Announced!

Jeff Mitchell - August 7, 2009 - 08:18
I'm pleased as punch/as a fat cat/etc. to point you to a href=http://dot.kde.orgThe Dot/a (specifically a href=http://dot.kde.org/content/announcing-camp-kde-2010here/a) to see the official announcement and some details. More details will be forthcoming soon (and especially as we get the web site in order). Start clearing your schedule and working on your presentations!br /
分类: Planet Amarok

AFT and MusicBrainz track identifiers

Jeff Mitchell - August 7, 2009 - 08:15
pA heads-up: Amarok File Tracking can now use MusicBrainz track identifiers for its embedded IDs. This means people that have used Picard to tag their files but not amarok_afttagger can still get some embedded AFT goodness! It also enables an interesting quot;modequot; because it essentially enables song tracking vs. actual file tracking (which you may or may not want, depending on your particular needs)./p br / pFull details a href=/wiki/Amarok_File_Tracking#Using_MusicBrainz_identifiersare here/a.br //p
分类: Planet Amarok

Coming Soon to Amarok 2...

Alejandro Wainzinger - August 6, 2009 - 16:59
a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_vlB73cxVKVI/SnsMP1TD65I/AAAAAAAAAKg/GoPKQEsUHb8/s1600-h/ums.png"img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://4.bp.blogspot.com/_vlB73cxVKVI/SnsMP1TD65I/AAAAAAAAAKg/GoPKQEsUHb8/s400/ums.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5366896847086676882" //adiv class="blogger-post-footer"img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1504418270400156450-867937739399564257?l=awainzin-foss.blogspot.com' alt='' //div
分类: Planet Amarok

Where is the buzz?

Lydia Pintscher - August 4, 2009 - 13:18

The buzz is at buzz.kde.org of course ;-)   Check it out and watch what people are saying about the KDE 4.3 release on Identi.ca, Twitter, Flickr, Picasaweb and YouTube. Don’t forget to upload your own screenshots and screencasts!

(Thanks to the Ubuntu team for the code, toma for putting it into a KDE theme and Nuno for a new header image.)

分类: Planet Amarok

GSoC Status Update August/1

Sven Krohlas - August 3, 2009 - 18:01
We now have complete test coverage for everything in Amarok.h, that is still being used, I cleaned up and removed non-used functions. And: all the tests now run successfully. Interesting were the fixes for Amarok::cleanPath(): this method tries to remove accents of all kinds from a string. Internally this was done using a lot of QString::replace(). But: catching all accented characters this way is a pita and the test failed, of course. The answer were some Unicode tricks: in some normalized storage forms the accents and the manipulated character are stored seperately. So after normalizing the string it is just a matter of removing all possible accents from it. QString::replace() is then only needed for special cases. The better I know Unicode the more I like it.br/ br/ Apart from that CaseConverter is now also equipped with tests. DirectoryLoader caused headaches: it has only void methods, but manipulates the playlist, so there it could be verified if it worked correctly. But as it's running async in a seperate thread I failed to sync the test framework with the availibility of the results: how to wait for a signal to appear? Directly calling the test slot using a signal/slot connection will not work.br/ br/ Also another small but ugly bug showed up: sometimes parts of Amarok debug output show up in the testlogs. I still have no idea at all why.br/ br/ So quite soon we are going to merge the current work into Amarok git master. Making sure that the test framework doesn't affect release builds (install test files, link to testlib) is the next step, but that should hopefully be trivial. Afterwards more test classes are on the agenda and hopefully an idea how to make TestDirectoryLoader behave as it should.
分类: Planet Amarok

GSoC Status Update July/3

Sven Krohlas - July 27, 2009 - 17:45
So, the new C++ based unit testing framwork is now working. A simple blockquote amarok --test /blockquote will run all available tests. Logs can then be found in blockquote ~/.kde4/share/apps/amarok/testdata/lt;datetimegt;/ /blockquote or whatever directory this corresponds in your distribution. Currently there are tests for SmartPointerList (which already existed and just were adopted to the new system), parts of PlaylistManager and several funtions in Amarok.h.br/ br/ The tests in Amarok.h also already found a few bugs, especially in Amarok::vfatPath() (at this point I could fill pages with rants about how evil VFAT and the Windows API are...). It was really nice to see progress in the tests when trying to get the function to work as expected. The tests caught regressions quite well. I was able to perfectly see for which data it crashed or delivered wrong results when working on the code and introducing an error. Automated testing definitely can save a lot of time!br/ br/ The tests for Amarok::cleanPath() also still fail partly. Oh, and if someone could run all the tests, especially the ones for Amarok::vfatPath() under Windows it would really be great, too. :)br/ br/ The current code with detailled commit messages can now be found on Gitorious: a href=http://gitorious.org/~krohlas/amarok/krohlass-clonehttp://gitorious.org/~krohlas/amarok/krohlass-clone/a.br/ br/ Next on my agenda are the remaining tests in Amarok.h and working on getting those for Amarok::cleanPath() to run successfully, but not by changing the tests. ;-)
分类: Planet Amarok

How to install 2.2-git in your home (an update)

Myriam Schweingruber - July 22, 2009 - 13:00
!-- s9ymdb:215 --img width='77' height='72' style=border: 0px; padding-left: 5px; padding-right: 5px; src=http://amarok.kde.org/blog/uploads/gitorious.png alt= /br / a href=http://gitorious.orghttp://gitorious.org/abr / br / Since Amarok switched to Gitorious, those of you running a local SVN build with markey's a href=http://amarok.kde.org/blog/archives/989-Building-Amarok-SVN-in-HOME-An-Update.html title=Local SVN buildinstructions/a will have to do some changes to stay up-to-date::br / br / li First, you need to install git, which is in the package repositories of your distribution./libr / li Erase the installation you have in ~/kde/src/amarok//libr / li In the folder ~/kde/src/, type the following command: br / ul git clone git://gitorious.org/amarok/amarok.git - this will drag approx. 56Mb of data/ul/libr / li Go to your build folder in ~/kde/build/amarok/ and erase its content, as you need to do a full rebuild/libr / li Run again the cmake command: br / ulcmake -DCMAKE_INSTALL_PREFIX=$HOME/kde -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/amarok/ul/libr / li Then complete with 'make install' and voilà, you have the most recent 2.2-git img src=http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png alt=:-) style=display: inline; vertical-align: bottom; class=emoticon //libr / br / For updates, you just run 'git pull' in your ~/kde/src/amarok/ folder and proceed as before with 'make install'.br / br / As usual, don't hesitate to come to #amarok on irc.freenode.net for more questions.br /
分类: Planet Amarok

How to install 2.2-git in your home (an update)

Myriam Schweingruber - July 22, 2009 - 07:00

http://gitorious.orgSince Amarok switched to Gitorious, those of you running a local SVN build with markey’s instructions will have to do some changes to stay up-to-date::

  • First, you need to install git, which is in the package repositories of your distribution.
  • Erase the installation you have in ~/kde/src/amarok/
  • In the folder ~/kde/src/, type the following command:
      git clone git://gitorious.org/amarok/amarok.git - > this will drag approx. 56Mb of data
  • Go to your build folder in ~/kde/build/amarok/ and erase its content, as you need to do a full rebuild
  • Run again the cmake command:
      cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/amarok
  • Then complete with ‘make install’ and voilà, you have the most recent 2.2-git :-)
  • For updates, you just run ‘git pull’ in your ~/kde/src/amarok/ folder and proceed as before with ‘make install’.

    As usual, don’t hesitate to come to #amarok on irc.freenode.net for more questions.

    分类: Planet Amarok

    Presenting the KDE network on Facebook

    Jeff Mitchell - July 22, 2009 - 00:45

    Many KDE developers are on Facebook. A while back I wondered if it would be possible to have an official KDE developers' network on Facebook -- after all, there are networks for schools, jobs, cities, and more (and for many developers, KDE is literally or figuratively a job...)

    As it turned out, there was a "Kde" network -- but something was odd. To join a work network you have to have an email address affiliated with the network. KDE owns kde.com and kde.org -- so who was this? The only other "KDE" I could find that seemed like it would be legit was the Kentucky Department of Education, and I rather doubted it was them, because they would likely have used all-uppercase KDE as well. So I started an inquiry with Facebook, trying to figure out if either it was someone squatting on our name (and trademark) or whether it was some legit organization -- in which case, would they mind donating the network to us?

    After several months of back-and-forth with the people at Facebook, who were very nice (if a bit slow :-) ), I'm happy to say that we've regained the KDE network (properly capitalized) as our own. I still don't know the whole story as to who was there before, and never will due to their privacy policies, but I'll say this:

    • If you were in the "Kde" network before and Facebook asked if you would mind donating it to us, and you did, thanks so much!
    • If someone was simply squatting in the "Kde" network before, then thanks, Facebook, for kicking them out!

    To join the network, go to Settings -> Networks, and enter KDE and your kde.org email address in the appropriate fields.

    分类: Planet Amarok

    Presenting the KDE network on Facebook

    Jeff Mitchell - July 21, 2009 - 20:45
    pMany KDE developers are on Facebook. A while back I wondered if it would be possible to have an official KDE developers' network on Facebook -- after all, there are networks for schools, jobs, cities, and more (and for many developers, KDE is literally or figuratively a job...)br //p br / pAs it turned out, there was a quot;Kdequot; network -- but something was odd. To join a work network you have to have an email address affiliated with the network. KDE owns kde.com and kde.org -- so who was this? The only other quot;KDEquot; I could find that seemed like it would be legit was the Kentucky Department of Education, and I rather doubted it was them, because they would likely have used all-uppercase KDE as well. So I started an inquiry with Facebook, trying to figure out if either it was someone squatting on our name (and trademark) or whether it was some legit organization -- in which case, would they mind donating the network to us?br //p br / pAfter several months of back-and-forth with the people at Facebook, who were very nice (if a bit slow img src=http://amarok.kde.org/blog/templates/default/img/emoticons/smile.png alt=:-) style=display: inline; vertical-align: bottom; class=emoticon / ), I'm happy to say that we've regained the KDE network (properly capitalized) as our own. I still don't know the whole story as to who was there before, and never will due to their privacy policies, but I'll say this:/p br / ulbr / liIf you were in the quot;Kdequot; network before and Facebook asked if you would mind donating it to us, and you did, thanks so much!/li br / liIf someone was simply squatting in the quot;Kdequot; network before, then thanks, Facebook, for kicking them out!/li br / /ulTo join the network, go to Settings -gt; Networks, and enter KDE and your kde.org email address in the appropriate fields.br /
    分类: Planet Amarok

    GSoC Status Update July/2

    Sven Krohlas - July 21, 2009 - 08:21
    This week I was thinking about the idea that came up after the last status report: why a gui if mainly developers will run the tests? So I checked out the ways Qt offers to make each test class a standalone executable (using the QTEST_MAIN macro). This is quite nice but has a massive drawback: compiling and linking to more complicated classes with a lot of dependencies to other parts of Amarok and generated files becomes a pita (I tried that with PlaylistManager). Those problems vanish when integrating all tests into Amarok itself. So on my branch we have now a new parameter --test for Amarok, intended to run all available unit tests. The constructor of a test class now simply calls the init-, test- and cleanup-methods.br/ br/ This approach is quite fast currently (here two test classes are being run): blockquote amarok:nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; BEGIN: static void App::runUnitTests()br/ amarok:nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; END__: static void App::runUnitTests() - Took 0.00038s /blockquote But... I also miss any output currently. when looking at the docs about QCOMPARE they shocked me a bit: Note: This macro can only be used in a test function that is invoked by the test framework.. Well, so I might need to write some utility functions/macros for that approach. I'm still investigating this problem atm.
    分类: Planet Amarok

    DB changes — call for benchmarkers!

    Jeff Mitchell - July 18, 2009 - 03:06

    I've done some work in trunk over the past week that may have a huge impact on many of you Amarokers. Read on, and if you can do some benchmarks for me, fantastic.

    First, the schema/table changes.

    1. We've seen some issues where people have, for whatever reason, ended up with InnoDB tables instead of MyISAM tables. This is probably the result of their DB being created long ago before we were explicitly telling the mysqle startup to skip InnoDB. This mainly causes a problem because some columns cannot be as wide as we'd like them to be when using InnoDB. So, the first thing being done is that an ALTER TABLE is being forced on every table to explicitly convert to MyISAM. In addition, ENGINE parameters are now used during table creation to be more explicit in the future.
    2. Some of you might have seen complaints in the debug output about indexes not being able to be created due to a max key length, which by default in MySQL is 1000 (compile-time option). So, some columns have had their widths adjusted so that all indexes are now successfully created.

    Now, the other changes:

    As we added more features, scanning got slow. Like, really slow. You'd spend more time running SQL queries than actually scanning your files. So I've been aiming to change that.

    Over the past week I've committed changes that remove, per track, anywhere from 1 to 6 SQL queries. The exact amount is highly dependent on your file set, but there is a minimum of one less SQL query per track. If you've done a lot of file moves and AFT kicks in, it'll be an even more massive speedup. I'm going to try to do some further tuning, but already results are looking positive.

    Nikolaj has reported that his scan time went from 68 seconds to 18 seconds -- more than 3x faster. Mikko didn't notice a speedup, but he said that whereas scanning used to peg his CPU at 100%, it no longer does so. What I want to know is: how does this affect *you*?

    If you want to help, do the following:

    1. Backup your DB. If you're using external MySQL do a mysqldump, if you're using internal MySQLe backup the mysqle folder in the Amarok data directory.
    2. Update to a revision from a week ago...say, 995000.
    3. Wipe your DB.
    4. Start Amarok -- it will do a full scan because of the empty DB. Time it as it does the scan.
    5. Repeat steps 3 & 4, so that you can see what the time is like after caching.
    6. Update to current trunk (at least 998470).
    7. Repeat step 3.
    8. Repeat steps 4 and 5.

    Then leave a reply here with your values. If you watch your CPU during each of the scans, report that here too. Thanks!

    分类: Planet Amarok

    DB changes -- call for benchmarkers!

    Jeff Mitchell - July 17, 2009 - 23:06
    pI've done some work in trunk over the past week that may have a huge impact on many of you Amarokers. Read on, and if you can do some benchmarks for me, fantastic./p br / p First, the schema/table changes./p br / ol br / liWe've seen some issues where people have, for whatever reason, ended up with InnoDB tables instead of MyISAM tables. This is probably the result of their DB being created long ago before we were explicitly telling the mysqle startup to skip InnoDB. This mainly causes a problem because some columns cannot be as wide as we'd like them to be when using InnoDB. So, the first thing being done is that an ALTER TABLE is being forced on every table to explicitly convert to MyISAM. In addition, ENGINE parameters are now used during table creation to be more explicit in the future./li br / liSome of you might have seen complaints in the debug output about indexes not being able to be created due to a max key length, which by default in MySQL is 1000 (compile-time option). So, some columns have had their widths adjusted so that all indexes are now successfully created./li br / /ol br / pNow, the other changes:/p br / pAs we added more features, scanning got slow. Like, really slow. You'd spend more time running SQL queries than actually scanning your files. So I've been aiming to change that. /p br / pOver the past week I've committed changes that remove, per track, anywhere from 1 to 6 SQL queries. The exact amount is highly dependent on your file set, but there is a minimum of one less SQL query per track. If you've done a lot of file moves and AFT kicks in, it'll be an even more massive speedup. I'm going to try to do some further tuning, but already results are looking positive.br //p br / pNikolaj has reported that his scan time went from 68 seconds to 18 seconds -- more than 3x faster. Mikko didn't notice a speedup, but he said that whereas scanning used to peg his CPU at 100%, it no longer does so. What I want to know is: how does this affect *you*?/p br / pIf you want to help, do the following:/p br / ol br / li Backup your DB. If you're using external MySQL do a mysqldump, if you're using internal MySQLe backup the mysqle folder in the Amarok data directory./li br / liUpdate to a revision from a week ago...say, 995000./li br / liWipe your DB./li br / liStart Amarok -- it will do a full scan because of the empty DB. Time it as it does the scan./li br / liRepeat steps 3 amp; 4, so that you can see what the time is like after caching./li br / liUpdate to current trunk (at least 998470)./li br / liRepeat step 3.br //li br / liRepeat steps 4 and 5./li br / /ol br / pThen leave a reply here with your values. If you watch your CPU during each of the scans, report that here too. Thanks!br //p
    分类: Planet Amarok

    Apple breaks Palm Pre compatibility. Or: an open letter to Palm

    Bart Cerneels - July 16, 2009 - 14:48
    Dear Palm,br /br /When you launched the Pre everyone was very excited about the excellent job you did. Everyone except Apple that is, they don't like such strong competition.br /br /You decided to reverse engineer the iTunes database "protocol" used in Apple products and implemented it from the device side on the Pre. This has the benefit of being able to sync the Pre with iTunes on any PC or Mac without installing extra software.br /And you didn't have to invest in development of your own desktop software, which is not a differentiating feature for you. You're in the business of selling phones, not software. I don't think deciding to "outsource" this to Apple was a smart move though.br /br /So now the bully is attacking you on *their* playground:br /br /a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.engadgetmobile.com/2009/07/15/itunes-8-2-1-brings-pres-music-syncing-capability-to-a-halt-2/"img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 450px; height: 299px;" src="http://www.blogcdn.com/www.engadget.com/media/2009/07/itunes-821-2.jpg" border="0" alt="" /br /a href=http://www.engadgetmobile.comspan style="font-style:italic;"From Engadget Mobile/span/a/abr /br /And then a href="http://www.businessweek.com/technology/ByteOfTheApple/blog/archives/2009/07/apple_to_palm_i.html"they say it's your own fault/a. You could go crying to the principle (or whatever you want to call court you want to file the anti-competitive lawsuit with).br /br /But if you have a problem, if no-one else can help, and if you can find them, maybe you can hire the span style="font-weight:bold;"AMAROK-TEAM!br //spanbr /The media-player support in Amarok 2 is shaping up to be very flexible, complete and easy to implement thanks to the hard work of 2nd time GSoC student and a href="http://amarok.kde.org/blog/categories/29-xevix"hacker extraordinaire Alejandro/a.br /a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://nhnfreespirit.kollide.net/pics/amarok_multiple_collections.png"img style="float:right; margin:10px 10px 10px 10px;cursor:pointer; cursor:hand;width: 250px;" src="http://nhnfreespirit.kollide.net/pics/amarok_multiple_collections.png" border="0" alt="" //abr /We can quickly add support for the Palm Pre, or any other player, providing there is a way to access the database and we have documentation of the data-format. We already have iPod and MTP support and the same system is used to implement audio CD as a collection. iPhone OS 3.0 is being worked on as well as UMS (generic USB device) and OBEX (many cellphones).br /We promise not to change our application to prevent users to use Amarok with your device. Not only do we care about our users, we are not a competitor to you or have any ulterior motives.br /Amarok is already fully supported on all flavors of Linux and we have beta releases on Windows and Mac OSX which just need a bit of polishing and stabilization.br /br /Serious business proposals can be send to the Amarok team at business@getamarok.com (these emails will not be publicly readable).div class="blogger-post-footer"img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/24319740-4128653618627283816?l=commonideas.blogspot.com'//div
    分类: Planet Amarok

    GSoC Status update July/1

    Sven Krohlas - July 13, 2009 - 14:56
    So, at the GCDS we discussed the problems I encountered and also the future of my GSoC project. We finally came to the conclusion that QtScript is not the best tool to get unit testing into Amarok. Of course being able to send a user a test script would be nice, but as outlined previously: making all the needed APIs available to scripts is anything but trivial.br/ br/ So we came up with this: ul liTests should be written in C++, using the QtTest framework./li liLater we can make the test framework scriptable, if we still want to./li liTests should run inside Amarok, not as seperate binaries (reduces linking time, CMakeLists.txt complexity)./li /ul Basically this meant that I needed to remove my current work, but that's still better than wasting an endless amounth of time trying to bend tools into shape to use them for something they weren't meant to be used.br/ br/ I started on this new approach at the GCDS, but there is not yet much to be seen. A Run Unit Tests help menu entry in Amarok debug builds, the start of a GUI to run selected/all tests. But I'm quite confident that now we will have much faster progress than before.
    分类: Planet Amarok

    Gran Canaria Desktop Summit

    Sven Krohlas - July 13, 2009 - 14:26
    So, people are asking me about the days in GC, and I'm getting tired of it. Time to blog. Hopefully I don't forget anything important. :)br/ br/ So, first of all: no, it was no holiday, The day I arrived was the official beginning of the conference and it ended just the night before I left. Which of course doesn't mean we weren't allowed to have some fun.br/ br/ So, the journey begun on July 3rd, Stuttgart airport. My first flight ever, before that all conferences could be reached by car or train. Well, that's the benefit of living in central Europe, I guess. It was pretty cool to meet Fregl and other KDE people at the airport in Germany and just a few hours later again over 3000 kilometers away in Gran Canaria (they were on a different plane). Anyway, the flight itself was boring. The only moments it really felt like flying were those right before touch down next to the military aircrafts on the island. The others made it in time to catch the Bus to the Santa Catalina bus station in Las Palmas de Gran Canaria, I was a few minutes too late for that. The problem is: the busses go there hourly. But there are also some (from the same bus line 60) that go to San Telmo. As the bus driver explained (his English wasn't very good), that it's just a 20 minutes foot walk to Santa Catalina I decided to go there instead of waiting. Well, the bus driver was wrong: it took me 40 minutes to my hotel, which was located in between those two stations. Well, so at least I have seen some more parts of the city...br/ br/ I guess we had one of the cheapest hotel on the island, the official travel agency simply wasn't able to manage the trip for a lot of conference participants. Anyway, for sleeping and taking a shower even the cheapest hotel should be good enough. But not for having a reception that is actually able to open the door. I was waiting for about 20 minutes, ringing the door bell again and again, when it finally opened. Some other guest was leaving. So I got inside. Of course due to my delay I missed Sebr, my room mate. The reception was empty, but the window into the reception room could be opened easily. That's what you get when inviting hackers into your hotel and don't offer them the expected service. ;-) I simply left my luggage there and left again to check out the conference location, which should just be 20 minutes or so away by foot. We heard that number before? Yeah, history repeats itself...br/ br/ I had a printout of the OSM map of the area with me, but as I didn't realize that parts of the highways on it were located inside a tunnel and I had the wrong maps on my Garmin GPS device (Spain... but WITHOUT the Canary Islands... *damn*). I of course managed to walk at least 5 kilometers more than needed. And so i learned: 1) nearly no one speaks English at that place and 2) Complicada!, when asking a native taxi driver for the way. In the end, just a few meters away from the Alfredo Kraus Auditorium I heard a voice shouting SVEEEEEN loudly across the square. Mamarok and Markey found me. :) The conference registration was already closed, the Canonical-sponsored welcome party nearby (here the OSM data was helpful again) and so everything worked out fine for the first day. All the free beer had been drank and they serve a Cuba Libre by giving you a half full (empty?) rum filled glass together with a small bottle of cole. No lemon. And more cola than is needed to fill up the glass. Strange. Very strange.br/ br/ The next day was mainly Keynote day. So a very hangover-friendly program. Richard Stallman talking about free software, Mono and the Church of Emacs. He even sang the Free Software Song as a person in the audience asked for it. A gnu has been sold of 150 euros, iirc. So basically the usual and expected talk from RMS, but still amusing. There was one free icecream and coffee sponsored by Intel each day at the autitorium. Oh, and after registering everyone received a green Qt-towel, a Google drinking bottle and a Nokia SD-card reader. Nice. The towels are very useful when trying to spot geeks on the beach. 700 people in the main hall were also way too much for the wireless network. Oh, and thanks to Casper for lending me a netebook for the conference, I would not have survived without it!br/ br/ Sunday the Akademy talk sessions started, additionally to the Cross Destop ones. During lunch break I also learnd how evil the sun in GC can be. Always walk on the sidewalk where you find some shadows, always were something to protect your head. I learned the hard way and used the afternoon to think about it in the hotel. So I missed the group photo, but certainly not the social event in the evening, located at the Club Sotavento, sponsored by Nokia.br/ br/ On Monday there were several interesting talks. I really think the getting things done one had some useful ideas in it. Also Bart and Nikolaj talked about free software business ideas, especially with Amarok in mind. The whole business track talks complemented one another, imho. The day ended with the Akademy awards ceremony, where as always last years winners announced this year's ones. Also the KDE group photo was made afterwards (yeah, didn't miss that one at least). The KDE party (sponsored by Basyskom) then took place at the Terraza El Cielo, which even some taxi drivers didn't know. I just drive you to the place all the other taxis go. Well, the other taxis were right. Oh, and totally cheap, btw: about 4 euros across the city. That's nice, isn't it?! I guess there I discovered tinto verano: red wine with ice cubes and zitron or lemon limonade. Nice stuff.br/ br/ Tuesday was the yearly meeting of the KDE e.V., so basically a day off for non-members. Soooo many different people told me I should definitely apply for a membership, so I guess I'm gonna do it in the next few weeks. Well, anyway, some of the few non-members then met at the Playa de Las Canteras beach to get a slight sunburn (I wrote I learned something? well...) and do some hacking afterwards in a hotel lobby.br/ br/ Wednesday: first day at the second conference location, the Gran Canaria university ULPGC - Universidad de Las Palmas de Gran Canaria. Here we Amarok people located in one of their computer labs to hack and discuss a lot of different issues during the next few days. Dynamic Playlist, GSoC, certain bugs, Windows and Mac builds, etc. We decided that my Summer of Code project should use C++ unit tests instead of ones written in QtScript, for example. Details follow in a blog entry seperated from this one. And why do television reporters have to walk right in a BoF and do their recording including moderation during the time everyone around them wants to discuss things? Collabora sponsored the last official party of the event in the evening, at the Terraza Black Lounge. Spirits were included. ;-)br/ br/ After going on with the discussions the next day many conference participants joined the free tourist trip to Maspalomas. The dunes were quite interesting, as you imagine the Sahara. But all the rest of the place... one large tourist trap. Horrible. Looking at the sea and knowing the ~230 kilometers away people are starving in africa, while you can eat German potato salad and drink Bavarian beer... definitely not a place to go on holidays for me.br/ br/ The next two days went on with discussions and hacking, but on Saturday we decided to meet directly in Las Plasmas, not at the university, as so many people had already left the event. Details on all of those debates will show up in our Wiki soonish.br/ br/ And finally the flight back was a bit more interesting. You know the legendary if there's a doctor on board... sentence? Well two seats next to me some woman got tachycardia, it seems. But two doctors were found, stabilized the situation and we arrived in time in Stuttgart again. You might want to check out Flickr and other sites to see pics.
    分类: Planet Amarok

    GSoC update – lasagna code

    Teo Mrnjavac - July 9, 2009 - 21:30

    It’s been more than a month since my last GSoC status update. I wanted to blog more often, but unfortunately I had nothing shiny to show, all the work I’ve done was under the hood, mostly on implementing multilevel sorting and refactoring the playlist code. The refactor is what took most of the time and it’s still not finished. Basically what I’ve been doing is converting one kind of italian pasta into another, spaghetti code into lasagna code.  So a couple of new classes have popped up to enforce a consistent interface for all the playlist proxies and to share code, and I’ve been trying to make every proxy talk only to the proxy directly below it.

    In pseudo-UML, this is the situation I’m trying to achieve, the arrow means “is-a” and the arrowless line means “has-a” or generally “talks-to”:

    amarok-playlistuml

    I’m almost there, but right now, even if the tracks are displayed sorted, they are played in the original order which makes no sense, so the next step is to make the code that handles progress through the playlist (navigators) talk to the topmost proxy (GroupingProxy). Also, a new proxy might pop up soon to cleanly handle searching, which is a pretty different concept vs. filtering that just happens to share the same GUI.

    Anyway, as a refreshing break from the Playlist::*Proxy heavy lifting, I hacked together a new testing interface for multilevel playlist sorting:

    amarok-newsortinggui

    Disclaimer: I’m aware that it’s ugly as hell, and that it doesn’t allow to sort by inverse alphabetic order, it’s just a temporary GUI for everyone to play with and test the sorting functionality. I’m still a few weeks away from starting work on the real thing, which I plan to implement as a breadcrumb-like widget.

    分类: Planet Amarok

    Akuadec

    Alex Merry - July 9, 2009 - 11:29

    Another day of the Gran Canaria Desktop Summit. After yesterday’s post, I got several offers of power adaptors. However, I ended up buying one on my way back to the hotel, along with a bunch of food for lunch today (the lunches here at the university are poor and quite expensive for what they are).

    In fact, speaking of food, I had the worst meal I’ve had this week, and one of the worst I’ve had in my life, last night. We went to a Chinese all-you-can-eat buffet. Now, now, don’t scoff. I’m had some good (although never excellent) food at all-you-can-eat buffets. It seems that the Canary Islands is not the place for them, though. This one was so bad that after my first plateful, I was still hungry but didn’t want to eat any more. Avoid like the plague.

    This was in direct contrast to the meal I had with the Amarok guys the night before, which was really nice (if expensive) – masses of paella, salad, chips and warm chocolate brownie. It was seriously good.

    Today we had more Amarok discussions. So far we’ve discussed:

    • liblastfm on Windows
    • Playlist synchronisation
    • Unit testing
    • Whether scripts should be able to respond to Amarok quitting (and potentially slow it down)
    • A UPnP collection
    • Reorganising the source files
    • Playdar
    • The UI for dynamic playlists, and context-sensitive information for the area on the left of Amarok (where collections and services etc. are)
    • The EngineController class
    • Mac/Windows ports

    Still to come:

    • Media devices update
    • The evil “organise files” bug (pro tip: don’t use Amarok 2 to organise your files for now)
    • UI clutter

    We’ve had a very productive couple of days, and Leo’s been taking photos of the whiteboard, so we have a permanent record of our discussions.  Expect blog posts about the cooler things we discussed.

    分类: Planet Amarok
    聚合内容