OSX: Add hardware support for USB mass storage devices (bgo#682087)

This commit adds an implementation of an OSX-specific HardwareManager.
It supports USB mass storage devices, which can then be used through
Banshee.Dap. This enables device/playlists syncing over USB, like i.e.
Android devices, or other USB mass storage devices with an
.is_audio_player file present.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
OSX: Enable openFiles event for opening in Finder (bgo#682090)

Register a function that handles the openFiles AppleEvent that is sent
to Banshee when one opens a file in Finder (i.e. through doubleclick, or
right-click "Open With -> Banshee". The event handler enqueues the file
and starts playback.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
Last.fm: add logging for ignored tracks

Adds informational logging for ignored tracks from last.fm. Also
cleans up formatting from previous commit in LastFmRequest.

Signed-off-by: Alexander Kojevnikov <alexk@gnome.org>
OSX: Add support for native file chooser dialogs (bgo#682093)

Rework some UI dialog logic to allow backends to have custom file
chooser dialogs. On OSX, using the native dialog enables access to USB
drives, network shares, etc.

Right now this is limited to a basic FileChooserDialog,
and does not work for other file open/save dialogs with custom widgets.
In this case, the GtkFileChooserDialog is used.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
Banshee.IO: Use strongly-typed SafeUri for GetFiles and GetDirectories

Fix a FIXME that was placed in the Banshee.IO.IDirectory interface:
the files and directories returned by all backends should be returning
the same format of filesystem representation. By using SafeUri type,
we enforce this check at compile time.

Thanks to this refactoring, bugs like bgo#679252 are fixed and should
not happen again.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
DapSource: Put the playlists below the default sources (bgo#671948)

Music, Video, Podcasts now always come before Playlists

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
TranslatorExtractor: Sort language special cases and add Lithuanian
release: Update AUTHORS and contributors.xml for 2.5.0
release: Update NEWS for the 2.5.0 release
release: Bump version to 2.4.0
Updated Telugu Translation
Updated Spanish translation
Updated Polish translation
Mpris: Only raise PropertiesChanged signal if value changed (bgo#682510)

This prevents sending several signals with the same information.

We also take the opportunity to refactor the AddPropertyChange code in a
single method, while keeping the existing, strongly-typed methods.

Signed-off-by: Bertrand Lorentz <bertrand.lorentz@gmail.com>
AmazonMp3.Store: Fix URL redirection for sign out action

The URL we were using now send you to a contact form.

This fix is deployed on our redirection server, so available to everyone
using it. Yay server-side programming!
Updated Slovenian translation
Updated Traditional Chinese translation(Hong Kong and Taiwan)
Updated German help translation
Updated Galician translations
Updated Portuguese translation