iPod collection: convert from ReplayGain to Sound Check and vice versa
authorMatěj Laitl <matej@laitl.cz>
Mon, 19 Dec 2011 12:58:04 +0000 (13:58 +0100)
committerMatěj Laitl <matej@laitl.cz>
Tue, 20 Dec 2011 12:06:01 +0000 (13:06 +0100)
commit9f0986a74551002da73d20bda6f3db414053ce75
tree29a9aa98f5c156d0d0be7913dbed2fdeaa7181b2
parentbbf58f7b4da92f8a7dfed487e2bf5b602eee8062
iPod collection: convert from ReplayGain to Sound Check and vice versa

By popular demand, we now convert ReplayGain values to Sound Check
values when transferring tracks to iPod. We also read Sound Check from
iPod and convert it to ReplayGain on-the-fly when playing a track off
an iPod in Amarok.

On the other hand, when transferring tracks from iPod to Amarok, Sound
Check from iPod is _not_ automatically copied (current limitation of
the ReplayGain implementation in Amarok), but Amarok picks up
ReplayGain information from meta-data stored inside the track. (Does
anyone know whether iTunes save Sound Check somewhere in song
meta-data?)

It is currently hard-coded that *track* ReplayGain is used (Sound Check
is not able to differentiate between track and album gains), this could
be configurable in future (but hey, micro-options!) or it could respect
Settings -> Replay Gain Mode (tricky, the setting would be read *only
when the song is being transferred to iPod*)

FEATURE: 142579
FIXED-IN: 2.6
DIGEST: volume normalization now works between Amarok and iPods
14 files changed:
ChangeLog
src/core-impl/collections/ipodcollection/handler/IpodHandler.cpp
src/core-impl/collections/ipodcollection/handler/IpodHandler.h
src/core-impl/collections/ipodcollection/handler/capabilities/IpodReadCapability.cpp
src/core-impl/collections/ipodcollection/handler/capabilities/IpodReadCapability.h
src/core-impl/collections/ipodcollection/handler/capabilities/IpodWriteCapability.cpp
src/core-impl/collections/ipodcollection/handler/capabilities/IpodWriteCapability.h
src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.cpp
src/core-impl/collections/mediadevicecollection/MediaDeviceMeta.h
src/core-impl/collections/mediadevicecollection/handler/MediaDeviceHandler.cpp
src/core-impl/collections/mediadevicecollection/handler/capabilities/ReadCapability.cpp
src/core-impl/collections/mediadevicecollection/handler/capabilities/ReadCapability.h
src/core-impl/collections/mediadevicecollection/handler/capabilities/WriteCapability.cpp
src/core-impl/collections/mediadevicecollection/handler/capabilities/WriteCapability.h