Hi there, while we've been working very hard on the next Amarok feature release, the 2.8, we also haven't forgot the majority of our users using the stable versions.
Welcome Amarok 2.7.1, a very close relative of 2.7.0 with just a couple of very important bug fixes. The 2.7.1 is also an opportunity for Arch Linux to package it correctly. :-)
Don't fear that we've made just 8 commits since 2.7.0. In fact, we've made over 300 by 25 different people! Look forward for better transcoding, ASX playlist and Opus audio format support, improved MusicBrainz tag guessing and improvements of existing features all over the place for Amarok 2.8.0.
strohel's blog
Thursday, 16 May 2013
Friday, 18 January 2013
Amarok 2.7 Finally Here!
In case you don't know it yet, we've just released Amarok 2.7! This release is called A Minor Tune, partially because the list of new features isn't pages-long (but you still get statistics synchronization and preliminary Nepomuk integration). But I believe it will be remembered for its level of polish and stability - many components like audio CD playback and file browser have been made much more solid, and the number of user-reported problems that were closed since 2.6 approaches stunning 500.
On the other hand, due to the lack of manpower there are still components that deserve much more love than they currently get. One such example is the MTP player plug-in, but don't fear, we (or I) have plans with it. Contributions in any form (patches being best) are of course more than welcome.
On the other hand, due to the lack of manpower there are still components that deserve much more love than they currently get. One such example is the MTP player plug-in, but don't fear, we (or I) have plans with it. Contributions in any form (patches being best) are of course more than welcome.
Sunday, 9 December 2012
Amarok 2.7 Beta To Be Released Soon, Try Statistics Synchronization!
Heya, Amarok 2.7 Beta is slated to be released in any day now, one of the features it brings is Statistics Synchronization, a result of my GSoC project. Here's a short guide to get the best from it.
Unattended Synchronization
Getting started is utterly simple, just answer Yes to the above question that pops up when you connect a capable media player (currently just iPods) and you're done! Amarok will work hard in the background from that point to make sure your ratings, first/last played times, play counts and labels are synchronized between all participating collections (Local Collection is included by default) and won't disturb you unless there's a conflict. If you have Last.fm plugin configured, tracks recently played on your iDevice will be automatically scrobbled to Last.fm as part of the synchronization.
Conflicts & Synchronize Statistics Dialog
When you for example change a song rating simultaneously in Amarok and on your iPod, Amarok doesn't know what rating it should use. In this case, the last step of the synchronization is made interactive: a dialog with synchronization preview shows up. On top, you can see a few tabs:
- Matched Tracks: the essential tab where the tracks that Amarok found to be in more than one of your Collections are grouped together. You can tell which tracks and fields are going to be updated using the background: light green above means a new/updated field and light red means an old/overwritten one. In case of rating or label conflict you can resolve it using the check boxes. Conflicts can also be resolved in batch using the buttons below the list, which affect all applicable tracks, not just the shown ones. You don't need to resolve all conflicts, the particular field of the particular tracks won't be synchronized.
- Unique Tracks: a list of tracks found just in one collection. You can use this as a some kind of a difference view of your collections. This tab supports track dragging.
- Excluded Tracks: sometimes a track matching is ambiguous. This can happen for example when you have 2 tracks with identical meta-data in your collection. Such tracks are excluded from synchronization in order not to cause disorder.
Manual Syncing & Last.fm
At any time, you can start the synchronization manually from Amarok Tools menu using the Synchronize Statistics... entry. You can override what collections and fields to synchronize in this case. If you have Last.fm plugin enabled and configured, you can also choose to synchronize your play count and labels with Last.fm; unattended synchronization with Last.fm is not possible, because that would put too much stress on their servers. Also please note that track matching when Last.fm is selected can be very time-consuming (one hour is not unusual), but you can use Amarok freely while this happens.
Synchronizing with Last.fm is a bit tricky, because by default it auto-corrects some common misspellings during scrobbling. So it can happen that even if you scrobble many track plays, it doesn't show up in Matched Tracks because Last.fm knows it under a slightly different name. Fortunately you can opt-out from auto-correction on Last.fm site and the change is applied also to your past scrobbles, both options have some downsides though:
- auto-correct off: your tracks are matched properly, but if you change your tags after some time (because of an actual typo for example), your play-count on Last.fm site will be split into 2 entries.
- auto-correct on: can track play counts even if you correct the tags over time, but you have to use Last.fm's preferred spelling or your track's won't match.
Configuration
You can configure all aspects of statistics synchronization in a new Amarok Configuration tab named Metadata. Apart from configuring which collections should be synchronized automatically you can decide what fields you want to synchronize and edit a list of labels excluded from synchronization (useful if don't what some of your Amarok labels to appear on your Last.fm profile).
Technical Remarks
Curious what the internal algorithms and principles of the synchronization are? Here you go:
- Tracks are matched using their meta-data case insensitively. The framework itself and both iPod and Local Amarok collections can match using: title, artist, album, composer, year, track number, disc number. Last.fm can only match using title, artist and album. Common subset of matching fields of selected collections is used. That's why you can get tracks excluded from synchronization due to ambiguity when you include Last.fm in syncing.
- Local Collection can synchronize everything.
- iPod Collection can synchronize everything except labels, although and iPod won't update first played time by itself.
- Last.fm can read play count, labels and rating (see below) and it can write labels and rating; play count is updated by means of scrobbling. In theory, first/last played time should be available too, but their API doesn't export it currently in a efficient way.
- Last.fm rating is implemented using special tags like 4 of 10 stars. You can opt-out from using these, then Amarok will ignore this kind of tags.
- Conservative reduction functions are used for synchronization of individual fields, for example minimum-of is employed for first played time and maximum-of for last played time. Play count uses maximum-of + special case for iPods that can report recent play count so that you don't miss anything even if you play a track simultaneously on an iPod and Amarok.
Tips
- Use Last.fm synchronization as a back-up of your precious Amarok data!
- Use Last.fm synchronization as a tool to synchronize your listening data from multiple places!
- New! Use inter-collection synchronization and the new Nepomuk Collection to keep your Amarok ratings in sync with your Nepomuk (i.e. shown in Dolphin) ones. Nepomuk collection should be able to handle more fields in future.
Test it!
I've worked on this and tested it myself for a rather long time, but there will be for sure some bugs that got through. Please test this in Amarok 2.7 Beta or current git and report any bugs you find so that I have a chance to fix them for Amarok 2.7 final. Thanks and have fun!
Tuesday, 14 August 2012
Amarok 2.6 Released! Enjoy great iPod support & fixes all over the place
Finally, after endless weeks of waiting, the beast in the form of Amarok 2.6.0 has been released to the wild!
This release is a bit special to me because it is the first one to include a significant contribution from me - most notably the totally rewritten iPod support. I must say thank here to everyone who tested it in the beta phase; your bug reports helped to polish it to otherwise unachievable level for the final release.
My other personal favourites of this release include transcoding at more places and crucial bug fixes so that Amarok doesn't loose your ratings and stuff when it doesn't have to. This is just one item of the multi-page long list of fixed bugs.
In short, Amarok 2.6 shines like never and is an absolute must for you. :-) Do you like it? Me and other awesome Amarok & KDE volunteer hackers will meet in Switzerland's Randa to code, discuss and plan immersely, please consider donating to help us cover the expenses. Thanks!
This release is a bit special to me because it is the first one to include a significant contribution from me - most notably the totally rewritten iPod support. I must say thank here to everyone who tested it in the beta phase; your bug reports helped to polish it to otherwise unachievable level for the final release.
My other personal favourites of this release include transcoding at more places and crucial bug fixes so that Amarok doesn't loose your ratings and stuff when it doesn't have to. This is just one item of the multi-page long list of fixed bugs.
In short, Amarok 2.6 shines like never and is an absolute must for you. :-) Do you like it? Me and other awesome Amarok & KDE volunteer hackers will meet in Switzerland's Randa to code, discuss and plan immersely, please consider donating to help us cover the expenses. Thanks!
Saturday, 11 August 2012
Amarok StatSyncing GSoC: week 12 - heat up your Last.fm accountz
![]() |
| Notice that rating and labels are already synchronized. |
![]() |
| Compare with screenshots from earlier posts. |
- Restructured internal code of StatSyncing::Controller to be even cleaner with regards to maintaining synchronizable collections.
- Polished the UI of the Choose Providers dialog. It is much cleaner now and will make the KDE Usability team happy. See screenshot above.
- Changed track matching to be case-insensitive. It would be a pity not to match 2 tracks just because the other one is not properly capitalized.
- Implemented logic to synchronize labels across collections. For each track, you can tick which collections will be the sources of labels. Resulting labels are then the union of the checked ones.
- Implemented matching with Last.fm tracks of your Last.fm Library; you have to have Last.fm plugin enabled and configured for this to work. Last.fm can match tracks by their artist, album and title.
- Implemented reading of Last.fm metadata - it can provide play count and tags, and we use a trick to store rating using tags.
- Implemented updating of Last.fm metadata - it can update tags and, with our little trick, even rating. See screenshot below.
![]() |
| My Last.fm tags look like this now. :-) |
- First & last play dates sadly aren't provided by Last.fm, although they have the data. Fortunately the framework is flexible enough to gracefully cope with them missing. But I'll try to convince Last.fm staff to include them in their web API.
- liblastfm has a bug in its Track::removeTag method which breaks tag removal. I've fixed it, but the bug will hit you unless you use my liblastfm branch or until liblastfm incorporates the pull request and releases it.
- Buttons for mass-resolution of label conflicts in the Matched Tracks dialog.
- Configuration option to exclude some labels from synchronization.
- Option in the Last.fm plugin to opt-out from using the fancy rating tags.
- Better error reporting.
- Further polishing of the Matched Tracks dialog as suggested by the KDE Usability team.
- Scrobbling tracks played on iPods to Last.fm - all support code is ready, I only need to devise an algorithm for guessing scrobble times (we only have last played time and play count).
Tuesday, 7 August 2012
Amarok StatSyncing GSoC: weeks 10 and 11
Yes, I'm still working on my GSoC project about statistics synchronization in Amarok. It seems that bi-weekly reports became common here. That's because I enjoy coding much more that writing about it. Last 2 weeks I've worked on reworking existing Amarok Last.fm scrobbling code and on back-end infrastructure for Last.fm synchronization.
What I've done last 2 weeks:
![]() |
| Configuration is moved to a standard place per feedback on usability review |
- Improved USB Mass Storage Collection to be more friendly towards statistics synchronization.
- Reworked existing Last.fm scrobbling architecture in Amarok. Now there are ScrobblingServices and StatSyncing::Controller manages them and orders them to scrobble etc. This will make it easy for new services to be added in future (e.g. for Libre.fm). Existing Last.fm ScrobblerAdapter was turned to ScrobblingService implementation.
- Changed memory-management of some internal classes to be less error-prone.
- Moved some items of the existing "Local Collection" configuration page into newly created "Metadata" page. Local Collection page was overcrowded and some options didn't apply just to Local Collection.
- Added statistics synchronization options to the "Metadata" page of the Amarok configuration dialog. This should be a solution to usability problems of the original "Synchronize Statistics" dialog.
- Fixed various smaller bugs.
- On a less related note, I did the Amarok 2.6 Release Candidate tarball, which took some of my time.
- Working on UI is time-consuming sometimes. Polishing UI behaviour (disabling not applicable buttons etc.) takes a lot of code.
- Last groundwork for Last.fm synchronization (which is nearly done now).
- Actual synchronization with Last.fm!
Wednesday, 1 August 2012
Amarok 2.6 Release Candidate is out!
Are you waiting impatiently for KDE 4.9? Warm-up your compilers with Amarok 2.6-RC that has been released just now! There have been a couple of bigger fixes since Beta 1, so we want to make sure that nothing hits your grandma in 2.6 final. Give it a good testing and report possible bugs to Bugzilla as usual. Thanks!
Subscribe to:
Posts (Atom)









