Sunday, July 13. 2008Velocity
About 4 days ago, the Amarok team released the first Alpha of Amarok 2. For an alpha, it actually seems to run very well, but of course it still has crashes, bugs and lots of rough edges.
Since this release, the pace of development has been absolutely astounding. In those 4 days, we have so far had well over 150 commits, including 13 bugs closed. We have not been moving forwards this fast since the very first few days when we started porting Amarok to Qt4 and KDE4, and I am not even sure that sprint quite matched this one. One of the main causes for this speedup is, in my opinion, the constructive feedback we have received on the alpha release. So I would like to extend a big Thank You to all the people taking the time to test our alpha release and offering feedback and bug reports. And just to give you something to look at, here is a post alpha screenshot from today. Even though most of the fixes we have done are below the surface, there are still a few visible changes. And yeah, the new applets need to blend with the system colors, which they currently do not at all As a reminder for those wanting to try out the very latest version, or who are tracking the status of a particular bug, there is always the excellent Project Neon Friday, June 20. 2008
Amarok 2 now supports uploading to ... Posted by Nikolaj Hald Nielsen
in freespirit at
12:16
Comment (1) Trackbacks (0) Amarok 2 now supports uploading to personal Mp3Tunes locker
Thanks to Casey Link, my GSoC student ( whose blog unfortunately is not on planetkde yet ), it is now possible to upload your tracks directly from Amarok 2 to your personal Mp3Tunes.com locker. How cool is that?
Much more info and screenshots at Casey's Blog Tuesday, June 17. 2008
Mp3tunes GSoC project status Posted by Nikolaj Hald Nielsen
in freespirit at
20:25
Comments (0) Trackbacks (0) Mp3tunes GSoC project status
This summer, I am mentoring Google summer of Code student Casey Link ( aka Ramblurr on IRC ). Casey is working on improving the Mp3Tunes service in Amarok 2, updating it to use Mp3Tunes brand new GPL C lib instead of using their REST API directly, allowing up and download of music, and finally complete automatic synchronization of content.
Casey has been blogging a weekly progress report detailing the work he has done. As his blog is ( not yet ) on planetkde, I thought I would post the links to his first 3 reports here: GSoC Report - Week 1 GSoC Report Week 2: libmp3tunes goodness GSoC Report Week 3: Tanstaafl Overall I am very pleased with Casey's progress. He has approached his project with great enthusiasm and has already committed a lot of working code. I just hope he does not end up completely reversing his daily rhythm because he has a European mentor in a very different time zone! Sunday, June 15. 2008
Return of the playlist browser Posted by Nikolaj Hald Nielsen
in freespirit at
09:16
Comments (10) Trackbacks (0) Return of the playlist browser
One of the key pieces still missing from Amarok 2 has long been a usable playlist browser.
So last weekend, as my girlfriend was busy studying for an exam anyway ( how come I always seem to get so much code done when she has exams? ) I decided to do something really simple that would fulfill my own immediate use cases, and still be flexible enough for expanding on later. We had previously discussed that we wanted Amarok 2 to keep its own playlist in the database, as this would allow us to easily tailor the way we store them to our needs. Of course, it should also be possible to import and export playlists from files. So after 2 days of intense hacking, and a little cleanup over the last week or so, we now have a simple playlist browser that supports arbitrary grouping through virtual "folders" that can be created and organized, using drag and drop, anyway the user likes. So here is the obligatory screenshot: Below the main playlist area to the right, there are now two "save" buttons, a save and an export ( I need to find a better icon for one of them ). The export button does what the save button previously did, it saves the playlist to an external file, while the save button now adds the playlist to the playlist browser and starts a rename operation so the user can quickly give it a sane name. In time, this playlist browser will be expanded to show playlists from media devices and potentially many other places, but for now, it works great despite being very simple. Wednesday, June 4. 2008
Greater than the sum of parts ( ... Posted by Nikolaj Hald Nielsen
in freespirit at
08:46
Comments (17) Trackbacks (0) Greater than the sum of parts ( Video podcast support )
Yesterday something really cool happened. It is not something that was planned or that we even really thought about at the time.
It all started with me trying to add a few fixes to the podcast browser in the playlist tab, as I could not get it to show the actual podcast episodes. Although managing to get in a few fixes for related errors, I could not get it to work. I then sang my song of woe to Bart, who, even though he is really busy with preparations for Akademy, sat down and beat the code into shape. So now the podcast view works, even though it still does not save subscriptions between sessions. Then later in the evening it hit me. Between the podcast view working, the Podcast directory service I did a while back, and Mark's brand new video applet we now have this: How cool is that? As is obvious from the screenshots, the metadata of the podcast episodes is a bit lacking still, and there are other minor annoyances as well, but the basics of video podcast support is there and working quite well. EDIT: Oh, and I obviously forgot to switch to an antialiased font when I completely wiped and rebuilt my KDE4 the other day! - Nikolaj Wednesday, May 28. 2008
A Cool little hack! ( Free, public ... Posted by Nikolaj Hald Nielsen
in freespirit at
09:43
Comments (15) Trackbacks (0) A Cool little hack! ( Free, public domain, audio books in Amarok 2 )
A little while back, Amarok's very own Lydia Pintscher, aka. Nightrose, blogged about a session on free culture at FOSSCamp. Among the comments to that blog entry was a suggestion to integrate free, public domain audio books from Librivox.org into Amarok 2. This spurred a bit of a discussion which resulted in someone coming up with a link to a nice XML api for searching their catalog.
Now, regular readers of my blog will well know what happens when I see a nice API for searching free content.... So, after about an hour and a half of hacking, I give you the brand new Librivox.org service script: As it is implemented as a ruby script, and not as a native C++ service, it is quite limited in its functionality, but it works great for searching for and streaming audio books. The scriptable service framework is turning out to be quite useful. It allows for very rapid prototyping of new services, that are very usable, even if some of them would benefit from being ported to native services. I also think that having a few good scripted services ship with Amarok 2.0 will inspire other people to write new interesting services, and provide examples on how to do so. Monday, May 26. 2008
Magnatune, everywhere! Posted by Nikolaj Hald Nielsen
in freespirit at
08:56
Comments (4) Trackbacks (0) Magnatune, everywhere!
This post has little to do with Amarok. In fact it is quite blatantly beating my own drum and that of my employer, but I thought it was worth mentioning here anyway as it is something I am quite exited about and something that might be of interest to all you bloggers out there. ( And it will give me an excuse to actually try it out myself )
Now, with that out of the way.... Over the last few days, we have implemented support for embedding every single album at Magnatune into blogs and web pages. On every album page there is now an "Embed this album" link that leads to a page where you can configure a small embedded player and then copy paste a bit of code into your own page. The player comes in two major varieties ( with and without a visible playlist ) and the ability to start playing automatically or require the user to press play ( I much prefer the latter option ). The size of the player can also be configured. Of course, the player plays full versions of each track, only interrupted by a small add nag add at the end of each track. So, to give you a taste, here is one of my long time favorite albums from Magnatune.com: ( EDIT: Ok, so it seems this blog plays a bit of havoc with the layout.... ) ( EDIT 2: The planet does not like the player, so to see it, you will have to go to the actual blog ) I hope people will find this fun and useful, and that we will see these players pop up all over the place. Tuesday, May 20. 2008
A wolf in designer clothing Posted by Nikolaj Hald Nielsen
in freespirit at
11:07
Comments (60) Trackbacks (0) A wolf in designer clothing
Ok, so I kinda liked the latter iterations of the Graywolf look for Amarok 2. Apparently, not many others did though. So Lee Olson ( our main artist at the moment ) and I have been thinking of alternatives for a while. And It would seem we have finally come up with something that has managed to get most of the Amarok team excited. It is still in the initial phase and a lot of work is needed still, but so far it is already a huge improvements to the overall look of Amarok 2, at leasts in my humble opinion. This new look is much more clean, and actually a lot closer to our initial idea of what Amarok 2 should look like.
But all this text really does not give an idea of what this looks like, so here goes: Besides just updated SVGs and a new way of rendering the background, it is also worth noting that a great number of redundant borders and frames have been removed. Of course, the theme still uses the system palette to blend in, even though, it at the moments adds just a touch of color. So on other themes, it looks quite drastically different: I personally find the black one quite striking, although the highlights in the background would likely benefit from being "tuned down" just a little bit. On the technical side of things, all the SVG graphics has been moved into a single file and a DBus command has been added to load a different SVG file without restarting Amarok. This, along with out new nightly build service NEON, makes it a lot easier for artists to contribute, as it is no longer necessary to build Amarok 2 and dependencies from source, or rebuild Amarok 2 just to try out some changes in the SVG file. Hopefully, this will allow more artists to contribute in the near future. Thursday, May 8. 2008
Magnatune memberships launched, ... Posted by Nikolaj Hald Nielsen
in freespirit at
18:06
Comments (9) Trackbacks (0) Magnatune memberships launched, Amarok 2 offers full support
Finally, after hacking on it on and off for over 6 months, Magnatune has officially unveiled the 2 new membership options "stream" and "download". So as not to sound like a bad commercial, I will let John tell the story about these services.
What I would like to spend a little time on, even though I have touched on it before, is the cool way in which Amarok 2 already offers full integration for these 2 new memberships. With a stream membership, all of the preview streams from the Magnatune service become available in high quality ( 160kbs ) ogg with no nagging speaker announcement at the end of each. ( if configured to use oggs, the mp3 files are also nag free but the same quality as the non member version ). This makes all the Magnatune service content almost indistinguishable from local content. Configured with a download membership, not only are all the streams high quality and nag-free, but the "purchase" option turns into "download" and lets you download as many albums as they like for free ( basically just skips the credit card screen and goes straight to the download dialog ). With a download membership, Amarok 2 essentially turns into the world's first music player with an integrated, unlimited, DRM free music download subscription service ( as far as I can tell ). Another, slightly more obscure way these memberships affects Amarok 2 is that it can automatically convert Magnatune streaming urls from other sources into membership streams ( if configured to use a membership ). So, for instance, a stored playlist of non-membership mp3 streams can automatically be transformed into high quality membership oggs by Amarok. This makes it possible to do a cool Magnatune service front page in Amarok 2 that just links to "normal" mp3 streams and still ensure that the members get to hear the nag free streams. Ok, so I am excited ( can you tell? ), but I have been working on these memberships for a long time and has taken great care to ensure that Amarok 2 would be ready to use them when they were launched. So now we just need to get Amarok 2.0 out the door... Tuesday, April 29. 2008
Amarok recieves first Magnatune ... Posted by Nikolaj Hald Nielsen
in freespirit at
07:12
Comments (10) Trackbacks (0) Amarok recieves first Magnatune sales commision
This is something as rare as a non-technical blog post from me, but I though this was worth posting!
yesterday Magnatune and Amarok decided that it was time Amarok received its first payout of the money earned as commission by selling Magnatune albums through Amarok. This came out to $1155.70 which is 10% of the $11,557 (!!) in sales that Amarok has generated so far. That is actually really good I think! This money will be used to cover hosting and conference costs of the Amarok project and thus will help further improve Amarok. Besides giving Amarok a 10% commission, Magnatune also employs me, and allow me to spend about half my time Hacking on Amarok, so they truly are a very big supporters of Amarok, and we are delighted to be working with someone who really "gets" free software and free culture. With the greatly improved Magnatune integration in the upcomming Amarok 2, and the eventual release of Amarok 2 on Windows and Mac, it will be really interesting to see how far we can take this in the future. For now, I hope that the Amarok users will continue to buy music through Amarok, as it is a great way of supporting Amarok development, at the same time as supporting independent artists, who get a full 50% of the purchase price. John Buckman ( the founder of Magnatune) blogged about this here Friday, April 25. 2008
GSoC: One Intro with a side order of ... Posted by Nikolaj Hald Nielsen
in freespirit at
07:20
Comment (1) Trackbacks (0) GSoC: One Intro with a side order of awesome ( Full MP3Tunes support )
In this years Google Summer of Code, I will be mentoring Casey Links project "Amarok: MP3Tunes Service Enhancements". I asked Casey to write a small introduction about himself and his project:
Hey everyone! My name is Casey Link and I am an undergraduate Computer I am really exited about this project, as this is one of the initial ideas I had when creating the MP3Tunes service, but unfortunately never had time to implement ( Anyone knows where I can get 10 clones made cheaply? ). I also think that some of the less visible framework stuff that this project will complete will be really usefull for other cool things, such as downloading an album from Magnatune or Jamendo straight to a media device or online locker without storing it in your local collection. So lets give Casey a warm welcome and hope this project turns out as great as I think it has potential to. On a related note, you might be aware that MP3Tunes is currently engaged in a lawsuit with EMI over the legality of storing your own, legally acquired music online. Their CEO has published a letter about this, describing why he sees this as an attack on the concept of digital ownership. I think this battle is worth following as it is not about piracy or file sharing, but really about what you can do with your own music. And here I thought that EMI was at least starting to come around... Saturday, March 22. 2008
Scriptable Services Posted by Nikolaj Hald Nielsen
in freespirit at
21:54
Comments (6) Trackbacks (0) Scriptable Services
Heres something new and something old all rolled into one!
I have been dropping hints about the possibility of a scriptable service for a while. I even showed off a very crude prototype in a lightning talk at aKademy last year. Since then, architectural changes to Amarok and task that were more important ( and a lot simple ) pushed this work to the bottom of my long term TODO list. It newer quite left my mind though. I think that the potential benefits of allowing people to quickly and easily integrate their own content into Amarok, without having to mess around with building the entire app are huge. It will allow people to add and distribute services for content that, while interesting, does not have a broad enough appeal to warrant inclusion in the Amarok core, and it will allow people to integrate content and services that we simply have not thought about. So, when sitting in a small cabin in the woods, with no internet and plenty of time on my hands, because my Girlfriend is busy studying for an exam, it did not really take long to decide what I really wanted to work on. And now I am back... So, without further delay, I give you the new, improved, and actually working scriptable service framework! I decided to completely rethink both the DBus API and the way Scriptable services interacted with the rest of Amarok. The entire API now consists of 3 DBus functions and 2 callback commands that the script must respond to. Also, everything is completely dynamic, meaning that the service will not use the script to populate any items before they are needed. Here is a few screenshots of a scripted service in action. First of all, the scriptable service framework now integrates in a simmilar way to all other Amarok scripts, making it possible to start, stop and manage them from the "Script Manager" dialog: When running, it ill appear in the service browser along with any other loaded services: And when activated, it will appear just like any other service, complete with optional html info for each item ( supplied by the script of course ): The "Cool Streams" script is my first attempt at a usable script. It basically just implements the list of cool streams from Amarok 1.4 as a service. The entire script is about 80 lines of ruby code, and half of this is taken up by the array of stations to add. About half of the remaining code is comments. So setting up a simple new service really does not take much code, and as there are only 3 DBus functions needed, it is really quite simple do do. So, despite what I have been telling people lately, Amarok 2.0 will ship with the possibility of adding new services using scripts. I am really exited about this feature, as the general scripting support in Amarok has yielded and incredible amount of interesting features that none of the regular developers had ever though of. In the same way, I hope that the scriptable service support will inspire people to add interesting new content to Amarok. Friday, March 7. 2008
Nearing first alpha, and lots of ... Posted by Nikolaj Hald Nielsen
in freespirit at
19:52
Comments (92) Trackbacks (0) Nearing first alpha, and lots of cool new stuff
Its been little while since I wrote a nice long update about the state of Amarok 2, and we have been getting a few complaints that there is not enough ews being posted, so I will try to remedy that here. And I have a nice pile of screenshots ready for you!
First up though, we have decided to put a feature freeze in effect starting at the end of this month. This is the first small step towards an eventual release of Amarok 2.0, and hopefully it will help us get it ready sooner rather than later. This also means that we are at the point where bug reports actually start to become useful. More on this in the coming weeks I am sure! So, whats new in the land of Amarok 2. Lots actually. First of all, I have tried my hand at some small but quite visible modifications to our svg theme, and I personally thinks the results are very prommising. I just need to figure out what do do about the volume slider... And of course, the theme still adjusts itself to the system color theme: At Magnatune.com, we have been adding free ogg streams along side the existing mp3 streams. Of course Amarok should also benefit from this, so I finally got around to implementing a stream selection GUI. This also allows people with slow or unstable internet connections to select the lofi mp3 streams: I think I can reveal, that as an added bonus, people who decide to purchase one of Magnatune.com's upcoming memberships will be able to enjoy ogg streams in a really nice quality A lot of work has gone into the last.fm service and integration. The bulk of the Amarok 2 last.fm service was originally done by Shane King, but this week there has almost been a competition about who could do the most cool things with the last.fm service. This however also led to a slight case of "interface wars" as we currently cannot decide between buttons and tree views for the different streams, but I am sure we will figure something out eventually A really nice feature that was implemented by Dan Meltzer ( aka. Hydrogen ) is the ability to right click any artist in your local collection and add a last.fm stream of simmilar artists directly to the playlist: I have spent some time adding capabilities that will allow any track or stream with special actions that only makes sense when that track or stream is playing to make these actions available throughout the interface. Most notably, when listening to a last.fm stream it adds the "love", "skip" and "ban" actions to a small sub toolbar next to the play controls: This small toolbar and the background is completely invisible when playing tracks that do not have any special "now playing" actions. The same actions are also added to the tray menu ( and when right clicking the currently playing track in the playlist ): Last.fm is becoming really well integrated, but the great thing about the way it is done is that there is almost no last.fm specific code anywhere but in the last.fm plugin, which can be completely disabled. This means that any other service can use the same interface elements to achieve simmilar results. Last.fm is simply the first one to use these capabilities. It also means that Amarok 2 is in no way dependent on last.fm being available. I think that this independence is very important. It allows us to work with many different services and companies without anyone getting control over the core of Amarok. And this is personally what I see as the main strong point of Amarok 2. We are positioning ourselves to be able to work with and integrate content and services from a multitude of sources without the fear of what happens if one of these services stops existing, turns horrendously evil, or tries to assert undue influence over the direction of Amarok. And with reports coming in from our crew at Cebit about the huge interest in Amarok, it looks to be a really interesting future. Now, if we can just get this 2.0 out the door soon.... Friday, February 29. 2008
From back in the days when ... Posted by Nikolaj Hald Nielsen
in freespirit at
01:52
Comments (3) Trackbacks (0) From back in the days when programmers used hammer and nails
After attending Fosdem, Linda and I had a few days to spend in Brussels. On Tuesday, we went to the musical instrument museum. This was a really good experience, as they have 5 floors packed with instruments from every age and every corner of the globe, along with wireless headsets that lets you listen to music played by each.
The one thing that I found really intriguing was some of the old "self playing" instruments such as this organ. This is in essence an early computer, capable of processing many instructions at once from a stored program. The mechanical complexity of it just boggles the mind. And a closer look at the actual "code" shoes just how painstaking a job programming it must have been. I wonder if it was possible to buy additional "programs" once you had purchased the organ.... If nothing else, this shows that musical software has a long tradition, that we here at Amarok HQ are proud to be a part of! And just to throw in a bit of Amarok related content. Today I have been hard at work fixing many ( most? ) of the crashes we experienced while demoing Amarok this weekend, so hopefully the upcoming demos at Cebit and OpenExpo will run a lot smoother! Sunday, February 24. 2008
Impressions from Fosdem Posted by Nikolaj Hald Nielsen
in freespirit at
23:01
Comments (3) Trackbacks (0) Impressions from Fosdem
So, Fosdem is over, and I finally have stable network access and time to use it. My initial impression of the event would have to be that it is very crowded. Especially Saturday was quite insane with people being crammed in the halls. Shouting loud enough to explain the wonders of Amarok 2 to people cost me most of my voice.
My own talk went very well, ( at least so I have been told ), but a review of all the talks in the KDE dev room should be online soon. For next year, I think we need to realise that cramming 12 Amarok people into half a KDE booth is not the optimal solution. Hopefully, in the future it will be possible to get our own area with room for showing off Amarok on more than 2 laptops I will leave you for now with my favorite among the pictures I took at the event. I actually don't think I am even going to try to explain this one. Suffice to say, that even though our new mascot Mike was quite a crowd pleaser, the BSD pople in the booth next to us had us beat hands down at the attention drawing game... |
Amarok LinksCalendar
QuicksearchArchivesCategoriesSyndicate This BlogBlog Administration |
|||||||||||||||||||||||||||||||||||||||||||||||||

