Wednesday, September 26. 2007
Playlist mockup, part deux Posted by Dan Leinir Turthra Jensen
in leinir at
13:28
Comments (12) Trackbacks (0) Playlist mockup, part deux
After Nikolaj's brilliant work on the new playlist, people have started making lots of thinky thoughts and such, which is a brilliant thing - the problem is, of course, that we have been making those exact thinky thoughts ourselves(*), and as such, here i am blogging the mockup i've already referred to in Nikolaj's entry a few times. So, with no further ado, here's a link to my little mockup, done while bored in a lecture, but after considerable amounts of prior thought and suchlikes
A slight further explanation from a comment in Nikolaj's entry. To understand how the tracks in this playlist works, imagine the following logic: Take any track in the playlist:
(*) Just to make sure this is not taken as snotty-nosed-ness - Really just saying this so that people's well-tuned mental energy can be spent thinking thoughts that haven't been thought already Wednesday, September 26. 2007
Playing with the Playlist Posted by Nikolaj Hald Nielsen
in freespirit at
05:06
Comments (37) Trackbacks (0) Playing with the Playlist
As some of you might have noticed, I skipped last weeks status update post. The reason for this was quite simply that I was doing a bit of Magnatune work as well as getting a new development workstation setup, so I did not really do anything interesting worth blogging about! This week I will be doing mostly Magnatune stuff as well, but I did spend the first two days doing a bit of interesting Amarok work that I thought I would share.
Since the new playlist for Amarok 2 is basically built using a QGraphicsView, we can do some realy interesting stuff with it. One of the things I have been thinking about was a way to group tracks from the same albums together to take up less space and avoid having the same cover shown over and over again. So after playling with this for a while, and completely discarding the fist prototype I did (as the other devs managed to convince me of the error of my ways), this is what I've come up with: While the albums in this prototype looks like a coherent whole, each track is actually still an individual item that can be dragged around and removed just the same as with regular track items. Also, the header of each album is actually drawn as part of the first track in the album. This means that there are no "Ghost" elements and that the underlying playlist model can remain intact. My favorite feature of the current implementation is that it groups items on the fly, meaning that if I insert a single track, it will appear as a normal track, but if I insert another track from the same album right after the first one, the playlist will rearrange itself to show the two tracks as part of an album. There are many things that do not work really well yet, such as correctly updating groups when items are moved or deleted, but I will work on that. All in all, I think that this makes the playlist a whole lot more usable, while still potentially looking really good! I am still considering whether it should somehow be possible to collapse an album and show only the header ( and maybe the currently playing track if it is from within that album ) but this is something that can always be added later. Also, it might be interesting to show some more album related metadata in the group header that applies to the album but not the individual tracks, such as total running time. And now for the part I really should not have to write... Please remember that this is a PROTOTYPE and as such no work has been done on making it look good yet. So pretty please, with sugar on top, don't complain about the layout or the horrible color used to mark items as part of a group, it is currently just trying to illustrate a concept. Friday, September 21. 2007Power saving++
Intel launched lesswatts.org, a collection of tips and tools for extreme powersaving. And I, as someone who loves very long standby times, of course started right away enhancing my gomobile script (I run this script on demand, since it doesn't make much sense to activate all power saving settings just for going downstairs where AC plug is waiting anyway).
I have to admit that I was using powertop since I'm running Kubuntu Gutsy, so I can't exactly recall my battery standby time with stock Kubuntu, but I think it was slightly more than 4 hours. With powertop I managed to increase it by 2 hours (i.e. slightly more than 6 hours), but what I achived with the tips on lesswatts is just _awesome -> 7 hours 44 minutes... with quite decent (meaning for me bearable) settings.Thats why I want to say "Thank you for the hardware, the drivers and the tuning tool/tips." to Intel. ...next to do: check out all the fine tools, yummy Thursday, September 20. 2007more on AppleI don't keep it a secret that my grudge against Apple is somewhat personal; about a month after DAAP support was added into Amarok, iTunes 7 was released which dose not allow third-party applications to browse its DAAP server. That after I had worked hard to make Amarok function with the already discovered iTunes v4.5 DAAP hash. (iTunes 7's DAAP hash still hasn't been recreated, it probably doesn't help that the people who setup a site for to figure out the hash make a product obviously meant for piracy ARRGH! on campus networks.) So its nice to see some growing awareness that Apple doesn't play nice, even in the somewhat mainstream media like BBC news. That gives a good overview of the case of "if Microsoft is a monolopy, then so is Apple." I really don't care whether the EU takes action against Apple. Hindering your customers in using your product is generally bad. You don't have to be a monolopy to do that. On a somewhat related note, my last blog was 'breaking news' so it was neat to see it get picked up by Digg twice, Slashdot, Heise, Ars, and Boingboing. Tuesday, September 18. 2007
Avast! Today be Pirate Day! Posted by Mark Kretschmann
in markey at
22:41
Comments (0) Trackbacks (0) Avast! Today be Pirate Day!Monday, September 17. 2007KDE gear for Australia/New ZealandFor some time now I’ve wanted some KDE gear to show off here down under. I’m not specifically talking about large bulk cargo shipping for selling or giving away at events, but rather more personal use. Shipping costs from the US store or EU store are quite pricy for single or low quantity orders. What could be cooler than wearing an awesome KDE or Amarok shirt around the neighbourhood? You’d be cooler than everyone else, that’s for sure! Down to the crunch: are there any Anzacs out there that may be interested in a combined shipping effort? Sunday, September 16. 2007iPod Classic Will Be SupportedAs recently reported on Slashdot, Apple, in its infinite wisdom, has added a checksum to the iPod database apparently to restrict non-iTunes products (like Amarok via libgpod) from having the ability to add music. To me this sounds pretty familiar. This is the same thing they did to iTunes 4.5 to make it harder for other apps to read off their DAAP shares, they changed it again in iTunes 7; open source apps are still unable to read iTunes 7 DAAP shares. But there's better news on this iPod front. From #gtkpod today: <wtbw> okay guys <wtbw> i think we're done. <wtbw> let me code something just to check [30 minutes later] <wtbw> can i hear a fuck yeah? <wtbw> works for both mine and xamphears :> wtbw suggested donations from thankful users go to Cancer Research UK. Really the only "correct" solution is for folks to stop using Apple products. The iPod might have its own version of DAAP's iTunes 7 which has a checksum more difficult (apparently) to crack. But for the time being, things are fine. Sunday, September 16. 2007Homeless People
Wtf is going on with our society? I am living in Germany, one of the richest countries in the world. Life is good here. It's common here to have a nice flat, wear beautiful clothing and to drive comfortable cars like Mercedes. We should not complain. And yet, life isn't good for everyone here. There is a small minority of people who cannot afford to buy a car, or a flat, or nice clothes; in fact they cannot afford to buy food to survive the day.
When I'm strolling around our shopping mile, I see this fat guy walking, stuffing his fat face with food to get fatter. And then I see this thin guy, who's sitting on the ground. Begging for money. Oh and this guy has no feet, and no legs. He's sitting there all day, begging for people to give him some money. To survive another day. I'm asking myself what's going on with this country. Does the rich guy need another Mercedes, or could he afford to give 10 Euros per month to keep the guy without legs from starving? Personally, I'm not sure what the solution to the poverty problem is. Myself I'm not rich; in fact at times I'm quite poor as well, but I try to help homeless people where I can. And still I realize that this isn't a real solution. Giving some bucks to a guy is just a very temporary remedy. Our oh-so-smart society must be able to come up with a better plan. Saturday, September 15. 2007Amarok needs you...
...or rather, I do?!
Anyway, Amarok got plans to launch its own web radio. As you might have suspected, this causes a lot of work, which is the reason I need someone to take maintainership for Radio Anorak (doing show schedules, finding interesting content, caring about the infrastructure and maybe create a team). As much as I'd like to do that, I just can't effort yet another very time expansive job. So, I'm looking for help, the requirements are actually quite low:
Friday, September 14. 2007
Weekly status update II Posted by Nikolaj Hald Nielsen
in freespirit at
09:42
Comments (75) Trackbacks (0) Weekly status update II
As promised, here is once again a small update of what I have been spending the last week of Amarok hacking doing.
This week I have generally been diving a bit deeper into the Amarok and even kdelibs code to debug some pretty serious issues. The KIO system is in a bit better shape than it was at the beginning of the week, thanks to KDE dev. Thiago, and as I use this intensively for the services, Magnatune not least of which, this is really good news. Other cool stuff that has happened over the week: - SVG artwork. Our new artist Lee really came through for us this week with a load of new scalable vector graphics (SVG's) that has been integrated into Amarok. I worked on the main tool bar and the new service list backgrounds while Mark pulled some cool hacks with manipulating SVG's in real time to achieve a nice smooth animation of the new sidebar buttons. This new artwork can be seen in the screenshots below. - SVG caching. It turns out that when you use as many SVG images as we do now, propper caching becomes very important. So I spent the better part of a day caching everything I could get my hands on, to great effect. Performance is much better in most cases now. We still do have some issues with the cache emptying itself every once in a while, causing lag as everything needs to be re-rendered, but this concern is shared with the plasma crew, so hopefully a solution is in the works. - Playlist performance. Our new playlist had a nasty habit of recursively redrawing itself causing 100% constant cpu load as soon as any tracks were added to it. This was fixed. - Service Framework / mp3tunes service. As the KIO issues had been keeping me from doing more real work on the dynamic fetching aspects of the service framework, I figured now would be a good time. The results of this is that the service framework is now much more usable for writing almost any kind of service imaginable. As a proof of concept I finished up the mp3tunes oboe locker service that I have had lying around for a while, and actually got it working perfectly in the space of just a few hours. Browsing and streaming from the locker inside Amarok is cooool! - Playlist loader. One piece of code that had not yet been ported was the old playlist loader. This is needed in order to load any kind of playlist file as well as listen to many streaming radio stations. I have spent all day today ripping the old one apart and building a new, hopefully much simpler version. The new one currently only supports local and remote m3u and pls files, but at least it is working! I guess these are the highlights. And now, onto the moment you have all been waiting for, screenies!!! Over and out! Thursday, September 13. 2007Image resizing using energy pathsIt’s good to be subscribed to lots of different mailing lists, just for the absolutely wonderful pockets of air which exist around all the traffic. On the kde-imaging mailing list there was a thread about image resizing algorithms. My interest was piked and it paid off - the video explains a dynamic image resizing technique by removing paths of least enery. This is probably done by some complicated Fourier transform, and the results are phenomenal. Resize an image by removing redundant parts of the image, not by making everything smaller. Furthermore, this technique can be also used to remove particular elements of an image by applying negative energy weights to an area. Fascinating! Tuesday, September 11. 2007git stashUpgraded to the latest Git last night. From the responses to the previous blog and #git chatter I knew I had git stash to look forward to. And this morning it has already come in handy. Last night I started a small refactor of the TrackAdvancer class (it now has a previousTrack method and needs to be renamed) but then went to bed and left Amarok uncompilable in my local copy. So to compile the latest Amarok this morning (the top toolbar has a nifty new SVG background) all I had to do was git stash, git svn rebase and then build. A git stash apply puts the local changes back in and I continued working on it. Friday, September 7. 2007
So the Twitter hype has finally reached the Amarok team as well. If you want to follow us doing exciting things like washing dishes or eating pizza (maybe in the opposite order), get a Twitter account. Here's a list of Amarok personalities you can follow:
mark_k (that's me!), nhnFreespirit, sebr, apachelogger, Nightrose And some KDE folks I follow: aseigo, sebasje, danimo I'm really looking forward to using the Twitter Plasma applet, once I'm running a KDE4 session permanently. I guess that's like the perfect use case for an applet Friday, September 7. 2007
Weekly status update I Posted by Nikolaj Hald Nielsen
in freespirit at
10:45
Comments (10) Trackbacks (0) Weekly status update I
I figured that since I am now getting paid to do this and spending the first few weeks fixing whatever I feel needs fixing in Amarok, I should send my new employer a nice status update of the things I have accomplished during the week, as well as some of the general developments in Amarok2. And since I would most likely blog many of these thing anyway, I thought I would combine the two things into one.
So, here is what I have been up to so far this week: - Fixed ( worked around ) some rather annoying plasma related crashes that prevented Amarok from actually playing music. - Quite a bit of work on the new playlist. Made it use the netire width of the playlist view as well as have alternating background colors or each item. Also, the playlist now correctly receives notifications when an album updates its cover image. This means, for instance, that if you add a bunch of tracks from Magnatune and none of the covers are cached, the playlist will initially show the default no cover image for each track. In the background, Amarok will start to download and cache the covers, and once they are ready, the playlist will update itself to show the correct covers. - Made a much nicer way to present each service available in Amarok. Instead of showing the services as a simple list with an icon, the browser now uses Qt4's delegate system to draw a custom list item for each. It is not particularly pretty yet (need the help of an artist with this one) but it already looks much nicer than the old one and it gives an idea of how good looking this could be made to be with some more work. - Made the forwards and back buttons actually skip tracks ( and created a nasty crash in the process that was quickly fixed by Seb ) - Spent half a day trying to debug a nasty bug in KIO that has been haunting me for a while. I did not really get to the bottom of it, but did find a workaround for some cases. - I made the foundations of a new Shoutcast service. This is not really a new thing as the 1.4.5 and later versions already included this in the playlist browser, but since the old playlist browser is no more, the functionality needed a new home. I do think that it will be much more visible this way however as it was fairly well hidden before. Also, doing thos "port" gave me an excuse to try to extend the service framework to work with sites that requires that you dynamically fetch data (as opposed to downloading one unified database dump ). So even though this took some time, it has hopefully been worthwhile as it will make it easier to support stuff like Ampache servers or the mp3tunes locker service in the future. and now of course, a few screenshots. This first one shows of the new service browser and the updated playlist: And this one shows off the shoutcast service: In these screenshots can also be seen a few other interesting new developments, such as the proof of concept svg buttons for the sidebar, or the new position of the statusbar under the context view. As always, these screenshots are of code in HEAVY development, so dont fret over details just yet! (really, please dont! All in all, Amarok2 can actually be used for playing music now (works really well with streams from Magnatune and Jamendo) so progress has definitely been made but he entire team. Our very own project founder markey solved the one killer bug that was preventing the playlist from actually progressing from one track to the next, instantly increasing usability by a couple of thousand percent Thats all for now folks. More updates to follow, so stay tuned! Wednesday, September 5. 2007Fingers? Burning?I’ve been playing way too much of Frets on Fire lately. If hacking becomes too much, just lift up your keyboard and use it as a guitar and thrash it! Infact, I’m enjoying it so much that I’ve stopped rebooting to play Bioshock. The default package comes with just three obscure songs, but you can import songs from Guitar Hero and Guitar Hero II, which is great. For those of you without the game, I’m sure you are resourceful enough to get a copy of the data. I’ve discovered that my fingers can hit the keys faster and in stranger patterns than I’ve ever thought possible. I think that I should slow down a bit on the axe-grinding since my vision becomes distorted after playing it - a frequency modulated effect as objects quickly drift up and down in front of my eyes! Eric Clapton - I challenge you to a duel! |
Amarok LinksCalendarQuicksearchCategoriesSyndicate This BlogBlog Administration |

