Thursday, May 21. 2009
Amarok Junior Job: Auto-download new ... Posted by Bart Cerneels
in stecchino at
05:52
Comments (0) Trackbacks (0) Amarok Junior Job: Auto-download new podcasts
A recent comment by progmanos on the post of the 2.0.1.1 release reminded that I still have to implement Podcast episode auto-downloading. In the hurry to get 2.0 released I did add the config option, but forgot to add the actual code to make it work.
![]() In Amarok 2 Podcasts are implemented in classes derived from PodcastProvider. There can be mutliple providers, which allows for instance podcast syncing between Amarok and an iPod. The default provider is SqlPodcastProvider. This is where the auto-download function should get implemented. This is a nicelly contained and not to steep introduction to Amarok development. So it's an excelent Junior Job. If progmanos or anyone else would like to have a go at it, contact me on #amarok on irc.freenode.net. My nickname is Stecchino. Thursday, May 21. 2009
Amarok podcasting 2.0 and post-2.0 plans Posted by Bart Cerneels
in stecchino at
05:52
Comments (0) Trackbacks (0) Amarok podcasting 2.0 and post-2.0 plans
Hey fellow developers and users,
In Juli 2007, at Akademy Glasgow I started implementing podcasting support in Amarok2. Since then I was sidetracked a little, as you may be aware. The little time I did manage to spend designing and implementing was short and far from focused. So a lot of features are not finished or just plainly missing. The framework I created underneath suffered from the same lack of focus and is need of a good review. I'm aware there is probably some overdesign and some parts might be to complex. If you feel you can help in that area I suggest you take a look at extragear/multimedia/amarok/src/podcasts . Send questions, comments and suggestions to amarok-devel@kde.org . The 3rd beta from Amarok 2.0 is already out the door and podcasting support is still not finished. In order to make it I had to reduce some goals I had set for myself during those rainy summer days in Scotland. Here's the plan: Amarok 2.0: The focus ATM is on finishing the SqlPodcastProvider, Podcastmodel and PodcastCategory (GUI). SqlPodcastProvider uses tables in the standard SQL database, adds and updates the feeds using PodcastReader and downloads to disk using the regular KIO-jobs. To make the podcasting fully functional though we'll need to reintroduce:
The GUI currently shows all episodes ever read from the feed, which obviously needs to be addressed. The GUI for 2.0 should be very similar, if not identical to Amarok 1.4, probably minus folder tree grouping support since that is better handled generically for all Playlists (which PodcastChannel is in our class diagram). If anyone has a bit of Qt Model/View experience and would like to see podcasting in Amarok 2.0 I suggest you send a mail to amarok-devel@kde.org or ping me on irc (Stecchino on #amarok). Without help we might have to drop it's from 2.0 completely because it's a bit much for me alone to complete and stabilize. Amarok > 2.0: I do have a plan for a complete GUI overhaul post-2.0. I'll get some art and usability advice in another blog post when the time comes. The 2.x releases should see more advanced features being introduced that the framework is already designed to support: For the SqlPodcastProvider specifically:
Wednesday, May 20. 2009
Amarok Dockwidgets - The Followup Posted by Nikolaj Hald Nielsen
in freespirit at
07:21
Comments (73) Trackbacks (0) Amarok Dockwidgets - The Followup
Yesterdays blog entry about a prototype QDockWidget based Amarok 2 interface got a nearly overwhelming amount of positive feedback. So let me start out by saying thank you to everyone who commented.
It did make us think about some things though. Since the vast majority of comments would very much like to see this feature included in Amarok, you guys must have some kind of idea what you would actually use this flexibility for, and what kind of layout you want to create. So today we are going to try to do a little experiment based on all this feedback. What we would greatly appreciate is if you would do a small simple mockup of what kind of layout you think you would create using this feature and post it to imagebin.ca or somewhere similar and then link it in the comments below, if possible with a very short description text. We are not talking about spending hours in the Gimp making a pretty picture, a simple pencil-on-the-back-of-a-napkin type sketch will do just fine. All it should show is how you would, based only on the possibilities show in the video, arrange the main interface elements, which ones would be placed where, hidden completely, or stacked together using tabs. A very important note is that this is not a free form chance to dream up an entirely new interface, but only about what you would change if this new feature became available. To keep things simple, please post each new mockup as a separate top level reply. We know that the results of this will be quite biased, as what seems like a really good layout in theory might not work when you actually try it out in the real world. So ideally this experiment should really be done after this feature has made it into Amarok, but since there is currently no timeline for that, we are going to do this as best we can anyway! The really interesting thing to see here is whether everyone has their own personal ideas about what would be a good interface layout, or if many of the suggestions gravitate towards something similar. If we get enough feedback on this, we will follow up later with another blog post about the result and any lessons learned. If any of you needs to revisit the video, here is the direct link. Tuesday, May 19. 2009
Amarok Power User Feature: ... Posted by Jeff Mitchell
in jefferai at
19:48
Comments (0) Trackbacks (0) Amarok Power User Feature: Batch-mode collection scanning (Redux)A long time ago I promised to post an update when I got incremental batch scanning working. Well, as it turns out, that happened a long time ago too, but I never got around to writing the Wiki page for it. I've corrected that flaw. Anyone interested in scanning their collection locally instead of across a network connection, or keeping their collection up-to-date when Amarok is closed, should definitely give it a read! http://amarok.kde.org/wiki/Batch_Mode Continue reading "Amarok Power User Feature: Batch-mode collection scanning (Redux)"Tuesday, May 19. 2009
UserBase Competition - Round 3 Posted by Lydia Pintscher
in Nightrose at
15:51
Comments (0) Trackbacks (0) UserBase Competition - Round 3Two weeks have passed since I announced round 2 and I am very happy with the result. The Amarok page improved a lot and is ready for the release of Amarok 2.1. Many thanks go to Karthikp, the winner of round 2! Awesome work! You definitely get a beer when we meet. So who is next? Plasma! A few days ago the Plasma page on UserBase was a sorry little copy of the Plasma FAQ. Einar moved the FAQ already and was kind enough to start the new Plasma page. Now it needs more people to fill the missing spots. This is where you come in! Go to UserBase, get an account (non-OpenID login now possible as well thanks to danimo \o/) and start on either the main Plasma page or updating the FAQ where needed. This is a good way to get started with contributing to KDE and at the same time helping fellow users. As in previous rounds a beer (or similar drink of your choosing) is waiting for the winner at Akademy or another event. Tuesday, May 19. 2009The Canaries make me weep![]() You might know that Akademy 2009 is going to be held in the Canary Islands in July. It’s going to be fantastic and fun and hot and warm and we’ll be absolutely spending time at the beach rather than listening to some technical mumbo jumbo. But I have to say - it must be one of the most ill conceived locations to put a conference. It’s far from the US. It’s relatively far from Europe, and it’s fucking far from Australia. The only people that will have a short trip will be those in Western Sahara. My tentative flight route is ridiculous - via Singapore, Milan and Madrid. That’s 3 stop overs. 38 hours of travel time. Plotting straight lines from stop to stop puts the trip at a whopping 19514.39km. Just so you know just how far this is: it is 32% of the radius around Saturn. I’m not even going to tell you the cost. Tuesday, May 19. 2009
From the Post 2.1.0 Git Vaults, Part ... Posted by Nikolaj Hald Nielsen
in freespirit at
08:12
Comments (152) Trackbacks (0) From the Post 2.1.0 Git Vaults, Part 3: Something really far out
Seeing how Leo refuses to give up in our little "battle of the blogs", blogging cool new feature after cool new feature, its time for me to fire the next salvo
Disclaimer 1: What I am going to show you here is a personal prototype, made to facilitate discussions. It is currently not planned for inclusion in any version of Amarok. In fact there is no guarantee it ever will appear in a released version as it is quite a controversial topic among the Developers. Disclaimer 2: The observant among you will notice many small bugs and glitches in the video, such as album covers in the playlist doing weird things, double borders around some elements and likely many others. This is par for the course when creating a quick prototype like this... That being said, I would really like to hear the opinions of the wider community on this one, so let me know what you think: Want? Don't Want? Wonderful? Horrible? ... Or should I just try to get some more sleep instead of hacking up all this crazy stuff? Now for the actual video. Due to its rather large size, this one is hosted on youtube to avoid killing our server: And here is a direct link (which also gives you the video in better quality) in case syndications kills the embedded video. Friday, May 15. 2009time to take it away
you may have noticed at the beginning of nikolaj's last blog post that he made a small reference to a competition that we are having to see who can come up with the biggest code-drop once trunk opens again. he then went on to describe his playing around with the navigation system in the left-hand browsers. well, i'm not about to let his challenge to unmet, am i? i can't let him take all the spotlight for himself!
so in order to make amarok more flexible, and give potential community members more tools at their disposals, i finally looked into adding scripting support to the Context View. just like plasma, you can write applets for the context view in a ridiculously small amount of code. the architecture (read: plasma) was always in place, but it was never really exposed properly and it was always a hack to get it to work. so of course, no one wrote any scripts. and so there are no amarok scripted applets at the moment. but hopefully that will all change! because now i've given you all the power to write your own britney spears themed applets! and just in a few lines of code! i could sit around and explain, but i'd rather show you a picture: ![]() and then because i'm such a great guy, i'll even show you the code that makes that magic happen: plasmoid.drawAppletBackground = function() and, thats it. you'll be able to install new scripted applets directly from inside amarok, and have all the fun that you want. i'd like to note that this is still in a very early stage and all the UI bits are still a work in progress--that includes the currently location of the "Install New Widgets" button. i needed somewhere to put it, and that seemed good for testing. so, nikolaj... whats next? Friday, May 15. 2009
From the Post 2.1.0 Git Vaults, Part ... Posted by Nikolaj Hald Nielsen
in freespirit at
06:55
Comments (70) Trackbacks (0) From the Post 2.1.0 Git Vaults, Part 2: No more vertical tabs
I thought my last post about the upcoming audio cd collection was pretty cool, but since Leo and I are having a bit of a contest about who has the greater number of cool features ready for 2.2 and he just had to outdo me with his post about the amazingly cool last.fm based dynamic playlist biases I thought it was time to strike back!
A while back, Seb added some cool new headers to the collections in the collection browser. This code was based on the elements in the service browser. Since Seb's versions actually looked much nicer than the ones in the service browser, I decided to "backport" the changes, and make the elements in the service browser look consistent with the collection headers. Having done this made everything a bit more consistent, but it also highlighted some other huge inconsistencies in the way the browsers look and work. Currently there are basically 3 different navigations methods in place. For selecting the browser we have the oft criticized vertical tab bar, for selecting a service there is the service browser which is a type of dig-down interface, and for selecting playlist categories, we use a stacked toolbox approach. Obviously this is not good for usability, and it does not look good either. So, in an attempt to standardize the navigation across these different browsers and the navigation between browsers themselves, we started discussing the options at the recent developer sprint in Berlin. We concluded that the interface currently used in the service browser was by far the most flexible and that it might be worth using this for all the browser navigation. So skipping a few days of extracting, generalizing and putting this code to new use, we now have this: And since a still image really does not really explaint he concept very well, here is a small vid to show the new interface in action. This is in a pretty early state of development, and there are many cases where the interface of the different browsers/categories need to be made more consistent. Also, the current plan is to add a kind of "breadcrumb" bar as known from Dolphin to the top of the browsers, making navigation simpler and making it more clear what "page" you are actually on at any given time. All in all, this cuts down our 3 competing ways of navigating through the browsers down to one, and finally gets rid of the vertical tabs completely. Thursday, May 14. 2009
Amarok 2.1 Beta 2 released Posted by Lydia Pintscher
in Nightrose at
21:46
Comments (0) Trackbacks (0) Amarok 2.1 Beta 2 releasedWeeeeeee! One more beta closer to Amarok 2.1! Tuesday, May 12. 2009
out of the ashes emerges the ... Posted by Leo Franchi
in lfranchi at
12:58
Comments (19) Trackbacks (0) out of the ashes emerges the familiar cloaked anew
[if you're allergic to reading mildly rambling text, just skip to the nice screenshot at the bottom]
i don't know about y'all out there, but one of the killer features for me in amarok when i first started using it was the "append suggested songs" feature. i do love last.fm radios, but the idea of having amarok play me songs that i already have but just maybe never saw the connection between, all automagically, seemed like a brilliant concept. however as anyone who had taken a peek at the 1.x code for dynamic mode knows, it was not the most elegant of features. it wasn't the most cleanly designed piece of code either. and so, things being as they are, it was tossed by the wayside when 2.0 came around for the new nifty Dynamic Playlists that we have. i would wager that a sizable chunk of amarok 2 users have no idea what Dynamic Playlists are. what do they do? why do I have so many pretty sliders? what does it mean when I ask amarok for 100% ska and 100% britney spears and it spits out a playlist with neither ska nor britney? putting aside the fact that by denying me of britney spears it has already significantly degraded my quality of life, i've always found Dynamic Playlists hard to use because put simply, I don't have the metadata to make them useful. I don't have my tags labeled, nor do i have good genre tags, or even any good ratings (side-effect of amarok development, my database never lasts more than a few weeks). so i can't tell dynamic playlists what to play me..... ....but no longer! i've finally scratched the itch that i've had for months and months, and resurrected a similar artists feature like you had in 1.x. but as a testament to the new Dynamic Playlists, this is really two things: 1) Much more powerful than the suggested songs in 1.x 2) Just the beginning 3) The best vector for delivering britney spears music to your ears I have a sneaking suspicion that one of the above is wrong, but can't quite pin down which. in any case, without further ado, this is what it looks like: ![]() this new type of custom bias queries last.fm for artists similar to the currently playing track, and returns any that you have in your local collection. so you can play music you never knew you had! but more than just creating a new bias, we now have a framework for any component to register its own new bias type. so a new service, say magnatune, could add a new bias that lets you also filter on magnatune tracks, or do a bunch of other nifty things that would otherwise not be possible. someone could easily write a new bias type that favors artists that will be playing shows nearby! this is all to say, expect great things. because even though you can't always get your britney spears, amarok is still here to comfort you. Monday, May 11. 2009
GSoC: Boston/Cambridge Dev Sprint Posted by Alejandro Wainzinger
in xevix at
21:42
Comments (0) Trackbacks (0) GSoC: Boston/Cambridge Dev SprintThe dev sprint was filled with conversation on all sorts of topics, open-source software and pop culture references, but above all, people got set up to go on their GSoC projects and got inspired by each others' enthusiasm. This being my second time doing GSoC for the same project, I was already set to go and know my way around development, but this gave me a chance to meet with a fellow Amarok developer Jeff Mitchell, and now I've met a good amount of the core Amarok team, which is awesome. In the end I didn't get a lot of actual coding done, but I took from the sprint enough inspiration to hurry up even more on the code I'm working on. Highlights: - MIT == We spent a good amount of time in one of MIT's buildings on our laptops (a photo on Marcus' blog). Spent time on getting people set up on svn, setting up distributed compiling with IceCream and a bit of hacking. Above all it set the pace for a lot of conversation which is really what the open source community is about: sharing ideas so that later on, you can work on making them real. - OpenSuSE's IceCream == Not satisfied with the slow compiles of core stuff like Qt and our own huge projects, we tried to set up IceCream distributed compiler to get more bang for our byte. Unfortunately we were doomed to failure (found out later) since some of us were 32-bit systems others 64-bit, and differeng GCC versions, and cross-compilers take too long to build. However, we did get it somewhat going in the hotel, which was nice. - JP Licks Ice Cream == In a word, amazing. Suffolk County's own local chain, which redefines what a "small" ice cream should be. I haven't seen so many unknown or strange flavors in a while, ranging from black raspberry, to peppered ice cream. You definitely get your money's worth, but I had trouble even finishing the small. - Indian Restaurant (don't recall the name) == More food than you could hope for, for the right price (the rest of Boston/Cambridge was quite pricy). Had Chicken Tikka Masala (obligatory), Garlic Naan (also obligatory) and a ton of rice. I should've gotten more spicy food but I wanted to play it safe. - Star Trek @ IMAX == Nevermind why Reading has an IMAX theater in a furniture store, the movie was quite a visual spectacle. The story/characters/acting was exactly what I expected, and I wasn't let down. I'm sure Star Trek fans enjoyed it more since there seemed to be a lot of hidden humor, but luckily the few bits I've seen helped me out.
- The Kendall Hotel == Nice hotel, right in front of MIT, right next to the T. Wireless was hassle-free, breakfast every morning. Overpriced food can't be helped, but I went it cheap. Nice beds and nice rooms, all that was needed for some late-night hacking. - The T == The big pitfall of living in California is that the concept of mass public transportation is, to put it politely, lacking. The Boston T, for about $2, will let you ride from one side of Boston to the other, and even to Cambridge and other outlying areas. Reasonably fast, reliable, and not too packed. Definitely one thing I would love to have here in car-driven California. - Dunkin Donuts == There are ~300 of these in Boston alone, which is mind-boggling. There's a DD underground in the T, there's one at Logan Airport, there's one in the MIT admin building! Such cheap, decently-flavored iced cofee you will not find elsewhere, and the monstrous size of the large was worth the price. Definitely went again and again... - Dunkin Donuts == .... and again - Dunkin Donuts == .... and again. I got a lot of coffee in Boston. I don't think I've ever had so much consecutive coffee drinking in my life. Definitely missed on the west coast. The People: Veteran Devs: Jeff Mitchell -- The guy who worked hard to make this all happen, and go well, and a fellow Amarok dev. Many many thanks for making this possible, and for not getting too frustrated with my lack of brainpower in navigating directions and so forth this last weekend. Marcus Hanwell -- Avogadro dev, soon to be working on our beloved build-system CMake. Really cool guy, loves photography, well-travelled. Chani Armitage -- Plasma dev, brought you screensaver plasmoids, now working on fancy popups using mouse buttons. Energetic and very involved. Constantin Berzan -- Working on a global outbox for Akonadi, to take away dependence on e-mail related things from KMail to free e.g. applets to do stuff with mail. Good at directions, shame he had to go back so soon in the sprint. Christopher Ing -- Bringing fluids to STEP. Good roommate, made sure I didn't miss breakfast the 2nd day =) The only mac user in the group, which shows the variety of people working on KDE-related things. Ramon Zarazúa -- Working on refactoring support for KDevelop 4. I really look forward to the results of this project, being an avid KDev 4 user. Cool guy, the only one with whom icecream was working. Adam Kidder -- Nepomuk search. Picked up the slack for my lack of common sense this last weekend ("you need an IP address to run a dhcp server?"). At Ann Arbour, my cousin went there. Marwan Hilmi -- Parsek. Didn't get much of a chance to talk to him about his project, but seemed cool. Note to self: round tables are only good if people aren't too far away from each other. Pierre-Alexandre St-Jean -- Abstracting Kopete chat window for use in other apps. Probably the only relaxed person of the bunch (most of the rest of us were doped up on caffeine). Conclusion: Completely worth the 3,000 mile trip. It looks like this GSoC, for KDE at least, will be filled with a lot of awesome people and work getting done. These kinds of get-togethers help to motivate us to do awesome things, and to open up channels of communication between different parts of KDE which is essential to making KDE cohesive as well as feature-filled. I don't think I'll be making it to Akademy this year unfortunately, so I'm happy I was able to make it to this. I would, at some point, like to set up a similar event in California, perhaps in San Francisco or San Diego, and I wonder who would be interested in it. At any rate, good luck to all GSoC'ers on your projects, and I'll see you on IRC/ML. Sunday, May 10. 2009UPnP DevSprint in ParisHi from Paris, where together with [ade], dev, erwan, philn and lightyear I'm at the Coherence/KDE developer sprint focused on UPnP. Yesterday, after struggling with QtDBUS (specifically the under-documented qdbusxml2cpp) I managed to the signals from Coherence and call functions. So now I can discover the devices on the network. The signals are connected to a UPnPCollectionFactory that should create a new collection for each mediaserver (containing music) on the network. Next step will be to really talk to the devices themselves. That will require some XML parsing, which can get a bit complicated. With any luck I'll find a Qt based DIDL-lite parsing library. Consider that a lazyweb questions A bientôt, Bart Tuesday, May 5. 2009
UserBase Competition - Round 2 Posted by Lydia Pintscher
in Nightrose at
20:27
Comments (0) Trackbacks (0) UserBase Competition - Round 2Two weeks ago we announced the first round of our competition for UserBase. We are happy to announce the winner: Nikita Lyalin! Congratulations and thank you for helping improve UserBase. As we will be releasing Amarok 2.1 soon the next two weeks will be all about improving the Amarok page on UserBase to make it ready for the next release. It currently does not contain up-to-date information and should be updated to actually reflect the state of Amarok 2.1 and not mix in Amarok 1.4 features. The winner gets a beer at Akademy or another event where we meet. Everyone is welcome to help. If you have questions please ask in #amarok on freenode or on our mailinglist amarok@kde.org. Oh and here two more pictures by Leo from the Amarok developer sprint at KDAB: Rock on! Monday, May 4. 2009Amarok Developer SprintThe Amarok developer sprint in Berlin is at full speed and the Amarokers are having an awesome time Tuesday started with me being late for my ride to Stuttgart due to a meeting. Finally at 4am on Friday Frederik, Sven and I arrived in Berlin. We had a nice chat with Nuno, Leo and Gerard. Czessi of kubuntu-de organized a really nice flat for us with comfy beds to fall asleep in. Friday morning we went to the KDAB office in Kreuzberg and where greeted with lots of music and generally everyone having a great day. May 1st is starting as a rather nice street festival here. After playing a first round of table football (note to self: need one at home! need one at home!) we split into two groups, one doing API review of the Amarok codebase and the other one planning the PR part of our world domination plans and talking promo, website and artwork. Todos for everyone Saturday was all about discussing ways to make Amarok’s user interface better. We had everything from “awesome but totally un-doable” to “yea this is pretty cool and might work”. Stay tuned for what will come out of this. Leinir and I did some card sorting to improve the context menu that pops up when right-clicking on a track in the playlist. It currently contains 11 items most of which are not the way they should be. Sebas was able to convince Frederik to join him in hacking on the networkmanager applet. We had delicious food around the corner again, Vietnamese and Indian this time. And of course we had a few good table football matches again Today started with making action items out of the discussions of the previous days, discussing bigger short and long-term plans and going through critical bug reports. After some really good Persian food, Leinir and I evaluated the data we got yesterday and came up with a very nice new context menu for the playlist. Others worked on implementing some of the action items we agreed on earlier like making it possible to remove the context view with a command line option (no option for now as we are in string-freeze). Night ended with a serious table foodball match which Leo, Sebas and Nuno totally rocked Conclusion: Berlin around the KDAB office and the office itself is the awesome. Thanks to KDAB for providing us with a great location and hosting. Thanks also to KDE eV for helping with funding. Stay tuned for some cool stuff |
Amarok LinksCalendarQuicksearchArchivesCategoriesSyndicate This BlogBlog Administration |

