Revision 9bfe431...

Go back to digest for 22nd April 2012

Features in Multimedia

Matěj Laitl committed changes in [amarok] /:

Complete iPod collection rewrite (also supports iPad, iPhone)

This is a result of 3-month effort to make Amarok iPod-like device
support future-proof and less buggy by using more modern MemoryMeta
framework to manage tracks internally.

The new plugin still uses libgpod [1] to access the devices and
supports all devices supported by it. The newest models may need the
infamous library.

* Small configuration dialog for iPods that shows troubleshooting information
and allows to change iPod name.
* Improved usability of iPod playlists: iPod collection automatically transfers
tracks dropped to iPod playlists to iPod when it is needed.
* Tracks can now be transcoded when transferring them to iPod.

* optional libgpod dependency raised to 0.8.2 to support newest iPods.
* Amarok now prevents accidental unmounting of iPods in (small) time-frames
when iTunes database on iPod is not yet updated.
* Amarok detects when iPod is to be ejected from system and gracefully
disconnects it when it occurs.
* Hitting the eject button on iPod collection ejects it also from the system.
* iPod collection now detects whether iPod is safe to write and marks iPod
as read-only if not. This prevents "iPod shows 0 tracks" problem.
* Correct progress bar advancement when transferring tracks to iPod.
* iPod Collection supports multiple simultaneous cancellable transfers.
* Improved dialog to initialize iPod.

* Detection and elimination of stale and orphaned iPod tracks now works
correctly; users are notified about these when iPod is plugged in.
* iPod playlists now work correctly.
* Show correct error when transferring unsupported files to iPod.


DIGEST: Amarok's iPod support is completely rewritten fixing many bugs
and adding features

File Changes

Added 32 files
  • /core-impl/collections/ipodcollection
  •   src/amarok_collection-ipodcollection.desktop
  •   src/CMakeLists.txt
  •   src/config-ipodcollection.h.cmake
  •   src/IpodCollection.cpp
  •   src/IpodCollection.h
  •   src/IpodCollectionFactory.cpp
  •   src/IpodCollectionFactory.h
  •   src/IpodCollectionLocation.cpp
  •   src/IpodCollectionLocation.h
  •   src/IpodMeta.cpp
  •   src/IpodMeta.h
  •   src/IpodMetaEditCapability.cpp
  •   src/IpodMetaEditCapability.h
  •   src/IpodPlaylist.cpp
  •   src/IpodPlaylist.h
  •   src/IpodPlaylistProvider.cpp
  •   src/IpodPlaylistProvider.h
  •   src/jobs/IpodCopyTracksJob.cpp
  •   src/jobs/IpodCopyTracksJob.h
  •   src/jobs/IpodDeleteTracksJob.cpp
  •   src/jobs/IpodDeleteTracksJob.h
  •   src/jobs/IpodParseTracksJob.cpp
  •   src/jobs/IpodParseTracksJob.h
  •   src/jobs/IpodWriteDatabaseJob.cpp
  •   src/jobs/IpodWriteDatabaseJob.h
  •   src/support/IphoneMountPoint.cpp
  •   src/support/IphoneMountPoint.h
  •   src/support/IpodConfiguration.ui
  •   src/support/IpodDeviceHelper.cpp
  •   src/support/IpodDeviceHelper.h
  •   src/support/IpodTranscodeCapability.cpp
  •   src/support/IpodTranscodeCapability.h
Modified 4 files
  •   ChangeLog
  •   CMakeLists.txt
  •   README
  •   src/core-impl/collections/CMakeLists.txt
36 files changed in total